[vlc-devel] [PATCH] DXVA2: remove frame multithreading hack

Steve Lhomme robUx4 at videolabs.io
Tue Apr 7 11:01:21 CEST 2015


this hack is not necessary anymore

--
replaces patch "fix compatibility with avcodec frame multithreading"

tweaking `thread_safe_callbacks` is not needed anymore

apply with "lock the buffer pool when getting/releasing a buffer" and "avcodec VA: try to reuse the current video acceleration" patches
---
 modules/codec/avcodec/video.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c
index 5867427..439bd63 100644
--- a/modules/codec/avcodec/video.c
+++ b/modules/codec/avcodec/video.c
@@ -396,21 +396,6 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context,
             break;
     }
 
-    /* Workaround: frame multithreading is not compatible with
-     * DXVA2. When a frame is being copied to host memory, the frame
-     * is locked and cannot be used as a reference frame
-     * simultaneously and thus decoding fails for some frames. This
-     * causes major image corruption. */
-# if defined(_WIN32)
-    char *avcodec_hw = var_InheritString( p_dec, "avcodec-hw" );
-    if( avcodec_hw == NULL || strcasecmp( avcodec_hw, "none" ) )
-    {
-        msg_Warn( p_dec, "threaded frame decoding is not compatible with DXVA2, disabled" );
-        p_context->thread_type &= ~FF_THREAD_FRAME;
-    }
-    free( avcodec_hw );
-# endif
-
     if( p_context->thread_type & FF_THREAD_FRAME )
         p_dec->i_extra_picture_buffers = 2 * p_context->thread_count;
 #endif
-- 
2.3.2




More information about the vlc-devel mailing list