Mercurial > libavcodec.hg
comparison h263data.h @ 350:6ebbecc10063 libavcodec
- Advanced Intra Coding (AIC) support for H.263+ encoder, just DC by now.
- Bug fix H.263+ AIC tables.
- Warning fixes.
author | pulento |
---|---|
date | Thu, 02 May 2002 04:39:45 +0000 |
parents | 764aeec1320e |
children | 583dcee270d2 |
comparison
equal
deleted
inserted
replaced
349:34f6c77ff01a | 350:6ebbecc10063 |
---|---|
123 inter_vlc, | 123 inter_vlc, |
124 inter_run, | 124 inter_run, |
125 inter_level, | 125 inter_level, |
126 }; | 126 }; |
127 | 127 |
128 /* table used for Advanced INTRA Coding, just RUN and LEVEL change */ | 128 const UINT16 intra_vlc_aic[103][2] = { |
129 const INT8 inter_level_aic[102] = { | 129 { 0x2, 2 }, { 0x6, 3 }, { 0xe, 4 }, { 0xc, 5 }, |
130 1, 1, 1, 1, 1, 1, 1, 1, | 130 { 0xd, 5 }, { 0x10, 6 }, { 0x11, 6 }, { 0x12, 6 }, |
131 1, 3, 2, 1, 2, 2, 4, 5, | 131 { 0x16, 7 }, { 0x1b, 8 }, { 0x20, 9 }, { 0x21, 9 }, |
132 6, 7, 3, 2, 3, 4, 5, 2, | 132 { 0x1a, 9 }, { 0x1b, 9 }, { 0x1c, 9 }, { 0x1d, 9 }, |
133 3, 4, 2, 3, 1, 2, 25, 1, | 133 { 0x1e, 9 }, { 0x1f, 9 }, { 0x23, 11 }, { 0x22, 11 }, |
134 2, 24, 8, 2, 7, 4, 6, 1, | 134 { 0x57, 12 }, { 0x56, 12 }, { 0x55, 12 }, { 0x54, 12 }, |
135 9, 23, 2, 3, 1, 10, 12, 11, | 135 { 0x53, 12 }, { 0xf, 4 }, { 0x14, 6 }, { 0x14, 7 }, |
136 18, 17, 16, 15, 14, 13, 20, 19, | 136 { 0x1e, 8 }, { 0xf, 10 }, { 0x21, 11 }, { 0x50, 12 }, |
137 22, 21, 1, 1, 1, 1, 1, 1, | 137 { 0xb, 5 }, { 0x15, 7 }, { 0xe, 10 }, { 0x9, 10 }, |
138 1, 2, 1, 1, 1, 3, 1, 1, | 138 { 0x15, 6 }, { 0x1d, 8 }, { 0xd, 10 }, { 0x51, 12 }, |
139 1, 1, 1, 1, 1, 4, 1, 1, | 139 { 0x13, 6 }, { 0x23, 9 }, { 0x7, 11 }, { 0x17, 7 }, |
140 1, 1, 2, 2, 6, 5, 2, 2, | 140 { 0x22, 9 }, { 0x52, 12 }, { 0x1c, 8 }, { 0xc, 10 }, |
141 3, 7, 3, 4, 9, 8, 1, 1, | 141 { 0x1f, 8 }, { 0xb, 10 }, { 0x25, 9 }, { 0xa, 10 }, |
142 1, 2, 2, 2, 3, 10, | 142 { 0x24, 9 }, { 0x6, 11 }, { 0x21, 10 }, { 0x20, 10 }, |
143 }; | 143 { 0x8, 10 }, { 0x20, 11 }, { 0x7, 4 }, { 0xc, 6 }, |
144 | 144 { 0x10, 7 }, { 0x13, 8 }, { 0x11, 9 }, { 0x12, 9 }, |
145 const INT8 inter_run_aic[102] = { | 145 { 0x4, 10 }, { 0x27, 11 }, { 0x26, 11 }, { 0x5f, 12 }, |
146 0, 1, 3, 5, 7, 8, 9, 10, | 146 { 0xf, 6 }, { 0x13, 9 }, { 0x5, 10 }, { 0x25, 11 }, |
147 11, 4, 9, 13, 0, 1, 1, 1, | 147 { 0xe, 6 }, { 0x14, 9 }, { 0x24, 11 }, { 0xd, 6 }, |
148 1, 1, 0, 3, 2, 3, 0, 4, | 148 { 0x6, 10 }, { 0x5e, 12 }, { 0x11, 7 }, { 0x7, 10 }, |
149 3, 0, 5, 5, 2, 6, 0, 4, | 149 { 0x13, 7 }, { 0x5d, 12 }, { 0x12, 7 }, { 0x5c, 12 }, |
150 7, 0, 0, 8, 0, 2, 0, 12, | 150 { 0x14, 8 }, { 0x5b, 12 }, { 0x15, 8 }, { 0x1a, 8 }, |
151 0, 0, 2, 1, 6, 0, 0, 0, | 151 { 0x19, 8 }, { 0x18, 8 }, { 0x17, 8 }, { 0x16, 8 }, |
152 0, 0, 0, 0, 0, 0, 0, 0, | 152 { 0x19, 9 }, { 0x15, 9 }, { 0x16, 9 }, { 0x18, 9 }, |
153 0, 0, 0, 14, 20, 1, 19, 2, | 153 { 0x17, 9 }, { 0x4, 11 }, { 0x5, 11 }, { 0x58, 12 }, |
154 3, 0, 5, 6, 4, 0, 9, 10, | 154 { 0x59, 12 }, { 0x5a, 12 }, { 0x3, 7 }, |
155 11, 12, 13, 8, 7, 0, 17, 18, | 155 }; |
156 16, 15, 2, 1, 0, 0, 4, 3, | 156 |
157 1, 0, 2, 1, 0, 0, 21, 22, | 157 const INT8 intra_run_aic[102] = { |
158 23, 7, 6, 5, 3, 0, | 158 0, 0, 0, 0, 0, 0, 0, 0, |
159 0, 0, 0, 0, 0, 0, 0, 0, | |
160 0, 0, 0, 0, 0, 0, 0, 0, | |
161 0, 1, 1, 1, 1, 1, 1, 1, | |
162 2, 2, 2, 2, 3, 3, 3, 3, | |
163 4, 4, 4, 5, 5, 5, 6, 6, | |
164 7, 7, 8, 8, 9, 9, 10, 11, | |
165 12, 13, 0, 0, 0, 0, 0, 0, | |
166 0, 0, 0, 0, 1, 1, 1, 1, | |
167 2, 2, 2, 3, 3, 3, 4, 4, | |
168 5, 5, 6, 6, 7, 7, 8, 9, | |
169 10, 11, 12, 13, 14, 15, 16, 17, | |
170 18, 19, 20, 21, 22, 23, | |
171 }; | |
172 | |
173 const INT8 intra_level_aic[102] = { | |
174 1, 2, 3, 4, 5, 6, 7, 8, | |
175 9, 10, 11, 12, 13, 14, 15, 16, | |
176 17, 18, 19, 20, 21, 22, 23, 24, | |
177 25, 1, 2, 3, 4, 5, 6, 7, | |
178 1, 2, 3, 4, 1, 2, 3, 4, | |
179 1, 2, 3, 1, 2, 3, 1, 2, | |
180 1, 2, 1, 2, 1, 2, 1, 1, | |
181 1, 1, 1, 2, 3, 4, 5, 6, | |
182 7, 8, 9, 10, 1, 2, 3, 4, | |
183 1, 2, 3, 1, 2, 3, 1, 2, | |
184 1, 2, 1, 2, 1, 2, 1, 1, | |
185 1, 1, 1, 1, 1, 1, 1, 1, | |
186 1, 1, 1, 1, 1, 1, | |
159 }; | 187 }; |
160 | 188 |
161 static RLTable rl_intra_aic = { | 189 static RLTable rl_intra_aic = { |
162 102, | 190 102, |
163 58, | 191 58, |
164 inter_vlc, | 192 intra_vlc_aic, |
165 inter_run_aic, | 193 intra_run_aic, |
166 inter_level_aic, | 194 intra_level_aic, |
167 }; | 195 }; |
168 | 196 |
169 static const UINT16 h263_format[8][2] = { | 197 static const UINT16 h263_format[8][2] = { |
170 { 0, 0 }, | 198 { 0, 0 }, |
171 { 128, 96 }, | 199 { 128, 96 }, |
172 { 176, 144 }, | 200 { 176, 144 }, |
173 { 352, 288 }, | 201 { 352, 288 }, |
174 { 704, 576 }, | 202 { 704, 576 }, |
175 { 1408, 1152 }, | 203 { 1408, 1152 }, |
176 }; | 204 }; |
177 |