Fixed
- NVENC + NVDEC jobs still failed on v0.5.9 with a slightly different error than v0.5.7's:
Impossible to convert between the formats supported by the filter 'Parsed_scale_cuda_0' and the filter 'auto_scale_0'. The v0.5.8 fix added the rightscale_cuda=format=p010lefilter, but the NVENC encoder block kept emitting-pix_fmt p010leon the output side.-pix_fmtdeclares the encoder's input format in CPU memory; with HW decode keeping frames on the GPU afterscale_cuda, the encoder sees a CUDA surface AND a contradictory directive saying it should expect CPU memory. ffmpeg tries to insertauto_scale_0to bridgecuda(p010le)→p010le (CPU), which it can't do without an explicithwdownloadstep, and the encoder bombs before processing a single packet. Fix: emit-pix_fmtonly on the software-decode path; with HW decode thescale_cuda=format=Xfilter already dictates the surface format. QSV/VAAPI paths never had-pix_fmtset, so they were unaffected and continue to work. This was a real testing-discipline failure on my part — I shipped HW pipeline changes twice (v0.5.7, v0.5.8) without actually running ffmpeg with CUDA; the canonical pattern I copied was incomplete. Going forward, HW decode changes should be verified against a real NVIDIA test box before tagging.
Docker images
Pinned to this release:
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.10 # portable (amd64 + arm64, CPU)
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.10-nvenc # x86_64 + NVIDIA GPU (NVENC)
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.10-edge # as above but ffmpeg master
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.10-edge-nvencFloating tags (:latest, :edge, :nvenc, :edge-nvenc) track the most recent release of each lineage.