]> git.sesse.net Git - vlc/commitdiff
fourcc: add ARGB for 32-bits RGBA with X11/BD components order
authorRémi Denis-Courmont <remi@remlab.net>
Tue, 5 Nov 2013 20:28:21 +0000 (22:28 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Thu, 7 Nov 2013 20:09:53 +0000 (22:09 +0200)
include/vlc_fourcc.h
modules/codec/rawvideo.c
modules/stream_out/smem.c
modules/video_filter/invert.c
src/misc/es_format.c
src/misc/fourcc.c

index 70bc15e8f2b7946783e2cc53d34a0e630c55086e..c878d8a540f263633cecb3152fb305fd62c7d545 100644 (file)
 #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 */
index f2db54570c307a14776ea76fec6ff295f4bc93be..bbe2c7845bdbf341dfeaca2753f2d55f2cf0aeb2 100644 (file)
@@ -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:
index f4d3df8d5cdf5a26596a79270b8881f2362c74f1..9c6741a3a2715c0ead0268686e1dd70dc83473dc 100644 (file)
@@ -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:
index 5f9107e7cffafa2272c707d6526b39ce385c9a9a..3303030f501e07b08b3f729a6f16a1bff346ab36 100644 (file)
@@ -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 =
index cf329cb96706384565a291d163428131163a7c5c..87b6adaac02fe99265eb309831cf6d6283a8ae0f 100644 (file)
@@ -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:
index 24c4b6360978c4e2fa5b78ddb2e9ed7e45707541..2ef43725985ec1848e019e5803ed6411ee725ba1 100644 (file)
@@ -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) },