d3d12: HEVC Encode workaround for edge case in caps reporting not contemplated by...
authorSil Vilerino <sivileri@microsoft.com>
Fri, 14 Oct 2022 12:22:52 +0000 (08:22 -0400)
committerMarge Bot <emma+marge@anholt.net>
Mon, 17 Oct 2022 20:33:19 +0000 (20:33 +0000)
commitbe7e2e5525b89fbd532b5fa7ef36bbd72b72956e
tree9f597ecaf0c91c5986f41b13ec9ee1f0ab8dc399
parent3eed5931edf6e5f45378b013ca21f98f17af2b34
d3d12: HEVC Encode workaround for edge case in caps reporting not contemplated by upper layer interface

Workaround for https://github.com/intel/libva/issues/641

Example where VAConfigAttribValEncHEVCBlockSizes.max_transform_hierarchy_depth_intra/inter overflows

MinCbLog2SizeY = log2(8) = 3
CtbLog2SizeY = log2(64) = 6
MinTbLog2SizeY = log2(4) = 2
MaxTbLog2SizeY = log2(32) = 5

max_transform_hierarchy_depth_intra = (CtbLog2SizeY − MinTbLog2SizeY) = 4
max_transform_hierarchy_depth_inter = (CtbLog2SizeY − MinTbLog2SizeY) = 4

Reviewed-by: Giancarlo Devich <gdevich@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19119>
src/gallium/drivers/d3d12/d3d12_video_enc_hevc.cpp