[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