Mercurial > libavutil.hg
comparison pixdesc.c @ 791:ecf67bd079fe libavutil
Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
is more clear and lexically more consistent with API and
documentation.
author | stefano |
---|---|
date | Wed, 18 Nov 2009 00:07:20 +0000 |
parents | 664b42a6cf75 |
children | ecf400e9601b |
comparison
equal
deleted
inserted
replaced
790:25d2ba1c3cf6 | 791:ecf67bd079fe |
---|---|
23 #include "pixdesc.h" | 23 #include "pixdesc.h" |
24 | 24 |
25 const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = { | 25 const AVPixFmtDescriptor av_pix_fmt_descriptors[PIX_FMT_NB] = { |
26 [PIX_FMT_YUV420P] = { | 26 [PIX_FMT_YUV420P] = { |
27 .name = "yuv420p", | 27 .name = "yuv420p", |
28 .nb_channels = 3, | 28 .nb_components= 3, |
29 .log2_chroma_w= 1, | 29 .log2_chroma_w= 1, |
30 .log2_chroma_h= 1, | 30 .log2_chroma_h= 1, |
31 .comp = { | 31 .comp = { |
32 {0,0,1,0,7}, /* Y */ | 32 {0,0,1,0,7}, /* Y */ |
33 {1,0,1,0,7}, /* U */ | 33 {1,0,1,0,7}, /* U */ |
34 {2,0,1,0,7}, /* V */ | 34 {2,0,1,0,7}, /* V */ |
35 }, | 35 }, |
36 }, | 36 }, |
37 [PIX_FMT_YUYV422] = { | 37 [PIX_FMT_YUYV422] = { |
38 .name = "yuyv422", | 38 .name = "yuyv422", |
39 .nb_channels = 3, | 39 .nb_components= 3, |
40 .log2_chroma_w= 1, | 40 .log2_chroma_w= 1, |
41 .log2_chroma_h= 0, | 41 .log2_chroma_h= 0, |
42 .comp = { | 42 .comp = { |
43 {0,1,1,0,7}, /* Y */ | 43 {0,1,1,0,7}, /* Y */ |
44 {0,3,2,0,7}, /* U */ | 44 {0,3,2,0,7}, /* U */ |
45 {0,3,4,0,7}, /* V */ | 45 {0,3,4,0,7}, /* V */ |
46 }, | 46 }, |
47 }, | 47 }, |
48 [PIX_FMT_RGB24] = { | 48 [PIX_FMT_RGB24] = { |
49 .name = "rgb24", | 49 .name = "rgb24", |
50 .nb_channels = 3, | 50 .nb_components= 3, |
51 .log2_chroma_w= 0, | 51 .log2_chroma_w= 0, |
52 .log2_chroma_h= 0, | 52 .log2_chroma_h= 0, |
53 .comp = { | 53 .comp = { |
54 {0,2,1,0,7}, /* R */ | 54 {0,2,1,0,7}, /* R */ |
55 {0,2,2,0,7}, /* G */ | 55 {0,2,2,0,7}, /* G */ |
56 {0,2,3,0,7}, /* B */ | 56 {0,2,3,0,7}, /* B */ |
57 }, | 57 }, |
58 }, | 58 }, |
59 [PIX_FMT_BGR24] = { | 59 [PIX_FMT_BGR24] = { |
60 .name = "bgr24", | 60 .name = "bgr24", |
61 .nb_channels = 3, | 61 .nb_components= 3, |
62 .log2_chroma_w= 0, | 62 .log2_chroma_w= 0, |
63 .log2_chroma_h= 0, | 63 .log2_chroma_h= 0, |
64 .comp = { | 64 .comp = { |
65 {0,2,1,0,7}, /* B */ | 65 {0,2,1,0,7}, /* B */ |
66 {0,2,2,0,7}, /* G */ | 66 {0,2,2,0,7}, /* G */ |
67 {0,2,3,0,7}, /* R */ | 67 {0,2,3,0,7}, /* R */ |
68 }, | 68 }, |
69 }, | 69 }, |
70 [PIX_FMT_YUV422P] = { | 70 [PIX_FMT_YUV422P] = { |
71 .name = "yuv422p", | 71 .name = "yuv422p", |
72 .nb_channels = 3, | 72 .nb_components= 3, |
73 .log2_chroma_w= 1, | 73 .log2_chroma_w= 1, |
74 .log2_chroma_h= 0, | 74 .log2_chroma_h= 0, |
75 .comp = { | 75 .comp = { |
76 {0,0,1,0,7}, /* Y */ | 76 {0,0,1,0,7}, /* Y */ |
77 {1,0,1,0,7}, /* U */ | 77 {1,0,1,0,7}, /* U */ |
78 {2,0,1,0,7}, /* V */ | 78 {2,0,1,0,7}, /* V */ |
79 }, | 79 }, |
80 }, | 80 }, |
81 [PIX_FMT_YUV444P] = { | 81 [PIX_FMT_YUV444P] = { |
82 .name = "yuv444p", | 82 .name = "yuv444p", |
83 .nb_channels = 3, | 83 .nb_components= 3, |
84 .log2_chroma_w= 0, | 84 .log2_chroma_w= 0, |
85 .log2_chroma_h= 0, | 85 .log2_chroma_h= 0, |
86 .comp = { | 86 .comp = { |
87 {0,0,1,0,7}, /* Y */ | 87 {0,0,1,0,7}, /* Y */ |
88 {1,0,1,0,7}, /* U */ | 88 {1,0,1,0,7}, /* U */ |
89 {2,0,1,0,7}, /* V */ | 89 {2,0,1,0,7}, /* V */ |
90 }, | 90 }, |
91 }, | 91 }, |
92 [PIX_FMT_YUV410P] = { | 92 [PIX_FMT_YUV410P] = { |
93 .name = "yuv410p", | 93 .name = "yuv410p", |
94 .nb_channels = 3, | 94 .nb_components= 3, |
95 .log2_chroma_w= 2, | 95 .log2_chroma_w= 2, |
96 .log2_chroma_h= 2, | 96 .log2_chroma_h= 2, |
97 .comp = { | 97 .comp = { |
98 {0,0,1,0,7}, /* Y */ | 98 {0,0,1,0,7}, /* Y */ |
99 {1,0,1,0,7}, /* U */ | 99 {1,0,1,0,7}, /* U */ |
100 {2,0,1,0,7}, /* V */ | 100 {2,0,1,0,7}, /* V */ |
101 }, | 101 }, |
102 }, | 102 }, |
103 [PIX_FMT_YUV411P] = { | 103 [PIX_FMT_YUV411P] = { |
104 .name = "yuv411p", | 104 .name = "yuv411p", |
105 .nb_channels = 3, | 105 .nb_components= 3, |
106 .log2_chroma_w= 2, | 106 .log2_chroma_w= 2, |
107 .log2_chroma_h= 0, | 107 .log2_chroma_h= 0, |
108 .comp = { | 108 .comp = { |
109 {0,0,1,0,7}, /* Y */ | 109 {0,0,1,0,7}, /* Y */ |
110 {1,0,1,0,7}, /* U */ | 110 {1,0,1,0,7}, /* U */ |
111 {2,0,1,0,7}, /* V */ | 111 {2,0,1,0,7}, /* V */ |
112 }, | 112 }, |
113 }, | 113 }, |
114 [PIX_FMT_GRAY8] = { | 114 [PIX_FMT_GRAY8] = { |
115 .name = "gray8", | 115 .name = "gray8", |
116 .nb_channels = 1, | 116 .nb_components= 1, |
117 .log2_chroma_w= 0, | 117 .log2_chroma_w= 0, |
118 .log2_chroma_h= 0, | 118 .log2_chroma_h= 0, |
119 .comp = { | 119 .comp = { |
120 {0,0,1,0,7}, /* Y */ | 120 {0,0,1,0,7}, /* Y */ |
121 }, | 121 }, |
122 }, | 122 }, |
123 [PIX_FMT_MONOWHITE] = { | 123 [PIX_FMT_MONOWHITE] = { |
124 .name = "monowhite", | 124 .name = "monowhite", |
125 .nb_channels = 1, | 125 .nb_components= 1, |
126 .log2_chroma_w= 0, | 126 .log2_chroma_w= 0, |
127 .log2_chroma_h= 0, | 127 .log2_chroma_h= 0, |
128 .comp = { | 128 .comp = { |
129 {0,0,1,0,0}, /* Y */ | 129 {0,0,1,0,0}, /* Y */ |
130 }, | 130 }, |
131 .flags = PIX_FMT_BITSTREAM, | 131 .flags = PIX_FMT_BITSTREAM, |
132 }, | 132 }, |
133 [PIX_FMT_MONOBLACK] = { | 133 [PIX_FMT_MONOBLACK] = { |
134 .name = "monoblack", | 134 .name = "monoblack", |
135 .nb_channels = 1, | 135 .nb_components= 1, |
136 .log2_chroma_w= 0, | 136 .log2_chroma_w= 0, |
137 .log2_chroma_h= 0, | 137 .log2_chroma_h= 0, |
138 .comp = { | 138 .comp = { |
139 {0,0,1,7,0}, /* Y */ | 139 {0,0,1,7,0}, /* Y */ |
140 }, | 140 }, |
141 .flags = PIX_FMT_BITSTREAM, | 141 .flags = PIX_FMT_BITSTREAM, |
142 }, | 142 }, |
143 [PIX_FMT_PAL8] = { | 143 [PIX_FMT_PAL8] = { |
144 .name = "pal8", | 144 .name = "pal8", |
145 .nb_channels = 1, | 145 .nb_components= 1, |
146 .log2_chroma_w= 0, | 146 .log2_chroma_w= 0, |
147 .log2_chroma_h= 0, | 147 .log2_chroma_h= 0, |
148 .comp = { | 148 .comp = { |
149 {0,0,1,0,7}, | 149 {0,0,1,0,7}, |
150 }, | 150 }, |
151 .flags = PIX_FMT_PAL, | 151 .flags = PIX_FMT_PAL, |
152 }, | 152 }, |
153 [PIX_FMT_YUVJ420P] = { | 153 [PIX_FMT_YUVJ420P] = { |
154 .name = "yuvj420p", | 154 .name = "yuvj420p", |
155 .nb_channels = 3, | 155 .nb_components= 3, |
156 .log2_chroma_w= 1, | 156 .log2_chroma_w= 1, |
157 .log2_chroma_h= 1, | 157 .log2_chroma_h= 1, |
158 .comp = { | 158 .comp = { |
159 {0,0,1,0,7}, /* Y */ | 159 {0,0,1,0,7}, /* Y */ |
160 {1,0,1,0,7}, /* U */ | 160 {1,0,1,0,7}, /* U */ |
161 {2,0,1,0,7}, /* V */ | 161 {2,0,1,0,7}, /* V */ |
162 }, | 162 }, |
163 }, | 163 }, |
164 [PIX_FMT_YUVJ422P] = { | 164 [PIX_FMT_YUVJ422P] = { |
165 .name = "yuvj422p", | 165 .name = "yuvj422p", |
166 .nb_channels = 3, | 166 .nb_components= 3, |
167 .log2_chroma_w= 1, | 167 .log2_chroma_w= 1, |
168 .log2_chroma_h= 0, | 168 .log2_chroma_h= 0, |
169 .comp = { | 169 .comp = { |
170 {0,0,1,0,7}, /* Y */ | 170 {0,0,1,0,7}, /* Y */ |
171 {1,0,1,0,7}, /* U */ | 171 {1,0,1,0,7}, /* U */ |
172 {2,0,1,0,7}, /* V */ | 172 {2,0,1,0,7}, /* V */ |
173 }, | 173 }, |
174 }, | 174 }, |
175 [PIX_FMT_YUVJ444P] = { | 175 [PIX_FMT_YUVJ444P] = { |
176 .name = "yuvj444p", | 176 .name = "yuvj444p", |
177 .nb_channels = 3, | 177 .nb_components= 3, |
178 .log2_chroma_w= 0, | 178 .log2_chroma_w= 0, |
179 .log2_chroma_h= 0, | 179 .log2_chroma_h= 0, |
180 .comp = { | 180 .comp = { |
181 {0,0,1,0,7}, /* Y */ | 181 {0,0,1,0,7}, /* Y */ |
182 {1,0,1,0,7}, /* U */ | 182 {1,0,1,0,7}, /* U */ |
191 .name = "xvmc_mpeg2_idct", | 191 .name = "xvmc_mpeg2_idct", |
192 .flags = PIX_FMT_HWACCEL, | 192 .flags = PIX_FMT_HWACCEL, |
193 }, | 193 }, |
194 [PIX_FMT_UYVY422] = { | 194 [PIX_FMT_UYVY422] = { |
195 .name = "uyvy422", | 195 .name = "uyvy422", |
196 .nb_channels = 3, | 196 .nb_components= 3, |
197 .log2_chroma_w= 1, | 197 .log2_chroma_w= 1, |
198 .log2_chroma_h= 0, | 198 .log2_chroma_h= 0, |
199 .comp = { | 199 .comp = { |
200 {0,1,2,0,7}, /* Y */ | 200 {0,1,2,0,7}, /* Y */ |
201 {0,3,1,0,7}, /* U */ | 201 {0,3,1,0,7}, /* U */ |
202 {0,3,3,0,7}, /* V */ | 202 {0,3,3,0,7}, /* V */ |
203 }, | 203 }, |
204 }, | 204 }, |
205 [PIX_FMT_UYYVYY411] = { | 205 [PIX_FMT_UYYVYY411] = { |
206 .name = "uyyvyy411", | 206 .name = "uyyvyy411", |
207 .nb_channels = 3, | 207 .nb_components= 3, |
208 .log2_chroma_w= 2, | 208 .log2_chroma_w= 2, |
209 .log2_chroma_h= 0, | 209 .log2_chroma_h= 0, |
210 .comp = { | 210 .comp = { |
211 {0,3,2,0,7}, /* Y */ | 211 {0,3,2,0,7}, /* Y */ |
212 {0,5,1,0,7}, /* U */ | 212 {0,5,1,0,7}, /* U */ |
213 {0,5,4,0,7}, /* V */ | 213 {0,5,4,0,7}, /* V */ |
214 }, | 214 }, |
215 }, | 215 }, |
216 [PIX_FMT_BGR8] = { | 216 [PIX_FMT_BGR8] = { |
217 .name = "bgr8", | 217 .name = "bgr8", |
218 .nb_channels = 3, | 218 .nb_components= 3, |
219 .log2_chroma_w= 0, | 219 .log2_chroma_w= 0, |
220 .log2_chroma_h= 0, | 220 .log2_chroma_h= 0, |
221 .comp = { | 221 .comp = { |
222 {0,0,1,6,1}, /* B */ | 222 {0,0,1,6,1}, /* B */ |
223 {0,0,1,3,2}, /* G */ | 223 {0,0,1,3,2}, /* G */ |
225 }, | 225 }, |
226 .flags = PIX_FMT_PAL, | 226 .flags = PIX_FMT_PAL, |
227 }, | 227 }, |
228 [PIX_FMT_BGR4] = { | 228 [PIX_FMT_BGR4] = { |
229 .name = "bgr4", | 229 .name = "bgr4", |
230 .nb_channels = 3, | 230 .nb_components= 3, |
231 .log2_chroma_w= 0, | 231 .log2_chroma_w= 0, |
232 .log2_chroma_h= 0, | 232 .log2_chroma_h= 0, |
233 .comp = { | 233 .comp = { |
234 {0,3,1,0,0}, /* B */ | 234 {0,3,1,0,0}, /* B */ |
235 {0,3,2,0,1}, /* G */ | 235 {0,3,2,0,1}, /* G */ |
237 }, | 237 }, |
238 .flags = PIX_FMT_BITSTREAM, | 238 .flags = PIX_FMT_BITSTREAM, |
239 }, | 239 }, |
240 [PIX_FMT_BGR4_BYTE] = { | 240 [PIX_FMT_BGR4_BYTE] = { |
241 .name = "bgr4_byte", | 241 .name = "bgr4_byte", |
242 .nb_channels = 3, | 242 .nb_components= 3, |
243 .log2_chroma_w= 0, | 243 .log2_chroma_w= 0, |
244 .log2_chroma_h= 0, | 244 .log2_chroma_h= 0, |
245 .comp = { | 245 .comp = { |
246 {0,0,1,3,0}, /* B */ | 246 {0,0,1,3,0}, /* B */ |
247 {0,0,1,1,1}, /* G */ | 247 {0,0,1,1,1}, /* G */ |
249 }, | 249 }, |
250 .flags = PIX_FMT_PAL, | 250 .flags = PIX_FMT_PAL, |
251 }, | 251 }, |
252 [PIX_FMT_RGB8] = { | 252 [PIX_FMT_RGB8] = { |
253 .name = "rgb8", | 253 .name = "rgb8", |
254 .nb_channels = 3, | 254 .nb_components= 3, |
255 .log2_chroma_w= 0, | 255 .log2_chroma_w= 0, |
256 .log2_chroma_h= 0, | 256 .log2_chroma_h= 0, |
257 .comp = { | 257 .comp = { |
258 {0,0,1,6,1}, /* R */ | 258 {0,0,1,6,1}, /* R */ |
259 {0,0,1,3,2}, /* G */ | 259 {0,0,1,3,2}, /* G */ |
261 }, | 261 }, |
262 .flags = PIX_FMT_PAL, | 262 .flags = PIX_FMT_PAL, |
263 }, | 263 }, |
264 [PIX_FMT_RGB4] = { | 264 [PIX_FMT_RGB4] = { |
265 .name = "rgb4", | 265 .name = "rgb4", |
266 .nb_channels = 3, | 266 .nb_components= 3, |
267 .log2_chroma_w= 0, | 267 .log2_chroma_w= 0, |
268 .log2_chroma_h= 0, | 268 .log2_chroma_h= 0, |
269 .comp = { | 269 .comp = { |
270 {0,3,1,0,0}, /* R */ | 270 {0,3,1,0,0}, /* R */ |
271 {0,3,2,0,1}, /* G */ | 271 {0,3,2,0,1}, /* G */ |
273 }, | 273 }, |
274 .flags = PIX_FMT_BITSTREAM, | 274 .flags = PIX_FMT_BITSTREAM, |
275 }, | 275 }, |
276 [PIX_FMT_RGB4_BYTE] = { | 276 [PIX_FMT_RGB4_BYTE] = { |
277 .name = "rgb4_byte", | 277 .name = "rgb4_byte", |
278 .nb_channels = 3, | 278 .nb_components= 3, |
279 .log2_chroma_w= 0, | 279 .log2_chroma_w= 0, |
280 .log2_chroma_h= 0, | 280 .log2_chroma_h= 0, |
281 .comp = { | 281 .comp = { |
282 {0,0,1,3,0}, /* R */ | 282 {0,0,1,3,0}, /* R */ |
283 {0,0,1,1,1}, /* G */ | 283 {0,0,1,1,1}, /* G */ |
285 }, | 285 }, |
286 .flags = PIX_FMT_PAL, | 286 .flags = PIX_FMT_PAL, |
287 }, | 287 }, |
288 [PIX_FMT_NV12] = { | 288 [PIX_FMT_NV12] = { |
289 .name = "nv12", | 289 .name = "nv12", |
290 .nb_channels = 3, | 290 .nb_components= 3, |
291 .log2_chroma_w= 1, | 291 .log2_chroma_w= 1, |
292 .log2_chroma_h= 1, | 292 .log2_chroma_h= 1, |
293 .comp = { | 293 .comp = { |
294 {0,0,1,0,7}, /* Y */ | 294 {0,0,1,0,7}, /* Y */ |
295 {1,1,1,0,7}, /* U */ | 295 {1,1,1,0,7}, /* U */ |
296 {1,1,2,0,7}, /* V */ | 296 {1,1,2,0,7}, /* V */ |
297 }, | 297 }, |
298 }, | 298 }, |
299 [PIX_FMT_NV21] = { | 299 [PIX_FMT_NV21] = { |
300 .name = "nv21", | 300 .name = "nv21", |
301 .nb_channels = 3, | 301 .nb_components= 3, |
302 .log2_chroma_w= 1, | 302 .log2_chroma_w= 1, |
303 .log2_chroma_h= 1, | 303 .log2_chroma_h= 1, |
304 .comp = { | 304 .comp = { |
305 {0,0,1,0,7}, /* Y */ | 305 {0,0,1,0,7}, /* Y */ |
306 {1,1,1,0,7}, /* V */ | 306 {1,1,1,0,7}, /* V */ |
307 {1,1,2,0,7}, /* U */ | 307 {1,1,2,0,7}, /* U */ |
308 }, | 308 }, |
309 }, | 309 }, |
310 [PIX_FMT_ARGB] = { | 310 [PIX_FMT_ARGB] = { |
311 .name = "argb", | 311 .name = "argb", |
312 .nb_channels = 4, | 312 .nb_components= 4, |
313 .log2_chroma_w= 0, | 313 .log2_chroma_w= 0, |
314 .log2_chroma_h= 0, | 314 .log2_chroma_h= 0, |
315 .comp = { | 315 .comp = { |
316 {0,3,1,0,7}, /* A */ | 316 {0,3,1,0,7}, /* A */ |
317 {0,3,2,0,7}, /* R */ | 317 {0,3,2,0,7}, /* R */ |
319 {0,3,4,0,7}, /* B */ | 319 {0,3,4,0,7}, /* B */ |
320 }, | 320 }, |
321 }, | 321 }, |
322 [PIX_FMT_RGBA] = { | 322 [PIX_FMT_RGBA] = { |
323 .name = "rgba", | 323 .name = "rgba", |
324 .nb_channels = 4, | 324 .nb_components= 4, |
325 .log2_chroma_w= 0, | 325 .log2_chroma_w= 0, |
326 .log2_chroma_h= 0, | 326 .log2_chroma_h= 0, |
327 .comp = { | 327 .comp = { |
328 {0,3,1,0,7}, /* R */ | 328 {0,3,1,0,7}, /* R */ |
329 {0,3,2,0,7}, /* G */ | 329 {0,3,2,0,7}, /* G */ |
331 {0,3,4,0,7}, /* A */ | 331 {0,3,4,0,7}, /* A */ |
332 }, | 332 }, |
333 }, | 333 }, |
334 [PIX_FMT_ABGR] = { | 334 [PIX_FMT_ABGR] = { |
335 .name = "abgr", | 335 .name = "abgr", |
336 .nb_channels = 4, | 336 .nb_components= 4, |
337 .log2_chroma_w= 0, | 337 .log2_chroma_w= 0, |
338 .log2_chroma_h= 0, | 338 .log2_chroma_h= 0, |
339 .comp = { | 339 .comp = { |
340 {0,3,1,0,7}, /* A */ | 340 {0,3,1,0,7}, /* A */ |
341 {0,3,2,0,7}, /* B */ | 341 {0,3,2,0,7}, /* B */ |
343 {0,3,4,0,7}, /* R */ | 343 {0,3,4,0,7}, /* R */ |
344 }, | 344 }, |
345 }, | 345 }, |
346 [PIX_FMT_BGRA] = { | 346 [PIX_FMT_BGRA] = { |
347 .name = "bgra", | 347 .name = "bgra", |
348 .nb_channels = 4, | 348 .nb_components= 4, |
349 .log2_chroma_w= 0, | 349 .log2_chroma_w= 0, |
350 .log2_chroma_h= 0, | 350 .log2_chroma_h= 0, |
351 .comp = { | 351 .comp = { |
352 {0,3,1,0,7}, /* B */ | 352 {0,3,1,0,7}, /* B */ |
353 {0,3,2,0,7}, /* G */ | 353 {0,3,2,0,7}, /* G */ |
355 {0,3,4,0,7}, /* A */ | 355 {0,3,4,0,7}, /* A */ |
356 }, | 356 }, |
357 }, | 357 }, |
358 [PIX_FMT_GRAY16BE] = { | 358 [PIX_FMT_GRAY16BE] = { |
359 .name = "gray16be", | 359 .name = "gray16be", |
360 .nb_channels = 1, | 360 .nb_components= 1, |
361 .log2_chroma_w= 0, | 361 .log2_chroma_w= 0, |
362 .log2_chroma_h= 0, | 362 .log2_chroma_h= 0, |
363 .comp = { | 363 .comp = { |
364 {0,1,1,0,15}, /* Y */ | 364 {0,1,1,0,15}, /* Y */ |
365 }, | 365 }, |
366 .flags = PIX_FMT_BE, | 366 .flags = PIX_FMT_BE, |
367 }, | 367 }, |
368 [PIX_FMT_GRAY16LE] = { | 368 [PIX_FMT_GRAY16LE] = { |
369 .name = "gray16le", | 369 .name = "gray16le", |
370 .nb_channels = 1, | 370 .nb_components= 1, |
371 .log2_chroma_w= 0, | 371 .log2_chroma_w= 0, |
372 .log2_chroma_h= 0, | 372 .log2_chroma_h= 0, |
373 .comp = { | 373 .comp = { |
374 {0,1,1,0,15}, /* Y */ | 374 {0,1,1,0,15}, /* Y */ |
375 }, | 375 }, |
376 }, | 376 }, |
377 [PIX_FMT_YUV440P] = { | 377 [PIX_FMT_YUV440P] = { |
378 .name = "yuv440p", | 378 .name = "yuv440p", |
379 .nb_channels = 3, | 379 .nb_components= 3, |
380 .log2_chroma_w= 0, | 380 .log2_chroma_w= 0, |
381 .log2_chroma_h= 1, | 381 .log2_chroma_h= 1, |
382 .comp = { | 382 .comp = { |
383 {0,0,1,0,7}, /* Y */ | 383 {0,0,1,0,7}, /* Y */ |
384 {1,0,1,0,7}, /* U */ | 384 {1,0,1,0,7}, /* U */ |
385 {2,0,1,0,7}, /* V */ | 385 {2,0,1,0,7}, /* V */ |
386 }, | 386 }, |
387 }, | 387 }, |
388 [PIX_FMT_YUVJ440P] = { | 388 [PIX_FMT_YUVJ440P] = { |
389 .name = "yuvj440p", | 389 .name = "yuvj440p", |
390 .nb_channels = 3, | 390 .nb_components= 3, |
391 .log2_chroma_w= 0, | 391 .log2_chroma_w= 0, |
392 .log2_chroma_h= 1, | 392 .log2_chroma_h= 1, |
393 .comp = { | 393 .comp = { |
394 {0,0,1,0,7}, /* Y */ | 394 {0,0,1,0,7}, /* Y */ |
395 {1,0,1,0,7}, /* U */ | 395 {1,0,1,0,7}, /* U */ |
396 {2,0,1,0,7}, /* V */ | 396 {2,0,1,0,7}, /* V */ |
397 }, | 397 }, |
398 }, | 398 }, |
399 [PIX_FMT_YUVA420P] = { | 399 [PIX_FMT_YUVA420P] = { |
400 .name = "yuva420p", | 400 .name = "yuva420p", |
401 .nb_channels = 4, | 401 .nb_components= 4, |
402 .log2_chroma_w= 1, | 402 .log2_chroma_w= 1, |
403 .log2_chroma_h= 1, | 403 .log2_chroma_h= 1, |
404 .comp = { | 404 .comp = { |
405 {0,0,1,0,7}, /* Y */ | 405 {0,0,1,0,7}, /* Y */ |
406 {1,0,1,0,7}, /* U */ | 406 {1,0,1,0,7}, /* U */ |
444 .log2_chroma_h = 1, | 444 .log2_chroma_h = 1, |
445 .flags = PIX_FMT_HWACCEL, | 445 .flags = PIX_FMT_HWACCEL, |
446 }, | 446 }, |
447 [PIX_FMT_RGB48BE] = { | 447 [PIX_FMT_RGB48BE] = { |
448 .name = "rgb48be", | 448 .name = "rgb48be", |
449 .nb_channels = 3, | 449 .nb_components= 3, |
450 .log2_chroma_w= 0, | 450 .log2_chroma_w= 0, |
451 .log2_chroma_h= 0, | 451 .log2_chroma_h= 0, |
452 .comp = { | 452 .comp = { |
453 {0,5,1,0,15}, /* R */ | 453 {0,5,1,0,15}, /* R */ |
454 {0,5,3,0,15}, /* G */ | 454 {0,5,3,0,15}, /* G */ |
456 }, | 456 }, |
457 .flags = PIX_FMT_BE, | 457 .flags = PIX_FMT_BE, |
458 }, | 458 }, |
459 [PIX_FMT_RGB48LE] = { | 459 [PIX_FMT_RGB48LE] = { |
460 .name = "rgb48le", | 460 .name = "rgb48le", |
461 .nb_channels = 3, | 461 .nb_components= 3, |
462 .log2_chroma_w= 0, | 462 .log2_chroma_w= 0, |
463 .log2_chroma_h= 0, | 463 .log2_chroma_h= 0, |
464 .comp = { | 464 .comp = { |
465 {0,5,1,0,15}, /* R */ | 465 {0,5,1,0,15}, /* R */ |
466 {0,5,3,0,15}, /* G */ | 466 {0,5,3,0,15}, /* G */ |
467 {0,5,5,0,15}, /* B */ | 467 {0,5,5,0,15}, /* B */ |
468 }, | 468 }, |
469 }, | 469 }, |
470 [PIX_FMT_RGB565BE] = { | 470 [PIX_FMT_RGB565BE] = { |
471 .name = "rgb565be", | 471 .name = "rgb565be", |
472 .nb_channels = 3, | 472 .nb_components= 3, |
473 .log2_chroma_w= 0, | 473 .log2_chroma_w= 0, |
474 .log2_chroma_h= 0, | 474 .log2_chroma_h= 0, |
475 .comp = { | 475 .comp = { |
476 {0,1,0,3,4}, /* R */ | 476 {0,1,0,3,4}, /* R */ |
477 {0,1,1,5,5}, /* G */ | 477 {0,1,1,5,5}, /* G */ |
479 }, | 479 }, |
480 .flags = PIX_FMT_BE, | 480 .flags = PIX_FMT_BE, |
481 }, | 481 }, |
482 [PIX_FMT_RGB565LE] = { | 482 [PIX_FMT_RGB565LE] = { |
483 .name = "rgb565le", | 483 .name = "rgb565le", |
484 .nb_channels = 3, | 484 .nb_components= 3, |
485 .log2_chroma_w= 0, | 485 .log2_chroma_w= 0, |
486 .log2_chroma_h= 0, | 486 .log2_chroma_h= 0, |
487 .comp = { | 487 .comp = { |
488 {0,1,2,3,4}, /* R */ | 488 {0,1,2,3,4}, /* R */ |
489 {0,1,1,5,5}, /* G */ | 489 {0,1,1,5,5}, /* G */ |
490 {0,1,1,0,4}, /* B */ | 490 {0,1,1,0,4}, /* B */ |
491 }, | 491 }, |
492 }, | 492 }, |
493 [PIX_FMT_RGB555BE] = { | 493 [PIX_FMT_RGB555BE] = { |
494 .name = "rgb555be", | 494 .name = "rgb555be", |
495 .nb_channels = 3, | 495 .nb_components= 3, |
496 .log2_chroma_w= 0, | 496 .log2_chroma_w= 0, |
497 .log2_chroma_h= 0, | 497 .log2_chroma_h= 0, |
498 .comp = { | 498 .comp = { |
499 {0,1,0,2,4}, /* R */ | 499 {0,1,0,2,4}, /* R */ |
500 {0,1,1,5,4}, /* G */ | 500 {0,1,1,5,4}, /* G */ |
502 }, | 502 }, |
503 .flags = PIX_FMT_BE, | 503 .flags = PIX_FMT_BE, |
504 }, | 504 }, |
505 [PIX_FMT_RGB555LE] = { | 505 [PIX_FMT_RGB555LE] = { |
506 .name = "rgb555le", | 506 .name = "rgb555le", |
507 .nb_channels = 3, | 507 .nb_components= 3, |
508 .log2_chroma_w= 0, | 508 .log2_chroma_w= 0, |
509 .log2_chroma_h= 0, | 509 .log2_chroma_h= 0, |
510 .comp = { | 510 .comp = { |
511 {0,1,2,2,4}, /* R */ | 511 {0,1,2,2,4}, /* R */ |
512 {0,1,1,5,4}, /* G */ | 512 {0,1,1,5,4}, /* G */ |
513 {0,1,1,0,4}, /* B */ | 513 {0,1,1,0,4}, /* B */ |
514 }, | 514 }, |
515 }, | 515 }, |
516 [PIX_FMT_BGR565BE] = { | 516 [PIX_FMT_BGR565BE] = { |
517 .name = "bgr565be", | 517 .name = "bgr565be", |
518 .nb_channels = 3, | 518 .nb_components= 3, |
519 .log2_chroma_w= 0, | 519 .log2_chroma_w= 0, |
520 .log2_chroma_h= 0, | 520 .log2_chroma_h= 0, |
521 .comp = { | 521 .comp = { |
522 {0,1,0,3,4}, /* B */ | 522 {0,1,0,3,4}, /* B */ |
523 {0,1,1,5,5}, /* G */ | 523 {0,1,1,5,5}, /* G */ |
525 }, | 525 }, |
526 .flags = PIX_FMT_BE, | 526 .flags = PIX_FMT_BE, |
527 }, | 527 }, |
528 [PIX_FMT_BGR565LE] = { | 528 [PIX_FMT_BGR565LE] = { |
529 .name = "bgr565le", | 529 .name = "bgr565le", |
530 .nb_channels = 3, | 530 .nb_components= 3, |
531 .log2_chroma_w= 0, | 531 .log2_chroma_w= 0, |
532 .log2_chroma_h= 0, | 532 .log2_chroma_h= 0, |
533 .comp = { | 533 .comp = { |
534 {0,1,2,3,4}, /* B */ | 534 {0,1,2,3,4}, /* B */ |
535 {0,1,1,5,5}, /* G */ | 535 {0,1,1,5,5}, /* G */ |
536 {0,1,1,0,4}, /* R */ | 536 {0,1,1,0,4}, /* R */ |
537 }, | 537 }, |
538 }, | 538 }, |
539 [PIX_FMT_BGR555BE] = { | 539 [PIX_FMT_BGR555BE] = { |
540 .name = "bgr555be", | 540 .name = "bgr555be", |
541 .nb_channels = 3, | 541 .nb_components= 3, |
542 .log2_chroma_w= 0, | 542 .log2_chroma_w= 0, |
543 .log2_chroma_h= 0, | 543 .log2_chroma_h= 0, |
544 .comp = { | 544 .comp = { |
545 {0,1,0,2,4}, /* B */ | 545 {0,1,0,2,4}, /* B */ |
546 {0,1,1,5,4}, /* G */ | 546 {0,1,1,5,4}, /* G */ |
548 }, | 548 }, |
549 .flags = PIX_FMT_BE, | 549 .flags = PIX_FMT_BE, |
550 }, | 550 }, |
551 [PIX_FMT_BGR555LE] = { | 551 [PIX_FMT_BGR555LE] = { |
552 .name = "bgr555le", | 552 .name = "bgr555le", |
553 .nb_channels = 3, | 553 .nb_components= 3, |
554 .log2_chroma_w= 0, | 554 .log2_chroma_w= 0, |
555 .log2_chroma_h= 0, | 555 .log2_chroma_h= 0, |
556 .comp = { | 556 .comp = { |
557 {0,1,2,2,4}, /* B */ | 557 {0,1,2,2,4}, /* B */ |
558 {0,1,1,5,4}, /* G */ | 558 {0,1,1,5,4}, /* G */ |
577 .log2_chroma_h = 1, | 577 .log2_chroma_h = 1, |
578 .flags = PIX_FMT_HWACCEL, | 578 .flags = PIX_FMT_HWACCEL, |
579 }, | 579 }, |
580 [PIX_FMT_YUV420P16LE] = { | 580 [PIX_FMT_YUV420P16LE] = { |
581 .name = "yuv420p16le", | 581 .name = "yuv420p16le", |
582 .nb_channels = 3, | 582 .nb_components= 3, |
583 .log2_chroma_w= 1, | 583 .log2_chroma_w= 1, |
584 .log2_chroma_h= 1, | 584 .log2_chroma_h= 1, |
585 .comp = { | 585 .comp = { |
586 {0,1,1,0,15}, /* Y */ | 586 {0,1,1,0,15}, /* Y */ |
587 {1,1,1,0,15}, /* U */ | 587 {1,1,1,0,15}, /* U */ |
588 {2,1,1,0,15}, /* V */ | 588 {2,1,1,0,15}, /* V */ |
589 }, | 589 }, |
590 }, | 590 }, |
591 [PIX_FMT_YUV420P16BE] = { | 591 [PIX_FMT_YUV420P16BE] = { |
592 .name = "yuv420p16be", | 592 .name = "yuv420p16be", |
593 .nb_channels = 3, | 593 .nb_components= 3, |
594 .log2_chroma_w= 1, | 594 .log2_chroma_w= 1, |
595 .log2_chroma_h= 1, | 595 .log2_chroma_h= 1, |
596 .comp = { | 596 .comp = { |
597 {0,1,1,0,15}, /* Y */ | 597 {0,1,1,0,15}, /* Y */ |
598 {1,1,1,0,15}, /* U */ | 598 {1,1,1,0,15}, /* U */ |
600 }, | 600 }, |
601 .flags = PIX_FMT_BE, | 601 .flags = PIX_FMT_BE, |
602 }, | 602 }, |
603 [PIX_FMT_YUV422P16LE] = { | 603 [PIX_FMT_YUV422P16LE] = { |
604 .name = "yuv422p16le", | 604 .name = "yuv422p16le", |
605 .nb_channels = 3, | 605 .nb_components= 3, |
606 .log2_chroma_w= 1, | 606 .log2_chroma_w= 1, |
607 .log2_chroma_h= 0, | 607 .log2_chroma_h= 0, |
608 .comp = { | 608 .comp = { |
609 {0,1,1,0,15}, /* Y */ | 609 {0,1,1,0,15}, /* Y */ |
610 {1,1,1,0,15}, /* U */ | 610 {1,1,1,0,15}, /* U */ |
611 {2,1,1,0,15}, /* V */ | 611 {2,1,1,0,15}, /* V */ |
612 }, | 612 }, |
613 }, | 613 }, |
614 [PIX_FMT_YUV422P16BE] = { | 614 [PIX_FMT_YUV422P16BE] = { |
615 .name = "yuv422p16be", | 615 .name = "yuv422p16be", |
616 .nb_channels = 3, | 616 .nb_components= 3, |
617 .log2_chroma_w= 1, | 617 .log2_chroma_w= 1, |
618 .log2_chroma_h= 0, | 618 .log2_chroma_h= 0, |
619 .comp = { | 619 .comp = { |
620 {0,1,1,0,15}, /* Y */ | 620 {0,1,1,0,15}, /* Y */ |
621 {1,1,1,0,15}, /* U */ | 621 {1,1,1,0,15}, /* U */ |
623 }, | 623 }, |
624 .flags = PIX_FMT_BE, | 624 .flags = PIX_FMT_BE, |
625 }, | 625 }, |
626 [PIX_FMT_YUV444P16LE] = { | 626 [PIX_FMT_YUV444P16LE] = { |
627 .name = "yuv444p16le", | 627 .name = "yuv444p16le", |
628 .nb_channels = 3, | 628 .nb_components= 3, |
629 .log2_chroma_w= 0, | 629 .log2_chroma_w= 0, |
630 .log2_chroma_h= 0, | 630 .log2_chroma_h= 0, |
631 .comp = { | 631 .comp = { |
632 {0,1,1,0,15}, /* Y */ | 632 {0,1,1,0,15}, /* Y */ |
633 {1,1,1,0,15}, /* U */ | 633 {1,1,1,0,15}, /* U */ |
634 {2,1,1,0,15}, /* V */ | 634 {2,1,1,0,15}, /* V */ |
635 }, | 635 }, |
636 }, | 636 }, |
637 [PIX_FMT_YUV444P16BE] = { | 637 [PIX_FMT_YUV444P16BE] = { |
638 .name = "yuv444p16be", | 638 .name = "yuv444p16be", |
639 .nb_channels = 3, | 639 .nb_components= 3, |
640 .log2_chroma_w= 0, | 640 .log2_chroma_w= 0, |
641 .log2_chroma_h= 0, | 641 .log2_chroma_h= 0, |
642 .comp = { | 642 .comp = { |
643 {0,1,1,0,15}, /* Y */ | 643 {0,1,1,0,15}, /* Y */ |
644 {1,1,1,0,15}, /* U */ | 644 {1,1,1,0,15}, /* U */ |
651 int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc) | 651 int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc) |
652 { | 652 { |
653 int c, bits = 0; | 653 int c, bits = 0; |
654 int log2_pixels = pixdesc->log2_chroma_w + pixdesc->log2_chroma_h; | 654 int log2_pixels = pixdesc->log2_chroma_w + pixdesc->log2_chroma_h; |
655 | 655 |
656 for (c = 0; c < pixdesc->nb_channels; c++) { | 656 for (c = 0; c < pixdesc->nb_components; c++) { |
657 int s = c==1 || c==2 ? 0 : log2_pixels; | 657 int s = c==1 || c==2 ? 0 : log2_pixels; |
658 bits += (pixdesc->comp[c].depth_minus1+1) << s; | 658 bits += (pixdesc->comp[c].depth_minus1+1) << s; |
659 } | 659 } |
660 | 660 |
661 return bits >> log2_pixels; | 661 return bits >> log2_pixels; |