[FFmpeg-devel] [PATCH] Fix unnecessary buffer reallocotion in ffio_ensure_seekback().

Michael Niedermayer michael at niedermayer.cc
Sat Dec 22 01:47:07 EET 2018


On Thu, Dec 20, 2018 at 11:11:45AM +0200, Artyom Lebedev wrote:
> On 12/19/18 8:49 PM, Michael Niedermayer wrote:
> >On Wed, Dec 19, 2018 at 02:33:49PM +0200, Artyom Lebedev wrote:
> >>It was reallocated even if the exisiting buffer is larger than needed one,
> >>thus unnecessary shrinking it.
> >>  aviobuf.c |    3 +++
> >>  1 file changed, 3 insertions(+)
> >>17a6a27b38d8fc7336d7177338b915b507a69033  0001-Fix-unnecessary-buffer-reallocotion-in-ffio_ensure_s.patch
> >> From 2b8cea72a69abe6564367fb2149be936d2ffb916 Mon Sep 17 00:00:00 2001
> >>From: Artyom Lebedev <vagran.ast at gmail.com>
> >>Date: Wed, 19 Dec 2018 11:49:22 +0200
> >>Subject: [PATCH] Fix unnecessary buffer reallocotion in
> >>  ffio_ensure_seekback().
> >>To: ffmpeg-devel at ffmpeg.org
> >>
> >>---
> >>  libavformat/aviobuf.c | 3 +++
> >>  1 file changed, 3 insertions(+)
> >>
> >>diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
> >>index 5a33f82..b867fdd 100644
> >>--- a/libavformat/aviobuf.c
> >>+++ b/libavformat/aviobuf.c
> >>@@ -1063,6 +1063,9 @@ int ffio_ensure_seekback(AVIOContext *s, int64_t buf_size)
> >>          return 0;
> >>      av_assert0(!s->write_flag);
> >>+    if (s->buffer_size >= buf_size)
> >>+        return 0;
> >Theres a check which returns out for unnecessary reallocation
> >a few lines above
> >if that is incorrect that should be corrected
> >also theres a typo in the commit message
> >
> >thx
> >
> >[...]
> >
> >
> >_______________________________________________
> >ffmpeg-devel mailing list
> >ffmpeg-devel at ffmpeg.org
> >http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> Which check do you mean? "buf_size < filled"? This only checks if currently

yes


> filled size is less than required (I do not know why, may be there was
> intended to do "buf_size < s->buffer_size" check)?

maybe, that is the question. i do not remember why it was written this way
so it could infact be unintended

the point is adding this 2nd check on top is certainly wrong as the checks would
be redundant, or if its not redundant it really would need some explanation

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20181222/e7281cd4/attachment.sig>


More information about the ffmpeg-devel mailing list