[vlc-commits] fourcc: add ARGB for 32-bits RGBA with X11/BD components order

Rémi Denis-Courmont git at videolan.org
Thu Nov 7 22:24:23 CET 2013


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Nov  5 22:28:21 2013 +0200| [cca8532369b993bf9481499403d14c27ddff144e] | committer: Rémi Denis-Courmont

fourcc: add ARGB for 32-bits RGBA with X11/BD components order

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

 include/vlc_fourcc.h          |    2 ++
 modules/codec/rawvideo.c      |    1 +
 modules/stream_out/smem.c     |    1 +
 modules/video_filter/invert.c |    2 +-
 src/misc/es_format.c          |    1 +
 src/misc/fourcc.c             |    4 +++-
 6 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h
index 70bc15e..c878d8a 100644
--- a/include/vlc_fourcc.h
+++ b/include/vlc_fourcc.h
@@ -207,6 +207,8 @@
 #define VLC_CODEC_RGB32           VLC_FOURCC('R','V','3','2')
 /* 32 bits RGBA */
 #define VLC_CODEC_RGBA            VLC_FOURCC('R','G','B','A')
+/* 32 bits ARGB */
+#define VLC_CODEC_ARGB            VLC_FOURCC('A','R','G','B')
 /* 8 bits grey */
 #define VLC_CODEC_GREY            VLC_FOURCC('G','R','E','Y')
 /* Packed YUV 4:2:2, U:Y:V:Y */
diff --git a/modules/codec/rawvideo.c b/modules/codec/rawvideo.c
index f2db545..bbe2c78 100644
--- a/modules/codec/rawvideo.c
+++ b/modules/codec/rawvideo.c
@@ -125,6 +125,7 @@ static int OpenDecoder( vlc_object_t *p_this )
         case VLC_CODEC_RGB8:
         case VLC_CODEC_RGBP:
         case VLC_CODEC_RGBA:
+        case VLC_CODEC_ARGB:
             break;
 
         default:
diff --git a/modules/stream_out/smem.c b/modules/stream_out/smem.c
index f4d3df8..9c6741a 100644
--- a/modules/stream_out/smem.c
+++ b/modules/stream_out/smem.c
@@ -227,6 +227,7 @@ static sout_stream_id_t *AddVideo( sout_stream_t *p_stream, es_format_t *p_fmt )
     {
         case VLC_CODEC_RGB32:
         case VLC_CODEC_RGBA:
+        case VLC_CODEC_ARGB:
             i_bits_per_pixel = 32;
             break;
         case VLC_CODEC_I444:
diff --git a/modules/video_filter/invert.c b/modules/video_filter/invert.c
index 5f9107e..3303030 100644
--- a/modules/video_filter/invert.c
+++ b/modules/video_filter/invert.c
@@ -67,7 +67,7 @@ static int Create( vlc_object_t *p_this )
     vlc_fourcc_t fourcc = p_filter->fmt_in.video.i_chroma;
 
     if( fourcc == VLC_CODEC_YUVP || fourcc == VLC_CODEC_RGBP
-     || fourcc == VLC_CODEC_RGBA )
+     || fourcc == VLC_CODEC_RGBA || fourcc == VLC_CODEC_ARGB )
         return VLC_EGENERIC;
 
     const vlc_chroma_description_t *p_chroma =
diff --git a/src/misc/es_format.c b/src/misc/es_format.c
index cf329cb..87b6ada 100644
--- a/src/misc/es_format.c
+++ b/src/misc/es_format.c
@@ -188,6 +188,7 @@ void video_format_Setup( video_format_t *p_fmt, vlc_fourcc_t i_chroma,
 
     case VLC_CODEC_RGB32:
     case VLC_CODEC_RGBA:
+    case VLC_CODEC_ARGB:
         p_fmt->i_bits_per_pixel = 32;
         break;
     case VLC_CODEC_RGB24:
diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c
index 24c4b63..2ef4372 100644
--- a/src/misc/fourcc.c
+++ b/src/misc/fourcc.c
@@ -780,6 +780,8 @@ static const staticentry_t p_list_video[] = {
         A("RV32"),
     B(VLC_CODEC_RGBA, "32 bits RGBA"),
         A("RGBA"),
+    B(VLC_CODEC_RGBA, "32 bits ARGB"),
+        A("ARGB"),
         A("AV32"),
 
     B(VLC_CODEC_GREY, "8 bits greyscale"),
@@ -1987,7 +1989,7 @@ static const struct
         VLC_CODEC_RGBA16, 0 },                 PACKED_FMT(2, 16) },
     { { VLC_CODEC_RGB24, 0 },                  PACKED_FMT(3, 24) },
     { { VLC_CODEC_RGB32, 0 },                  PACKED_FMT(4, 24) },
-    { { VLC_CODEC_RGBA,  0 },                  PACKED_FMT(4, 32) },
+    { { VLC_CODEC_RGBA, VLC_CODEC_ARGB, 0 },   PACKED_FMT(4, 32) },
 
     { { VLC_CODEC_Y211, 0 },                   { 1, { {{1,4}, {1,1}} }, 4, 32 } },
     { { VLC_CODEC_XYZ12,  0 },                 PACKED_FMT(6, 48) },



More information about the vlc-commits mailing list