[vlc-devel] [PATCH] contrib: ffmpeg/libav: fix the D3D11 slice index used by the decoder

Steve Lhomme robux4 at videolabs.io
Mon Oct 10 16:46:25 CEST 2016


This allows arbitrary slice index in the output buffer we provide the decoder.

---
replaces https://patches.videolan.org/patch/14626/
* clean libavcodec patch

replaces https://patches.videolan.org/patch/14629/
* remove the ffmpeg/libav patches
* update the ffmpeg/libav versions
---
 modules/codec/avcodec/d3d11va.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c
index 5831c6e..e7ffbb0 100644
--- a/modules/codec/avcodec/d3d11va.c
+++ b/modules/codec/avcodec/d3d11va.c
@@ -994,6 +994,7 @@ static int DxCreateDecoderSurfaces(vlc_va_t *va, int codec_id, const video_forma
             assert(texDesc.Format == sys->render);
             assert(texDesc.BindFlags & D3D11_BIND_DECODER);
 
+#if !LIBAVCODEC_VERSION_CHECK( 57, 27, 2, 61, 102 )
             if (pic->p_sys->slice_index != surface_idx)
             {
                 msg_Warn(va, "d3d11va requires decoding slices to be the first in the texture (%d/%d)",
@@ -1001,6 +1002,7 @@ static int DxCreateDecoderSurfaces(vlc_va_t *va, int codec_id, const video_forma
                 sys->b_extern_pool = false;
                 break;
             }
+#endif
 
             viewDesc.Texture2D.ArraySlice = pic->p_sys->slice_index;
             hr = ID3D11VideoDevice_CreateVideoDecoderOutputView( (ID3D11VideoDevice*) dx_sys->d3ddec,
-- 
2.8.2



More information about the vlc-devel mailing list