1 /*
2 * copyright (c) 2006-2012 Michael Niedermayer <michaelni@gmx.at>
3 *
4 * This file is part of FFmpeg.
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21 #ifndef AVUTIL_OLD_PIX_FMTS_H
22 #define AVUTIL_OLD_PIX_FMTS_H
23
24 /*
25 * This header exists to prevent new pixel formats from being accidentally added
26 * to the deprecated list.
27 * Do not include it directly. It will be removed on next major bump
28 *
29 * Do not add new items to this list. Use the AVPixelFormat enum instead.
30 */
32 PIX_FMT_YUV420P,
///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
36 PIX_FMT_YUV422P,
///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
37 PIX_FMT_YUV444P,
///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
38 PIX_FMT_YUV410P,
///< planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
39 PIX_FMT_YUV411P,
///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
41 PIX_FMT_MONOWHITE,
///< Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb
42 PIX_FMT_MONOBLACK,
///< Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb
44 PIX_FMT_YUVJ420P,
///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV420P and setting color_range
45 PIX_FMT_YUVJ422P,
///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV422P and setting color_range
46 PIX_FMT_YUVJ444P,
///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV444P and setting color_range
51 PIX_FMT_BGR8,
///< packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb)
52 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
54 PIX_FMT_RGB8,
///< packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb)
55 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
57 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)
58 PIX_FMT_NV21,
///< as above, but U and V bytes are swapped
59
60 PIX_FMT_ARGB,
///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
61 PIX_FMT_RGBA,
///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
62 PIX_FMT_ABGR,
///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
63 PIX_FMT_BGRA,
///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
64
67 PIX_FMT_YUV440P,
///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
68 PIX_FMT_YUVJ440P,
///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of PIX_FMT_YUV440P and setting color_range
69 PIX_FMT_YUVA420P,
///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
70 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
71 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
72 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
73 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
74 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
75 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
76 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
77
78 PIX_FMT_RGB565BE,
///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
79 PIX_FMT_RGB565LE,
///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
80 PIX_FMT_RGB555BE,
///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), big-endian, most significant bit to 0
81 PIX_FMT_RGB555LE,
///< packed RGB 5:5:5, 16bpp, (msb)1A 5R 5G 5B(lsb), little-endian, most significant bit to 0
82
83 PIX_FMT_BGR565BE,
///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian
84 PIX_FMT_BGR565LE,
///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian
85 PIX_FMT_BGR555BE,
///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), big-endian, most significant bit to 1
86 PIX_FMT_BGR555LE,
///< packed BGR 5:5:5, 16bpp, (msb)1A 5B 5G 5R(lsb), little-endian, most significant bit to 1
87
88 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
89 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
90 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
91
92 PIX_FMT_YUV420P16LE,
///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
93 PIX_FMT_YUV420P16BE,
///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
94 PIX_FMT_YUV422P16LE,
///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
95 PIX_FMT_YUV422P16BE,
///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
96 PIX_FMT_YUV444P16LE,
///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
97 PIX_FMT_YUV444P16BE,
///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
98 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
99 PIX_FMT_DXVA2_VLD,
///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
100
101 PIX_FMT_RGB444LE,
///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
102 PIX_FMT_RGB444BE,
///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0
103 PIX_FMT_BGR444LE,
///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1
104 PIX_FMT_BGR444BE,
///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1
106 PIX_FMT_BGR48BE,
///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian
107 PIX_FMT_BGR48LE,
///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian
108
109 //the following 10 formats have the disadvantage of needing 1 format for each bit depth, thus
110 //If you want to support multiple bit depths, then using PIX_FMT_YUV420P16* with the bpp stored separately
111 //is better
112 PIX_FMT_YUV420P9BE,
///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
113 PIX_FMT_YUV420P9LE,
///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
114 PIX_FMT_YUV420P10BE,
///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
115 PIX_FMT_YUV420P10LE,
///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
116 PIX_FMT_YUV422P10BE,
///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
117 PIX_FMT_YUV422P10LE,
///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
118 PIX_FMT_YUV444P9BE,
///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
119 PIX_FMT_YUV444P9LE,
///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
120 PIX_FMT_YUV444P10BE,
///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
121 PIX_FMT_YUV444P10LE,
///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
122 PIX_FMT_YUV422P9BE,
///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
123 PIX_FMT_YUV422P9LE,
///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
125
126 #ifdef AV_PIX_FMT_ABI_GIT_MASTER
127 PIX_FMT_RGBA64BE,
///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
128 PIX_FMT_RGBA64LE,
///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
129 PIX_FMT_BGRA64BE,
///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
130 PIX_FMT_BGRA64LE,
///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
131 #endif
139
140 #ifndef AV_PIX_FMT_ABI_GIT_MASTER
141 PIX_FMT_RGBA64BE=0x123,
///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
142 PIX_FMT_RGBA64LE,
///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
143 PIX_FMT_BGRA64BE,
///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
144 PIX_FMT_BGRA64LE,
///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
145 #endif
150 PIX_FMT_YUVA444P,
///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
151 PIX_FMT_YUVA422P,
///< planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
152
153 PIX_FMT_YUV420P12BE,
///< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
154 PIX_FMT_YUV420P12LE,
///< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
155 PIX_FMT_YUV420P14BE,
///< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
156 PIX_FMT_YUV420P14LE,
///< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
157 PIX_FMT_YUV422P12BE,
///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
158 PIX_FMT_YUV422P12LE,
///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
159 PIX_FMT_YUV422P14BE,
///< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
160 PIX_FMT_YUV422P14LE,
///< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
161 PIX_FMT_YUV444P12BE,
///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
162 PIX_FMT_YUV444P12LE,
///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
163 PIX_FMT_YUV444P14BE,
///< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
164 PIX_FMT_YUV444P14LE,
///< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
169
170 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
171 #endif /* AVUTIL_OLD_PIX_FMTS_H */