aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2009-03-21 23:08:20 +0000
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2009-03-21 23:08:20 +0000
commitf82674e584d0550f3000658c6a579c4b9db139fe (patch)
tree2cff84728c6bc5d8cde05ba6a63b11b598ded01d
parent31a79497b7a9fb84e92593ecb5703063ec3ca35a (diff)
downloadffmpeg-f82674e584d0550f3000658c6a579c4b9db139fe.tar.gz
Change the RGB5X5/BGR5X5 pixel format defines so that we have little
endian and big endian variants instead of native-endian ones. This patch breaks API/ABI backward-compatibility. Originally committed as revision 18133 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/imgconvert.c48
-rw-r--r--libavcodec/pixdesc.c3
-rw-r--r--libavutil/avutil.h2
-rw-r--r--libavutil/pixfmt.h19
4 files changed, 56 insertions, 16 deletions
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c
index 8619b40336..0abefbadc7 100644
--- a/libavcodec/imgconvert.c
+++ b/libavcodec/imgconvert.c
@@ -216,16 +216,32 @@ static const PixFmtInfo pix_fmt_info[PIX_FMT_NB] = {
.depth = 16,
.x_chroma_shift = 0, .y_chroma_shift = 0,
},
- [PIX_FMT_RGB565] = {
- .name = "rgb565",
+ [PIX_FMT_RGB565BE] = {
+ .name = "rgb565be",
.nb_channels = 3,
.color_type = FF_COLOR_RGB,
.pixel_type = FF_PIXEL_PACKED,
.depth = 5,
.x_chroma_shift = 0, .y_chroma_shift = 0,
},
- [PIX_FMT_RGB555] = {
- .name = "rgb555",
+ [PIX_FMT_RGB565LE] = {
+ .name = "rgb565le",
+ .nb_channels = 3,
+ .color_type = FF_COLOR_RGB,
+ .pixel_type = FF_PIXEL_PACKED,
+ .depth = 5,
+ .x_chroma_shift = 0, .y_chroma_shift = 0,
+ },
+ [PIX_FMT_RGB555BE] = {
+ .name = "rgb555be",
+ .nb_channels = 3,
+ .color_type = FF_COLOR_RGB,
+ .pixel_type = FF_PIXEL_PACKED,
+ .depth = 5,
+ .x_chroma_shift = 0, .y_chroma_shift = 0,
+ },
+ [PIX_FMT_RGB555LE] = {
+ .name = "rgb555le",
.nb_channels = 3,
.color_type = FF_COLOR_RGB,
.pixel_type = FF_PIXEL_PACKED,
@@ -327,16 +343,32 @@ static const PixFmtInfo pix_fmt_info[PIX_FMT_NB] = {
.depth = 8,
.x_chroma_shift = 0, .y_chroma_shift = 0,
},
- [PIX_FMT_BGR565] = {
- .name = "bgr565",
+ [PIX_FMT_BGR565BE] = {
+ .name = "bgr565be",
+ .nb_channels = 3,
+ .color_type = FF_COLOR_RGB,
+ .pixel_type = FF_PIXEL_PACKED,
+ .depth = 5,
+ .x_chroma_shift = 0, .y_chroma_shift = 0,
+ },
+ [PIX_FMT_BGR565LE] = {
+ .name = "bgr565le",
+ .nb_channels = 3,
+ .color_type = FF_COLOR_RGB,
+ .pixel_type = FF_PIXEL_PACKED,
+ .depth = 5,
+ .x_chroma_shift = 0, .y_chroma_shift = 0,
+ },
+ [PIX_FMT_BGR555BE] = {
+ .name = "bgr555be",
.nb_channels = 3,
.color_type = FF_COLOR_RGB,
.pixel_type = FF_PIXEL_PACKED,
.depth = 5,
.x_chroma_shift = 0, .y_chroma_shift = 0,
},
- [PIX_FMT_BGR555] = {
- .name = "bgr555",
+ [PIX_FMT_BGR555LE] = {
+ .name = "bgr555le",
.nb_channels = 3,
.color_type = FF_COLOR_RGB,
.pixel_type = FF_PIXEL_PACKED,
diff --git a/libavcodec/pixdesc.c b/libavcodec/pixdesc.c
index b4157fc5e7..5851ab0869 100644
--- a/libavcodec/pixdesc.c
+++ b/libavcodec/pixdesc.c
@@ -154,8 +154,6 @@ static const AVPixFmtDescriptor pix_fmt_desc[PIX_FMT_NB] = {
},
.flags = PIX_FMT_BE,
},
-//FIXME change pix fmt defines so that we have a LE & BE instead of a native-endian
-#if 0
[PIX_FMT_RGB565LE] = {
.name = "rgb565le",
.nb_channels = 3,
@@ -179,7 +177,6 @@ static const AVPixFmtDescriptor pix_fmt_desc[PIX_FMT_NB] = {
},
.flags = PIX_FMT_BE,
},
-#endif
[PIX_FMT_MONOBLACK] = {
.name = "monoblack",
.nb_channels = 1,
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index c57e69f10c..f9047131d5 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -35,7 +35,7 @@
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
#define LIBAVUTIL_VERSION_MAJOR 50
-#define LIBAVUTIL_VERSION_MINOR 0
+#define LIBAVUTIL_VERSION_MINOR 1
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index fb332cc99e..a7875318c3 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -66,8 +66,6 @@ enum PixelFormat {
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_YUV411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
- PIX_FMT_RGB565, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), in CPU endianness
- PIX_FMT_RGB555, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), in CPU endianness, most significant bit to 0
PIX_FMT_GRAY8, ///< Y , 8bpp
PIX_FMT_MONOWHITE, ///< Y , 1bpp, 0 is white, 1 is black
PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black, 1 is white
@@ -80,8 +78,6 @@ enum PixelFormat {
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_BGR32, ///< packed RGB 8:8:8, 32bpp, (msb)8A 8B 8G 8R(lsb), in CPU endianness
- PIX_FMT_BGR565, ///< packed RGB 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), in CPU endianness
- PIX_FMT_BGR555, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), in CPU endianness, most significant bit to 1
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_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)
@@ -106,6 +102,17 @@ enum PixelFormat {
PIX_FMT_VDPAU_VC1, ///< VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
PIX_FMT_RGB48BE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, big-endian
PIX_FMT_RGB48LE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, little-endian
+
+ PIX_FMT_RGB565BE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
+ PIX_FMT_RGB565LE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
+ PIX_FMT_RGB555BE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0
+ PIX_FMT_RGB555LE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0
+
+ PIX_FMT_BGR565BE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian
+ PIX_FMT_BGR565LE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian
+ PIX_FMT_BGR555BE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1
+ PIX_FMT_BGR555LE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1
+
PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers
PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers
PIX_FMT_VAAPI_VLD, ///< HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
@@ -132,5 +139,9 @@ enum PixelFormat {
#define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16)
#define PIX_FMT_RGB48 PIX_FMT_NE(RGB48)
+#define PIX_FMT_RGB565 PIX_FMT_NE(RGB565)
+#define PIX_FMT_RGB555 PIX_FMT_NE(RGB555)
+#define PIX_FMT_BGR565 PIX_FMT_NE(BGR565)
+#define PIX_FMT_BGR555 PIX_FMT_NE(BGR555)
#endif /* AVUTIL_PIXFMT_H */