Add multiview mode and the anaglyph modes supported by Matroska.
---
 doc/APIchanges            |  3 +++
 libavfilter/vf_showinfo.c |  3 +++
 libavutil/stereo3d.h      | 19 +++++++++++++++++++
 libavutil/version.h       |  2 +-
 4 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 6e5242e..4d42609 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -13,6 +13,9 @@ libavutil:     2014-08-09
 
 API changes, most recent first:
 
+2014-08-xx - xxxxxxx - lavu 54.2.0 - stereo3d.h
+  Add two anaglyph types and multistream mode to stereo3d api.
+
 2014-04-xx - xxxxxxx - lavr 2.1.0 - avresample.h
   Add avresample_convert_frame() and avresample_config().
 
diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c
index cc9ec1c..d1f82aa 100644
--- a/libavfilter/vf_showinfo.c
+++ b/libavfilter/vf_showinfo.c
@@ -62,6 +62,9 @@ static void dump_stereo3d(AVFilterContext *ctx, 
AVFrameSideData *sd)
     case AV_STEREO3D_COLUMNS:             av_log(ctx, AV_LOG_INFO, 
"interleaved columns");    break;
     case AV_STEREO3D_SIDEBYSIDE_QUINCUNX: av_log(ctx, AV_LOG_INFO, "side by 
side "
                                                                    "(quincunx 
subsampling)"); break;
+    case AV_STEREO3D_MULTIVIEW:           av_log(ctx, AV_LOG_INFO, "multiple 
streams");       break;
+    case AV_STEREO3D_ANAGLYPH_CYAN_RED:   av_log(ctx, AV_LOG_INFO, "anaglyph 
(cyan/red)");    break;
+    case AV_STEREO3D_ANAGLYPH_GREEN_MAGENTA: av_log(ctx, AV_LOG_INFO, 
"anaglyph (green/magenta"); break;
     default:                              av_log(ctx, AV_LOG_WARNING, 
"unknown");             break;
     }
 
diff --git a/libavutil/stereo3d.h b/libavutil/stereo3d.h
index b1910b1..6c0bb3d 100644
--- a/libavutil/stereo3d.h
+++ b/libavutil/stereo3d.h
@@ -105,6 +105,18 @@ enum AVStereo3DType {
      *    ...
      */
     AV_STEREO3D_COLUMNS,
+
+    /**
+     * Views are in separate streams or layers (eg. Matroska or MVC).
+     * You can check which is which by looking at 
AV_STEREO3D_FLAG_{LEFT,RIGHT}.
+     */
+    AV_STEREO3D_MULTIVIEW,
+
+    /**
+     * Views are colored funny.
+     */
+    AV_STEREO3D_ANAGLYPH_CYAN_RED,
+    AV_STEREO3D_ANAGLYPH_GREEN_MAGENTA,
 };
 
 
@@ -114,6 +126,13 @@ enum AVStereo3DType {
 #define AV_STEREO3D_FLAG_INVERT     (1 << 0)
 
 /**
+ * When mode is AV_STEREO3D_MULTIVIEW you can check against the following
+ * flags to discriminate whether the current stream is the left or right one.
+ */
+#define AV_STEREO3D_FLAG_LEFT       (1 << 1)
+#define AV_STEREO3D_FLAG_RIGHT      (1 << 2)
+
+/**
  * Stereo 3D type: this structure describes how two videos are packed
  * within a single video surface, with additional information as needed.
  *
diff --git a/libavutil/version.h b/libavutil/version.h
index 7c9fdb2..4a4154d 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -54,7 +54,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR 54
-#define LIBAVUTIL_VERSION_MINOR  1
+#define LIBAVUTIL_VERSION_MINOR  2
 #define LIBAVUTIL_VERSION_MICRO  0
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
-- 
1.8.5.2 (Apple Git-48)

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to