[Cin] Vulkan hevc hdr decode regression on ffmpeg master?
Phyllis Smith
phylsmith2017 at gmail.com
Wed May 14 20:38:26 CEST 2025
Andrew, but how are you getting cinelerra-5.1/mpeg2enc files to compile
without libpostproc.a? for me it always fails with
"g++: error:
/tmp/cinelerra-5.1/mpeg2enc/../thirdparty/ffmpeg-8.0/libpostproc/libpostproc.a:
No such file or directory"
Or are you not building that? If my memory is right, it is important for
creating DVD media.
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/20250514/52596041/attachment-0001.htm>
More information about the Cin
mailing list