Message ID | 2bc308e6-91ac-4d0c-8e31-b7e3486bdcc2@gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] af_tempo.c: fix checking of samples and zero frame counts | expand |
Context | Check | Description |
---|---|---|
andriy/configure_x86 | warning | Failed to apply patch |
yinshiyou/configure_loongarch64 | warning | Failed to apply patch |
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
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.
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
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
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
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(-)