Make the pixel formats which were defined as macros:
PIX_FMT_ARGB PIX_FMT_RGBA PIX_FMT_ABGR PIX_FMT_BGRA defined as enum PixelFormat values, and viceversa make: PIX_FMT_RGB32 PIX_FMT_RGB32_1 PIX_FMT_BGR32 PIX_FMT_BGR32_1 defined as macros, also resort accordingly the enum PixelFormat list. Also make avcodec_get_pix_fmt() recognize the "rgb32" and "bgr32" aliases, in order to make ffmpeg pass regressions test. This change breaks ABI backward compatibility. Originally committed as revision 18163 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									e7e6b06802
								
							
						
					
					
						commit
						6e08ca9c51
					
				| @ -31,7 +31,7 @@ | |||||||
| 
 | 
 | ||||||
| #define LIBAVCODEC_VERSION_MAJOR 52 | #define LIBAVCODEC_VERSION_MAJOR 52 | ||||||
| #define LIBAVCODEC_VERSION_MINOR 22 | #define LIBAVCODEC_VERSION_MINOR 22 | ||||||
| #define LIBAVCODEC_VERSION_MICRO  2 | #define LIBAVCODEC_VERSION_MICRO  3 | ||||||
| 
 | 
 | ||||||
| #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | ||||||
|                                                LIBAVCODEC_VERSION_MINOR, \ |                                                LIBAVCODEC_VERSION_MINOR, \ | ||||||
|  | |||||||
| @ -192,8 +192,8 @@ static const PixFmtInfo pix_fmt_info[PIX_FMT_NB] = { | |||||||
|         .depth = 8, |         .depth = 8, | ||||||
|         .x_chroma_shift = 0, .y_chroma_shift = 0, |         .x_chroma_shift = 0, .y_chroma_shift = 0, | ||||||
|     }, |     }, | ||||||
|     [PIX_FMT_RGB32] = { |     [PIX_FMT_ARGB] = { | ||||||
|         .name = "rgb32", |         .name = "argb", | ||||||
|         .nb_channels = 4, .is_alpha = 1, |         .nb_channels = 4, .is_alpha = 1, | ||||||
|         .color_type = FF_COLOR_RGB, |         .color_type = FF_COLOR_RGB, | ||||||
|         .pixel_type = FF_PIXEL_PACKED, |         .pixel_type = FF_PIXEL_PACKED, | ||||||
| @ -335,8 +335,8 @@ static const PixFmtInfo pix_fmt_info[PIX_FMT_NB] = { | |||||||
|         .depth = 8, |         .depth = 8, | ||||||
|         .x_chroma_shift = 2, .y_chroma_shift = 0, |         .x_chroma_shift = 2, .y_chroma_shift = 0, | ||||||
|     }, |     }, | ||||||
|     [PIX_FMT_BGR32] = { |     [PIX_FMT_ABGR] = { | ||||||
|         .name = "bgr32", |         .name = "abgr", | ||||||
|         .nb_channels = 4, .is_alpha = 1, |         .nb_channels = 4, .is_alpha = 1, | ||||||
|         .color_type = FF_COLOR_RGB, |         .color_type = FF_COLOR_RGB, | ||||||
|         .pixel_type = FF_PIXEL_PACKED, |         .pixel_type = FF_PIXEL_PACKED, | ||||||
| @ -440,16 +440,16 @@ static const PixFmtInfo pix_fmt_info[PIX_FMT_NB] = { | |||||||
|         .x_chroma_shift = 1, .y_chroma_shift = 1, |         .x_chroma_shift = 1, .y_chroma_shift = 1, | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     [PIX_FMT_BGR32_1] = { |     [PIX_FMT_BGRA] = { | ||||||
|         .name = "bgr32_1", |         .name = "bgra", | ||||||
|         .nb_channels = 4, .is_alpha = 1, |         .nb_channels = 4, .is_alpha = 1, | ||||||
|         .color_type = FF_COLOR_RGB, |         .color_type = FF_COLOR_RGB, | ||||||
|         .pixel_type = FF_PIXEL_PACKED, |         .pixel_type = FF_PIXEL_PACKED, | ||||||
|         .depth = 8, |         .depth = 8, | ||||||
|         .x_chroma_shift = 0, .y_chroma_shift = 0, |         .x_chroma_shift = 0, .y_chroma_shift = 0, | ||||||
|     }, |     }, | ||||||
|     [PIX_FMT_RGB32_1] = { |     [PIX_FMT_RGBA] = { | ||||||
|         .name = "rgb32_1", |         .name = "rgba", | ||||||
|         .nb_channels = 4, .is_alpha = 1, |         .nb_channels = 4, .is_alpha = 1, | ||||||
|         .color_type = FF_COLOR_RGB, |         .color_type = FF_COLOR_RGB, | ||||||
|         .pixel_type = FF_PIXEL_PACKED, |         .pixel_type = FF_PIXEL_PACKED, | ||||||
| @ -507,8 +507,14 @@ static enum PixelFormat avcodec_get_pix_fmt_internal(const char *name) | |||||||
| 
 | 
 | ||||||
| enum PixelFormat avcodec_get_pix_fmt(const char *name) | enum PixelFormat avcodec_get_pix_fmt(const char *name) | ||||||
| { | { | ||||||
|     enum PixelFormat pix_fmt = avcodec_get_pix_fmt_internal(name); |     enum PixelFormat pix_fmt; | ||||||
| 
 | 
 | ||||||
|  |     if (!strcmp(name, "rgb32")) | ||||||
|  |         name = X_NE("argb", "bgra"); | ||||||
|  |     else if (!strcmp(name, "bgr32")) | ||||||
|  |         name = X_NE("abgr", "rgba"); | ||||||
|  | 
 | ||||||
|  |     pix_fmt = avcodec_get_pix_fmt_internal(name); | ||||||
|     if (pix_fmt == PIX_FMT_NONE) { |     if (pix_fmt == PIX_FMT_NONE) { | ||||||
|         char name2[32]; |         char name2[32]; | ||||||
|         snprintf(name2, sizeof(name2), "%s%s", name, X_NE("be", "le")); |         snprintf(name2, sizeof(name2), "%s%s", name, X_NE("be", "le")); | ||||||
| @ -624,10 +630,10 @@ int ff_fill_linesize(AVPicture *picture, enum PixelFormat pix_fmt, int width) | |||||||
|     case PIX_FMT_BGR24: |     case PIX_FMT_BGR24: | ||||||
|         picture->linesize[0] = width * 3; |         picture->linesize[0] = width * 3; | ||||||
|         break; |         break; | ||||||
|     case PIX_FMT_RGB32: |     case PIX_FMT_ARGB: | ||||||
|     case PIX_FMT_BGR32: |     case PIX_FMT_ABGR: | ||||||
|     case PIX_FMT_RGB32_1: |     case PIX_FMT_RGBA: | ||||||
|     case PIX_FMT_BGR32_1: |     case PIX_FMT_BGRA: | ||||||
|         picture->linesize[0] = width * 4; |         picture->linesize[0] = width * 4; | ||||||
|         break; |         break; | ||||||
|     case PIX_FMT_RGB48BE: |     case PIX_FMT_RGB48BE: | ||||||
| @ -716,10 +722,10 @@ int ff_fill_pointer(AVPicture *picture, uint8_t *ptr, enum PixelFormat pix_fmt, | |||||||
|         return size + 2 * size2; |         return size + 2 * size2; | ||||||
|     case PIX_FMT_RGB24: |     case PIX_FMT_RGB24: | ||||||
|     case PIX_FMT_BGR24: |     case PIX_FMT_BGR24: | ||||||
|     case PIX_FMT_RGB32: |     case PIX_FMT_ARGB: | ||||||
|     case PIX_FMT_BGR32: |     case PIX_FMT_ABGR: | ||||||
|     case PIX_FMT_RGB32_1: |     case PIX_FMT_RGBA: | ||||||
|     case PIX_FMT_BGR32_1: |     case PIX_FMT_BGRA: | ||||||
|     case PIX_FMT_RGB48BE: |     case PIX_FMT_RGB48BE: | ||||||
|     case PIX_FMT_RGB48LE: |     case PIX_FMT_RGB48LE: | ||||||
|     case PIX_FMT_GRAY16BE: |     case PIX_FMT_GRAY16BE: | ||||||
|  | |||||||
| @ -35,7 +35,7 @@ | |||||||
| #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) | #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) | ||||||
| 
 | 
 | ||||||
| #define LIBAVUTIL_VERSION_MAJOR 50 | #define LIBAVUTIL_VERSION_MAJOR 50 | ||||||
| #define LIBAVUTIL_VERSION_MINOR  1 | #define LIBAVUTIL_VERSION_MINOR  2 | ||||||
| #define LIBAVUTIL_VERSION_MICRO  0 | #define LIBAVUTIL_VERSION_MICRO  0 | ||||||
| 
 | 
 | ||||||
| #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | ||||||
|  | |||||||
| @ -63,7 +63,6 @@ enum PixelFormat { | |||||||
|     PIX_FMT_BGR24,     ///< packed RGB 8:8:8, 24bpp, BGRBGR...
 |     PIX_FMT_BGR24,     ///< packed RGB 8:8:8, 24bpp, BGRBGR...
 | ||||||
|     PIX_FMT_YUV422P,   ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
 |     PIX_FMT_YUV422P,   ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
 | ||||||
|     PIX_FMT_YUV444P,   ///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
 |     PIX_FMT_YUV444P,   ///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
 | ||||||
|     PIX_FMT_RGB32,     ///< packed RGB 8:8:8, 32bpp, (msb)8A 8R 8G 8B(lsb), in CPU endianness
 |  | ||||||
|     PIX_FMT_YUV410P,   ///< planar YUV 4:1:0,  9bpp, (1 Cr & Cb sample per 4x4 Y samples)
 |     PIX_FMT_YUV410P,   ///< planar YUV 4:1:0,  9bpp, (1 Cr & Cb sample per 4x4 Y samples)
 | ||||||
|     PIX_FMT_YUV411P,   ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
 |     PIX_FMT_YUV411P,   ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
 | ||||||
|     PIX_FMT_GRAY8,     ///<        Y        ,  8bpp
 |     PIX_FMT_GRAY8,     ///<        Y        ,  8bpp
 | ||||||
| @ -77,7 +76,6 @@ enum PixelFormat { | |||||||
|     PIX_FMT_XVMC_MPEG2_IDCT, |     PIX_FMT_XVMC_MPEG2_IDCT, | ||||||
|     PIX_FMT_UYVY422,   ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
 |     PIX_FMT_UYVY422,   ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
 | ||||||
|     PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
 |     PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
 | ||||||
|     PIX_FMT_BGR32,     ///< packed RGB 8:8:8, 32bpp, (msb)8A 8B 8G 8R(lsb), in CPU endianness
 |  | ||||||
|     PIX_FMT_BGR8,      ///< packed RGB 3:3:2,  8bpp, (msb)2B 3G 3R(lsb)
 |     PIX_FMT_BGR8,      ///< packed RGB 3:3:2,  8bpp, (msb)2B 3G 3R(lsb)
 | ||||||
|     PIX_FMT_BGR4,      ///< packed RGB 1:2:1,  4bpp, (msb)1B 2G 1R(lsb)
 |     PIX_FMT_BGR4,      ///< packed RGB 1:2:1,  4bpp, (msb)1B 2G 1R(lsb)
 | ||||||
|     PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1,  8bpp, (msb)1B 2G 1R(lsb)
 |     PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1,  8bpp, (msb)1B 2G 1R(lsb)
 | ||||||
| @ -87,8 +85,10 @@ enum PixelFormat { | |||||||
|     PIX_FMT_NV12,      ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 for UV
 |     PIX_FMT_NV12,      ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 for UV
 | ||||||
|     PIX_FMT_NV21,      ///< as above, but U and V bytes are swapped
 |     PIX_FMT_NV21,      ///< as above, but U and V bytes are swapped
 | ||||||
| 
 | 
 | ||||||
|     PIX_FMT_RGB32_1,   ///< packed RGB 8:8:8, 32bpp, (msb)8R 8G 8B 8A(lsb), in CPU endianness
 |     PIX_FMT_ARGB,      ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
 | ||||||
|     PIX_FMT_BGR32_1,   ///< packed RGB 8:8:8, 32bpp, (msb)8B 8G 8R 8A(lsb), in CPU endianness
 |     PIX_FMT_RGBA,      ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
 | ||||||
|  |     PIX_FMT_ABGR,      ///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
 | ||||||
|  |     PIX_FMT_BGRA,      ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
 | ||||||
| 
 | 
 | ||||||
|     PIX_FMT_GRAY16BE,  ///<        Y        , 16bpp, big-endian
 |     PIX_FMT_GRAY16BE,  ///<        Y        , 16bpp, big-endian
 | ||||||
|     PIX_FMT_GRAY16LE,  ///<        Y        , 16bpp, little-endian
 |     PIX_FMT_GRAY16LE,  ///<        Y        , 16bpp, little-endian
 | ||||||
| @ -126,15 +126,15 @@ enum PixelFormat { | |||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifdef WORDS_BIGENDIAN | #ifdef WORDS_BIGENDIAN | ||||||
| #define PIX_FMT_RGBA PIX_FMT_RGB32_1 | #define PIX_FMT_RGB32   PIX_FMT_ARGB | ||||||
| #define PIX_FMT_BGRA PIX_FMT_BGR32_1 | #define PIX_FMT_RGB32_1 PIX_FMT_RGBA | ||||||
| #define PIX_FMT_ARGB PIX_FMT_RGB32 | #define PIX_FMT_BGR32   PIX_FMT_ABGR | ||||||
| #define PIX_FMT_ABGR PIX_FMT_BGR32 | #define PIX_FMT_BGR32_1 PIX_FMT_BGRA | ||||||
| #else | #else | ||||||
| #define PIX_FMT_RGBA PIX_FMT_BGR32 | #define PIX_FMT_RGB32   PIX_FMT_BGRA | ||||||
| #define PIX_FMT_BGRA PIX_FMT_RGB32 | #define PIX_FMT_RGB32_1 PIX_FMT_ABGR | ||||||
| #define PIX_FMT_ARGB PIX_FMT_BGR32_1 | #define PIX_FMT_BGR32   PIX_FMT_RGBA | ||||||
| #define PIX_FMT_ABGR PIX_FMT_RGB32_1 | #define PIX_FMT_BGR32_1 PIX_FMT_ARGB | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16) | #define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user