[FFmpeg-cvslog] pixfmt: Add 32bit rgb without alpha formats

Michael Niedermayer git at videolan.org
Mon Nov 28 04:30:00 CET 2011


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Nov 28 02:44:05 2011 +0100| [b14a2381f8882f21369bd4680dc17ae7db81e886] | committer: Michael Niedermayer

pixfmt: Add 32bit rgb without alpha formats

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavutil/pixdesc.c |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 libavutil/pixfmt.h  |    6 ++++++
 2 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
index 1d3cfdf..b89b11e 100644
--- a/libavutil/pixdesc.c
+++ b/libavutil/pixdesc.c
@@ -464,6 +464,56 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = {
         },
         .flags = PIX_FMT_RGB,
     },
+    [PIX_FMT_0RGB] = {
+        .name = "0rgb",
+        .nb_components= 3,
+        .log2_chroma_w= 0,
+        .log2_chroma_h= 0,
+        .comp = {
+            {0,3,2,0,7},        /* R */
+            {0,3,3,0,7},        /* G */
+            {0,3,4,0,7},        /* B */
+        },
+        .flags = PIX_FMT_RGB,
+    },
+    [PIX_FMT_RGB0] = {
+        .name = "rgb0",
+        .nb_components= 3,
+        .log2_chroma_w= 0,
+        .log2_chroma_h= 0,
+        .comp = {
+            {0,3,1,0,7},        /* R */
+            {0,3,2,0,7},        /* G */
+            {0,3,3,0,7},        /* B */
+            {0,3,4,0,7},        /* A */
+        },
+        .flags = PIX_FMT_RGB,
+    },
+    [PIX_FMT_0BGR] = {
+        .name = "0bgr",
+        .nb_components= 3,
+        .log2_chroma_w= 0,
+        .log2_chroma_h= 0,
+        .comp = {
+            {0,3,2,0,7},        /* B */
+            {0,3,3,0,7},        /* G */
+            {0,3,4,0,7},        /* R */
+        },
+        .flags = PIX_FMT_RGB,
+    },
+    [PIX_FMT_BGR0] = {
+        .name = "bgr0",
+        .nb_components= 3,
+        .log2_chroma_w= 0,
+        .log2_chroma_h= 0,
+        .comp = {
+            {0,3,1,0,7},        /* B */
+            {0,3,2,0,7},        /* G */
+            {0,3,3,0,7},        /* R */
+            {0,3,4,0,7},        /* A */
+        },
+        .flags = PIX_FMT_RGB,
+    },
     [PIX_FMT_GRAY16BE] = {
         .name = "gray16be",
         .nb_components= 1,
diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index 2930a9b..f0d9c01 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -175,6 +175,10 @@ enum PixelFormat {
     PIX_FMT_BGRA64BE,  ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
     PIX_FMT_BGRA64LE,  ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
 #endif
+    PIX_FMT_0RGB=0x123+4,      ///< packed RGB 8:8:8, 32bpp, 0RGB0RGB...
+    PIX_FMT_RGB0,      ///< packed RGB 8:8:8, 32bpp, RGB0RGB0...
+    PIX_FMT_0BGR,      ///< packed BGR 8:8:8, 32bpp, 0BGR0BGR...
+    PIX_FMT_BGR0,      ///< packed BGR 8:8:8, 32bpp, BGR0BGR0...
     PIX_FMT_NB,        ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
 };
 
@@ -191,6 +195,8 @@ enum PixelFormat {
 #define PIX_FMT_RGB32_1 PIX_FMT_NE(RGBA, ABGR)
 #define PIX_FMT_BGR32   PIX_FMT_NE(ABGR, RGBA)
 #define PIX_FMT_BGR32_1 PIX_FMT_NE(BGRA, ARGB)
+#define PIX_FMT_0RGB32  PIX_FMT_NE(0RGB, BGR0)
+#define PIX_FMT_0BGR32  PIX_FMT_NE(0BGR, RGB0)
 
 #define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16BE, GRAY16LE)
 #define PIX_FMT_RGB48  PIX_FMT_NE(RGB48BE,  RGB48LE)



More information about the ffmpeg-cvslog mailing list