diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-03-23 01:50:19 +0300 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-03-23 01:50:19 +0300 |
commit | 6e08ca9c5123d6953a75bfed6bd875b66f56e98f (patch) | |
tree | e15b78407daea46c9503d473679d72b901f6d107 /libavcodec/imgconvert.c | |
parent | e7e6b068028a90c2702fafa827cc2b2afe9cf669 (diff) |
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
Diffstat (limited to 'libavcodec/imgconvert.c')
-rw-r--r-- | libavcodec/imgconvert.c | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 11427f20e9..ffc0f08e95 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -192,8 +192,8 @@ static const PixFmtInfo pix_fmt_info[PIX_FMT_NB] = { .depth = 8, .x_chroma_shift = 0, .y_chroma_shift = 0, }, - [PIX_FMT_RGB32] = { - .name = "rgb32", + [PIX_FMT_ARGB] = { + .name = "argb", .nb_channels = 4, .is_alpha = 1, .color_type = FF_COLOR_RGB, .pixel_type = FF_PIXEL_PACKED, @@ -335,8 +335,8 @@ static const PixFmtInfo pix_fmt_info[PIX_FMT_NB] = { .depth = 8, .x_chroma_shift = 2, .y_chroma_shift = 0, }, - [PIX_FMT_BGR32] = { - .name = "bgr32", + [PIX_FMT_ABGR] = { + .name = "abgr", .nb_channels = 4, .is_alpha = 1, .color_type = FF_COLOR_RGB, .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, }, - [PIX_FMT_BGR32_1] = { - .name = "bgr32_1", + [PIX_FMT_BGRA] = { + .name = "bgra", .nb_channels = 4, .is_alpha = 1, .color_type = FF_COLOR_RGB, .pixel_type = FF_PIXEL_PACKED, .depth = 8, .x_chroma_shift = 0, .y_chroma_shift = 0, }, - [PIX_FMT_RGB32_1] = { - .name = "rgb32_1", + [PIX_FMT_RGBA] = { + .name = "rgba", .nb_channels = 4, .is_alpha = 1, .color_type = FF_COLOR_RGB, .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 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) { char name2[32]; 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: picture->linesize[0] = width * 3; break; - case PIX_FMT_RGB32: - case PIX_FMT_BGR32: - case PIX_FMT_RGB32_1: - case PIX_FMT_BGR32_1: + case PIX_FMT_ARGB: + case PIX_FMT_ABGR: + case PIX_FMT_RGBA: + case PIX_FMT_BGRA: picture->linesize[0] = width * 4; break; 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; case PIX_FMT_RGB24: case PIX_FMT_BGR24: - case PIX_FMT_RGB32: - case PIX_FMT_BGR32: - case PIX_FMT_RGB32_1: - case PIX_FMT_BGR32_1: + case PIX_FMT_ARGB: + case PIX_FMT_ABGR: + case PIX_FMT_RGBA: + case PIX_FMT_BGRA: case PIX_FMT_RGB48BE: case PIX_FMT_RGB48LE: case PIX_FMT_GRAY16BE: |