[FFmpeg-devel] [PATCH 2/3] ffplay: remove early frame drop functionality

Marton Balint cus at passwd.hu
Sun Oct 16 20:11:19 CEST 2011


On Mon, 10 Oct 2011, Michael Niedermayer wrote:

> On Mon, Oct 10, 2011 at 08:59:09PM +0200, Marton Balint wrote:
>> The current impementation of early frame drops (dropping frames before adding
>> them to the picture queue) has multiple problems:
>>
>> Even after gettin A-V sync, the frame droping continues until
>> VideoState->skip_frames reaches 1, which can take a lot of time causing useless
>> additional frame drops and bad AV-sync. This issue can be easily triggered with
>> for example changing the audio stream.
>>
>> Also video_refresh currenly does not handle early skipped frames in every case,
>> for example if we skip a frame, then the last frame duration calculation will
>> compute the duration of the sum of the skipped frame and the duration of the
>> frame before that, and in compute_target_delay we may multiply this unusually
>> big delay.
>
> The current early frame drop code has 2 reasons for its existence.
> if the filtering is very timeconsuming and cannot be performed
> in realtime AV sync is not possible with droping after the filtering.
>
> and when realtime display of all frames is not possibly it is better
> to drop a consistent and evenly distributed pattern of frames instead
> of a inconsistent one like for example droping several consecutive
> frames and then not droping several in a row
>
> do you see an alternative to droping it ?

No, I already have an almost-working version of early frame dropping which 
is using a bit different approach, and does not suffer from the problems 
above. I will push it to testing in a couple of days. So the removal of 
the feature is only temporary.

Regards,
   Marton


More information about the ffmpeg-devel mailing list