---
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