Skip to content
Snippets Groups Projects
Commit 591ec2c1 authored by Steve Lhomme's avatar Steve Lhomme Committed by Jean-Baptiste Kempf
Browse files

directx_va: add an extra buffer when decoding MPEG-2 (part 2)


#18731 is not fixed in some cases because the deinterlacer may keep more than
one frame for later reference. The maximum extra frame currently supported is 2
so we need to add 2 frames to the decoder as they will be held for a while.

Theoretically the problem could happen with H264 but we usually have more frames
than we need.

Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent e7ae183c
No related branches found
No related tags found
No related merge requests found
......@@ -299,7 +299,8 @@ int directx_va_Setup(vlc_va_t *va, directx_sys_t *dx_sys, const AVCodecContext *
/* decoding MPEG-2 requires additional alignment on some Intel GPUs,
but it causes issues for H.264 on certain AMD GPUs..... */
surface_alignment = 32;
surface_count += 2 + 1; /* 1 for extra buffer for deinterlacing */
surface_count += 2 + 2; /* 2 for deinterlacing which can hold up to 2
* pictures from the decoder for smoothing */
break;
case AV_CODEC_ID_HEVC:
/* the HEVC DXVA2 spec asks for 128 pixel aligned surfaces to ensure
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment