[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