-
Notifications
You must be signed in to change notification settings - Fork 303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
va: add av1 profile2 #828
va: add av1 profile2 #828
Conversation
Adding VAProfileAV1Profile2 to support 12bit AV1 decoding Signed-off-by: David (Ming Qiang) Wu <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it enough to add a profile only? will there be a platform support this profile?
Hi Xinfeng, |
Hi Xinfeng, |
LGTM, once the patch in mesa and ffmpeg merged, please paste the link here, thanks. |
https://gitlab.freedesktop.org/davidwu2/mesa/-/commit/8fa17b068a1fef987c53dff881b643bcf632e258 |
release is 2.xx.x , such as https://github.com/intel/libva/releases/tag/2.22.0, it is latest release. |
thank you Xinfeng! in meson.build (or configure.ac) we have We have a check in Mesa (and ffmpeg) for these info above. For 12bit AV1 support we will need a new version. Let me know if you have any question. |
I see - I did use the "#if VA_CHECK_VERSION(1, 23, 0)" in my mesa and ffmpeg - I thought 1.23.0 is has released - my bad |
Based on the Mesa commits above this isn't actually what the decoder support needs? The specific case being implemented is for the subset of I think this needs something else to advertise a subset of a profile. Maybe |
how about the VASurfaceAttrib, if it is Profile2, and the RT format is P010, it may represent 12bit 420 only. if it also include Y210 or P208, it represent 422? |
I realized the limitation for AV1 Profile2 - I will submit another patch to call something like VAProfileAV1Profile2_420Only or VAProfileAV1Profile2_420. thanks for pointing that out. |
another thought - can we keep VAProfileAV1Profile2 - as is? then in Mesa we check for the bitstream and allow for 12bit 420 only. I think ffmpeg might need more changes to support it |
I made another pull request - #832 |
Hi @XinfengZhang, |
hi DavidwuAMD, looks driver could report the capability by vaSurfaceAttrib, like my previous comments #828 (comment) |
finally, I come back and continue on this topic, VAProfileAV1Profile2/VAEntrypointVLD ./mpv/build/mpv -hwdec=vaapi /home/david/Samples/AV1_12bit/AV1_444/444av1.mp4 My conclusion is we can use VAProfileAV1Profile2 as-is in libva. If agrees, I can drop #832 |
there is a solution in ffmpeg that will check RT format - when vaapi reports only 12bit YUV420 is supported and a YUV444 input will not use vaapi to decode a video, which is expected. This means a combination of profile + TR format works. To me any definition as Profile_abc_only is not needed - which does tell the true support but does not solve the underneath issue such as when Av1Profile2_420 and Av1Profile2_444 both enabled, what ffmpeg can do to cover a case where in mesa only Av1Profile2_420 is supported for a GPU. I.e application knows what RT formats are supported ( vainfo as an example) by querying Mesa, if it does not use it correctly then it is its own issue. |
Adding VAProfileAV1Profile2 to support 12bit AV1 decoding