diff avcodec.h @ 9626:bd3e11b60ccd libavcodec

Add a chroma_sample_location field to define positioning of chroma samples
author conrad
date Mon, 11 May 2009 04:34:23 +0000
parents fe6e82906aa8
children 4b6766057548
line wrap: on
line diff
--- a/avcodec.h	Mon May 11 02:41:50 2009 +0000
+++ b/avcodec.h	Mon May 11 04:34:23 2009 +0000
@@ -479,6 +479,22 @@
     AVCOL_RANGE_NB           , ///< Not part of ABI
 };
 
+/**
+ *  X   X      3 4 X      X are luma samples,
+ *             1 2        1-6 are possible chroma positions
+ *  X   X      5 6 X      0 is undefined/unknown position
+ */
+enum AVChromaLocation{
+    AVCHROMA_LOC_UNSPECIFIED=0,
+    AVCHROMA_LOC_LEFT       =1, ///< mpeg2/4, h264 default
+    AVCHROMA_LOC_CENTER     =2, ///< mpeg1, jpeg, h263
+    AVCHROMA_LOC_TOPLEFT    =3, ///< DV
+    AVCHROMA_LOC_TOP        =4,
+    AVCHROMA_LOC_BOTTOMLEFT =5,
+    AVCHROMA_LOC_BOTTOM     =6,
+    AVCHROMA_LOC_NB           , ///< Not part of ABI
+};
+
 typedef struct RcOverride{
     int start_frame;
     int end_frame;
@@ -2481,6 +2497,13 @@
      * - decoding: Set by libavcodec
      */
     enum AVColorRange color_range;
+
+    /**
+     * This defines the location of chroma samples.
+     * - encoding: Set by user
+     * - decoding: Set by libavcodec
+     */
+     enum AVChromaLocation chroma_sample_location;
 } AVCodecContext;
 
 /**