[FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts

Pavel Koshevoy pkoshevoy at gmail.com
Tue Mar 12 15:08:54 EET 2024


On Tue, Mar 12, 2024, 02:52 Rajiv Harlalka <rajivharlalka009 at 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 at 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 at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>


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

Thank you,
    Pavel.


More information about the ffmpeg-devel mailing list