aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2011-07-29 20:19:04 +0200
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2011-11-13 23:23:03 +0100
commit87ae12009ea489c5c34e953b2b0194a8ba669fb2 (patch)
tree9c860a8eb31e6380b168c10764189dc1f21239be
parent3970d4e72809d9c9bf4c463ba1a6ab2650e3252b (diff)
downloadffmpeg-87ae12009ea489c5c34e953b2b0194a8ba669fb2.tar.gz
vf_transpose: avoid multiple calls to avfilter_draw_slice()
avfilter_draw_slice() is already called in the end_frame() callback, this avoids multiple calls. This is done by adding a null draw_slice() callback. In particular fix crash occurring with -vf transpose=3,hflip, fix trac issue #371. (cherry picked from commit d9c23a0d5a56488b146eef17a19a9b47643be333)
-rw-r--r--libavfilter/vf_transpose.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c
index 8b11ae8d53..f4f72b9c64 100644
--- a/libavfilter/vf_transpose.c
+++ b/libavfilter/vf_transpose.c
@@ -195,6 +195,8 @@ static void end_frame(AVFilterLink *inlink)
avfilter_unref_buffer(outpic);
}
+static void null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir) { }
+
AVFilter avfilter_vf_transpose = {
.name = "transpose",
.description = NULL_IF_CONFIG_SMALL("Transpose input video."),
@@ -207,6 +209,7 @@ AVFilter avfilter_vf_transpose = {
.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.start_frame = start_frame,
+ .draw_slice = null_draw_slice,
.end_frame = end_frame,
.min_perms = AV_PERM_READ, },
{ .name = NULL}},