From a2a217b351194e92b985d4f7edb5150723fd21fa Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Fri, 18 Dec 2015 10:34:19 +0100 Subject: avfilter/vf_stereo3d: add fast path for interleave rows to alternating Signed-off-by: Paul B Mahol --- libavfilter/vf_stereo3d.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libavfilter/vf_stereo3d.c') diff --git a/libavfilter/vf_stereo3d.c b/libavfilter/vf_stereo3d.c index f207d920f5..4456bd702a 100644 --- a/libavfilter/vf_stereo3d.c +++ b/libavfilter/vf_stereo3d.c @@ -631,7 +631,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpicref) s->in.format == ABOVE_BELOW_LR || s->in.format == ABOVE_BELOW_RL || s->in.format == ABOVE_BELOW_2_LR || - s->in.format == ABOVE_BELOW_2_RL)) { + s->in.format == ABOVE_BELOW_2_RL || + s->in.format == INTERLEAVE_ROWS_LR || + s->in.format == INTERLEAVE_ROWS_RL)) { oright = av_frame_clone(s->prev); oleft = av_frame_clone(s->prev); if (!oright || !oleft) { @@ -711,6 +713,12 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpicref) case ALTERNATING_LR: case ALTERNATING_RL: switch (s->in.format) { + case INTERLEAVE_ROWS_LR: + case INTERLEAVE_ROWS_RL: + for (i = 0; i < s->nb_planes; i++) { + oleft->linesize[i] *= 2; + oright->linesize[i] *= 2; + } case ABOVE_BELOW_LR: case ABOVE_BELOW_RL: case ABOVE_BELOW_2_LR: -- cgit v1.2.3