[FFmpeg-cvslog] avconv: do not use lavfi direct rendering with -deinterlace

Anton Khirnov git at videolan.org
Tue Aug 27 16:39:00 CEST 2013


ffmpeg | branch: release/1.1 | Anton Khirnov <anton at khirnov.net> | Sun Aug  4 18:57:39 2013 +0200| [3f5824aa18aa7b18016701123efc7e1714d56001] | committer: Anton Khirnov

avconv: do not use lavfi direct rendering with -deinterlace

-deinterlace allocates a temporary buffer that is freed immediately
after the frame is sent to lavfi, which results in use after free.

Disable direct rendering when -deinterlace is used.

CC:libav-stable at libav.org
Bug-id: 479

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

 avconv.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/avconv.c b/avconv.c
index dd998ab..6544fc6 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1215,7 +1215,7 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
     }
 
     for (i = 0; i < ist->nb_filters; i++) {
-        if (ist->st->codec->codec->capabilities & CODEC_CAP_DR1) {
+        if (ist->st->codec->codec->capabilities & CODEC_CAP_DR1 && !do_deinterlace) {
             FrameBuffer      *buf = decoded_frame->opaque;
             AVFilterBufferRef *fb = avfilter_get_video_buffer_ref_from_arrays(
                                         decoded_frame->data, decoded_frame->linesize,



More information about the ffmpeg-cvslog mailing list