From 9abf0e0419c1ebfe6ba9075af0f032b6d45ef741 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Thu, 26 Aug 2021 10:52:04 +0200 Subject: avformat/yuv4mpegdec: Don't call avio_tell() twice Signed-off-by: Andreas Rheinhardt --- libavformat/yuv4mpegdec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'libavformat/yuv4mpegdec.c') diff --git a/libavformat/yuv4mpegdec.c b/libavformat/yuv4mpegdec.c index c327aa9d3f..69dd8a3165 100644 --- a/libavformat/yuv4mpegdec.c +++ b/libavformat/yuv4mpegdec.c @@ -44,6 +44,7 @@ static int yuv4_read_header(AVFormatContext *s) enum AVFieldOrder field_order = AV_FIELD_UNKNOWN; enum AVColorRange color_range = AVCOL_RANGE_UNSPECIFIED; AVStream *st; + int64_t data_offset; for (i = 0; i < MAX_YUV4_HEADER; i++) { header[i] = avio_r8(pb); @@ -254,9 +255,9 @@ static int yuv4_read_header(AVFormatContext *s) s->packet_size = av_image_get_buffer_size(st->codecpar->format, width, height, 1) + Y4M_FRAME_MAGIC_LEN; if ((int) s->packet_size < 0) return s->packet_size; - s->internal->data_offset = avio_tell(pb); + s->internal->data_offset = data_offset = avio_tell(pb); - st->duration = (avio_size(pb) - avio_tell(pb)) / s->packet_size; + st->duration = (avio_size(pb) - data_offset) / s->packet_size; return 0; } -- cgit v1.2.3