if( val.i_int > 2 ) p_sys->p_context->skip_loop_filter = AVDISCARD_NONKEY;
if( val.i_int > 3 ) p_sys->p_context->skip_loop_filter = AVDISCARD_ALL;
+ bool b_fast = var_CreateGetBool( p_dec, "ffmpeg-fast" );
+ if( b_fast ) p_sys->p_context->flags2 |= CODEC_FLAG2_FAST;
+
/* ***** ffmpeg frame skipping ***** */
var_Create( p_dec, "ffmpeg-hurry-up", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
var_Get( p_dec, "ffmpeg-hurry-up", &val );
p_ff_pic->linesize[2] = p_pic->p[2].i_pitch;
p_ff_pic->linesize[3] = 0;
- if( p_ff_pic->reference != 0 )
- {
- decoder_LinkPicture( p_dec, p_pic );
- }
+ decoder_LinkPicture( p_dec, p_pic );
/* FIXME what is that, should give good value */
p_ff_pic->age = 256*256*256*64; // FIXME FIXME from ffmpeg
AVFrame *p_ff_pic )
{
decoder_t *p_dec = (decoder_t *)p_context->opaque;
- picture_t *p_pic;
if( !p_ff_pic->opaque )
{
return;
}
- p_pic = (picture_t*)p_ff_pic->opaque;
+ picture_t *p_pic = (picture_t*)p_ff_pic->opaque;
+ decoder_UnlinkPicture( p_dec, p_pic );
p_ff_pic->data[0] = NULL;
p_ff_pic->data[1] = NULL;
p_ff_pic->data[2] = NULL;
p_ff_pic->data[3] = NULL;
-
- if( p_ff_pic->reference != 0 )
- {
- decoder_UnlinkPicture( p_dec, p_pic );
- }
}
static void ffmpeg_NextPts( decoder_t *p_dec )