ffmpeg | branch: master | Paul B Mahol <[email protected]> | Sun Nov  7 20:44:22 
2021 +0100| [45dc668aea0edac34969b5a1ff76cf9ad3a09be1] | committer: Paul B Mahol

avfilter/f_reverse: readjust frame timestamps for areverse

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=45dc668aea0edac34969b5a1ff76cf9ad3a09be1
---

 libavfilter/f_reverse.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavfilter/f_reverse.c b/libavfilter/f_reverse.c
index 586d95c063..f7a7e716fa 100644
--- a/libavfilter/f_reverse.c
+++ b/libavfilter/f_reverse.c
@@ -33,6 +33,7 @@ typedef struct ReverseContext {
     unsigned int pts_size;
     int64_t *pts;
     int flush_idx;
+    int64_t nb_samples;
 } ReverseContext;
 
 static av_cold int init(AVFilterContext *ctx)
@@ -249,7 +250,8 @@ static int areverse_request_frame(AVFilterLink *outlink)
 
     if (ret == AVERROR_EOF && s->nb_frames > 0) {
         AVFrame *out = s->frames[s->nb_frames - 1];
-        out->pts     = s->pts[s->flush_idx++];
+        out->pts     = s->pts[s->flush_idx++] - s->nb_samples;
+        s->nb_samples += s->pts[s->flush_idx] - s->pts[s->flush_idx - 1] - 
out->nb_samples;
 
         if (av_sample_fmt_is_planar(out->format))
             reverse_samples_planar(out);

_______________________________________________
ffmpeg-cvslog mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to