Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts
@ 2024-03-07 23:04 Rajiv Harlalka
  2024-03-12  8:52 ` Rajiv Harlalka
  0 siblings, 1 reply; 6+ messages in thread
From: Rajiv Harlalka @ 2024-03-07 23:04 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: thilo.borgmann, cosmin

Check for zeros equal to the total samples early, because in case the 
check is true we would already be leaving the first few frames out.

Signed-off-by: Rajiv Harlalka <rajivharlalka009@gmail.com>
#10692
---
  libavfilter/af_atempo.c | 13 ++++++-------
  1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
index 4621b67b03..8f31c5beaf 100644
--- a/libavfilter/af_atempo.c
+++ b/libavfilter/af_atempo.c
@@ -531,21 +531,20 @@ static int yae_load_frag(ATempoContext *atempo,
      dst = frag->data;
       start = atempo->position[0] - atempo->size;
-    zeros = 0;
+    // what we don't have we substitute with zeros:
+    zeros = frag->position[0] < start ? FFMIN(start - 
frag->position[0], (int64_t)nsamples) : 0;
+
+    if (zeros == nsamples) {
+        return 0;
+    }
       if (frag->position[0] < start) {
-        // what we don't have we substitute with zeros:
-        zeros = FFMIN(start - frag->position[0], (int64_t)nsamples);
          av_assert0(zeros != nsamples);
           memset(dst, 0, zeros * atempo->stride);
          dst += zeros * atempo->stride;
      }
  -    if (zeros == nsamples) {
-        return 0;
-    }
-
      // get the remaining data from the ring buffer:
      na = (atempo->head < atempo->tail ?
            atempo->tail - atempo->head :
-- 
2.44.0

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts
  2024-03-07 23:04 [FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts Rajiv Harlalka
@ 2024-03-12  8:52 ` Rajiv Harlalka
  2024-03-12 13:08   ` Pavel Koshevoy
  2024-03-13  2:22   ` Pavel Koshevoy
  0 siblings, 2 replies; 6+ messages in thread
From: Rajiv Harlalka @ 2024-03-12  8:52 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: thilo.borgmann, cosmin

On 3/8/24 4:34 AM, Rajiv Harlalka wrote:
> Check for zeros equal to the total samples early, because in case the 
> check is true we would already be leaving the first few frames out.
>
> Signed-off-by: Rajiv Harlalka <rajivharlalka009@gmail.com>
> #10692
> ---
>  libavfilter/af_atempo.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
> index 4621b67b03..8f31c5beaf 100644
> --- a/libavfilter/af_atempo.c
> +++ b/libavfilter/af_atempo.c
> @@ -531,21 +531,20 @@ static int yae_load_frag(ATempoContext *atempo,
>      dst = frag->data;
>       start = atempo->position[0] - atempo->size;
> -    zeros = 0;
> +    // what we don't have we substitute with zeros:
> +    zeros = frag->position[0] < start ? FFMIN(start - 
> frag->position[0], (int64_t)nsamples) : 0;
> +
> +    if (zeros == nsamples) {
> +        return 0;
> +    }
>       if (frag->position[0] < start) {
> -        // what we don't have we substitute with zeros:
> -        zeros = FFMIN(start - frag->position[0], (int64_t)nsamples);
>          av_assert0(zeros != nsamples);
>           memset(dst, 0, zeros * atempo->stride);
>          dst += zeros * atempo->stride;
>      }
>  -    if (zeros == nsamples) {
> -        return 0;
> -    }
> -
>      // get the remaining data from the ring buffer:
>      na = (atempo->head < atempo->tail ?
>            atempo->tail - atempo->head :

Just a quick note to bring attention to a code patch I submitted 
recently. It fixes bug #10692 from the bug tracker on the 
libavfilter/av_atempo filter. A review would be greatly appreciated.

Thanks,
Rajiv

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts
  2024-03-12  8:52 ` Rajiv Harlalka
@ 2024-03-12 13:08   ` Pavel Koshevoy
  2024-03-13  2:22   ` Pavel Koshevoy
  1 sibling, 0 replies; 6+ messages in thread
From: Pavel Koshevoy @ 2024-03-12 13:08 UTC (permalink / raw)
  To: FFmpeg development discussions and patches; +Cc: Thilo Borgmann, cosmin

On Tue, Mar 12, 2024, 02:52 Rajiv Harlalka <rajivharlalka009@gmail.com>
wrote:

> On 3/8/24 4:34 AM, Rajiv Harlalka wrote:
> > Check for zeros equal to the total samples early, because in case the
> > check is true we would already be leaving the first few frames out.
> >
> > Signed-off-by: Rajiv Harlalka <rajivharlalka009@gmail.com>
> > #10692
> > ---
> >  libavfilter/af_atempo.c | 13 ++++++-------
> >  1 file changed, 6 insertions(+), 7 deletions(-)
> >
> > diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
> > index 4621b67b03..8f31c5beaf 100644
> > --- a/libavfilter/af_atempo.c
> > +++ b/libavfilter/af_atempo.c
> > @@ -531,21 +531,20 @@ static int yae_load_frag(ATempoContext *atempo,
> >      dst = frag->data;
> >       start = atempo->position[0] - atempo->size;
> > -    zeros = 0;
> > +    // what we don't have we substitute with zeros:
> > +    zeros = frag->position[0] < start ? FFMIN(start -
> > frag->position[0], (int64_t)nsamples) : 0;
> > +
> > +    if (zeros == nsamples) {
> > +        return 0;
> > +    }
> >       if (frag->position[0] < start) {
> > -        // what we don't have we substitute with zeros:
> > -        zeros = FFMIN(start - frag->position[0], (int64_t)nsamples);
> >          av_assert0(zeros != nsamples);
> >           memset(dst, 0, zeros * atempo->stride);
> >          dst += zeros * atempo->stride;
> >      }
> >  -    if (zeros == nsamples) {
> > -        return 0;
> > -    }
> > -
> >      // get the remaining data from the ring buffer:
> >      na = (atempo->head < atempo->tail ?
> >            atempo->tail - atempo->head :
>
> Just a quick note to bring attention to a code patch I submitted
> recently. It fixes bug #10692 from the bug tracker on the
> libavfilter/av_atempo filter. A review would be greatly appreciated.
>
> Thanks,
> Rajiv
>
> _______________________________________________
> 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".
>


I should be able to test the patch tonight after work.

Thank you,
    Pavel.
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts
  2024-03-12  8:52 ` Rajiv Harlalka
  2024-03-12 13:08   ` Pavel Koshevoy
@ 2024-03-13  2:22   ` Pavel Koshevoy
  2024-03-13  3:08     ` Pavel Koshevoy
  1 sibling, 1 reply; 6+ messages in thread
From: Pavel Koshevoy @ 2024-03-13  2:22 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Tue, Mar 12, 2024 at 2:52 AM Rajiv Harlalka <rajivharlalka009@gmail.com>
wrote:

> On 3/8/24 4:34 AM, Rajiv Harlalka wrote:
> > Check for zeros equal to the total samples early, because in case the
> > check is true we would already be leaving the first few frames out.
> >
> > Signed-off-by: Rajiv Harlalka <rajivharlalka009@gmail.com>
> > #10692
> > ---
> >  libavfilter/af_atempo.c | 13 ++++++-------
> >  1 file changed, 6 insertions(+), 7 deletions(-)
> >
> > diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
> > index 4621b67b03..8f31c5beaf 100644
> > --- a/libavfilter/af_atempo.c
> > +++ b/libavfilter/af_atempo.c
> > @@ -531,21 +531,20 @@ static int yae_load_frag(ATempoContext *atempo,
> >      dst = frag->data;
> >       start = atempo->position[0] - atempo->size;
> > -    zeros = 0;
> > +    // what we don't have we substitute with zeros:
> > +    zeros = frag->position[0] < start ? FFMIN(start -
> > frag->position[0], (int64_t)nsamples) : 0;
> > +
> > +    if (zeros == nsamples) {
> > +        return 0;
> > +    }
> >       if (frag->position[0] < start) {
> > -        // what we don't have we substitute with zeros:
> > -        zeros = FFMIN(start - frag->position[0], (int64_t)nsamples);
> >          av_assert0(zeros != nsamples);
> >           memset(dst, 0, zeros * atempo->stride);
> >          dst += zeros * atempo->stride;
> >      }
> >  -    if (zeros == nsamples) {
> > -        return 0;
> > -    }
> > -
> >      // get the remaining data from the ring buffer:
> >      na = (atempo->head < atempo->tail ?
> >            atempo->tail - atempo->head :
>
> Just a quick note to bring attention to a code patch I submitted
> recently. It fixes bug #10692 from the bug tracker on the
> libavfilter/av_atempo filter. A review would be greatly appreciated.
>
> Thanks,
> Rajiv
>
> _______________________________________________
> 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".
>


either I don't know how to apply emailed patches, or the patch was mangled:
```
$ git am ~/Downloads/\[FFmpeg-devel\]\ \[PATCH\]\ af_tempo.c_\ fix\
checking\ of\ samples\ and\ zero\ frame\ counts.eml
warning: Patch sent with format=flowed; space at the end of lines might be
lost.
Applying: af_tempo.c: fix checking of samples and zero frame counts
error: corrupt patch at line 34
Patch failed at 0001 af_tempo.c: fix checking of samples and zero frame
counts
hint: Use 'git am --show-current-patch=diff' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

```

I'll try to recreate the patch manually
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts
  2024-03-13  2:22   ` Pavel Koshevoy
@ 2024-03-13  3:08     ` Pavel Koshevoy
  0 siblings, 0 replies; 6+ messages in thread
From: Pavel Koshevoy @ 2024-03-13  3:08 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Tue, Mar 12, 2024 at 8:22 PM Pavel Koshevoy <pkoshevoy@gmail.com> wrote:

>
>
> On Tue, Mar 12, 2024 at 2:52 AM Rajiv Harlalka <rajivharlalka009@gmail.com>
> wrote:
>
>> On 3/8/24 4:34 AM, Rajiv Harlalka wrote:
>> > Check for zeros equal to the total samples early, because in case the
>> > check is true we would already be leaving the first few frames out.
>> >
>> > Signed-off-by: Rajiv Harlalka <rajivharlalka009@gmail.com>
>> > #10692
>> > ---
>> >  libavfilter/af_atempo.c | 13 ++++++-------
>> >  1 file changed, 6 insertions(+), 7 deletions(-)
>> >
>> > diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
>> > index 4621b67b03..8f31c5beaf 100644
>> > --- a/libavfilter/af_atempo.c
>> > +++ b/libavfilter/af_atempo.c
>> > @@ -531,21 +531,20 @@ static int yae_load_frag(ATempoContext *atempo,
>> >      dst = frag->data;
>> >       start = atempo->position[0] - atempo->size;
>> > -    zeros = 0;
>> > +    // what we don't have we substitute with zeros:
>> > +    zeros = frag->position[0] < start ? FFMIN(start -
>> > frag->position[0], (int64_t)nsamples) : 0;
>> > +
>> > +    if (zeros == nsamples) {
>> > +        return 0;
>> > +    }
>> >       if (frag->position[0] < start) {
>> > -        // what we don't have we substitute with zeros:
>> > -        zeros = FFMIN(start - frag->position[0], (int64_t)nsamples);
>> >          av_assert0(zeros != nsamples);
>> >           memset(dst, 0, zeros * atempo->stride);
>> >          dst += zeros * atempo->stride;
>> >      }
>> >  -    if (zeros == nsamples) {
>> > -        return 0;
>> > -    }
>> > -
>> >      // get the remaining data from the ring buffer:
>> >      na = (atempo->head < atempo->tail ?
>> >            atempo->tail - atempo->head :
>>
>> Just a quick note to bring attention to a code patch I submitted
>> recently. It fixes bug #10692 from the bug tracker on the
>> libavfilter/av_atempo filter. A review would be greatly appreciated.
>>
>> Thanks,
>> Rajiv
>>
>> _______________________________________________
>> 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".
>>
>
>
> either I don't know how to apply emailed patches, or the patch was mangled:
> ```
> $ git am ~/Downloads/\[FFmpeg-devel\]\ \[PATCH\]\ af_tempo.c_\ fix\
> checking\ of\ samples\ and\ zero\ frame\ counts.eml
> warning: Patch sent with format=flowed; space at the end of lines might be
> lost.
> Applying: af_tempo.c: fix checking of samples and zero frame counts
> error: corrupt patch at line 34
> Patch failed at 0001 af_tempo.c: fix checking of samples and zero frame
> counts
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
>
> ```
>
> I'll try to recreate the patch manually
>
>

I've reformatted the patch and tested locally -- looks good to me.
I've re-submitted the reformatted patch here
https://ffmpeg.org/pipermail/ffmpeg-devel/2024-March/323364.html
Feel free to apply and push.

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts
@ 2024-03-07 22:58 Rajiv Harlalka
  0 siblings, 0 replies; 6+ messages in thread
From: Rajiv Harlalka @ 2024-03-07 22:58 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Thilo Borgmann, cosmin

Check for zeros equal to the total samples early, because in case the check
is true we would already be leaving the first few frames out.

Signed-off-by: Rajiv Harlalka <rajivharlalka009@gmail.com>
#10692
---
libavfilter/af_atempo.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
index 4621b67b03..8f31c5beaf 100644
--- a/libavfilter/af_atempo.c
+++ b/libavfilter/af_atempo.c
@@ -531,21 +531,20 @@ static int yae_load_frag(ATempoContext *atempo,
dst = frag->data;
start = atempo->position[0] - atempo->size;
- zeros = 0;
+ // what we don't have we substitute with zeros:
+ zeros = frag->position[0] < start ? FFMIN(start - frag->position[0],
(int64_t)nsamples) : 0;
+
+ if (zeros == nsamples) {
+ return 0;
+ }
if (frag->position[0] < start) {
- // what we don't have we substitute with zeros:
- zeros = FFMIN(start - frag->position[0], (int64_t)nsamples);
av_assert0(zeros != nsamples);
memset(dst, 0, zeros * atempo->stride);
dst += zeros * atempo->stride;
}
- if (zeros == nsamples) {
- return 0;
- }
-
// get the remaining data from the ring buffer:
na = (atempo->head < atempo->tail ?
atempo->tail - atempo->head :
-- 
2.44.0
_______________________________________________
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".

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-03-13  3:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-07 23:04 [FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts Rajiv Harlalka
2024-03-12  8:52 ` Rajiv Harlalka
2024-03-12 13:08   ` Pavel Koshevoy
2024-03-13  2:22   ` Pavel Koshevoy
2024-03-13  3:08     ` Pavel Koshevoy
  -- strict thread matches above, loose matches on Subject: below --
2024-03-07 22:58 Rajiv Harlalka

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