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".
next prev parent 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