[FFmpeg-devel] [PATCH] avformat/gifdec: cleanup

James Almer jamrial at gmail.com
Mon May 22 19:07:50 EEST 2023


On 5/22/2023 12:49 PM, Paul B Mahol wrote:
> On 5/21/23, Paul B Mahol <onemda at gmail.com> wrote:
>> Attached patches.
>>
>> This finally removes giant hacks in gif demuxer and allows using gif
>> files via pipe reliably.
>>
> 
> Now with smaller diff.

[...]

> From f3d6eea43df686b4211601b194fac81f032eb273 Mon Sep 17 00:00:00 2001
> From: Paul B Mahol <onemda at gmail.com>
> Date: Sun, 21 May 2023 02:15:26 +0200
> Subject: [PATCH 1/2] avformat/demux: add support to derive timestamps from
>  packet durations for video
> 
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>  libavformat/demux.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/libavformat/demux.c b/libavformat/demux.c
> index dec02a1a6b..b3f563ccc7 100644
> --- a/libavformat/demux.c
> +++ b/libavformat/demux.c
> @@ -1195,6 +1195,11 @@ static int parse_packet(AVFormatContext *s, AVPacket *pkt,
>                                       st->time_base,
>                                       AV_ROUND_DOWN);
>              }
> +        } else if ((s->iformat->flags & AVFMT_NOTIMESTAMPS) && st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {

Why only for AVFMT_NOTIMESTAMPS formats? Same as the audio check above, 
the parser could set duration regardless of where the packet came from.

> +            if (st->time_base.num > 0 && st->time_base.den > 0 &&
> +                sti->parser->duration) {
> +                out_pkt->duration = sti->parser->duration;
> +            }
>          }
>  
>          out_pkt->stream_index = st->index;
> -- 
> 2.39.1
> 


More information about the ffmpeg-devel mailing list