profile vs vprofile in 7.1?
We tried to update cinelerra-gg to ffmpeg 7.1 and ran into two problems: First, vf_scale now declares dynamic input and was filtered out by code in cinelerra/pluginfclient.C int flag_mask = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_DYNAMIC_OUTPUTS; if( filter->flags & flag_mask ) return AVERROR(EPERM); ok, it was easy to workaround just by commenting this line out But then it turned out our vaapi/qsv profiles stopped working, anytime there was "profile=high" line. Oh, dang. Looked around and found this thread on Narkive https://ffmpeg-user.ffmpeg.narkive.com/FRd15m7B/ffmpeg-1-0-null-0xcb4700-eva... replaced "profile" with "vprofile", now it appear to work again. But this was a bit unexpected, I do not think both changes were mentioned as breaking in release notes? It sort of sad to see this "hidden" breakage every release. Ffmpeg is not only library that does so, and tracking them all is not fun anymore. If you can't avoid making breakage - put it up front in release notes, not hide it like in bad commercial advertisement. our source: git://git.cinelerra-gg.org/goodguy/cinelerra.git you can build ffmpeg 7.1 into /usr/local and then ./auto gen.sh + configure --without-thirdparty --with-single-user --without-libdpx + make + make install. if it does not work on your system - look around in blds directory for various scripts adding --disable-component switches to configure. binaries and profiles will be in $cin_src_root/bin
Den 23.10.2024 03:34, skrev Andrew Randrianasulu via Cin:
We tried to update cinelerra-gg to ffmpeg 7.1 and ran into two problems:
First, vf_scale now declares dynamic input and was filtered out by code in cinelerra/pluginfclient.C
int flag_mask = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_DYNAMIC_OUTPUTS; if( filter->flags & flag_mask ) return AVERROR(EPERM);
ok, it was easy to workaround just by commenting this line out
But then it turned out our vaapi/qsv profiles stopped working, anytime there was "profile=high" line.
Oh, dang.
My test with own build Cingg to use my system ffmpeg 7.1, shows that hdv.m2t and hd.mov rendering with high (or 1) profile to av1_vaapi.webm works on Arc A750, when tweeking the av1_vaapi profile as follows: change "profile" to "vprofile" and rc_mode from "QVBR" to "CQB" (both according to ffmpeg output) (just profile=main also works, possibly due to main is default?) ------------- # Nvidia 4000+ series (better nvenc/vdpau) # AMD Radeon 7000+ series # Intel Xe2, Arc+ series cin_hw_dev=vaapi g=30 vprofile=high #(main, professional) rc_mode=CQP Then this seems to fit with See also https://lists.cinelerra-gg.org/pipermail/cin/2024-October/008838.html https://lists.cinelerra-gg.org/pipermail/cin/2024-October/008930.html
Looked around and found this thread on Narkive
https://ffmpeg-user.ffmpeg.narkive.com/FRd15m7B/ffmpeg-1-0-null-0xcb4700-eva...
replaced "profile" with "vprofile", now it appear to work again.
But this was a bit unexpected, I do not think both changes were mentioned as breaking in release notes?
It sort of sad to see this "hidden" breakage every release. Ffmpeg is not only library that does so, and tracking them all is not fun anymore.
If you can't avoid making breakage - put it up front in release notes, not hide it like in bad commercial advertisement.
our source:
git://git.cinelerra-gg.org/goodguy/cinelerra.git <http://git.cinelerra-gg.org/goodguy/cinelerra.git>
you can build ffmpeg 7.1 into /usr/local and then ./auto gen.sh + configure --without-thirdparty --with-single-user --without-libdpx + make + make install.
if it does not work on your system - look around in blds directory for various scripts adding --disable-component switches to configure.
binaries and profiles will be in $cin_src_root/bin
participants (2)
-
Andrew Randrianasulu -
Terje J. Hanssen