[vlc-devel] [PATCH] avi: avoid double definition on BI_* values

Alexandre Janniaux ajanni at videolabs.io
Fri Mar 27 14:02:09 CET 2020


Those values are already defined on Windows, but never defined on other
platforms. To keep the same behaviour everywhere, keep the defines but
prefix them with VLC_*.
---
 modules/demux/avi/bitmapinfoheader.h | 36 ++++++++++++++--------------
 modules/demux/avi/libavi.h           | 11 ---------
 modules/mux/avi.c                    |  4 ++--
 3 files changed, 20 insertions(+), 31 deletions(-)

diff --git a/modules/demux/avi/bitmapinfoheader.h b/modules/demux/avi/bitmapinfoheader.h
index 3208a38d7b..68a8ae496a 100644
--- a/modules/demux/avi/bitmapinfoheader.h
+++ b/modules/demux/avi/bitmapinfoheader.h
@@ -25,14 +25,14 @@
 #include <vlc_codecs.h>
 #include <limits.h>
 
-/* biCompression / Others are FourCC */
-#define BI_RGB              0x0000
-#define BI_RLE8             0x0001
-#define BI_RLE4             0x0002
-#define BI_BITFIELDS        0x0003
-#define BI_CMYK             0x000B
-#define BI_CMYKRLE8         0x000C
-#define BI_CMYKRLE4         0x000D
+///* biCompression / Others are FourCC */
+#define VLC_BI_RGB              0x0000
+#define VLC_BI_RLE8             0x0001
+#define VLC_BI_RLE4             0x0002
+#define VLC_BI_BITFIELDS        0x0003
+#define VLC_BI_CMYK             0x000B
+#define VLC_BI_CMYKRLE8         0x000C
+#define VLC_BI_CMYKRLE4         0x000D
 
 static const struct
 {
@@ -105,8 +105,8 @@ static inline int ParseBitmapInfoHeader( VLC_BITMAPINFOHEADER *p_bih, size_t i_b
     else
         i_bihextra = 0;
 
-    if( p_bih->biCompression == BI_RGB ||
-        p_bih->biCompression == BI_BITFIELDS )
+    if( p_bih->biCompression == VLC_BI_RGB ||
+        p_bih->biCompression == VLC_BI_BITFIELDS )
     {
         switch( p_bih->biBitCount )
         {
@@ -141,7 +141,7 @@ static inline int ParseBitmapInfoHeader( VLC_BITMAPINFOHEADER *p_bih, size_t i_b
                 break;
         }
 
-        if( p_bih->biCompression == BI_BITFIELDS ) /* Only 16 & 32 */
+        if( p_bih->biCompression == VLC_BI_BITFIELDS ) /* Only 16 & 32 */
         {
             if( i_bihextra >= 3 * sizeof(uint32_t) )
             {
@@ -226,28 +226,28 @@ static inline VLC_BITMAPINFOHEADER * CreateBitmapInfoHeader( const es_format_t *
     {
         case VLC_CODEC_RGB32:
             biBitCount = 32;
-            biCompression = MatchBitmapRGBMasks( fmt ) ? BI_RGB : BI_BITFIELDS;
+            biCompression = MatchBitmapRGBMasks( fmt ) ? VLC_BI_RGB : VLC_BI_BITFIELDS;
             break;
         case VLC_CODEC_BGRA:
         case VLC_CODEC_RGBA:
         case VLC_CODEC_ARGB:
             biBitCount = 32;
-            biCompression = MatchBitmapRGBMasks( fmt ) ? BI_RGB : BI_BITFIELDS;
+            biCompression = MatchBitmapRGBMasks( fmt ) ? VLC_BI_RGB : VLC_BI_BITFIELDS;
             b_has_alpha = true;
             break;
         case VLC_CODEC_RGB24:
             biBitCount = 24;
-            biCompression = BI_RGB;
+            biCompression = VLC_BI_RGB;
             break;
         case VLC_CODEC_RGB16:
         case VLC_CODEC_RGB15:
             biBitCount = 16;
-            biCompression = BI_BITFIELDS;
+            biCompression = VLC_BI_BITFIELDS;
             break;
         case VLC_CODEC_RGBP:
         case VLC_CODEC_GREY:
             biBitCount = 8;
-            biCompression = BI_RGB;
+            biCompression = VLC_BI_RGB;
             break;
         case VLC_CODEC_MP4V:
             biCompression = VLC_FOURCC( 'X', 'V', 'I', 'D' );
@@ -260,7 +260,7 @@ static inline VLC_BITMAPINFOHEADER * CreateBitmapInfoHeader( const es_format_t *
 
     size_t i_bih_extra = 0;
     size_t i_bmiColors = 0;
-    if( biCompression == BI_BITFIELDS )
+    if( biCompression == VLC_BI_BITFIELDS )
         i_bmiColors = (b_has_alpha) ? 16 : 12;
     else if ( fmt->i_codec == VLC_CODEC_RGBP )
         i_bmiColors = fmt->video.p_palette ? (fmt->video.p_palette->i_entries * 4) : 0;
@@ -275,7 +275,7 @@ static inline VLC_BITMAPINFOHEADER * CreateBitmapInfoHeader( const es_format_t *
     uint8_t *p_bih_extra = (uint8_t *) &p_bih[1];
     uint8_t *p_bmiColors = p_bih_extra + i_bih_extra;
     p_bih->biClrUsed = 0;
-    if( biCompression == BI_BITFIELDS )
+    if( biCompression == VLC_BI_BITFIELDS )
     {
         SetDWBE( &p_bmiColors[0], fmt->video.i_rmask );
         SetDWBE( &p_bmiColors[4], fmt->video.i_gmask );
diff --git a/modules/demux/avi/libavi.h b/modules/demux/avi/libavi.h
index 731fb2c1c7..7aa4997978 100644
--- a/modules/demux/avi/libavi.h
+++ b/modules/demux/avi/libavi.h
@@ -19,17 +19,6 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-/* biCompression / Others are FourCC */
-#define BI_RGB              0x0000
-#define BI_RLE8             0x0001
-#define BI_RLE4             0x0002
-#define BI_BITFIELDS        0x0003
-#define BI_JPEG             0x0004
-#define BI_PNG              0x0005
-#define BI_CMYK             0x000B
-#define BI_CMYKRLE8         0x000C
-#define BI_CMYKRLE4         0x000D
-
 /* flags for use in <dwFlags> in AVIFileHdr */
 #define AVIF_HASINDEX       0x00000010  /* Index at end of file? */
 #define AVIF_MUSTUSEINDEX   0x00000020
diff --git a/modules/mux/avi.c b/modules/mux/avi.c
index d6e1b0e020..f635718061 100644
--- a/modules/mux/avi.c
+++ b/modules/mux/avi.c
@@ -471,9 +471,9 @@ static int PrepareSamples( const avi_stream_t *p_stream,
        }
     }
 
-    /* RV24 is only BGR in AVI, and we can't use BI_BITFIELD */
+    /* RV24 is only BGR in AVI, and we can't use VLC_BI_BITFIELD */
     if( p_stream->i_cat == VIDEO_ES &&
-        p_stream->p_bih->biCompression == BI_RGB &&
+        p_stream->p_bih->biCompression == VLC_BI_RGB &&
         p_stream->p_bih->biBitCount == 24 &&
         (p_fmt->video.i_bmask != 0xFF0000 ||
          p_fmt->video.i_rmask != 0x0000FF) )
-- 
2.26.0



More information about the vlc-devel mailing list