SpinSDK v7.0 Release Notes – December 2024

SDK

  • Add preliminary support for macOS 14 Sonoma (ARM64 and x86-64), Windows 11 ARM64 and Linux ARM64
    • Binaries not included in public package, contact support for more information
    • macOS (macOS 14 Sonoma)
      • Support SDK modules: SpinDec, SpinEnc and SpinFilter
    • Windows 11 ARM64 and Linux ARM64
      • All SDK modules and applications are available, but some restriction in features
  • Add statmux support in sample
  • Add support for Windows unicode input in streamenc and streamplay
  • streamenc
    • Application level chunk size configuration for DASH/HLS with multiple streams
    • Application level total thread count, with automatic thread subdivision to modules in the pipeline based on module complexity
    • Add stereo3D and spherical format override in decoders
  • streamplay
    • Add --loopdelay option to control waiting time before looping
    • Add desktop coordinates when listing devices (Windows only)
    • Prevent sleep and turning off display when app is running (Windows only)
  • Add ST2110 support with Rivermax devices (contact support for more information)
  • Licensing improvements
    • Discontinued SCL and RMS licenses.
    • Add support for CodeMeter Cloud License (CmCloudLicense)
  • Rebased SpinLAV libraries on FFmpeg 7.0
  • Update Decklink SDK to version 14.2

SpinEnc

  • Add API SpinEncLib_UpdateRateParams
    • Control bitrate/QP targets and buffer sizes at runtime
    • Adjust internal RC buffer levels at runtime
  • Add separate configuration of IDR/CRA to improve efficiency when using larger chunk sizes
  • Add statmux support
    • Share bitrate for multiple constant quality CQP/PQP encodings
    • Callback APIs SpinEnc_Param::RateControl::cbUpdatePredBitsSpinEnc_Param::RateControl::cbReturnActualBitsSpinEnc_Param::RateControl::cbGetBitrateFactor
      • A statmux controller can determine how much bitrate should be reduced based on the predicted future bits and actual past bits.
      • The bitrate factor is retrieved by each SpinEnc instance. Bitrate factors can range from 0.1x to 2.0x.
  • Add external control of rate control model bias factor (RateControl::fRcBiasFactor)
  • Add real-time boost feature to dynamically reduce encoding complexity based on frame deadlines
  • Add new window based rate control for VBR and PQP
    • Maximum bitrate is controlled by the bitrate of a sliding window instead of a leaky bucket buffer model
    • Matches better chunk size limitation for DASH/HLS delivery
  • Add support for Chroma RDO, Dualtree, and MTT tools for VVC encoder
  • Add SpinEnc_Param::RateControl::bPermissive to allow experimenting with lower bitrates, smaller HRD buffers, and larger GOP sizes for given HRD buffers
  • New QP cascading algorithm that models effect quantization on prediction
    • Modulates QP cascading depths for better compression (up to 5% avg BD-rate compression gains)
  • Improve rate control
    • Add rate control for already inflight frames to reduce risk of buffer overflow
    • Improve buffer target projection with small buffer and lookahead sizes (low latency configs)
  • Improve perceptual model and coding
    • Improve VVC reshaper modelling to keep resulting bitrates closer to original targets
    • Improve PQP mode by simplifying the temporal strength and leveraging the QP cascading quantization model
    • Switch to local average temporal complexity for temporal perceptual factor to preserve quality of small objects
  • Change default GOP size to 32 for >100 fps streams
  • Fix AUD fields VVC
  • Fix sub pictures encoding in 8bit with md5sum generation
  • Fix minimum bitrate check when gop size is 32

SpinDec

  • Add support for extra VVC tools
    • Dualtree
    • 4×4 min CU size
  • Add ARM SIMD optimization
  • Improve error resilience VVC
  • Fix HEVC deblocking with very low QP
  • Fix VVC streams without loopfilters
  • Fix VVC reference picture selection
  • Fix VVC streams with DQP and max TU size < max CU size
  • Fix logo blending when using demo license

SpinRender

  • Add support for Rivermax ST2110-20 outputs allowing up to 8K 120Hz 422-10b video rendering over 100Gb link (ConnectX-6 DX)
  • Add support for Decklink 8K Pro G2 device
  • Introduce the new option SpinRender_Param::bNoDynResChange, which allows disabling support for dynamic input resolution to improve rendering performance using SDI and IP devices.
  • Add new API SpinRenderLib_GetRefTime to retrieve the device reference time of the first render device.
  • Change bDmaCoreId and uiDmaCoreId to a core range for the video IO threads
  • Fix tiled rendering mode for input with cropping margins
  • Fix tiled mode for inputs with a dimension larger than 16384

SpinAudRen

  • Add support for Rivermax ST2110-20
  • Add windows default audio device as first device in enumeration
  • Remove 32ch limit for Decklink devices

SpinRawIO

  • Add support for Rivermax ST2110 video and audio capture
  • Extend SLS mode to interleave frames from multiple inputs to create higher framerates
  • Change bDmaCoreId and uiDmaCoreId to a core range for the video IO threads

SpinStream

  • Update to FFmpeg 7.0.1 base
  • Add support for parsing HEVC/AV1/OPUS in FLV container
  • In live mode throttle file output to realtime as well
  • Add support for live RTMP HEVC reception
  • Update SRT to v1.5.3
  • Fix deadlock when one stream is too far ahead/behind
  • SPIN DIGITAL LABS 2024 COPYRIGHT