Spin SDK v8.0 – Release Notes – October 2025

SDK Package

  • Merged the Lite SDK package into the Standard SDK package to provide a unified distribution.

Platform

  • Add support for deployment in Docker (Linux guest system).

Samples

  • Replace the CMake option -DSPINSDK_LINUX_LIB with -DSPINSDK_LIB_SUB_DIR for specifying library variants on Linux.

Stream CLI apps

  • Rework framework and implementation to allow for low latency
    • Global –lowlat option
  • Rework pipeline setup to allow for easier multi-input multi-output elements
  • Fix NVDEC dts generation
  • Add LibAV hardware decoder support (–ffhwdec, linux only)
  • Update to NVCodec SDK 13.0.19
  • Moved the NVCodec-supported versions of streamenc and streamplay to the standard SpinSDK package as streamenc_nv and streamplay_nv.
  • streamenc
    • Add support for rendering preview
    • Add spincompare support
  • streamplay
    • Add support for stream sink (–sout) to remux and store incoming streams
    • Fix logo overlay toggling
    • Linked zoom with multiple renderer windows

License

  • Fix crash when SpinLib_InitLicense is called with a null pointer

SpinCommon

  • Add support for the BC5 formats (SE_PF_BC5_420, SE_PF_BC5_422)
  • Add SE_STEREO3D_Left and SE_STEREO3D_Right to identify views
  • Add Spin_ExtVideoFormat to describe multilayer video
  • Remove deprecated SD_E_INVALIDPICTURE, use SD_E_INVALID_PICTURE instead
  • Add SD_E_INVALID_ARGS error code
  • Extend SE_SEI enum types

SpinEnc

  • Add support for MV-HEVC, compatible with Apple Vision Pro
  • Add support for low latency encoding (1 frame latency).
    • Lookahead and encoding stage now share the combined number of frames-in-flight
    • Improve rate control in low latency conditions (small lookahead and small buffer scenarios)
  • Add support for GDR (experimental)
  • Add support for multilayer VVC (multiview and scalable coding, experimental)
  • Add ITUT-T35 user registered SEI support
    • Add SpinSEI_UserDataRegisteredT35 struct
  • Add support for per frame HDR SEI metadata
  • Add support for inserting dynamic random access points (CRA/IDR)
  • Add support for output of the decoded picture together with the compressed picture
  • Add codec Level and Tier override option
  • Add MCTF enable/disable control
  • Add more fine-grained perceptual mode controls
    • SpinEnc_Param::Perceptual::fPerceptStrength to attenuate the overall factor strength factor
    • SpinEnc_Param::Perceptual::fPerceptTempStr to attenuate the strength of the temporal component
    • SpinEnc_Param::Perceptual::fPerceptPenStr to attenuate the strength of penalties
  • New screen content detector and handling
    • Significantly better classification
    • Disables MCTF for screen content
    • Disable some perceptual optimization for screen content
    • Use default flat quantization matrix with screen content
  • Fix intra mode RDO on 64×64 block level
  • Add SD_E_BUFFER_LAYER_MISMATCH error code
  • API changes
    • Restructure SpinEnc_Descript with SpinEnc_Descript::LayerDescript to allow for multilayer description
    • Rename SpinEncLib_EncodeFrame to SpinEncLib_EncodePicture
    • Add SpinEncLib_MapPicture2 and SpinEncLib_EncodePicture2 to allow multilayer encoding
      • Old API still available but without new capabilities (SpinEncLib_EncodeFrame, SpinEncLib_MapPicture)
    • Extend SpinEncLib_CreateSEINal to allow for layer and temporal layer configuration
    • Change Spin_VideoFormat to Spin_ExtVideoFormat for sEncInFmt to allow for multilayer encoding input config
    • Rearrange some options to allow specifiying them per layer SpinEnc_Param::LayerOptions

SpinDec

  • Reduce latency SpinDecLib_DecodeFrame interface
    • Assume user supplied entire compressed frame data and start decoding immediately
  • Fix inferring number of sublayer MV-HEVC
  • Add SD_E_INVALID_SLICE error code
  • Add layerId and maxNumReorder to SpinDec_Descriptor

SpinFilter

  • Introduce the merge filter (SE_FILT_Merge) for combining multiple inputs to single output image.
  • Replace and extend split filter (SE_FILT_Split) with the new expand filter (SE_FILT_Expand).
    • Implement clone (SE_OUT_Clone) output mode
    • Add stereo split (SE_OUT_StereoSplit) outout mode
  • Introduce a new filter (SE_FILT_BlurSharp) for blurring and sharpening
  • Fix cropping filter when intermediate results is used for output
  • API changes
    • Replace Spin_Picture sFiltInFmt to Spin_ExtVideoFormat sInFmt to allow for multiple inputs

SpinRender

  • Add support for collecting E2E latency stats (time until final present call)
  • Add cx and cy option to specify center of overlay
  • Add tracking of end-to-end latency in SpinRender_StatConf
  • Disable default high accuracy timing option
  • Fix wrong aspect ratio black bars appearing when zooming out
  • Fix zoom low latency renderer
  • Use single device zooming in non-tiled modes
  • Adjust overlay sizing for videos with height > width

SpinRawIO

  • Add support for Windows Media Foundation capture sources (SE_IODEV_MFCAPTURE)

SpinStream

  • Add low latency streaming support
    • Incoming packets are demuxed as soon as possible
    • Outgoing frames are muxed and sent as soon as possible
    • Currently supported for MPEG-TS using RTP sender and receiver
    • Update MPEG-TS (de)muxing to use PS packet size to reduce latency
  • Add tracking of end-to-end latency in SpinStream_StatConf
  • Add option to output SDP file when muxing RTP streams
  • Add bRealTime param to simulate real-time sources with files
  • Add support for the Caton streaming protocol
  • Add SD_E_SRT_BIND, SD_E_CATON_MISSING_ID, SD_E_CATON_MISSING_KEY error codes
  • API changes
    • Add SpinStreamLib_GetPacket2 to allow for non-blocking and timer based packet retrieval
    • Rename “muxrate” to “maxrate” in the url options

SpinCompare

  • Add VMAF support (linux only, NEG model, 1080P/4K autoselect)
  • SPIN DIGITAL LABS 2024 COPYRIGHT