[FFmpeg-cvslog] avfilter/vf_stereo3d: add fast path for interleave rows to alternating

Paul B Mahol git at videolan.org
Fri Dec 18 10:56:55 CET 2015


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Fri Dec 18 10:34:19 2015 +0100| [a2a217b351194e92b985d4f7edb5150723fd21fa] | committer: Paul B Mahol

avfilter/vf_stereo3d: add fast path for interleave rows to alternating

Signed-off-by: Paul B Mahol <onemda at gmail.com>

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

 libavfilter/vf_stereo3d.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/libavfilter/vf_stereo3d.c b/libavfilter/vf_stereo3d.c
index f207d92..4456bd7 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:



More information about the ffmpeg-cvslog mailing list