[VAAPI][regression][bisected] After commit 7ab05e3c list of available VAAPI profiles dramatically decreased
After commit 7ab05e3c list of available VAAPI profiles dramatically decreased and hardware encoding in OBS studio stopped work instead show message "Failed to open VAAPI codec: Function not implemented"
info: [FFMPEG VAAPI encoder: 'streaming_h264'] settings:
device: /dev/dri/renderD128
rate_control: CBR
profile: 578
level: 40
qp: 0
bitrate: 50000
maxrate: 50000
keyint: 120
width: 3840
height: 2160
b-frames: 0
[h264_vaapi @ 0x557e42eb5dc0] No usable encoding profile found.
warning: [FFMPEG VAAPI encoder: 'streaming_h264'] Failed to open VAAPI codec: Function not implemented
Before 7ab05e3c commit:
$ vainfo
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.14.0)
vainfo: Driver version: Mesa Gallium driver 22.2.0-devel for AMD Radeon RX 6900 XT (sienna_cichlid, LLVM 14.0.0, DRM 3.46, 5.18.0-0.rc4.20220429git38d741cb70b3074.37.fc37.x86_64)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
After 7ab05e3c commit:
$ vainfo
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.14.0)
vainfo: Driver version: Mesa Gallium driver 22.2.0-devel for AMD Radeon RX 6900 XT (sienna_cichlid, LLVM 14.0.0, DRM 3.46, 5.18.0-0.rc4.20220429git38d741cb70b3074.37.fc37.x86_64)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
Mesa bisect log:
[mikhail@primary-ws mesa]$ git bisect start
[mikhail@primary-ws mesa]$ git bisect good a2c9e1c
[mikhail@primary-ws mesa]$ git bisect bad 2f8123a
Bisecting: 33 revisions left to test after this (roughly 5 steps)
[f59c8c6e1c4838213b76582a7204e6a889990aa9] radeonsi: drop assume_no_z_fights option
[mikhail@primary-ws mesa]$ git bisect bad
Bisecting: 16 revisions left to test after this (roughly 4 steps)
[20dfdcde718932760dccd7cef705d69994d3c5ea] gallium/vl: wrap codec support checks in a common function.
[mikhail@primary-ws mesa]$ git bisect good
Bisecting: 8 revisions left to test after this (roughly 3 steps)
[c5583df02be1827454d4873f84357a9559d0ddd1] zink: ignore KMS handle types
[mikhail@primary-ws mesa]$ git bisect bad
Bisecting: 3 revisions left to test after this (roughly 2 steps)
[c31db58f656a99796ef1431b2f5063935c86d4a4] nir/deref: Add an alu-of-cast optimization
[mikhail@primary-ws mesa]$ git bisect bad
Bisecting: 1 revision left to test after this (roughly 1 step)
[7d969fe9e91e39e03041cdfac69bf33337bc2c96] meson: add a video codec support option
[mikhail@primary-ws mesa]$ git bisect good
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[7ab05e3c3fe34ea7f8d7345b9229c163e42c3600] gallium/vl: respect the video codecs configure in meson
[mikhail@primary-ws mesa]$ git bisect bad
7ab05e3c3fe34ea7f8d7345b9229c163e42c3600 is the first bad commit
commit 7ab05e3c3fe34ea7f8d7345b9229c163e42c3600
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Mar 23 13:12:38 2022 +1000
gallium/vl: respect the video codecs configure in meson
Acked-by: Christian König <christian.koenig@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15258>
src/gallium/auxiliary/vl/vl_codec.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)