Mercurial > libavcodec.hg
comparison pixdesc.c @ 9018:98995efdf3aa libavcodec
Pixel Format descriptor, try #1.
(yes its intentionally unused, this is intended as a basis for further
work, and to prevent repeation of the whole discussion dying and the
results being forgotten)
author | michael |
---|---|
date | Tue, 24 Feb 2009 01:08:29 +0000 |
parents | |
children | 47e456d3f15b |
comparison
equal
deleted
inserted
replaced
9017:1e2c96617886 | 9018:98995efdf3aa |
---|---|
1 /* | |
2 * Pixel Format descriptor | |
3 * Copyright (c) 2009 Michael Niedermayer <michaelni@gmx.at> | |
4 * | |
5 * This file is part of FFmpeg. | |
6 * | |
7 * FFmpeg is free software; you can redistribute it and/or | |
8 * modify it under the terms of the GNU Lesser General Public | |
9 * License as published by the Free Software Foundation; either | |
10 * version 2.1 of the License, or (at your option) any later version. | |
11 * | |
12 * FFmpeg is distributed in the hope that it will be useful, | |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 * Lesser General Public License for more details. | |
16 * | |
17 * You should have received a copy of the GNU Lesser General Public | |
18 * License along with FFmpeg; if not, write to the Free Software | |
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
20 */ | |
21 | |
22 #include "libavutil/pixfmt.h" | |
23 #include "pixdesc.h" | |
24 | |
25 static const AVPixFmtDescriptor pix_fmt_desc[PIX_FMT_NB] = { | |
26 [PIX_FMT_YUV422P] = { | |
27 .nb_channels = 3, | |
28 .log2_chroma_w= 1, | |
29 .log2_chroma_h= 0, | |
30 .comp = { | |
31 {0,0,1,0,7}, | |
32 {1,0,1,0,7}, | |
33 {2,0,1,0,7}, | |
34 }, | |
35 }, | |
36 [PIX_FMT_YUV420P] = { | |
37 .nb_channels = 3, | |
38 .log2_chroma_w= 1, | |
39 .log2_chroma_h= 1, | |
40 .comp = { | |
41 {0,0,1,0,7}, | |
42 {1,0,1,0,7}, | |
43 {2,0,1,0,7}, | |
44 }, | |
45 }, | |
46 [PIX_FMT_YUV410P] = { | |
47 .nb_channels = 3, | |
48 .log2_chroma_w= 2, | |
49 .log2_chroma_h= 2, | |
50 .comp = { | |
51 {0,0,1,0,7}, | |
52 {1,0,1,0,7}, | |
53 {2,0,1,0,7}, | |
54 }, | |
55 }, | |
56 [PIX_FMT_NV12] = { | |
57 .nb_channels = 3, | |
58 .log2_chroma_w= 1, | |
59 .log2_chroma_h= 1, | |
60 .comp = { | |
61 {0,0,1,0,7}, | |
62 {1,1,1,0,7}, | |
63 {1,1,2,0,7}, | |
64 }, | |
65 }, | |
66 [PIX_FMT_YUYV422] = { | |
67 .nb_channels = 3, | |
68 .log2_chroma_w= 1, | |
69 .log2_chroma_h= 0, | |
70 .comp = { | |
71 {0,1,1,0,7}, | |
72 {0,3,2,0,7}, | |
73 {0,3,4,0,7}, | |
74 }, | |
75 }, | |
76 [PIX_FMT_UYVY422] = { | |
77 .nb_channels = 3, | |
78 .log2_chroma_w= 1, | |
79 .log2_chroma_h= 0, | |
80 .comp = { | |
81 {0,1,2,0,7}, | |
82 {0,3,1,0,7}, | |
83 {0,3,3,0,7}, | |
84 }, | |
85 }, | |
86 [PIX_FMT_GRAY16LE] = { | |
87 .nb_channels = 1, | |
88 .log2_chroma_w= 0, | |
89 .log2_chroma_h= 0, | |
90 .comp = { | |
91 {0,1,1,0,15}, | |
92 }, | |
93 }, | |
94 [PIX_FMT_GRAY16BE] = { | |
95 .nb_channels = 1, | |
96 .log2_chroma_w= 0, | |
97 .log2_chroma_h= 0, | |
98 .comp = { | |
99 {0,1,1,0,15}, | |
100 }, | |
101 .flags = PIX_FMT_BE, | |
102 }, | |
103 [PIX_FMT_RGB24] = { | |
104 .nb_channels = 3, | |
105 .log2_chroma_w= 0, | |
106 .log2_chroma_h= 0, | |
107 .comp = { | |
108 {0,2,1,0,7}, | |
109 {0,2,2,0,7}, | |
110 {0,2,3,0,7}, | |
111 }, | |
112 }, | |
113 [PIX_FMT_RGBA] = { | |
114 .nb_channels = 4, | |
115 .log2_chroma_w= 0, | |
116 .log2_chroma_h= 0, | |
117 .comp = { | |
118 {0,3,1,0,7}, | |
119 {0,3,2,0,7}, | |
120 {0,3,3,0,7}, | |
121 {0,3,4,0,7}, | |
122 }, | |
123 }, | |
124 [PIX_FMT_RGB48LE] = { | |
125 .nb_channels = 3, | |
126 .log2_chroma_w= 0, | |
127 .log2_chroma_h= 0, | |
128 .comp = { | |
129 {0,5,1,0,15}, | |
130 {0,5,3,0,15}, | |
131 {0,5,5,0,15}, | |
132 }, | |
133 }, | |
134 [PIX_FMT_RGB48BE] = { | |
135 .nb_channels = 3, | |
136 .log2_chroma_w= 0, | |
137 .log2_chroma_h= 0, | |
138 .comp = { | |
139 {0,5,1,0,15}, | |
140 {0,5,3,0,15}, | |
141 {0,5,5,0,15}, | |
142 }, | |
143 .flags = PIX_FMT_BE, | |
144 }, | |
145 //FIXME chaneg pix fmt defines so that we have a LE & BE instead of a Native endian | |
146 #if 0 | |
147 [PIX_FMT_RGB565_LE] = { | |
148 .nb_channels = 3, | |
149 .log2_chroma_w= 0, | |
150 .log2_chroma_h= 0, | |
151 .comp = { | |
152 {0,1,1,0,4}, | |
153 {0,1,1,5,5}, | |
154 {0,1,2,3,4}, | |
155 }, | |
156 }, | |
157 [PIX_FMT_RGB565_BE] = { | |
158 .nb_channels = 3, | |
159 .log2_chroma_w= 0, | |
160 .log2_chroma_h= 0, | |
161 .comp = { | |
162 {0,1,1, 0,4}, | |
163 {0,1,1, 5,5}, | |
164 {0,1,0, 3,4}, | |
165 }, | |
166 .flags = PIX_FMT_BE, | |
167 }, | |
168 #endif | |
169 [PIX_FMT_MONOBLACK] = { | |
170 .nb_channels = 1, | |
171 .log2_chroma_w= 0, | |
172 .log2_chroma_h= 0, | |
173 .comp = { | |
174 {0,0,1,7,0}, | |
175 }, | |
176 .flags = PIX_FMT_BITSTREAM, | |
177 }, | |
178 [PIX_FMT_PAL8] = { | |
179 .nb_channels = 1, | |
180 .log2_chroma_w= 0, | |
181 .log2_chroma_h= 0, | |
182 .comp = { | |
183 {0,0,1,0,7}, | |
184 }, | |
185 .flags = PIX_FMT_PAL, | |
186 }, | |
187 }; |