[cvs] / xvidcore / src / image / interpolate8x8.h Repository:
ViewVC logotype

Diff of /xvidcore/src/image/interpolate8x8.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5.2.5, Tue Oct 15 22:26:59 2002 UTC revision 1.5.2.8, Sun Dec 8 05:33:42 2002 UTC
# Line 13  Line 13 
13                                                                          const uint8_t *src1,                                                                          const uint8_t *src1,
14                                                                          const uint8_t *src2,                                                                          const uint8_t *src2,
15                                                                          const uint32_t stride,                                                                          const uint32_t stride,
16                                                                          const uint32_t rounding);                                                                          const uint32_t rounding,
17                                                                            const uint32_t height);
18  typedef INTERPOLATE8X8_AVG2 *INTERPOLATE8X8_AVG2_PTR;  typedef INTERPOLATE8X8_AVG2 *INTERPOLATE8X8_AVG2_PTR;
19    
20  typedef void (INTERPOLATE8X8_AVG4) (uint8_t *dst,  typedef void (INTERPOLATE8X8_AVG4) (uint8_t *dst,
# Line 154  Line 155 
155          }          }
156  }  }
157    
158    
159    static __inline void
160    interpolate16x16_switch(uint8_t * const cur,
161                                              const uint8_t * const refn,
162                                              const uint32_t x,
163                                              const uint32_t y,
164                                              const int32_t dx,
165                                              const int dy,
166                                              const uint32_t stride,
167                                              const uint32_t rounding)
168    {
169            interpolate8x8_switch(cur, refn, x,   y,   dx, dy, stride, rounding);
170            interpolate8x8_switch(cur, refn, x+8, y,   dx, dy, stride, rounding);
171            interpolate8x8_switch(cur, refn, x,   y+8, dx, dy, stride, rounding);
172            interpolate8x8_switch(cur, refn, x+8, y+8, dx, dy, stride, rounding);
173    }
174    
175    
176    static __inline void
177    interpolate32x32_switch(uint8_t * const cur,
178                                              const uint8_t * const refn,
179                                              const uint32_t x,
180                                              const uint32_t y,
181                                              const int32_t dx,
182                                              const int dy,
183                                              const uint32_t stride,
184                                              const uint32_t rounding)
185    {
186            interpolate16x16_switch(cur, refn, x,    y,    dx, dy, stride, rounding);
187            interpolate16x16_switch(cur, refn, x+16, y,    dx, dy, stride, rounding);
188            interpolate16x16_switch(cur, refn, x,    y+16, dx, dy, stride, rounding);
189            interpolate16x16_switch(cur, refn, x+16, y+16, dx, dy, stride, rounding);
190    }
191    
192    
193  static __inline uint8_t *  static __inline uint8_t *
194  interpolate8x8_switch2(uint8_t * const buffer,  interpolate8x8_switch2(uint8_t * const buffer,
195                                            const uint8_t * const refn,                                            const uint8_t * const refn,
# Line 242  Line 278 
278    
279          case 1:          case 1:
280                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
281                  interpolate8x8_avg2(dst, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(dst, src, halfpel_h, stride, rounding, 8);
282                  break;                  break;
283    
284          case 2:          case 2:
# Line 251  Line 287 
287    
288          case 3:          case 3:
289                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
290                  interpolate8x8_avg2(dst, src + 1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(dst, src + 1, halfpel_h, stride, rounding, 8);
291                  break;                  break;
292    
293          case 4:          case 4:
294                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);
295                  interpolate8x8_avg2(dst, src, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, src, halfpel_v, stride, rounding, 8);
296                  break;                  break;
297    
298          case 5:          case 5:
299                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
300                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
301                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
302                  interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding, 8);
303                  break;                  break;
304    
305          case 6:          case 6:
306                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);
307                  interpolate8x8_avg2(dst, halfpel_h, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_h, halfpel_hv, stride, rounding, 8);
308                  break;                  break;
309    
310          case 7:          case 7:
311                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
312                  interpolate8x8_avg2(halfpel_v, src + 1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src + 1, halfpel_h, stride, rounding, 9);
313                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
314                  interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding, 8);
315                  break;                  break;
316    
317          case 8:          case 8:
# Line 284  Line 320 
320    
321          case 9:          case 9:
322                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
323                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
324                  interpolate8x8_lowpass_v(dst, halfpel_v, stride, rounding);                  interpolate8x8_lowpass_v(dst, halfpel_v, stride, rounding);
325                  break;                  break;
326    
# Line 294  Line 330 
330    
331          case 11:          case 11:
332                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
333                  interpolate8x8_avg2(halfpel_v, src + 1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src + 1, halfpel_h, stride, rounding, 9);
334                  interpolate8x8_lowpass_v(dst, halfpel_v, stride, rounding);                  interpolate8x8_lowpass_v(dst, halfpel_v, stride, rounding);
335                  break;                  break;
336    
337          case 12:          case 12:
338                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);
339                  interpolate8x8_avg2(dst, src+stride, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, src+stride, halfpel_v, stride, rounding, 8);
340                  break;                  break;
341    
342          case 13:          case 13:
343                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
344                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
345                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
346                  interpolate8x8_avg2(dst, halfpel_v+stride, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_v+stride, halfpel_hv, stride, rounding, 8);
347                  break;                  break;
348    
349          case 14:          case 14:
350                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);
351                  interpolate8x8_avg2(dst, halfpel_h+stride, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_h+stride, halfpel_hv, stride, rounding, 8);
352                  break;                  break;
353    
354          case 15:          case 15:
355                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
356                  interpolate8x8_avg2(halfpel_v, src + 1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src + 1, halfpel_h, stride, rounding, 9);
357                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
358                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v + stride, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v + stride, stride, rounding, 8);
359                  break;                  break;
360          }          }
361  }  }
# Line 371  Line 407 
407    
408          case 1:          case 1:
409                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
410                  interpolate8x8_avg2(dst, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(dst, src, halfpel_h, stride, rounding, 8);
411                  interpolate8x8_avg2(dst+8, src+8, halfpel_h+8, stride, rounding);                  interpolate8x8_avg2(dst+8, src+8, halfpel_h+8, stride, rounding, 8);
412                  interpolate8x8_avg2(dst+8*stride, src+8*stride, halfpel_h+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, src+8*stride, halfpel_h+8*stride, stride, rounding, 8);
413                  interpolate8x8_avg2(dst+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 8);
414                  break;                  break;
415    
416          case 2:          case 2:
# Line 383  Line 419 
419    
420          case 3:          case 3:
421                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
422                  interpolate8x8_avg2(dst, src + 1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(dst, src + 1, halfpel_h, stride, rounding, 8);
423                  interpolate8x8_avg2(dst+8, src + 8 + 1, halfpel_h+8, stride, rounding);                  interpolate8x8_avg2(dst+8, src + 8 + 1, halfpel_h+8, stride, rounding, 8);
424                  interpolate8x8_avg2(dst+8*stride, src + 8*stride + 1, halfpel_h+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, src + 8*stride + 1, halfpel_h+8*stride, stride, rounding, 8);
425                  interpolate8x8_avg2(dst+8*stride+8, src+8*stride+8 + 1, halfpel_h+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, src+8*stride+8 + 1, halfpel_h+8*stride+8, stride, rounding, 8);
426                  break;                  break;
427    
428          case 4:          case 4:
429                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);
430                  interpolate8x8_avg2(dst, src, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, src, halfpel_v, stride, rounding, 8);
431                  interpolate8x8_avg2(dst+8, src+8, halfpel_v+8, stride, rounding);                  interpolate8x8_avg2(dst+8, src+8, halfpel_v+8, stride, rounding, 8);
432                  interpolate8x8_avg2(dst+8*stride, src+8*stride, halfpel_v+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, src+8*stride, halfpel_v+8*stride, stride, rounding, 8);
433                  interpolate8x8_avg2(dst+8*stride+8, src+8*stride+8, halfpel_v+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, src+8*stride+8, halfpel_v+8*stride+8, stride, rounding, 8);
434                  break;                  break;
435    
436          case 5:          case 5:
437                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
438                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
439                  interpolate8x8_avg2(halfpel_v+8, src + 8, halfpel_h+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src + 8, halfpel_h+8, stride, rounding, 9);
440                  interpolate8x8_avg2(halfpel_v+8*stride, src + 8*stride, halfpel_h+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
441                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
442    
443                  interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);                  interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
444                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v, stride, rounding, 8);
445                  interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+8, stride, rounding);                  interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+8, stride, rounding, 8);
446                  interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+8*stride, stride, rounding, 8);
447                  interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+8*stride+8, stride, rounding, 8);
448                  break;                  break;
449    
450          case 6:          case 6:
451                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);
452                  interpolate8x8_avg2(dst, halfpel_h, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_h, halfpel_hv, stride, rounding, 8);
453                  interpolate8x8_avg2(dst+8, halfpel_h+8, halfpel_hv+8, stride, rounding);                  interpolate8x8_avg2(dst+8, halfpel_h+8, halfpel_hv+8, stride, rounding, 8);
454                  interpolate8x8_avg2(dst+8*stride, halfpel_h+8*stride, halfpel_hv+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, halfpel_h+8*stride, halfpel_hv+8*stride, stride, rounding, 8);
455                  interpolate8x8_avg2(dst+8*stride+8, halfpel_h+8*stride+8, halfpel_hv+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, halfpel_h+8*stride+8, halfpel_hv+8*stride+8, stride, rounding, 8);
456                  break;                  break;
457    
458          case 7:          case 7:
459                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
460                  interpolate8x8_avg2(halfpel_v, src+1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src+1, halfpel_h, stride, rounding, 9);
461                  interpolate8x8_avg2(halfpel_v+8, src+1 + 8, halfpel_h+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src+1 + 8, halfpel_h+8, stride, rounding, 9);
462                  interpolate8x8_avg2(halfpel_v+8*stride, src+1 + 8*stride, halfpel_h+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src+1 + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
463                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
464    
465                  interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);                  interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
466                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v, stride, rounding, 8);
467                  interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+8, stride, rounding);                  interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+8, stride, rounding, 8);
468                  interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+8*stride, stride, rounding, 8);
469                  interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+8*stride+8, stride, rounding, 8);
470                  break;                  break;
471    
472          case 8:          case 8:
# Line 439  Line 475 
475    
476          case 9:          case 9:
477                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
478                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
479                  interpolate8x8_avg2(halfpel_v+8, src + 8, halfpel_h+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src + 8, halfpel_h+8, stride, rounding, 9);
480                  interpolate8x8_avg2(halfpel_v+8*stride, src + 8*stride, halfpel_h+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
481                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
482                  interpolate16x16_lowpass_v(dst, halfpel_v, stride, rounding);                  interpolate16x16_lowpass_v(dst, halfpel_v, stride, rounding);
483                  break;                  break;
484    
# Line 452  Line 488 
488    
489          case 11:          case 11:
490                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
491                  interpolate8x8_avg2(halfpel_v, src+1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src+1, halfpel_h, stride, rounding, 9);
492                  interpolate8x8_avg2(halfpel_v+8, src+1 + 8, halfpel_h+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src+1 + 8, halfpel_h+8, stride, rounding, 9);
493                  interpolate8x8_avg2(halfpel_v+8*stride, src+1 + 8*stride, halfpel_h+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src+1 + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
494                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
495                  interpolate16x16_lowpass_v(dst, halfpel_v, stride, rounding);                  interpolate16x16_lowpass_v(dst, halfpel_v, stride, rounding);
496                  break;                  break;
497    
498          case 12:          case 12:
499                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);
500                  interpolate8x8_avg2(dst, src+stride, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, src+stride, halfpel_v, stride, rounding, 8);
501                  interpolate8x8_avg2(dst+8, src+stride+8, halfpel_v+8, stride, rounding);                  interpolate8x8_avg2(dst+8, src+stride+8, halfpel_v+8, stride, rounding, 8);
502                  interpolate8x8_avg2(dst+8*stride, src+stride+8*stride, halfpel_v+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, src+stride+8*stride, halfpel_v+8*stride, stride, rounding, 8);
503                  interpolate8x8_avg2(dst+8*stride+8, src+stride+8*stride+8, halfpel_v+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, src+stride+8*stride+8, halfpel_v+8*stride+8, stride, rounding, 8);
504                  break;                  break;
505    
506          case 13:          case 13:
507                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
508                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
509                  interpolate8x8_avg2(halfpel_v+8, src + 8, halfpel_h+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src + 8, halfpel_h+8, stride, rounding, 9);
510                  interpolate8x8_avg2(halfpel_v+8*stride, src + 8*stride, halfpel_h+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
511                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
512    
513                  interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);                  interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
514                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v+stride, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v+stride, stride, rounding, 8);
515                  interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+stride+8, stride, rounding, 8);
516                  interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+stride+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+stride+8*stride, stride, rounding, 8);
517                  interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+stride+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+stride+8*stride+8, stride, rounding, 8);
518                  break;                  break;
519    
520          case 14:          case 14:
521                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);
522                  interpolate8x8_avg2(dst, halfpel_h+stride, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_h+stride, halfpel_hv, stride, rounding, 8);
523                  interpolate8x8_avg2(dst+8, halfpel_h+stride+8, halfpel_hv+8, stride, rounding);                  interpolate8x8_avg2(dst+8, halfpel_h+stride+8, halfpel_hv+8, stride, rounding, 8);
524                  interpolate8x8_avg2(dst+8*stride, halfpel_h+stride+8*stride, halfpel_hv+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, halfpel_h+stride+8*stride, halfpel_hv+8*stride, stride, rounding, 8);
525                  interpolate8x8_avg2(dst+8*stride+8, halfpel_h+stride+8*stride+8, halfpel_hv+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, halfpel_h+stride+8*stride+8, halfpel_hv+8*stride+8, stride, rounding, 8);
526                  break;                  break;
527    
528          case 15:          case 15:
529                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
530                  interpolate8x8_avg2(halfpel_v, src+1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src+1, halfpel_h, stride, rounding, 9);
531                  interpolate8x8_avg2(halfpel_v+8, src+1 + 8, halfpel_h+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src+1 + 8, halfpel_h+8, stride, rounding, 9);
532                  interpolate8x8_avg2(halfpel_v+8*stride, src+1 + 8*stride, halfpel_h+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src+1 + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
533                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
534    
535                  interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);                  interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
536                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v+stride, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v+stride, stride, rounding, 8);
537                  interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+stride+8, stride, rounding, 8);
538                  interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+stride+8*stride, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+stride+8*stride, stride, rounding, 8);
539                  interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+stride+8*stride+8, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+stride+8*stride+8, stride, rounding, 8);
540                  break;                  break;
541          }          }
542  }  }

Legend:
Removed from v.1.5.2.5  
changed lines
  Added in v.1.5.2.8

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4