From: Nicolas George <george@nsup.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH 13/13 v3] fftools/ffmpeg: convert to a threaded architecture Date: Wed, 6 Dec 2023 13:55:53 +0100 Message-ID: <ZXBvWQiV3p2LztDL@phare.normalesup.org> (raw) In-Reply-To: <170170963341.8914.15256032845632094107@lain.khirnov.net> Anton Khirnov (12023-12-04): > Which of these are you saying is correct? I do not know? Do you think I am able to reverse MD5 mentally? I am flattered, but I am sorry to confess I am not. Why do you not look at the resulting videos to judge for yourself? But to do that, you will need to remember (or learn two things): First, most people do not have that many CPU threads available, and if they do they will spend them on encoding more than decoding. Second, and most important: for subtitles, in many many cases, a few frames of shift do not matter because the timing in the source material is not that accurate. So the answer to your question is: probably most of the ones generated with a sane number of threads are correct, in the sense that the result is within the acceptable accuracy of subtitles sync and useful for the user. Of course, if the use case is one where perfect accuracy is necessary, users need to revert to a slower and more bulky procedure (like you suggested: open the file twice, which might require storing it entirely) to get it. So really, what you pretend is not breaking anything is really removing one of the options currently available to users in the compromise between speed, latency and accuracy. So I demand you stop pretending you are not breaking anything, stop pretending it is currently broken, just so you can move forward without bothering to search for a solution: that starts to feels like laziness and it always felt like rudeness because I spend a lot of effort in getting this to work in the cases where it can. > The only bug that's been established to exist so far is in your > heartbeat code, which produces random output as per above. As I explained many times, this is not a bug. > Buffering is by itself not a bug, otherwise you'd have to say the lavf > interleaving queue is a bug. Once again, buffering thousands of frames and crashing because out of memory when the current code succeeds and produces an useful result is a regression and the patch series cannot be applied until that regression is fixed. > So for the last time - either suggest a specific and practical way of > reducing memory consumption or stop interfering with my work. The specific and practical way is to let the current logic in place. There might be a few tweaks to make it more accurate, like looking into this comment: /* subtitles seem to be usually muxed ahead of other streams; if not, subtracting a larger time here is necessary */ pts2 = av_rescale_q(pts, tb, ifp->time_base) - 1; But first, we need you to stop behaving as if my previous efforts did not mater just because it does not overlap with your narrow use cases. -- Nicolas George _______________________________________________ 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:[~2023-12-06 12:56 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-11-23 19:14 [FFmpeg-devel] [PATCH v2] ffmpeg CLI multithreading Anton Khirnov 2023-11-23 19:14 ` [FFmpeg-devel] [PATCH 01/13] lavfi/buffersink: avoid leaking peeked_frame on uninit Anton Khirnov 2023-11-23 22:16 ` Paul B Mahol 2023-11-27 9:45 ` Nicolas George 2023-11-23 19:14 ` [FFmpeg-devel] [PATCH 02/13] fftools/ffmpeg_filter: make sub2video heartbeat more robust Anton Khirnov 2023-11-27 9:40 ` Nicolas George 2023-11-27 9:42 ` Nicolas George 2023-11-27 13:02 ` Paul B Mahol 2023-11-27 13:49 ` Nicolas George 2023-11-27 14:08 ` Paul B Mahol 2023-11-29 10:18 ` Anton Khirnov 2023-11-23 19:14 ` [FFmpeg-devel] [PATCH 03/13] fftools/ffmpeg_filter: track input/output index in {Input, Output}FilterPriv Anton Khirnov 2023-11-23 19:14 ` [FFmpeg-devel] [PATCH 04/13] fftools/ffmpeg: make sure FrameData is writable when we modify it Anton Khirnov 2023-11-23 19:15 ` [FFmpeg-devel] [PATCH 05/13] fftools/ffmpeg_filter: move filtering to a separate thread Anton Khirnov 2023-11-24 22:56 ` Michael Niedermayer 2023-11-25 20:18 ` [FFmpeg-devel] [PATCH 05/13 v2] " Anton Khirnov 2023-11-25 20:23 ` [FFmpeg-devel] [PATCH 05/13] " James Almer 2023-11-23 19:15 ` [FFmpeg-devel] [PATCH 06/13] fftools/ffmpeg_filter: buffer sub2video heartbeat frames like other frames Anton Khirnov 2023-11-23 19:15 ` [FFmpeg-devel] [PATCH 07/13] fftools/ffmpeg_filter: reindent Anton Khirnov 2023-11-23 19:15 ` [FFmpeg-devel] [PATCH 08/13] fftools/ffmpeg_mux: add muxing thread private data Anton Khirnov 2023-11-23 19:15 ` [FFmpeg-devel] [PATCH 09/13] fftools/ffmpeg_mux: move bitstream filtering to the muxer thread Anton Khirnov 2023-11-23 19:15 ` [FFmpeg-devel] [PATCH 10/13] fftools/ffmpeg_demux: switch from AVThreadMessageQueue to ThreadQueue Anton Khirnov 2023-11-23 19:15 ` [FFmpeg-devel] [PATCH 11/13] fftools/ffmpeg_enc: move encoding to a separate thread Anton Khirnov 2023-11-23 19:15 ` [FFmpeg-devel] [PATCH 12/13] fftools/ffmpeg: add thread-aware transcode scheduling infrastructure Anton Khirnov 2023-11-23 19:15 ` [FFmpeg-devel] [PATCH 13/13] fftools/ffmpeg: convert to a threaded architecture Anton Khirnov 2023-11-24 22:26 ` Michael Niedermayer 2023-11-25 20:32 ` [FFmpeg-devel] [PATCH 13/13 v2] " Anton Khirnov 2023-11-30 13:08 ` Michael Niedermayer 2023-11-30 13:34 ` Anton Khirnov 2023-11-30 20:48 ` Michael Niedermayer 2023-12-01 11:15 ` [FFmpeg-devel] [PATCH 13/13 v3] " Anton Khirnov 2023-12-01 14:24 ` Nicolas George 2023-12-01 14:27 ` Anton Khirnov 2023-12-01 14:42 ` Nicolas George 2023-12-01 14:46 ` Anton Khirnov 2023-12-01 14:50 ` Nicolas George 2023-12-01 14:58 ` Anton Khirnov 2023-12-01 15:25 ` Nicolas George 2023-12-01 19:49 ` Anton Khirnov 2023-12-04 15:25 ` Nicolas George 2023-12-04 16:25 ` Anton Khirnov 2023-12-04 16:37 ` Nicolas George 2023-12-04 17:07 ` Anton Khirnov 2023-12-06 12:55 ` Nicolas George [this message] 2023-12-06 13:21 ` James Almer 2023-12-06 13:38 ` Nicolas George 2023-12-07 17:26 ` Paul B Mahol 2023-12-21 11:53 ` Paul B Mahol 2023-12-22 10:26 ` 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=ZXBvWQiV3p2LztDL@phare.normalesup.org \ --to=george@nsup.org \ --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