From 88c21a6f149e27ff860226043d6c31998152c883 Mon Sep 17 00:00:00 2001 From: Peter Ross Date: Sun, 22 Feb 2009 00:55:49 +0000 Subject: [PATCH] Add PIX_FMT_RGB48BE and PIX_FMT_RGB48LE. Originally committed as revision 17510 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/imgconvert.c | 22 ++++++++++++++++++++++ libavutil/avutil.h | 6 +++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index abc253e96b..89438277e8 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -199,6 +199,22 @@ static const PixFmtInfo pix_fmt_info[PIX_FMT_NB] = { .depth = 8, .x_chroma_shift = 0, .y_chroma_shift = 0, }, + [PIX_FMT_RGB48BE] = { + .name = "rgb48be", + .nb_channels = 3, + .color_type = FF_COLOR_RGB, + .pixel_type = FF_PIXEL_PACKED, + .depth = 16, + .x_chroma_shift = 0, .y_chroma_shift = 0, + }, + [PIX_FMT_RGB48LE] = { + .name = "rgb48le", + .nb_channels = 3, + .color_type = FF_COLOR_RGB, + .pixel_type = FF_PIXEL_PACKED, + .depth = 16, + .x_chroma_shift = 0, .y_chroma_shift = 0, + }, [PIX_FMT_RGB565] = { .name = "rgb565", .nb_channels = 3, @@ -529,6 +545,10 @@ int ff_fill_linesize(AVPicture *picture, int pix_fmt, int width) case PIX_FMT_BGR32_1: picture->linesize[0] = width * 4; break; + case PIX_FMT_RGB48BE: + case PIX_FMT_RGB48LE: + picture->linesize[0] = width * 6; + break; case PIX_FMT_GRAY16BE: case PIX_FMT_GRAY16LE: case PIX_FMT_BGR555: @@ -616,6 +636,8 @@ int ff_fill_pointer(AVPicture *picture, uint8_t *ptr, int pix_fmt, case PIX_FMT_BGR32: case PIX_FMT_RGB32_1: case PIX_FMT_BGR32_1: + case PIX_FMT_RGB48BE: + case PIX_FMT_RGB48LE: case PIX_FMT_GRAY16BE: case PIX_FMT_GRAY16LE: case PIX_FMT_BGR555: diff --git a/libavutil/avutil.h b/libavutil/avutil.h index 3c641f2177..176c6d0de0 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 49 -#define LIBAVUTIL_VERSION_MINOR 14 +#define LIBAVUTIL_VERSION_MINOR 15 #define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ @@ -130,6 +130,8 @@ enum PixelFormat { PIX_FMT_VDPAU_MPEG2,///< MPEG-2 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_VDPAU_WMV3,///< WMV3 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_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_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions }; @@ -139,12 +141,14 @@ enum PixelFormat { #define PIX_FMT_ARGB PIX_FMT_RGB32 #define PIX_FMT_ABGR PIX_FMT_BGR32 #define PIX_FMT_GRAY16 PIX_FMT_GRAY16BE +#define PIX_FMT_RGB48 PIX_FMT_RGB48BE #else #define PIX_FMT_RGBA PIX_FMT_BGR32 #define PIX_FMT_BGRA PIX_FMT_RGB32 #define PIX_FMT_ARGB PIX_FMT_BGR32_1 #define PIX_FMT_ABGR PIX_FMT_RGB32_1 #define PIX_FMT_GRAY16 PIX_FMT_GRAY16LE +#define PIX_FMT_RGB48 PIX_FMT_RGB48LE #endif #if LIBAVUTIL_VERSION_INT < (50<<16)