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 13/13 v3] fftools/ffmpeg: convert to a threaded architecture
Date: Mon, 04 Dec 2023 17:25:51 +0100
Message-ID: <170170715198.8914.12428862753446922670@lain.khirnov.net> (raw)
In-Reply-To: <ZW3vgJ0Si8Rz3BdX@phare.normalesup.org>

Quoting Nicolas George (2023-12-04 16:25:52)
> Anton Khirnov (12023-12-01):
> > I can definitely say it is broken and I already told you why. But if you
> > want something more specific:
> > * the output of your example with the current master changes depending
> >   on the number of decoder frame threads; my patch fixes that
> > * in fate-filter-overlay-dvdsub-2397 subtitles appear two frames too
> >   early; again, my patch fixes that
> 
> Ok, some cases are broken. Fine, this is a hard task, some cases are
> impossible. That does not allow you to break cases that are currently
> working.

Nothing is being broken. Your highly contrived and currently broken
testcase buffers a bounded number of extra frames in order to stop being
broken. If that extra buffering is an actual problem for someone, it can
be easily avoided by opening the file twice.

> > IIUC your suggestion was to send heartbeat packets from demuxer to
> > decoder, then have the decoder forward them to filtergraph.
> > 
> > That is EXACTLY what I'm doing in the final patch, see [1]. It also does
> > not address this problem at all, because it is caused by the heartbeat
> > processing code making decisions based on
> > av_buffersrc_get_nb_failed_requests(), which fundamentally depends on
> > what frames previously arrived on the video input.
> 
> Then fix it. I have given you a command that currently works and
> produces valid output:

As I said before, your command does NOT work. Its output changes
unpredictably depending on unrelated parameters.

> make sure it still works with your changes.

After my changes it actually does work reliably.

I maintain that your demand to "fix" your testcase (i.e. reduce its
memory consumption) is highly unreasonable – unless you specify how
exactly that is supposed to be accomplished while preserving
determinism.

-- 
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".

  reply	other threads:[~2023-12-04 16:26 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 [this message]
2023-12-04 16:37                                   ` Nicolas George
2023-12-04 17:07                                     ` Anton Khirnov
2023-12-06 12:55                                       ` Nicolas George
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=170170715198.8914.12428862753446922670@lain.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