[vlc-devel] [PATCH] directx_va: add an extra buffer when decoding MPEG-2 (part 2)
Steve Lhomme
robux4 at videolabs.io
Tue Oct 17 16:07:10 CEST 2017
#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.
---
modules/codec/avcodec/directx_va.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/codec/avcodec/directx_va.c b/modules/codec/avcodec/directx_va.c
index e35c6856e2..299297e23a 100644
--- a/modules/codec/avcodec/directx_va.c
+++ b/modules/codec/avcodec/directx_va.c
@@ -299,7 +299,7 @@ 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; /* 1 for extra buffer for deinterlacing */
break;
case AV_CODEC_ID_HEVC:
/* the HEVC DXVA2 spec asks for 128 pixel aligned surfaces to ensure
--
2.14.2
More information about the vlc-devel
mailing list