Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Paul B Mahol <onemda@gmail.com>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [RFC] Switching ffmpeg.c to a threaded architecture
Date: Thu, 14 Apr 2022 12:02:14 +0200
Message-ID: <CAPYw7P59dzUehN-BW=hL1-1YBXtyAMSpDk3hm+UXeSasdd-8Gw@mail.gmail.com> (raw)
In-Reply-To: <DM8P223MB03655E5D18DF7B513E7FE21DBAED9@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>

On Wed, Apr 13, 2022 at 12:43 AM Soft Works <softworkz@hotmail.com> wrote:

>
>
> > -----Original Message-----
> > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Paul
> > B Mahol
> > Sent: Tuesday, April 12, 2022 11:29 AM
> > To: FFmpeg development discussions and patches <ffmpeg-
> > devel@ffmpeg.org>
> > Subject: Re: [FFmpeg-devel] [RFC] Switching ffmpeg.c to a threaded
> > architecture
> >
> > On Mon, Apr 11, 2022 at 10:58 PM Soft Works <softworkz@hotmail.com>
> > wrote:
> >
> > >
> > >
> > > > -----Original Message-----
> > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of
> > Paul
> > > > B Mahol
> > > > Sent: Monday, April 11, 2022 10:52 PM
> > > > To: FFmpeg development discussions and patches <ffmpeg-
> > > > devel@ffmpeg.org>
> > > > Subject: Re: [FFmpeg-devel] [RFC] Switching ffmpeg.c to a threaded
> > > > architecture
> > > >
> > > > On Mon, Apr 11, 2022 at 10:10 PM Soft Works
> > <softworkz@hotmail.com>
> > > > wrote:
> > > >
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf
> > Of
> > > > > > Anton Khirnov
> > > > > > Sent: Monday, April 11, 2022 10:29 AM
> > > > > > To: FFmpeg development discussions and patches <ffmpeg-
> > > > > > devel@ffmpeg.org>
> > > > > > Subject: Re: [FFmpeg-devel] [RFC] Switching ffmpeg.c to a
> > threaded
> > > > > > architecture
> > > > > >
> > > > > > Quoting Soft Works (2022-04-08 17:27:10)
> > > > > > > > Furthermore, remember that this is just the first step.
> > There
> > > > will
> > > > > > be
> > > > > > > > further patchsets converting the other components. I
> > intend to
> > > > > > > > upstream
> > > > > > > > them gradually one after the other. Your suggestion would
> > > > require
> > > > > > me
> > > > > > > > to
> > > > > > > > instead write the whole thing at once, fighting rebase
> > > > conflicts
> > > > > > all
> > > > > > > > the
> > > > > > > > way, and then submit it as a giant utterly unreviewable
> > > > patchset.
> > > > > > >
> > > > > > > That's not what I meant, but anyway it's not worth
> > discussing
> > > > when
> > > > > > > it's a minority opinion.
> > > > > > >
> > > > > > > Just a practical question instead for planning purposes:
> > > > > > >
> > > > > > > Which timeframe do you expect for the whole process?
> > > > > > > When do you plan to start
> > > > > >
> > > > > > If you mean "start pushing the patches", then I intend to do
> > that
> > > > as
> > > > > > they are reviewed and approved. I hope to send the
> > upstreamable
> > > > > > version
> > > > > > of this set this week, if nobody has strong objectsions then I
> > > > might
> > > > > > push it after vacation, i.e. late April/early May.
> > > > > >
> > > > > > > and for how long do you think it will take until all further
> > > > > > patchsets
> > > > > > > will be submitted/applied?
> > > > > >
> > > > > > This is very hard to estimate accurately. A pessimistic guess
> > > > assuming
> > > > > > I
> > > > > > get stuck on every stupid thing would be end of this year, but
> > I
> > > > hope
> > > > > > for things to go much faster.
> > > > >
> > > > > Thanks for the reply. I'm asking because I need to decide about
> > the
> > > > > way I'm going to proceed with the subtitle filtering patchset.
> > > > >
> > > > > I think I will have to keep and continue this in private during
> > this
> > > > > procedure as I don't have the resources to regularly adapt and
> > sync
> > > > > from my (5.0 based) working branch back to the master branch.
> > > > >
> > > > >
> > > > That is big waste of resource when not implementing thing
> > properly.
> > >
> > > From my point of view, somebody who has never given any detailed
> > > reviews, didn't state what exactly(!) he would consider to be
> > "improper"
> > > and never made any suggestion how the implementation would need to
> > > be changed to become "proper" - doesn't have the right to make such
> > > claims.
> > >
> >
> > You never asked kindly.
>
> I have always asked you kindly, probably more kindly than many
> others do (going through history, I just found many very kind
> questions I've been asking you).
>
> For the specific issue about the subtitles patchset, you jumped
> in on IRC, saying "it's a hack". I had asked you (kindly!) what
> makes you think that it would be a hack and what you would think needs
> to be changed. You never answered the question since that time,
> instead you kept labeling it in all those ways.
>
>
> I think the fundamental problem about the current situation is
> that there were discussions with several other developers whose
> arguments were based on theoretical considerations after reviewing
> the code but without having actually worked with it and gone
> through all the real-world situations that exist.
>
> My code though, is made to provision for all cases by providing
> a high level of flexibility, which is done by having timing fields
> that are redundant in some cases but are needed (and non-redundant)
> in other cases. Full coverage of cases is elementary for me, though;
> I can't drop it, like somebody had suggested.
>
> As a matter of fact, I see two chances:
>
> - others believe what I'm telling
>   or
> - another developer of sufficient reputation and credibility
>   gets to look into the details for confirming my reasoning
>
> > > > That is big waste of resources
>
> Inclusion in ffmpeg master has always been a secondary objective
> only with the intention to contribute something useful and keep
> the diff-to-official at a moderate level, avoiding the effort for
> adapting to upstream changes.
>
> Now that ffmpeg.c is about to undergo changes for the next months,
> it would really be a "big waste of resources" to regularly keep
> up with those changes. On the other side, I think exactly those
> changes would have benefitted from many of the subtitle changes
> in my patchset, as this eliminates a lot of all the special treatment
> which is in place for subtitle stream handling.
>
> I recognize though, that interest and intentions for improvement
> in this area are low; otherwise, a disagreement about two fields
> more or less in AVFrame, wouldn't probably be blocking the story
> as a whole.
>

Please provide current version of your work via link to repository.

Changing AVFrame is sign that something is not implemented carefully.



>
> softworkz
>
> _______________________________________________
> 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".
>
_______________________________________________
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-04-14 10:00 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-04 11:29 Anton Khirnov
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 01/49] fftools/ffmpeg: drop an obsolete hack Anton Khirnov
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 02/49] fftools/ffmpeg: move a comment to a more appropriate place Anton Khirnov
2022-04-06 11:20   ` James Almer
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 03/49] fftools/ffmpeg: stop using OutputStream.frame_number for streamcopy Anton Khirnov
2022-04-06 11:20   ` James Almer
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 04/49] fftools/ffmpeg: pass the muxer context explicitly to some functions Anton Khirnov
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 05/49] fftools/ffmpeg: store the output file index in OutputFile Anton Khirnov
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 06/49] fftools/ffmpeg: move some muxing-related code into a separate file Anton Khirnov
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 07/49] fftools/ffmpeg: move writing the trailer to ffmpeg_mux.c Anton Khirnov
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 08/49] fftools/ffmpeg: move freeing the output file " Anton Khirnov
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 09/49] fftools/ffmpeg: store output format separately from the muxer context Anton Khirnov
2022-04-06 12:00   ` James Almer
2022-04-13 10:18     ` Anton Khirnov
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 10/49] fftools/ffmpeg_mux: add private " Anton Khirnov
2022-04-04 11:29 ` [FFmpeg-devel] [PATCH 11/49] fftools/ffmpeg: add a helper function to access output file size Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 12/49] fftools/ffmpeg: fix the type of limit_filesize Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 13/49] fftools/ffmpeg: refactor limiting output file size with -fs Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 14/49] fftools/ffmpeg: set want_sdp when initializing the muxer Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 15/49] fftools/ffmpeg: write the header for stream-less outputs " Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 16/49] fftools/ffmpeg: move closing the file into of_write_trailer() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 17/49] fftools/ffmpeg: refactor the code checking for bitexact output Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 18/49] fftools/ffmpeg: access output file chapters through a wrapper Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 19/49] fftools/ffmpeg: do not log to the muxer context Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 20/49] fftools/ffmpeg: move the mux queue into muxer private data Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 21/49] fftools/ffmpeg_mux: split queuing packets into a separate function Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 22/49] fftools/ffmpeg_mux: split of_write_packet() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 23/49] fftools/ffmpeg: move output file opts into private context Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 24/49] fftools/ffmpeg: move processing video stats to ffmpeg_mux Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 25/49] fftools/ffmpeg_mux: drop a useless check and reduce indentation Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 26/49] fftools/ffmpeg_mux: stop using AVStream.nb_frames in do_video_stats() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 27/49] fftools/ffmpeg_mux: stop using av_stream_get_end_pts() " Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 28/49] fftools/ffmpeg_mux: merge variable declaration and initialization Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 29/49] fftools/ffmpeg_mux: move processing AV_PKT_DATA_QUALITY_STATS to do_video_stats() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 30/49] fftools/ffmpeg: share the code encoding a single frame between video and audio Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 31/49] fftools/ffmpeg: reuse the encoding code for flushing encoders Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 32/49] fftools/ffmpeg: reindent after previous commit Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 33/49] fftools/ffmpeg: use refcounted packets for encoded subtitles Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 34/49] fftools/ffmpeg: rework -shortest implementation Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 35/49] fftools/ffmpeg: use the sync queues to handle -frames Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 36/49] fftools/ffmpeg: stop using OutputStream.frame_number in print_report() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 37/49] fftools/ffmpeg: only set OutputStream.frame_number for video encoding Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 38/49] fftools/ffmpeg: make the muxer AVFormatContext private to ffmpeg_mux.c Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 39/49] fftools/ffmpeg_mux: return errors from of_submit_packet() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 40/49] fftools/ffmpeg_mux: return errors from submit_packet() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 41/49] fftools/ffmpeg_mux: return errors from write_packet() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 42/49] fftools/ffmpeg_mux: simplify submit_packet() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 43/49] fftools/ffmpeg_mux: return errors from update_video_stats() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 44/49] fftools/ffmpeg_mux: do not call exit_program() in print_sdp() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 45/49] fftools/ffmpeg: stop using av_stream_get_end_pts() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 46/49] fftools/ffmpeg: do not write the output file header from init_output_stream() Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 47/49] fftools/ffmpeg: depend on threads Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 48/49] fftools: add a multistream thread-safe queue Anton Khirnov
2022-04-04 11:30 ` [FFmpeg-devel] [PATCH 49/49] fftools/ffmpeg: move each muxer to a separate thread Anton Khirnov
2022-04-05  9:00 ` [FFmpeg-devel] [RFC] Switching ffmpeg.c to a threaded architecture Anton Khirnov
2022-04-05 19:15 ` Michael Niedermayer
2022-04-05 19:46   ` Anton Khirnov
2022-04-05 21:05     ` Soft Works
2022-04-05 21:18       ` Paul B Mahol
2022-04-05 21:19         ` Soft Works
2022-04-06 11:17           ` Paul B Mahol
2022-04-06 15:46             ` Soft Works
2022-04-06 15:54               ` Matt Zagrabelny
2022-04-06  8:41     ` Anton Khirnov
2022-04-06 16:29       ` Soft Works
2022-04-06 17:38         ` Paul B Mahol
2022-04-06 17:56           ` Kieran Kunhya
2022-04-06 18:53             ` Soft Works
2022-04-07  8:32       ` Anton Khirnov
2022-04-08 15:27         ` Soft Works
2022-04-11  8:28         ` Anton Khirnov
2022-04-11 20:09           ` Soft Works
2022-04-11 20:52             ` Paul B Mahol
2022-04-11 20:58               ` Soft Works
2022-04-12  9:29                 ` Paul B Mahol
2022-04-12 22:43                   ` Soft Works
2022-04-13  9:42                     ` Nicolas George
2022-04-13 22:14                       ` Soft Works
2022-04-14 10:02                     ` Paul B Mahol [this message]
2022-04-14 21:37                       ` Soft Works
2022-04-06 10:02 ` 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='CAPYw7P59dzUehN-BW=hL1-1YBXtyAMSpDk3hm+UXeSasdd-8Gw@mail.gmail.com' \
    --to=onemda@gmail.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