Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Wang Cao <wangcao-at-google.com@ffmpeg.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH] avfilter/alimiter: Add "flush_buffer" option to flush the remaining valid data to the output
Date: Tue, 5 Apr 2022 11:56:41 -0700
Message-ID: <CAL3k9=qGDKpx6vTUvO83i8-7TB2V3=pdn52UXPXdEG8xnaCTFA@mail.gmail.com> (raw)
In-Reply-To: <a382865a-18dd-f1f1-3593-939e7642771e@passwd.hu>

On Mon, Apr 4, 2022 at 3:28 PM Marton Balint <cus@passwd.hu> wrote:

>
>
> On Mon, 4 Apr 2022, Paul B Mahol wrote:
>
> > On Sun, Mar 27, 2022 at 11:41 PM Marton Balint <cus@passwd.hu> wrote:
> >
> >>
> >>
> >> On Sat, 26 Mar 2022, Wang Cao wrote:
> >>
> >>> The change in the commit will add some samples to the end of the audio
> >>> stream. The intention is to add a "zero_delay" option eventually to not
> >>> have the delay in the begining the output from alimiter due to
> >>> lookahead.
> >>
> >> I was very much suprised to see that the alimiter filter actually delays
> >> the audio - as in extra samples are inserted in the beginning and some
> >> samples are cut in the end. This trashes A-V sync, so it is a bug IMHO.
> >>
> >> So unless somebody has some valid usecase for the legacy way of
> operation
> >> I'd just simply change it to be "zero delay" without any additional user
> >> option, in a single patch.
> >>
> >
> >
> > This is done by this patch in very complicated way and also it really
> > should be optional.
>
> But why does it make sense to keep the current (IMHO buggy) operational
> mode which adds silence in the beginning and trims the end? I understand
> that the original implementation worked like this, but libavfilter has
> packet timestamps and N:M filtering so there is absolutely no reason to
> use an 1:1 implementation and live with its limitations.
>
Hello Paul and Marton, thank you so much for taking time to review my
patch.
I totally understand that my patch may seem a little bit complicated but I
can
show with a FATE test that if we set the alimiter to behave as a
passthrough filter,
the output frames will be the same from "framecrc" with my patch. The
existing
behavior will not work for all gapless audio processing.

The complete patch to fix this issue is at
https://patchwork.ffmpeg.org/project/ffmpeg/patch/20220330210314.2055201-1-wangcao@google.com/

Regarding Paul's concern, I personally don't have any preference whether to
put
the patch as an extra option or not. With respect to the implementation,
the patch
is the best I can think of by preserving as much information as possible
from input
frames. I also understand it may break concept that "filter_frame" outputs
one frame
at a time. For alimiter with my patch, depending on the size of the
lookahead buffer,
it may take a few frames before one output frame can be generated. This is
inevitable
to compensate for the delay of the lookahead buffer.

Thanks again for reviewing my patch and I'm looking forward to hearing from
you :)
-- 

Wang Cao |  Software Engineer |  wangcao@google.com |  650-203-7807
<(650)%20203-7807>
_______________________________________________
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:[~2022-04-05 18:57 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-27  6:08 Wang Cao
2022-03-27 21:40 ` Marton Balint
2022-03-30 21:03   ` [FFmpeg-devel] [PATCH] avfilter/alimiter: Remove the delay introduced by lookahead buffer Wang Cao
2022-04-04 15:46     ` Paul B Mahol
2022-04-04 15:49   ` [FFmpeg-devel] [PATCH] avfilter/alimiter: Add "flush_buffer" option to flush the remaining valid data to the output Paul B Mahol
2022-04-04 22:28     ` Marton Balint
2022-04-05 18:56       ` Wang Cao [this message]
2022-04-06 11:49         ` Paul B Mahol
2022-04-07  7:46           ` Paul B Mahol
2022-04-07 21:56             ` Wang Cao
2022-04-08 18:42               ` Paul B Mahol
2022-04-08 20:41                 ` Wang Cao
2022-04-09 12:37                   ` Paul B Mahol
2022-04-11 20:59                     ` Wang Cao
2022-04-12 19:42                       ` Paul B Mahol
2022-04-13  4:11                         ` Wang Cao
2022-04-15 18:49                         ` [FFmpeg-devel] [PATCH] avfilter/alimiter: Add an option "comp_delay" that removes the delay introduced by lookahead buffer Wang Cao
2022-04-29 20:48                           ` Wang Cao
2022-05-02  8:26                             ` Paul B Mahol
2022-05-05 21:14                               ` [FFmpeg-devel] [PATCH] avfilter/alimiter:add latency compensation Wang Cao
2022-05-10 22:45                                 ` Wang Cao
2022-05-12 12:05                                   ` Paul B Mahol
2022-05-05 21:17                               ` [FFmpeg-devel] [PATCH] avfilter/alimiter: Add an option "comp_delay" that removes the delay introduced by lookahead buffer Wang Cao
2022-04-15 18:51                         ` [FFmpeg-devel] [PATCH] avfilter/alimiter: Add "flush_buffer" option to flush the remaining valid data to the output Wang Cao

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='CAL3k9=qGDKpx6vTUvO83i8-7TB2V3=pdn52UXPXdEG8xnaCTFA@mail.gmail.com' \
    --to=wangcao-at-google.com@ffmpeg.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