[FFmpeg-cvslog] vf_transpose: avoid multiple calls to avfilter_draw_slice()

Stefano Sabatini git at videolan.org
Mon Nov 21 19:59:16 CET 2011


ffmpeg | branch: release/0.7 | Stefano Sabatini <stefano.sabatini-lala at poste.it> | Fri Jul 29 20:19:04 2011 +0200| [fe06305b0dc50835c39722629a685aee0e184af6] | committer: Carl Eugen Hoyos

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)

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

 libavfilter/vf_transpose.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c
index 8b11ae8..f4f72b9 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}},



More information about the ffmpeg-cvslog mailing list