[vlc-devel] [PATCH] avi: avoid double definition on BI_* values
Jean-Baptiste Kempf
jb at videolan.org
Sat Mar 28 19:17:22 CET 2020
Why not just not define them on Win32?
On Fri, Mar 27, 2020, at 14:02, Alexandre Janniaux wrote:
> 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
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
--
Jean-Baptiste Kempf - President
+33 672 704 734
More information about the vlc-devel
mailing list