Skip to content

Commit

Permalink
avcodec: DXVA2 is now frame multithreading safe
Browse files Browse the repository at this point in the history
after changes on the way the codec is reinitialized after seeking and the internal lock

Signed-off-by: Jean-Baptiste Kempf <[email protected]>
  • Loading branch information
robUx4 authored and jbkempf committed Apr 28, 2015
1 parent 96c37b6 commit 32ed30c
Showing 1 changed file with 0 additions and 15 deletions.
15 changes: 0 additions & 15 deletions modules/codec/avcodec/video.c
Original file line number Diff line number Diff line change
Expand Up @@ -432,21 +432,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
Expand Down

0 comments on commit 32ed30c

Please sign in to comment.