Browse code

pixfmt: Add 32bit rgb without alpha formats

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

Michael Niedermayer authored on 2011/11/28 10:44:05
Showing 2 changed files
... ...
@@ -464,6 +464,56 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = {
464 464
         },
465 465
         .flags = PIX_FMT_RGB,
466 466
     },
467
+    [PIX_FMT_0RGB] = {
468
+        .name = "0rgb",
469
+        .nb_components= 3,
470
+        .log2_chroma_w= 0,
471
+        .log2_chroma_h= 0,
472
+        .comp = {
473
+            {0,3,2,0,7},        /* R */
474
+            {0,3,3,0,7},        /* G */
475
+            {0,3,4,0,7},        /* B */
476
+        },
477
+        .flags = PIX_FMT_RGB,
478
+    },
479
+    [PIX_FMT_RGB0] = {
480
+        .name = "rgb0",
481
+        .nb_components= 3,
482
+        .log2_chroma_w= 0,
483
+        .log2_chroma_h= 0,
484
+        .comp = {
485
+            {0,3,1,0,7},        /* R */
486
+            {0,3,2,0,7},        /* G */
487
+            {0,3,3,0,7},        /* B */
488
+            {0,3,4,0,7},        /* A */
489
+        },
490
+        .flags = PIX_FMT_RGB,
491
+    },
492
+    [PIX_FMT_0BGR] = {
493
+        .name = "0bgr",
494
+        .nb_components= 3,
495
+        .log2_chroma_w= 0,
496
+        .log2_chroma_h= 0,
497
+        .comp = {
498
+            {0,3,2,0,7},        /* B */
499
+            {0,3,3,0,7},        /* G */
500
+            {0,3,4,0,7},        /* R */
501
+        },
502
+        .flags = PIX_FMT_RGB,
503
+    },
504
+    [PIX_FMT_BGR0] = {
505
+        .name = "bgr0",
506
+        .nb_components= 3,
507
+        .log2_chroma_w= 0,
508
+        .log2_chroma_h= 0,
509
+        .comp = {
510
+            {0,3,1,0,7},        /* B */
511
+            {0,3,2,0,7},        /* G */
512
+            {0,3,3,0,7},        /* R */
513
+            {0,3,4,0,7},        /* A */
514
+        },
515
+        .flags = PIX_FMT_RGB,
516
+    },
467 517
     [PIX_FMT_GRAY16BE] = {
468 518
         .name = "gray16be",
469 519
         .nb_components= 1,
... ...
@@ -175,6 +175,10 @@ enum PixelFormat {
175 175
     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
176 176
     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
177 177
 #endif
178
+    PIX_FMT_0RGB=0x123+4,      ///< packed RGB 8:8:8, 32bpp, 0RGB0RGB...
179
+    PIX_FMT_RGB0,      ///< packed RGB 8:8:8, 32bpp, RGB0RGB0...
180
+    PIX_FMT_0BGR,      ///< packed BGR 8:8:8, 32bpp, 0BGR0BGR...
181
+    PIX_FMT_BGR0,      ///< packed BGR 8:8:8, 32bpp, BGR0BGR0...
178 182
     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
179 183
 };
180 184
 
... ...
@@ -191,6 +195,8 @@ enum PixelFormat {
191 191
 #define PIX_FMT_RGB32_1 PIX_FMT_NE(RGBA, ABGR)
192 192
 #define PIX_FMT_BGR32   PIX_FMT_NE(ABGR, RGBA)
193 193
 #define PIX_FMT_BGR32_1 PIX_FMT_NE(BGRA, ARGB)
194
+#define PIX_FMT_0RGB32  PIX_FMT_NE(0RGB, BGR0)
195
+#define PIX_FMT_0BGR32  PIX_FMT_NE(0BGR, RGB0)
194 196
 
195 197
 #define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16BE, GRAY16LE)
196 198
 #define PIX_FMT_RGB48  PIX_FMT_NE(RGB48BE,  RGB48LE)