[FFmpeg-cvslog] ffmpeg: pass reference counted packet on codec copy when possible

James Almer git at videolan.org
Sat Mar 24 03:11:52 EET 2018


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Wed Mar 21 11:43:04 2018 -0300| [231a73308f183484317c3fdfe098f543cd401898] | committer: James Almer

ffmpeg: pass reference counted packet on codec copy when possible

Should prevent unnecessary copy of data in cases where new references
to the packet are created within the muxer or a bitstream filter.

Reviewed-by: Michael Niedermayer <michael at niedermayer.cc>
Signed-off-by: James Almer <jamrial at gmail.com>

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

 fftools/ffmpeg.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index ec9ce29097..1b2e37b8d8 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -2049,6 +2049,11 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
 
     opkt.flags    = pkt->flags;
 
+    if (pkt->buf) {
+        opkt.buf = av_buffer_ref(pkt->buf);
+        if (!opkt.buf)
+            exit_program(1);
+    }
     opkt.data = pkt->data;
     opkt.size = pkt->size;
 



More information about the ffmpeg-cvslog mailing list