[FFmpeg-devel] [PATCH] af_tempo.c: fix checking of samples and zero frame counts
Rajiv Harlalka
rajivharlalka009 at gmail.com
Tue Mar 12 10:52:30 EET 2024
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
More information about the ffmpeg-devel
mailing list