From: Soft Works <softworkz@hotmail.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [RFC] Switching ffmpeg.c to a threaded architecture Date: Tue, 12 Apr 2022 22:43:06 +0000 Message-ID: <DM8P223MB03655E5D18DF7B513E7FE21DBAED9@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> (raw) In-Reply-To: <CAPYw7P6g4f66kcJegr6TkJRC0V-PCyV2yaSneKiC-7QVVFt9Vg@mail.gmail.com> > -----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. 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".
next prev parent reply other threads:[~2022-04-12 22:43 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 [this message] 2022-04-13 9:42 ` Nicolas George 2022-04-13 22:14 ` Soft Works 2022-04-14 10:02 ` Paul B Mahol 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=DM8P223MB03655E5D18DF7B513E7FE21DBAED9@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM \ --to=softworkz@hotmail.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