[Cin] Vulkan hevc hdr decode regression on ffmpeg master?

Phyllis Smith phylsmith2017 at gmail.com
Sun May 18 01:56:36 CEST 2025


Checked into GIT the updated ffmpeg.git.patches for future potential
upgrade to ffmpeg version 8.0.  And deleted ffmpeg.git.patch8 after
attempting to determine what it was actually for and could find no
information on that when included sometime in 2019 as patch7.  It is
possible that it is no longer needed though - it may have been intended as
a speed improvement; but if some relevant error resurfaces, it can then be
revisited.

Andrea, the failure in your last attached cin5.log as shown below appears
to be due to commenting out libpostproc.a in configure.ac because that is
needed by cinelerra-5.1/mpeg2enc build.

> make[2]: *** [Makefile:75: x86_64/hveg2enc] Error 1
> make[2]: uscita dalla directory
> «/home/paz/cinelerra5/cinelerra-5.1/mpeg2enc»
>


On Wed, May 14, 2025 at 7:49 AM Andrew Randrianasulu <
randrianasulu at gmail.com> wrote:

> On Wed, May 14, 2025 at 1:31 PM Andrew Randrianasulu
> <randrianasulu at gmail.com> wrote:
> >
> > So I was experimenting  with Vulkan decoding in cinelerra-gg.
> >
> > After some fight I get build using ffmpeg git
> >
> > commit 038314bc6be2f35a82e9fba2228bcac2e4fee648 for ffmpeg
> >
> > here is bunch of errors like this:
> >
> > [hevc @ 0x6f7465c0] Could not find ref with POC 296
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 9
> > [hevc @ 0x6f72ad00] Could not find ref with POC 296
> > [hevc @ 0x6f72ad00] Error constructing the frame RPS.
> > [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 8
> > [hevc @ 0x6f77b3c0] Could not find ref with POC 298
> > [hevc @ 0x6f77b3c0] Error constructing the frame RPS.
> > [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 8
> > [hevc @ 0x6f789480] Could not find ref with POC 300
> > [hevc @ 0x6f789480] Error constructing the frame RPS.
> > [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1
> > [hevc @ 0x6f7465c0] Could not find ref with POC 300
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3
> > [hevc @ 0x6f72ad00] Could not find ref with POC 300
> > [hevc @ 0x6f72ad00] Error constructing the frame RPS.
> > [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f77b3c0] Could not find ref with POC 302
> > [hevc @ 0x6f77b3c0] Error constructing the frame RPS.
> > [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f789480] Could not find ref with POC 304
> > [hevc @ 0x6f789480] Error constructing the frame RPS.
> > [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1
> > [hevc @ 0x6f7465c0] Could not find ref with POC 304
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3
> > [hevc @ 0x6f72ad00] Could not find ref with POC 304
> > [hevc @ 0x6f72ad00] Error constructing the frame RPS.
> > [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f77b3c0] Could not find ref with POC 306
> > [hevc @ 0x6f77b3c0] Error constructing the frame RPS.
> > [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f789480] Could not find ref with POC 308
> > [hevc @ 0x6f789480] Error constructing the frame RPS.
> > [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1
> > [hevc @ 0x6f7465c0] Could not find ref with POC 308
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3
> > [hevc @ 0x6f72ad00] Could not find ref with POC 308
> > [hevc @ 0x6f72ad00] Error constructing the frame RPS.
> > [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f77b3c0] Could not find ref with POC 310
> > [hevc @ 0x6f77b3c0] Error constructing the frame RPS.
> > [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f789480] Could not find ref with POC 312
> > [hevc @ 0x6f789480] Error constructing the frame RPS.
> > [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1
> > [hevc @ 0x6f7465c0] Could not find ref with POC 312
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3
> > [hevc @ 0x6f72ad00] Could not find ref with POC 312
> > [hevc @ 0x6f72ad00] Error constructing the frame RPS.
> > [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f77b3c0] Could not find ref with POC 314
> > [hevc @ 0x6f77b3c0] Error constructing the frame RPS.
> > [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f789480] Could not find ref with POC 316
> > [hevc @ 0x6f789480] Error constructing the frame RPS.
> > [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1
> > [hevc @ 0x6f7465c0] Could not find ref with POC 316
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3
> > [hevc @ 0x6f72ad00] Could not find ref with POC 316
> > [hevc @ 0x6f72ad00] Error constructing the frame RPS.
> > [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f77b3c0] Could not find ref with POC 318
> > [hevc @ 0x6f77b3c0] Error constructing the frame RPS.
> > [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f789480] Could not find ref with POC 320
> > [hevc @ 0x6f789480] Error constructing the frame RPS.
> > [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1
> > [hevc @ 0x6f7465c0] Could not find ref with POC 320
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3
> > [hevc @ 0x6f72ad00] Could not find ref with POC 320
> > [hevc @ 0x6f72ad00] Error constructing the frame RPS.
> > [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f77b3c0] Could not find ref with POC 322
> > [hevc @ 0x6f77b3c0] Error constructing the frame RPS.
> > [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f789480] Could not find ref with POC 324
> > [hevc @ 0x6f789480] Error constructing the frame RPS.
> > [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1
> > [hevc @ 0x6f7465c0] Could not find ref with POC 324
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3
> > [hevc @ 0x6f72ad00] Could not find ref with POC 324
> > [hevc @ 0x6f72ad00] Error constructing the frame RPS.
> > [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f77b3c0] Could not find ref with POC 326
> > [hevc @ 0x6f77b3c0] Error constructing the frame RPS.
> > [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f789480] Could not find ref with POC 328
> > [hevc @ 0x6f789480] Error constructing the frame RPS.
> > [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1
> > [hevc @ 0x6f7465c0] Could not find ref with POC 328
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3
> > [hevc @ 0x6f72ad00] Could not find ref with POC 328
> > [hevc @ 0x6f72ad00] Error constructing the frame RPS.
> > [hevc @ 0x6f72ad00] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f77b3c0] Could not find ref with POC 330
> > [hevc @ 0x6f77b3c0] Error constructing the frame RPS.
> > [hevc @ 0x6f77b3c0] Skipping invalid undecodable NALU: 2
> > [hevc @ 0x6f789480] Could not find ref with POC 332
> > [hevc @ 0x6f789480] Error constructing the frame RPS.
> > [hevc @ 0x6f789480] Skipping invalid undecodable NALU: 1
> > [hevc @ 0x6f7465c0] Could not find ref with POC 332
> > [hevc @ 0x6f7465c0] Error constructing the frame RPS.
> > [hevc @ 0x6f7465c0] Skipping invalid undecodable NALU: 3
> >
> > file itself:
> > https://drive.google.com/file/d/1Ic9DZXMSo07EJMqCFaQRKSSrSw6y1mYv/view
> >
> > But I see some kind of first frame corruption I never saw on 7.0 build
> >
> > https://paste.pics/860707666060d195485e07ea7b057ce8
> >
> > and speed kinda down from 58 fps to just 50-51  relative to ffmpeg libs
> 7.0?
> >
> > hw:
> > 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc.
> > [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] (rev
> > c7)
> >
> > mesa:
> >
> > OpenGL renderer string: AMD Radeon RX 550 / 550 Series (radeonsi,
> > polaris12, ACO, DRM 3.61, 6.12.26-x64)
> > OpenGL core profile version string: 4.6 (Core Profile) Mesa
> > 25.2.0-devel (git-ef63e3e4d2)
> >
> > cingg home git:
> > git://git.cinelerra-gg.org/goodguy/cinelerra.git
> >
> > I set two evn. variables specific to my system, but mostly I wanted to
> > get libplacebo and libzimg for HDR->SDR conversion
> >
> > EXTRA_LIBS :=  -lOpenCL -lSvtAv1Enc -lvpl -ldav1d -lxvidcore -lass
> > -lbluray -lsnappy -lzimg -lplacebo -lshaderc_shared -lnuma -lva
> > -lva-x11 `pkg-config --libs x11` -lva-drm -ldl
> > FFMPEG_EXTRA_CFG :=  --enable-libvpl --disable-doc --enable-opencl
> > --enable-libsvtav1 --enable-frei0r --enable-libdav1d --enable-libzimg
> > --enable-libxvid --enable-libass --enable-libbluray --enable-libsnappy
> > --enable-libshaderc --enable-libplacebo --enable-vulkan
> > --disable-debug --extra-cflags=-I/usr/local/include/vpl
> > --extra-cflags=-I/usr/include/svt-av1 --extra-ldflags=" -lva
> > `pkg-config --libs libva` -lva-x11 -lva-drm -ldl"
> >
> >
> > cingg configure:
> >
> > ./configure --with-git-ffmpeg=https://git.ffmpeg.org/ffmpeg.git
> > --with-single-user --enable-libsvtav1 --disable-dav1d
> >
> > I used bunch of patches (attached, done by Phyllis and me) and
> > manually removed posprocess.a ref. from our configure.ac for now
>
>
> One more patch/hack just for making building easier attached (on top
> of 0001-3 patches for cingg)
>
> ffmpeg.git patches  go into thirdparty/src, and you probably want to
> move away ffmpeg.git.patch8 out of  this directory so it will not fail
> patching
>
>
>
> >
> > there is still some problem with attaching ffmpeg filters
> > per-input-file, but main Vulkan decode problem still visible without
> > any filters
> >
> > I run just-compiled cin binary like this:
> >
> > RADV_PERFTEST=video_decode bin/cin
> > ~/K38_sdcard1/Documents/iPhone11_4K-recorder_59.940HDR10.mov
> >
> > and got corruption as visible on screenshot  at the start of this email
> >
> > Playing image forward cleans up  this corruption, but returning to
> > timeline beginning bring it back.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20250517/5f28e628/attachment-0001.htm>


More information about the Cin mailing list