Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 4/7] avcodec/codec_internal: Use union for FFCodec decode/encode callbacks
Date: Tue, 3 May 2022 15:44:55 +0200
Message-ID: <AS8PR01MB7944ECFBD44A063442C3EF5D8FC09@AS8PR01MB7944.eurprd01.prod.exchangelabs.com> (raw)
In-Reply-To: <20220430215010.GD396728@pb2>

Michael Niedermayer:
> On Thu, Mar 31, 2022 at 12:49:55AM +0200, Andreas Rheinhardt wrote:
>> This is possible, because every given FFCodec has to implement
>> exactly one of these. Doing so decreases sizeof(FFCodec) and
>> therefore decreases the size of the binary.
>> Notice that in case of position-independent code the decrease
>> is in .data.rel.ro, so that this translates to decreased
>> memory consumption.
> 
> by how much did the space requirement decrease ?

The three patches fb59a42ef, ce7dbd048 and 4243da4ff4 together removed
four pointers from FFCodec; on 64 bit systems this amounts to savings of
32 byte per FFCodec. allcodecs.c contains 796 declarations of FFCodecs,
amounting to savings of at most 25472B. (This number is not attainable
because some codecs are only available for certain platforms.)
I get 488 decoders and 182 encoders in a build without any external
libraries explicitly enabled, leading to savings of 21440B.

> iam asking because while a single such change isnt a issue
> if we accumulate alot of this in the API, the API may become
> actually hard to understand by new developers
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2022-05-03 13:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-30 22:28 [FFmpeg-devel] [PATCH 1/7] avcodec/options: Fix AVClassCategory of decoders with .receive_frame Andreas Rheinhardt
2022-03-30 22:49 ` [FFmpeg-devel] [PATCH 2/7] avcodec/codec_internal: Add FFCodec.decode_sub Andreas Rheinhardt
2022-03-30 22:49 ` [FFmpeg-devel] [PATCH 3/7] avcodec/codec_internal: Make FFCodec.decode use AVFrame* Andreas Rheinhardt
2022-03-30 22:49 ` [FFmpeg-devel] [PATCH 4/7] avcodec/codec_internal: Use union for FFCodec decode/encode callbacks Andreas Rheinhardt
2022-04-30 21:50   ` Michael Niedermayer
2022-05-03 13:44     ` Andreas Rheinhardt [this message]
2022-03-30 22:49 ` [FFmpeg-devel] [PATCH 5/7] avcodec/codec_internal: Constify AVPacket in decode_sub cb Andreas Rheinhardt
2022-03-30 22:49 ` [FFmpeg-devel] [PATCH 6/7] avcodec: Make avcodec_decoder_subtitles2 accept a const AVPacket* Andreas Rheinhardt
2022-03-31 11:44   ` Anton Khirnov
2022-04-02  6:54     ` "zhilizhao(赵志立)"
2022-04-14 19:33     ` Andreas Rheinhardt
2022-04-14 21:52       ` Hendrik Leppkes
2022-03-30 22:49 ` [FFmpeg-devel] [PATCH 7/7] avformat/demux: Avoid stack packet when decoding frame Andreas Rheinhardt
2022-04-05 14:31 ` [FFmpeg-devel] [PATCH 1/7] avcodec/options: Fix AVClassCategory of decoders with .receive_frame Andreas Rheinhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AS8PR01MB7944ECFBD44A063442C3EF5D8FC09@AS8PR01MB7944.eurprd01.prod.exchangelabs.com \
    --to=andreas.rheinhardt@outlook.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git