vulkan_decode: force layered_dpb to 0 when dedicated_dpb is 0
layered_dpb only makes sense when dedicated_dpb is set to 1. For some mysterious reason, some Nvidia drivers stopped indicating SEPARATE_REFRENCES, but kept the COINCIDE flag, which broke the code.
This commit is contained in:
parent
8eac11105b
commit
ca591e6b50
1 changed files with 2 additions and 2 deletions
|
|
@ -923,9 +923,9 @@ static int vulkan_decode_get_profile(AVCodecContext *avctx, AVBufferRef *frames_
|
|||
return AVERROR_EXTERNAL;
|
||||
}
|
||||
|
||||
/* TODO: make dedicated_dpb tunable */
|
||||
dec->dedicated_dpb = !(dec_caps->flags & VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR);
|
||||
dec->layered_dpb = !(caps->flags & VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR);
|
||||
dec->layered_dpb = !dec->dedicated_dpb ? 0 :
|
||||
!(caps->flags & VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR);
|
||||
|
||||
if (dec->dedicated_dpb) {
|
||||
fmt_info.imageUsage = VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue