i_thread_count = __MIN( i_thread_count, 16 );
msg_Dbg( p_dec, "allowing %d thread(s) for decoding", i_thread_count );
p_sys->p_context->thread_count = i_thread_count;
+
+ if( i_codec_id == AV_CODEC_ID_MPEG4 )
+ p_sys->p_context->thread_count = 1;
+
#endif
char *hw = var_CreateGetString( p_dec, "avcodec-hw" ); /* FIXME */
i_codec_id == AV_CODEC_ID_H264 ||
i_codec_id == AV_CODEC_ID_VC1 || i_codec_id == AV_CODEC_ID_WMV3) )
{
-#if defined(HAVE_AVCODEC_MT) && LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 1, 0)
+#if defined(HAVE_AVCODEC_MT) //&& LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 1, 0)
if( p_sys->p_context->thread_type & FF_THREAD_FRAME )
{
- msg_Warn( p_dec, "threaded frame decoding is not compatible with libavcodec-hw, disabled" );
+ msg_Warn( p_dec, "threaded frame decoding is not compatible with avcodec-hw, disabled" );
p_sys->p_context->thread_type &= ~FF_THREAD_FRAME;
}
if( ( p_sys->p_context->thread_type & FF_THREAD_SLICE ) &&
( i_codec_id == AV_CODEC_ID_MPEG1VIDEO || i_codec_id == AV_CODEC_ID_MPEG2VIDEO ) )
{
- msg_Warn( p_dec, "threaded slice decoding is not compatible with libavcodec-hw, disabled" );
+ msg_Warn( p_dec, "threaded slice decoding is not compatible with avcodec-hw, disabled" );
p_sys->p_context->thread_type &= ~FF_THREAD_SLICE;
}
#endif
if( vlc_va_Get( p_va, p_ff_pic ) )
{
- msg_Err( p_dec, "VaGrabSurface failed" );
+ msg_Err( p_dec, "vlc_va_Get failed" );
return -1;
}