[FFmpeg-devel] [PATCH] Define endian variant for PIX_FMT_RGB/BGR_5X5
Michael Niedermayer
michaelni
Wed Mar 18 22:30:26 CET 2009
On Tue, Mar 17, 2009 at 09:14:32PM +0100, Stefano Sabatini wrote:
> On date Tuesday 2009-03-17 09:05:26 +0100, Stefano Sabatini encoded:
> > On date Sunday 2009-03-15 20:29:18 +0100, Michael Niedermayer encoded:
> > > On Sun, Mar 15, 2009 at 07:57:05PM +0100, Stefano Sabatini wrote:
> > > > On date Sunday 2009-03-15 19:24:03 +0100, Michael Niedermayer encoded:
> > > > > On Sun, Mar 15, 2009 at 03:54:00PM +0100, Stefano Sabatini wrote:
> > > > [...]
> > > > > > @@ -109,6 +103,17 @@
> > > > > > 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
> > > > > > +
> > > > > > + 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_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
> > > > >
> > > > > i suspect you violate the "note" above with that ordering
> > > >
> > > > Indeed (also I'm not perfectly convinced that's a good idea, maybe
> > > > this is a requirement we could avoid using the PIX_FMT_BE in
> > > > pixdesc?).
> > >
> > > ive also thought about using the 2nd lest sig bit for rgb vs bgr,
> > > maybe as we are already breaking ABI that could be done too.
> > >
> > >
> > > >
> > > > Fixed locally.
> > > >
> > > > > [...]
> > > > >
> > > > > > Index: ffmpeg/tests/libav.regression.ref
> > > > > > ===================================================================
> > > > > > --- ffmpeg.orig/tests/libav.regression.ref 2009-03-15 15:28:06.000000000 +0100
> > > > > > +++ ffmpeg/tests/libav.regression.ref 2009-03-15 15:28:13.000000000 +0100
> > > > > > @@ -124,10 +124,10 @@
> > > > > > 304128 ./tests/data/b-libav-bgr24.yuv
> > > > > > 7c1108633b0fef1aff5637fe70e74d0c *./tests/data/b-libav-rgb32.yuv
> > > > > > 304128 ./tests/data/b-libav-rgb32.yuv
> > > > > > -d86c3fa21db8b4eaf3efb66b7b245e46 *./tests/data/b-libav-rgb565.yuv
> > > > > > -304128 ./tests/data/b-libav-rgb565.yuv
> > > > > > -64d733888d3f17513383453fae238fdc *./tests/data/b-libav-rgb555.yuv
> > > > > > -304128 ./tests/data/b-libav-rgb555.yuv
> > > > > > +d86c3fa21db8b4eaf3efb66b7b245e46 *./tests/data/b-libav-rgb565le.yuv
> > > > > > +304128 ./tests/data/b-libav-rgb565le.yuv
> > > > > > +64d733888d3f17513383453fae238fdc *./tests/data/b-libav-rgb555le.yuv
> > > > > > +304128 ./tests/data/b-libav-rgb555le.yuv
> > > > > > 838958bb95a41057a18bbb647c39ba87 *./tests/data/b-libav-gray.yuv
> > > > > > 304128 ./tests/data/b-libav-gray.yuv
> > > > > > c7c9d2b2926e1677c27bd7df89f53073 *./tests/data/b-libav-monow.yuv
> > > > > > Index: ffmpeg/tests/regression.sh
> > > > > > ===================================================================
> > > > > > --- ffmpeg.orig/tests/regression.sh 2009-03-15 14:56:06.000000000 +0100
> > > > > > +++ ffmpeg/tests/regression.sh 2009-03-15 14:56:13.000000000 +0100
> > > > > > @@ -639,7 +639,7 @@
> > > > > >
> > > > > > if [ -n "$do_pixfmt" ] ; then
> > > > > > conversions="yuv420p yuv422p yuv444p yuyv422 yuv410p yuv411p yuvj420p \
> > > > > > - yuvj422p yuvj444p rgb24 bgr24 rgb32 rgb565 rgb555 gray monow \
> > > > > > + yuvj422p yuvj444p rgb24 bgr24 rgb32 rgb565le rgb555le gray monow \
> > > > > > monob yuv440p yuvj440p"
> > > > > > for pix_fmt in $conversions ; do
> > > > > > file=${outfile}libav-${pix_fmt}.yuv
> > > > >
> > > > > that wont work on BE-archs
> > > >
> > > > Maybe we could make av_get_pix_fmt("rgb565") select the correct
> > > > variant according to the endianess of the system (for example:
> > > > avcodec_get_pix_fmt() looks for "rgb565", it's missing, so it tryies
> > > > again with "rgb565le"/"rgb565be").
> > > >
> > > > Would be this acceptable?
> > >
> > > yes
> >
> > Series updated.
>
> The series was against a non-clean working tree, new one attached with
> some cleanups/fixes.
>
> Regards.
> --
> FFmpeg = Funny and Friendly Meaningful Power Elastic Governor
> Index: ffmpeg/libavcodec/avcodec.h
> ===================================================================
> --- ffmpeg.orig/libavcodec/avcodec.h 2009-03-17 21:06:43.000000000 +0100
> +++ ffmpeg/libavcodec/avcodec.h 2009-03-17 21:09:56.000000000 +0100
> @@ -2702,6 +2702,19 @@
> const char *avcodec_get_pix_fmt_name(int pix_fmt);
> void avcodec_set_dimensions(AVCodecContext *s, int width, int height);
> enum PixelFormat avcodec_get_pix_fmt(const char* name);
> +
> +/**
> + * Returns the pixel format corresponding to the name \p name.
> + *
> + * If \p search_ne_variant is zero works like avcodec_get_pix_fmt().
> + * If \p search_ne_variant is non-zero and if there is no pixel format
> + * with name \p name, then a pixel format with the name corresponding
> + * to the native endian format of \p name is searched. For example in
> + * a little-endian system, first is looked "gray16", then "gray16le".
> + *
> + * Finally if both forms are not found, returns \c PIX_FMT_NONE.
> + */
> +enum PixelFormat avcodec_get_pix_fmt2(const char* name, int search_ne_variant);
> unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat p);
>
> #define FF_LOSS_RESOLUTION 0x0001 /**< loss due to resolution change */
i dont see why a API change would be needed if no be/le postfix is used then
the machine endianness canbe filled in
[...]
> Index: ffmpeg/libavutil/pixfmt.h
> ===================================================================
> --- ffmpeg.orig/libavutil/pixfmt.h 2009-03-15 13:12:28.000000000 +0100
> +++ ffmpeg/libavutil/pixfmt.h 2009-03-15 14:12:48.000000000 +0100
> @@ -113,6 +113,12 @@
> };
>
> #ifdef WORDS_BIGENDIAN
> +# define PIX_FMT_NE(p) PIX_FMT_##p##BE
> +#else
> +# define PIX_FMT_NE(p) PIX_FMT_##p##LE
> +#endif
> +
> +#ifdef WORDS_BIGENDIAN
> #define PIX_FMT_RGBA PIX_FMT_RGB32_1
> #define PIX_FMT_BGRA PIX_FMT_BGR32_1
> #define PIX_FMT_ARGB PIX_FMT_RGB32
ok
> Index: ffmpeg/libavutil/pixfmt.h
> ===================================================================
> --- ffmpeg.orig/libavutil/pixfmt.h 2009-03-15 13:14:30.000000000 +0100
> +++ ffmpeg/libavutil/pixfmt.h 2009-03-15 13:16:39.000000000 +0100
> @@ -123,15 +123,14 @@
> #define PIX_FMT_BGRA PIX_FMT_BGR32_1
> #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
>
> +#define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16)
> +#define PIX_FMT_RGB48 PIX_FMT_NE(RGB48)
> +
> #endif /* AVUTIL_PIXFMT_H */
ok
> Index: ffmpeg/libavutil/avutil.h
> ===================================================================
> --- ffmpeg.orig/libavutil/avutil.h 2009-03-17 20:15:18.000000000 +0100
> +++ ffmpeg/libavutil/avutil.h 2009-03-17 20:16:28.000000000 +0100
> @@ -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, \
> Index: ffmpeg/libavutil/pixfmt.h
> ===================================================================
> --- ffmpeg.orig/libavutil/pixfmt.h 2009-03-17 20:16:27.000000000 +0100
> +++ ffmpeg/libavutil/pixfmt.h 2009-03-17 20:16:28.000000000 +0100
> @@ -66,8 +66,6 @@
> 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 @@
> 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 @@
> 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 @@
>
> #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 */
> Index: ffmpeg/libavcodec/imgconvert.c
> ===================================================================
> --- ffmpeg.orig/libavcodec/imgconvert.c 2009-03-17 20:16:24.000000000 +0100
> +++ ffmpeg/libavcodec/imgconvert.c 2009-03-17 20:16:28.000000000 +0100
> @@ -216,16 +216,32 @@
> .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 @@
> .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,
> Index: ffmpeg/libavcodec/pixdesc.c
> ===================================================================
> --- ffmpeg.orig/libavcodec/pixdesc.c 2009-03-17 20:15:56.000000000 +0100
> +++ ffmpeg/libavcodec/pixdesc.c 2009-03-17 20:16:28.000000000 +0100
> @@ -142,8 +142,6 @@
> },
> .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] = {
> .nb_channels = 3,
> .log2_chroma_w= 0,
> @@ -165,7 +163,6 @@
> },
> .flags = PIX_FMT_BE,
> },
> -#endif
> [PIX_FMT_MONOBLACK] = {
> .nb_channels = 1,
> .log2_chroma_w= 0,
ok
> Index: ffmpeg/libavcodec/pixdesc.c
> ===================================================================
> --- ffmpeg.orig/libavcodec/pixdesc.c 2009-03-17 20:16:28.000000000 +0100
> +++ ffmpeg/libavcodec/pixdesc.c 2009-03-17 21:01:34.000000000 +0100
> @@ -147,9 +147,9 @@
> .log2_chroma_w= 0,
> .log2_chroma_h= 0,
> .comp = {
> - {0,1,1,0,4},
> - {0,1,1,5,5},
> - {0,1,2,3,4},
> + {0,1,2,3,4}, /* R */
> + {0,1,1,5,5}, /* G */
> + {0,1,1,0,4}, /* B */
> },
> },
> [PIX_FMT_RGB565BE] = {
> @@ -157,9 +157,9 @@
> .log2_chroma_w= 0,
> .log2_chroma_h= 0,
> .comp = {
> - {0,1,1, 0,4},
> - {0,1,1, 5,5},
> - {0,1,0, 3,4},
> + {0,1,0,3,4}, /* R */
> + {0,1,1,5,5}, /* G */
> + {0,1,1,0,4}, /* B */
> },
> .flags = PIX_FMT_BE,
> },
ok if tested
> Index: ffmpeg/libavcodec/pixdesc.c
> ===================================================================
> --- ffmpeg.orig/libavcodec/pixdesc.c 2009-03-17 20:16:33.000000000 +0100
> +++ ffmpeg/libavcodec/pixdesc.c 2009-03-17 21:01:02.000000000 +0100
> @@ -163,6 +163,27 @@
> },
> .flags = PIX_FMT_BE,
> },
> + [PIX_FMT_RGB555LE] = {
> + .nb_channels = 3,
> + .log2_chroma_w= 0,
> + .log2_chroma_h= 0,
> + .comp = {
> + {0,1,2,2,4}, /* R */
> + {0,1,1,5,4}, /* G */
> + {0,1,1,0,4}, /* B */
> + },
> + },
> + [PIX_FMT_RGB555BE] = {
> + .nb_channels = 3,
> + .log2_chroma_w= 0,
> + .log2_chroma_h= 0,
> + .comp = {
> + {0,1,0,2,4}, /* R */
> + {0,1,1,5,4}, /* G */
> + {0,1,1,0,4}, /* B */
> + },
> + .flags = PIX_FMT_BE,
> + },
> [PIX_FMT_MONOBLACK] = {
> .nb_channels = 1,
> .log2_chroma_w= 0,
> Index: ffmpeg/libavcodec/pixdesc.c
> ===================================================================
> --- ffmpeg.orig/libavcodec/pixdesc.c 2009-03-17 20:17:12.000000000 +0100
> +++ ffmpeg/libavcodec/pixdesc.c 2009-03-17 20:18:54.000000000 +0100
> @@ -184,6 +184,48 @@
> },
> .flags = PIX_FMT_BE,
> },
> + [PIX_FMT_BGR565LE] = {
> + .nb_channels = 3,
> + .log2_chroma_w= 0,
> + .log2_chroma_h= 0,
> + .comp = {
> + {0,1,2,3,4}, /* B */
> + {0,1,1,5,5}, /* G */
> + {0,1,1,0,4}, /* R */
> + },
> + },
> + [PIX_FMT_BGR565BE] = {
> + .nb_channels = 3,
> + .log2_chroma_w= 0,
> + .log2_chroma_h= 0,
> + .comp = {
> + {0,1,0,3,4}, /* B */
> + {0,1,1,5,5}, /* G */
> + {0,1,1,0,4}, /* R */
> + },
> + .flags = PIX_FMT_BE,
> + },
> + [PIX_FMT_BGR555LE] = {
> + .nb_channels = 3,
> + .log2_chroma_w= 0,
> + .log2_chroma_h= 0,
> + .comp = {
> + {0,1,2,2,4}, /* B */
> + {0,1,1,5,4}, /* G */
> + {0,1,1,0,4}, /* R */
> + },
> + },
> + [PIX_FMT_BGR555BE] = {
> + .nb_channels = 3,
> + .log2_chroma_w= 0,
> + .log2_chroma_h= 0,
> + .comp = {
> + {0,1,0,2,4}, /* B */
> + {0,1,1,5,4}, /* G */
> + {0,1,1,0,4}, /* R */
> + },
> + .flags = PIX_FMT_BE,
> + },
> [PIX_FMT_MONOBLACK] = {
> .nb_channels = 1,
> .log2_chroma_w= 0,
again, ok if tested
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090318/3b27597d/attachment.pgp>
More information about the ffmpeg-devel
mailing list