[FFmpeg-devel] [PATCH 2/3] avcodec/kmvc: Move commonly used variables to the front of the context

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Wed Mar 24 16:26:07 EET 2021


Tomas Härdin:
> ons 2021-03-24 klockan 14:49 +0100 skrev Andreas Rheinhardt:
>> Tomas Härdin:
>>> mån 2021-03-22 klockan 03:06 +0100 skrev Andreas Rheinhardt:
>>>> Reduces codesize because the offset in pointer+offset addressing
>>>> requires less bytes to encode. Reduces the size of .text from 8871B
>>>> to 8146B (GCC 10, -O3, x64).
>>>>
>>>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
>>>> ---
>>>>  libavcodec/kmvc.c | 4 ++--
>>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/libavcodec/kmvc.c b/libavcodec/kmvc.c
>>>> index 8d9f0a9693..dd1ae05f2d 100644
>>>> --- a/libavcodec/kmvc.c
>>>> +++ b/libavcodec/kmvc.c
>>>> @@ -44,12 +44,12 @@
>>>>  typedef struct KmvcContext {
>>>>      AVCodecContext *avctx;
>>>
>>> Couldn't this be removed too? Doesn't have to hold up this patch of
>>> course
>>>
>> It is currently used for log messages; such usage is fairly common, but
>> it can of course be changed. Don't know if it is beneficial though.
> 
> Maybe moving it further down the struct saves some .text?
> 
Moving the GetBitContext to the top spot is beneficial (saves 77B);
removing avctx from the context is even more so: 77B+4B in decode_init.
I can do so if desired.

- Andreas


More information about the ffmpeg-devel mailing list