aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2013-08-04 18:57:39 +0200
committerAnton Khirnov <anton@khirnov.net>2013-08-04 18:57:39 +0200
commit3f5824aa18aa7b18016701123efc7e1714d56001 (patch)
treec6f1b762bb49fa8d25be7f6734dea7fab10c166c
parentc2c9b7297fe6ee95788c27728b0073e38e33b94d (diff)
downloadffmpeg-3f5824aa18aa7b18016701123efc7e1714d56001.tar.gz
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@libav.org Bug-id: 479
-rw-r--r--avconv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/avconv.c b/avconv.c
index dd998ab40c..6544fc6fb7 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,