[FFmpeg-cvslog] avformat/yuv4mpegdec: Don't call avio_tell() twice
Andreas Rheinhardt
git at videolan.org
Mon Aug 30 17:11:58 EEST 2021
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Thu Aug 26 10:52:04 2021 +0200| [9abf0e0419c1ebfe6ba9075af0f032b6d45ef741] | committer: Andreas Rheinhardt
avformat/yuv4mpegdec: Don't call avio_tell() twice
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9abf0e0419c1ebfe6ba9075af0f032b6d45ef741
---
libavformat/yuv4mpegdec.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
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;
}
More information about the ffmpeg-cvslog
mailing list