diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-06-13 01:55:40 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-07-18 22:06:20 +0200 |
commit | f9136d6026ede3a98f3bffc23e1deacca37cbf3b (patch) | |
tree | 0eaf835427ddf1dda625597646a6e085d85c294c | |
parent | e1836b191b8ce956bebf050e664975f2e0f92325 (diff) | |
download | ffmpeg-f9136d6026ede3a98f3bffc23e1deacca37cbf3b.tar.gz |
Avoid calling functions repeatedly via FFMIN
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavcodec/pngdec.c | 4 | ||||
-rw-r--r-- | libavformat/afc.c | 4 | ||||
-rw-r--r-- | libavformat/avidec.c | 3 |
3 files changed, 7 insertions, 4 deletions
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 16c4c3a283..3c00007907 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -1044,7 +1044,9 @@ static void handle_p_frame_png(PNGDecContext *s, AVFrame *p) int i, j; uint8_t *pd = p->data[0]; uint8_t *pd_last = s->last_picture.f->data[0]; - int ls = FFMIN(av_image_get_linesize(p->format, s->width, 0), s->width * s->bpp); + int ls = av_image_get_linesize(p->format, s->width, 0); + + ls = FFMIN(ls, s->width * s->bpp); ff_thread_await_progress(&s->last_picture, INT_MAX, 0); for (j = 0; j < s->height; j++) { diff --git a/libavformat/afc.c b/libavformat/afc.c index a99f65472d..102b74baeb 100644 --- a/libavformat/afc.c +++ b/libavformat/afc.c @@ -57,10 +57,10 @@ static int afc_read_header(AVFormatContext *s) static int afc_read_packet(AVFormatContext *s, AVPacket *pkt) { AFCDemuxContext *c = s->priv_data; - int64_t size; + int64_t size = c->data_end - avio_tell(s->pb); int ret; - size = FFMIN(c->data_end - avio_tell(s->pb), 18 * 128); + size = FFMIN(size, 18 * 128); if (size <= 0) return AVERROR_EOF; diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 39039f5bc9..2e261c94e6 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -362,7 +362,8 @@ static void avi_read_nikon(AVFormatContext *s, uint64_t end) uint16_t size = avio_rl16(s->pb); const char *name = NULL; char buffer[64] = { 0 }; - size = FFMIN(size, tag_end - avio_tell(s->pb)); + uint64_t remaining = tag_end - avio_tell(s->pb); + size = FFMIN(size, remaining); size -= avio_read(s->pb, buffer, FFMIN(size, sizeof(buffer) - 1)); switch (tag) { |