---
 libavcodec/avcodec.h    |    3 +++
 libavcodec/options.c    |    2 ++
 libavutil/Makefile      |    2 ++
 libavutil/stereoscopy.c |   11 +++++++++++
 libavutil/stereoscopy.h |   29 +++++++++++++++++++++++++++++
 5 files changed, 47 insertions(+)
 create mode 100644 libavutil/stereoscopy.c
 create mode 100644 libavutil/stereoscopy.h

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index e48b114..9cc1976 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -36,6 +36,7 @@
 #include "libavutil/log.h"
 #include "libavutil/pixfmt.h"
 #include "libavutil/rational.h"
+#include "libavutil/stereoscopy.h"
 
 #include "libavcodec/version.h"
 /**
@@ -2624,6 +2625,8 @@ typedef struct AVCodecContext {
      * - decoding: unused.
      */
     uint64_t vbv_delay;
+
+    AVStereo stereo_info;
 } AVCodecContext;
 
 /**
diff --git a/libavcodec/options.c b/libavcodec/options.c
index d140552..181df89 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -97,6 +97,8 @@ int avcodec_get_context_defaults3(AVCodecContext *s, const 
AVCodec *codec)
     s->sample_fmt          = AV_SAMPLE_FMT_NONE;
 
     s->reordered_opaque    = AV_NOPTS_VALUE;
+    avstereo_init(&s->stereo_info);
+
     if(codec && codec->priv_data_size){
         if(!s->priv_data){
             s->priv_data= av_mallocz(codec->priv_data_size);
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 68a8386..018cc1d 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -41,6 +41,7 @@ HEADERS = adler32.h                                           
          \
           rational.h                                                    \
           samplefmt.h                                                   \
           sha.h                                                         \
+          stereoscopy.h                                                 \
           time.h                                                        \
           version.h                                                     \
           xtea.h                                                        \
@@ -92,6 +93,7 @@ OBJS = adler32.o                                              
          \
        rc4.o                                                            \
        samplefmt.o                                                      \
        sha.o                                                            \
+       stereoscopy.o                                                    \
        time.o                                                           \
        tree.o                                                           \
        utils.o                                                          \
diff --git a/libavutil/stereoscopy.c b/libavutil/stereoscopy.c
new file mode 100644
index 0000000..10dc810
--- /dev/null
+++ b/libavutil/stereoscopy.c
@@ -0,0 +1,11 @@
+
+#include "stereoscopy.h"
+
+
+void avstereo_init(AVStereo *s)
+{
+    s->type = STEREO_NONE;
+    s->order = ORDER_NA;
+    s->fullsize = 0;
+}
+
diff --git a/libavutil/stereoscopy.h b/libavutil/stereoscopy.h
new file mode 100644
index 0000000..f49d5ac
--- /dev/null
+++ b/libavutil/stereoscopy.h
@@ -0,0 +1,29 @@
+
+#include "libavutil/avutil.h"
+
+
+enum stereoType {
+    STEREO_NONE,
+    STEREO_ANAGLYPH,
+    STEREO_FRAMESEQUENCE,
+    STEREO_SIDEBYSIDE,
+    STEREO_TOPBOTTOM,
+    STEREO_CHECKERS,
+    STEREO_LINES,
+    STEREO_COLUMNS,
+};
+
+enum stereoOrder {
+    ORDER_NA,
+    ORDER_LR,
+    ORDER_RL,
+};
+
+typedef struct AVStereo {
+    enum stereoType type;
+    enum stereoOrder order;
+    int fullsize;
+} AVStereo;
+
+
+void avstereo_init(AVStereo *s);
-- 
1.7.9.5

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

Reply via email to