Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Anton Khirnov <anton@khirnov.net>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 17/28] ffmpeg: move the mux queue into muxer private data
Date: Mon, 17 Jan 2022 23:29:55 +0100
Message-ID: <164245859543.20480.16148065827824330436@lain.red.khirnov.net> (raw)
In-Reply-To: =?utf-8?q?=3CAM7PR03MB6660666D148524DDD35EBCAA8F539=40AM7PR03MB?= =?utf-8?q?6660=2Eeurprd03=2Eprod=2Eoutlook=2Ecom=3E?=

Quoting Andreas Rheinhardt (2022-01-13 11:50:48)
> 
> My objections to adding a separately allocated muxing context and to
> this MuxStream have not changed. Both incur unnecessary allocations
> and indirections and (in case of the latter) loops;

I cannot imagine any remotely real situation where the cost of these
allocation and loops is anywhere close to being meaningful. So your
argument amounts to vastly premature optimization.

> the latter is also very unnatural. The patch here actually shows it:
> You only use the muxer context to get the MuxStream context
> corresponding to the OutputStream you are interested in:

I don't see how that shows any unnaturalness. As I said last time
already - the idea is to (eventually) split OutputStream into separate
encoding and muxing objects that can be used independently.

If you really insist I can wait until actually implementing that split,
but I'd rather avoid giant branches if possible.

> 
> >      for (i = 0; i < of->ctx->nb_streams; i++) {
> > +        MuxStream     *ms = &of->mux->streams[i];
> >          OutputStream *ost = output_streams[of->ost_index + i];
> 
> >      AVStream *st = ost->st;
> > +    MuxStream *ms = &of->mux->streams[st->index];
> >      int ret;
> 
> Your aim of making sure what code can use/modify what parts can also be
> fulfilled by comments.

In my experience that simply does not work. People either don't read the
comments at all or read them once and forget. Did you see what happened
to all those fields in AVStream marked as "libavformat private use only"?

-- 
Anton Khirnov
_______________________________________________
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".

  parent reply	other threads:[~2022-01-17 22:30 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-11  9:58 [FFmpeg-devel] [PATCH 01/28] ffmpeg: pass the muxer context explicitly to some functions Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 02/28] ffmpeg: store the output file index in OutputFile Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 03/28] ffmpeg: move some muxing-related code into a separate file Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 04/28] ffmpeg: move writing the trailer to ffmpeg_mux.c Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 05/28] ffmpeg: move freeing the output file " Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 06/28] ffmpeg: store output format separately from the muxer context Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 07/28] ffmpeg_mux: add private " Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 08/28] ffmpeg: add a helper function to access output file size Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 09/28] ffmpeg: fix the type of limit_filesize Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 10/28] ffmpeg: refactor limiting output file size with -fs Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 11/28] ffmpeg: set want_sdp when initializing the muxer Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 12/28] ffmpeg: write the header for stream-less outputs " Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 13/28] ffmpeg: move closing the file into of_write_trailer() Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 14/28] ffmpeg: refactor the code checking for bitexact output Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 15/28] ffmpeg: access output file chapters through a wrapper Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 16/28] ffmpeg: do not log to the muxer context Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 17/28] ffmpeg: move the mux queue into muxer private data Anton Khirnov
2022-01-13 10:50   ` Andreas Rheinhardt
2022-01-17 22:29   ` Anton Khirnov [this message]
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 18/28] ffmpeg: fix initial muxing queue size Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 19/28] ffmpeg_mux: split queuing packets into a separate function Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 20/28] ffmpeg_mux: split of_write_packet() Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 21/28] ffmpeg: move a comment to a more appropriate place Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 22/28] ffmpeg: move output file opts into private context Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 23/28] ffmpeg: move processing video stats to ffmpeg_mux Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 24/28] ffmpeg_mux: drop a useless check and reduce indentation Anton Khirnov
2022-01-13 10:54   ` Andreas Rheinhardt
2022-01-18 10:16   ` Anton Khirnov
2022-01-18 10:18     ` Andreas Rheinhardt
2022-01-18 10:25     ` Anton Khirnov
2022-01-18 10:35       ` Andreas Rheinhardt
2022-01-18 10:52       ` Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 25/28] ffmpeg_mux: stop using AVStream.nb_frames in do_video_stats() Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 26/28] ffmpeg_mux: stop using av_stream_get_end_pts() " Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 27/28] ffmpeg_mux: merge variable declaration and initialization Anton Khirnov
2022-01-11  9:58 ` [FFmpeg-devel] [PATCH 28/28] ffmpeg_mux: move processing AV_PKT_DATA_QUALITY_STATS to do_video_stats() Anton Khirnov

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=164245859543.20480.16148065827824330436@lain.red.khirnov.net \
    --to=anton@khirnov.net \
    --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