summaryrefslogtreecommitdiff
path: root/libavfilter/vf_stereo3d.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2015-12-18 10:34:19 +0100
committerPaul B Mahol <onemda@gmail.com>2015-12-18 10:56:16 +0100
commita2a217b351194e92b985d4f7edb5150723fd21fa (patch)
tree13dc46f873f2b52e48e295d508a479c9ca6f7fe8 /libavfilter/vf_stereo3d.c
parent752ab408b456af87b66d9dec7c3bb5ad3d564379 (diff)
avfilter/vf_stereo3d: add fast path for interleave rows to alternating
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavfilter/vf_stereo3d.c')
-rw-r--r--libavfilter/vf_stereo3d.c10
1 files changed, 9 insertions, 1 deletions
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: