annotate pixfmt.h @ 1028:5dbb12a37c3d libavutil tip

Move av_set_options_string() from libavfilter to libavutil.
author stefano
date Mon, 27 Sep 2010 22:09:53 +0000
parents 11ae7ad12c53
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
1 /*
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
2 * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
3 *
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
4 * This file is part of FFmpeg.
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
5 *
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
10 *
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
14 * Lesser General Public License for more details.
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
15 *
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
19 */
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
20
671
e847c4a1d29a Split avutil.h, move all the pixel format definitions to the new
stefano
parents: 670
diff changeset
21 #ifndef AVUTIL_PIXFMT_H
e847c4a1d29a Split avutil.h, move all the pixel format definitions to the new
stefano
parents: 670
diff changeset
22 #define AVUTIL_PIXFMT_H
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
23
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
24 /**
899
0795a743bda1 Remove explicit filename from Doxygen @file commands.
diego
parents: 898
diff changeset
25 * @file
671
e847c4a1d29a Split avutil.h, move all the pixel format definitions to the new
stefano
parents: 670
diff changeset
26 * pixel format definitions
e847c4a1d29a Split avutil.h, move all the pixel format definitions to the new
stefano
parents: 670
diff changeset
27 *
e847c4a1d29a Split avutil.h, move all the pixel format definitions to the new
stefano
parents: 670
diff changeset
28 * @warning This file has to be considered an internal but installed
e847c4a1d29a Split avutil.h, move all the pixel format definitions to the new
stefano
parents: 670
diff changeset
29 * header, so it should not be directly included in your projects.
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
30 */
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
31
815
8f2141bc8fc4 Use avconfig.h in pixfmt.h
mru
parents: 811
diff changeset
32 #include "libavutil/avconfig.h"
8f2141bc8fc4 Use avconfig.h in pixfmt.h
mru
parents: 811
diff changeset
33
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
34 /**
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
35 * Pixel format. Notes:
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
36 *
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
37 * PIX_FMT_RGB32 is handled in an endian-specific manner. An RGBA
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
38 * color is put together as:
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
39 * (A << 24) | (R << 16) | (G << 8) | B
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
40 * This is stored as BGRA on little-endian CPU architectures and ARGB on
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
41 * big-endian CPUs.
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
42 *
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
43 * When the pixel format is palettized RGB (PIX_FMT_PAL8), the palettized
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
44 * image data is stored in AVFrame.data[0]. The palette is transported in
636
c04808220c83 spelling/grammar/consistency review part II
diego
parents: 633
diff changeset
45 * AVFrame.data[1], is 1024 bytes long (256 4-byte entries) and is
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
46 * formatted the same as in PIX_FMT_RGB32 described above (i.e., it is
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
47 * also endian-specific). Note also that the individual RGB palette
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
48 * components stored in AVFrame.data[1] should be in the range 0..255.
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
49 * This is important as many custom PAL8 video codecs that were designed
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
50 * to run on the IBM VGA graphics adapter use 6-bit palette components.
652
065d4a472bab Ensure that the palette is set in data[1] for all 8bit formats.
michael
parents: 642
diff changeset
51 *
065d4a472bab Ensure that the palette is set in data[1] for all 8bit formats.
michael
parents: 642
diff changeset
52 * For all the 8bit per pixel formats, an RGB32 palette is in data[1] like
065d4a472bab Ensure that the palette is set in data[1] for all 8bit formats.
michael
parents: 642
diff changeset
53 * for pal8. This palette is filled in automatically by the function
065d4a472bab Ensure that the palette is set in data[1] for all 8bit formats.
michael
parents: 642
diff changeset
54 * allocating the picture.
670
69e93bca7fd3 Add note about big vs. little endian.
michael
parents: 669
diff changeset
55 *
69e93bca7fd3 Add note about big vs. little endian.
michael
parents: 669
diff changeset
56 * Note, make sure that all newly added big endian formats have pix_fmt&1==1
69e93bca7fd3 Add note about big vs. little endian.
michael
parents: 669
diff changeset
57 * and that all newly added little endian formats have pix_fmt&1==0
69e93bca7fd3 Add note about big vs. little endian.
michael
parents: 669
diff changeset
58 * this allows simpler detection of big vs little endian.
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
59 */
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
60 enum PixelFormat {
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
61 PIX_FMT_NONE= -1,
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
62 PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
63 PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
64 PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB...
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
65 PIX_FMT_BGR24, ///< packed RGB 8:8:8, 24bpp, BGRBGR...
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
66 PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
67 PIX_FMT_YUV444P, ///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
68 PIX_FMT_YUV410P, ///< planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
69 PIX_FMT_YUV411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
70 PIX_FMT_GRAY8, ///< Y , 8bpp
921
45f0b4eda100 Clarify description for the MONOWHITE and MONOBLACK pixel formats.
stefano
parents: 920
diff changeset
71 PIX_FMT_MONOWHITE, ///< Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb
45f0b4eda100 Clarify description for the MONOWHITE and MONOBLACK pixel formats.
stefano
parents: 920
diff changeset
72 PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
73 PIX_FMT_PAL8, ///< 8 bit with PIX_FMT_RGB32 palette
928
11ae7ad12c53 Deprecate PIX_FMT_YUVJ*
michael
parents: 921
diff changeset
74 PIX_FMT_YUVJ420P, ///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV420P and setting color_range
11ae7ad12c53 Deprecate PIX_FMT_YUVJ*
michael
parents: 921
diff changeset
75 PIX_FMT_YUVJ422P, ///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV422P and setting color_range
11ae7ad12c53 Deprecate PIX_FMT_YUVJ*
michael
parents: 921
diff changeset
76 PIX_FMT_YUVJ444P, ///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV444P and setting color_range
665
6780cc679b76 Remove reference to renamed header file xvmc_render.h.
diego
parents: 652
diff changeset
77 PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
78 PIX_FMT_XVMC_MPEG2_IDCT,
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
79 PIX_FMT_UYVY422, ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
80 PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
81 PIX_FMT_BGR8, ///< packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb)
920
76cc47059fb3 Clarify descriptions for RGB4, BGR4, NV12, NV21,
stefano
parents: 899
diff changeset
82 PIX_FMT_BGR4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
83 PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
84 PIX_FMT_RGB8, ///< packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb)
920
76cc47059fb3 Clarify descriptions for RGB4, BGR4, NV12, NV21,
stefano
parents: 899
diff changeset
85 PIX_FMT_RGB4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
86 PIX_FMT_RGB4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb)
920
76cc47059fb3 Clarify descriptions for RGB4, BGR4, NV12, NV21,
stefano
parents: 899
diff changeset
87 PIX_FMT_NV12, ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
88 PIX_FMT_NV21, ///< as above, but U and V bytes are swapped
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
89
708
2cd525e90b45 Make the pixel formats which were defined as macros:
stefano
parents: 707
diff changeset
90 PIX_FMT_ARGB, ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
2cd525e90b45 Make the pixel formats which were defined as macros:
stefano
parents: 707
diff changeset
91 PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
2cd525e90b45 Make the pixel formats which were defined as macros:
stefano
parents: 707
diff changeset
92 PIX_FMT_ABGR, ///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
2cd525e90b45 Make the pixel formats which were defined as macros:
stefano
parents: 707
diff changeset
93 PIX_FMT_BGRA, ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
94
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
95 PIX_FMT_GRAY16BE, ///< Y , 16bpp, big-endian
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
96 PIX_FMT_GRAY16LE, ///< Y , 16bpp, little-endian
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
97 PIX_FMT_YUV440P, ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
928
11ae7ad12c53 Deprecate PIX_FMT_YUVJ*
michael
parents: 921
diff changeset
98 PIX_FMT_YUVJ440P, ///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of PIX_FMT_YUV440P and setting color_range
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
99 PIX_FMT_YUVA420P, ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
100 PIX_FMT_VDPAU_H264,///< H.264 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
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
101 PIX_FMT_VDPAU_MPEG1,///< MPEG-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
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
102 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
614
f24ae37e1ebb Add VDPAU hardware accelerated decoding for WMV3 and VC1 which can
cehoyos
parents: 609
diff changeset
103 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
633
8c48a1b999a3 spelling/grammar/consistency review part I
diego
parents: 614
diff changeset
104 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
920
76cc47059fb3 Clarify descriptions for RGB4, BGR4, NV12, NV21,
stefano
parents: 899
diff changeset
105 PIX_FMT_RGB48BE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian
76cc47059fb3 Clarify descriptions for RGB4, BGR4, NV12, NV21,
stefano
parents: 899
diff changeset
106 PIX_FMT_RGB48LE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian
707
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
107
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
108 PIX_FMT_RGB565BE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
109 PIX_FMT_RGB565LE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
110 PIX_FMT_RGB555BE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
111 PIX_FMT_RGB555LE, ///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
112
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
113 PIX_FMT_BGR565BE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
114 PIX_FMT_BGR565LE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
115 PIX_FMT_BGR555BE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
116 PIX_FMT_BGR555LE, ///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1
3138bb2c6780 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
stefano
parents: 706
diff changeset
117
690
a2eb62aebb99 Update VA API pixfmts documentation: struct vaapi_render_state
gb
parents: 673
diff changeset
118 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
a2eb62aebb99 Update VA API pixfmts documentation: struct vaapi_render_state
gb
parents: 673
diff changeset
119 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
a2eb62aebb99 Update VA API pixfmts documentation: struct vaapi_render_state
gb
parents: 673
diff changeset
120 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
731
c9501830f9b2 Add 420,422 and 444 planar 16bit per component pix formats.
michael
parents: 711
diff changeset
121
776
0c82f8789664 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
ramiro
parents: 758
diff changeset
122 PIX_FMT_YUV420P16LE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
0c82f8789664 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
ramiro
parents: 758
diff changeset
123 PIX_FMT_YUV420P16BE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
0c82f8789664 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
ramiro
parents: 758
diff changeset
124 PIX_FMT_YUV422P16LE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
0c82f8789664 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
ramiro
parents: 758
diff changeset
125 PIX_FMT_YUV422P16BE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
0c82f8789664 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
ramiro
parents: 758
diff changeset
126 PIX_FMT_YUV444P16LE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
0c82f8789664 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
ramiro
parents: 758
diff changeset
127 PIX_FMT_YUV444P16BE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
786
196996ad1fc9 Add VDPAU hardware accelerated decoding for MPEG-4 ASP which can be used
cehoyos
parents: 776
diff changeset
128 PIX_FMT_VDPAU_MPEG4, ///< MPEG4 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
818
2715180d7ffa H264 DXVA2 implementation
fenrir
parents: 815
diff changeset
129 PIX_FMT_DXVA2_VLD, ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
857
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 818
diff changeset
130
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 818
diff changeset
131 PIX_FMT_RGB444BE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 818
diff changeset
132 PIX_FMT_RGB444LE, ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 818
diff changeset
133 PIX_FMT_BGR444BE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 818
diff changeset
134 PIX_FMT_BGR444LE, ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1
898
9087f43dbcd2 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
andoma
parents: 857
diff changeset
135 PIX_FMT_Y400A, ///< 8bit gray, 8bit alpha
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
136 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
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
137 };
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
138
815
8f2141bc8fc4 Use avconfig.h in pixfmt.h
mru
parents: 811
diff changeset
139 #if AV_HAVE_BIGENDIAN
710
336b1ad91362 Make the PIX_FMT_NE() macro more generic.
stefano
parents: 708
diff changeset
140 # define PIX_FMT_NE(be, le) PIX_FMT_##be
705
da8296e7a4d6 Implement PIX_FMT_NE() macro.
stefano
parents: 695
diff changeset
141 #else
710
336b1ad91362 Make the PIX_FMT_NE() macro more generic.
stefano
parents: 708
diff changeset
142 # define PIX_FMT_NE(be, le) PIX_FMT_##le
705
da8296e7a4d6 Implement PIX_FMT_NE() macro.
stefano
parents: 695
diff changeset
143 #endif
da8296e7a4d6 Implement PIX_FMT_NE() macro.
stefano
parents: 695
diff changeset
144
711
4a112abac1f8 Use PIX_FMT_NE() for defining the PIX_FMT_RGB32 variants macros.
stefano
parents: 710
diff changeset
145 #define PIX_FMT_RGB32 PIX_FMT_NE(ARGB, BGRA)
4a112abac1f8 Use PIX_FMT_NE() for defining the PIX_FMT_RGB32 variants macros.
stefano
parents: 710
diff changeset
146 #define PIX_FMT_RGB32_1 PIX_FMT_NE(RGBA, ABGR)
4a112abac1f8 Use PIX_FMT_NE() for defining the PIX_FMT_RGB32 variants macros.
stefano
parents: 710
diff changeset
147 #define PIX_FMT_BGR32 PIX_FMT_NE(ABGR, RGBA)
4a112abac1f8 Use PIX_FMT_NE() for defining the PIX_FMT_RGB32 variants macros.
stefano
parents: 710
diff changeset
148 #define PIX_FMT_BGR32_1 PIX_FMT_NE(BGRA, ARGB)
267
d363937cc410 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
lu_zero
parents:
diff changeset
149
710
336b1ad91362 Make the PIX_FMT_NE() macro more generic.
stefano
parents: 708
diff changeset
150 #define PIX_FMT_GRAY16 PIX_FMT_NE(GRAY16BE, GRAY16LE)
336b1ad91362 Make the PIX_FMT_NE() macro more generic.
stefano
parents: 708
diff changeset
151 #define PIX_FMT_RGB48 PIX_FMT_NE(RGB48BE, RGB48LE)
336b1ad91362 Make the PIX_FMT_NE() macro more generic.
stefano
parents: 708
diff changeset
152 #define PIX_FMT_RGB565 PIX_FMT_NE(RGB565BE, RGB565LE)
336b1ad91362 Make the PIX_FMT_NE() macro more generic.
stefano
parents: 708
diff changeset
153 #define PIX_FMT_RGB555 PIX_FMT_NE(RGB555BE, RGB555LE)
857
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 818
diff changeset
154 #define PIX_FMT_RGB444 PIX_FMT_NE(RGB444BE, RGB444LE)
710
336b1ad91362 Make the PIX_FMT_NE() macro more generic.
stefano
parents: 708
diff changeset
155 #define PIX_FMT_BGR565 PIX_FMT_NE(BGR565BE, BGR565LE)
336b1ad91362 Make the PIX_FMT_NE() macro more generic.
stefano
parents: 708
diff changeset
156 #define PIX_FMT_BGR555 PIX_FMT_NE(BGR555BE, BGR555LE)
857
c88d7a5ffa24 Add initial support for 12-bit color mode.
benoit
parents: 818
diff changeset
157 #define PIX_FMT_BGR444 PIX_FMT_NE(BGR444BE, BGR444LE)
706
40979c781a28 Use PIX_FMT_NE() macro.
stefano
parents: 705
diff changeset
158
776
0c82f8789664 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
ramiro
parents: 758
diff changeset
159 #define PIX_FMT_YUV420P16 PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
0c82f8789664 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
ramiro
parents: 758
diff changeset
160 #define PIX_FMT_YUV422P16 PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
0c82f8789664 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
ramiro
parents: 758
diff changeset
161 #define PIX_FMT_YUV444P16 PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
731
c9501830f9b2 Add 420,422 and 444 planar 16bit per component pix formats.
michael
parents: 711
diff changeset
162
671
e847c4a1d29a Split avutil.h, move all the pixel format definitions to the new
stefano
parents: 670
diff changeset
163 #endif /* AVUTIL_PIXFMT_H */