MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / horizontal_decompose53i

Function horizontal_decompose53i

libavcodec/dwt.c:234–281  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

232#endif /* ! liftS */
233
234static void horizontal_decompose53i(DWTELEM *b, int width){
235 DWTELEM temp[width];
236 const int width2= width>>1;
237 int x;
238 const int w2= (width+1)>>1;
239
240 for(x=0; x<width2; x++){
241 temp[x ]= b[2*x ];
242 temp[x+w2]= b[2*x + 1];
243 }
244 if(width&1)
245 temp[x ]= b[2*x ];
246#if 0
247 {
248 int A1,A2,A3,A4;
249 A2= temp[1 ];
250 A4= temp[0 ];
251 A1= temp[0+width2];
252 A1 -= (A2 + A4)>>1;
253 A4 += (A1 + 1)>>1;
254 b[0+width2] = A1;
255 b[0 ] = A4;
256 for(x=1; x+1<width2; x+=2){
257 A3= temp[x+width2];
258 A4= temp[x+1 ];
259 A3 -= (A2 + A4)>>1;
260 A2 += (A1 + A3 + 2)>>2;
261 b[x+width2] = A3;
262 b[x ] = A2;
263
264 A1= temp[x+1+width2];
265 A2= temp[x+2 ];
266 A1 -= (A2 + A4)>>1;
267 A4 += (A1 + A3 + 2)>>2;
268 b[x+1+width2] = A1;
269 b[x+1 ] = A4;
270 }
271 A3= temp[width-1];
272 A3 -= A2;
273 A2 += (A1 + A3 + 2)>>2;
274 b[width -1] = A3;
275 b[width2-1] = A2;
276 }
277#else
278 lift(b+w2, temp+w2, temp, 1, 1, 1, width, -1, 0, 1, 1, 0);
279 lift(b , temp , b+w2, 1, 1, 1, width, 1, 2, 2, 0, 0);
280#endif /* 0 */
281}
282
283static void vertical_decompose53iH0(DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, int width){
284 int i;

Callers 1

spatial_decompose53iFunction · 0.85

Calls 1

liftFunction · 0.85

Tested by

no test coverage detected