v3.7.0
3.7.0 - 2026-07-01
Bug Fixes
devcontainer
- Add -y flag to brew upgrade in postStartCommand
ffmpeg
- Add libavcodec 63 version guards for pix_fmts field move
- Pass original NvBufSurface fd through DRM_PRIME format_modifier
- Propagate hw_frames_ctx in VIC scale filter output
- Use original NvBufSurface fd for encoder DRM_PRIME input
- Propagate hw_frames_ctx on DRM_PRIME output frames
- Make VIC scale filter reinit-safe for FFmpeg 7.x
- Add VIC filter passthrough and use MMAP encoder for DRM_PRIME
- Use feature detection for FF_PROFILE compatibility guard
nvmpi
- Use GPU compute for VIC filter to avoid Tegra driver deadlock
- Use VIC compute mode instead of GPU for scale filter transforms
- Use internal buffer copy for encoder DMABUF input
- Guard decoder pool release callback against use-after-free
nvmpi, ffmpeg
- Use registered surface copy for VIC filter DRM_PRIME input
- Serialize NvBufSurfTransform to prevent Tegra driver deadlock
Features
ffmpeg
- Dlopen lazy-loading for libnvmpi — no link-time dependency
- Add DRM_PRIME output support to all nvmpi decoders
- Add DRM_PRIME input support to all nvmpi encoders
- Add hwcontext_nvmpi for -hwaccel nvmpi support
- Add DRM_PRIME to CUDA zero-copy transfer via EGL interop
- CUDA interop for hwcontext_nvmpi
nvmpi
- Add DMA-BUF fd passthrough API for zero-copy decode/encode
- VIC hardware scale filter
nvmpi, ffmpeg
- Add VIC hardware scale filter for zero-copy DRM_PRIME scaling
Testing
ffmpeg
- Add VIC scale filter hardware test suite
- Add diagnostic test case for VIC scale filter pipeline
- Add timeout safety for VIC scale filter and hw-all