[FFmpeg-devel] [PATCH 1/3][RFC] avutil/frame: add AV_FRAME_FLAG_DISPOSABLE

James Almer jamrial at gmail.com
Mon Aug 26 23:23:22 EEST 2019


On 8/26/2019 5:20 PM, Michael Niedermayer wrote:
> On Mon, Aug 26, 2019 at 01:17:25PM -0300, James Almer wrote:
>> Used to signal frames that can be safely discarded without losing
>> any picture data, side data, or metadata other than timing info.
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>> This implements the "disposable frame" solution to allow library
>> users to drop duplicate frames before further processing if desired,
>> instead of forcing decoders to output vfr content when cfr is coded
>> in the bitstream.
>>
>>  doc/APIchanges      | 3 +++
>>  libavutil/frame.h   | 5 +++++
>>  libavutil/version.h | 2 +-
>>  3 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/doc/APIchanges b/doc/APIchanges
>> index 682b67aa25..b28d702bae 100644
>> --- a/doc/APIchanges
>> +++ b/doc/APIchanges
>> @@ -15,6 +15,9 @@ libavutil:     2017-10-21
>>  
>>  API changes, most recent first:
>>  
>> +2019-08-xx - xxxxxxxxxx - lavu 58.34.100 - avframe.h
>> +  Add AV_FRAME_FLAG_DISPOSABLE
>> +
>>  2019-08-xx - xxxxxxxxxx - lavf 58.31.101 - avio.h
>>    4K limit removed from avio_printf.
>>  
>> diff --git a/libavutil/frame.h b/libavutil/frame.h
>> index 5d3231e7bb..e1bf8795d2 100644
>> --- a/libavutil/frame.h
>> +++ b/libavutil/frame.h
>> @@ -522,6 +522,11 @@ typedef struct AVFrame {
>>   * A flag to mark the frames which need to be decoded, but shouldn't be output.
>>   */
>>  #define AV_FRAME_FLAG_DISCARD   (1 << 2)
>> +/**
>> + * A flag to indicate frames that can be discarded by the encoder. I.e. frames
>> + * that are an exact duplicate of the previous one.
>> + */
> 
> ... exact duplicate of the previous one, except its timestamp and duration.
> 
> maybe AV_FRAME_FLAG_DUPLICATE or AV_FRAME_FLAG_REPEATED would be clearer ?

It might, but i wanted to use the same name as the AVPacket flag defined
in avcodec.h. If duplicate or repeated is preferred then i'll change it.

I could also instead change the doxy to state it signals that the frame
is disposable in general and not just because it's a duplicate of a
previous one, even if for now that's the only usecase for it.

> 
> thx
> 
> [...]
> 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> 



More information about the ffmpeg-devel mailing list