[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.3, Thu Oct 10 12:15:05 2002 UTC revision 1.5.2.7, Wed Nov 20 20:11:49 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 198  Line 199 
199          return buffer;          return buffer;
200  }  }
201    
   
202  static __inline void interpolate8x8_quarterpel(uint8_t * const cur,  static __inline void interpolate8x8_quarterpel(uint8_t * const cur,
203                                       uint8_t * const refn,                                       uint8_t * const refn,
204                                           uint8_t * const refh,                                           uint8_t * const refh,
# Line 243  Line 243 
243    
244          case 1:          case 1:
245                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
246                  interpolate8x8_avg2(dst, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(dst, src, halfpel_h, stride, rounding, 8);
247                  break;                  break;
248    
249          case 2:          case 2:
# Line 252  Line 252 
252    
253          case 3:          case 3:
254                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
255                  interpolate8x8_avg2(dst, src + 1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(dst, src + 1, halfpel_h, stride, rounding, 8);
256                  break;                  break;
257    
258          case 4:          case 4:
259                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);
260                  interpolate8x8_avg2(dst, src, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, src, halfpel_v, stride, rounding, 8);
261                  break;                  break;
262    
263          case 5:          case 5:
264                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
265                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
266                  interpolate8x8_avg4(dst, src, halfpel_h, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
267                    interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding, 8);
268                  break;                  break;
269    
270          case 6:          case 6:
271                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);
272                  interpolate8x8_avg2(dst, halfpel_h, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_h, halfpel_hv, stride, rounding, 8);
273                  break;                  break;
274    
275          case 7:          case 7:
276                  interpolate8x8_lowpass_v(halfpel_v, src+1, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
277                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src + 1, halfpel_h, stride, rounding, 9);
278                  interpolate8x8_avg4(dst, src+1, halfpel_h, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
279                    interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding, 8);
280                  break;                  break;
281    
282          case 8:          case 8:
# Line 282  Line 284 
284                  break;                  break;
285    
286          case 9:          case 9:
287                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
288                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
289                  interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_lowpass_v(dst, halfpel_v, stride, rounding);
290                  break;                  break;
291    
292          case 10:          case 10:
# Line 292  Line 294 
294                  break;                  break;
295    
296          case 11:          case 11:
297                  interpolate8x8_lowpass_v(halfpel_v, src+1, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
298                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src + 1, halfpel_h, stride, rounding, 9);
299                  interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_lowpass_v(dst, halfpel_v, stride, rounding);
300                  break;                  break;
301    
302          case 12:          case 12:
303                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);
304                  interpolate8x8_avg2(dst, src+stride, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, src+stride, halfpel_v, stride, rounding, 8);
305                  break;                  break;
306    
307          case 13:          case 13:
308                  interpolate8x8_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
309                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
310                  interpolate8x8_avg4(dst, src+stride, halfpel_h+stride, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
311                    interpolate8x8_avg2(dst, halfpel_v+stride, halfpel_hv, stride, rounding, 8);
312                  break;                  break;
313    
314          case 14:          case 14:
315                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);
316                  interpolate8x8_avg2(dst, halfpel_h+stride, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_h+stride, halfpel_hv, stride, rounding, 8);
317                  break;                  break;
318    
319          case 15:          case 15:
320                  interpolate8x8_lowpass_v(halfpel_v, src+1, stride, rounding);                  interpolate8x8_lowpass_h(halfpel_h, src, stride, rounding);
321                  interpolate8x8_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src + 1, halfpel_h, stride, rounding, 9);
322                  interpolate8x8_avg4(dst, src+stride+1, halfpel_h+stride, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
323                    interpolate8x8_avg2(dst, halfpel_hv, halfpel_v + stride, stride, rounding, 8);
324                  break;                  break;
325          }          }
326  }  }
327    
   
328  static __inline void interpolate16x16_quarterpel(uint8_t * const cur,  static __inline void interpolate16x16_quarterpel(uint8_t * const cur,
329                                       uint8_t * const refn,                                       uint8_t * const refn,
330                                           uint8_t * const refh,                                           uint8_t * const refh,
# Line 369  Line 372 
372    
373          case 1:          case 1:
374                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
375                  interpolate8x8_avg2(dst, src, halfpel_h, stride, rounding);                  interpolate8x8_avg2(dst, src, halfpel_h, stride, rounding, 8);
376                  interpolate8x8_avg2(dst+8, src+8, halfpel_h+8, stride, rounding);                  interpolate8x8_avg2(dst+8, src+8, halfpel_h+8, stride, rounding, 8);
377                  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);
378                  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);
379                  break;                  break;
380    
381          case 2:          case 2:
# Line 381  Line 384 
384    
385          case 3:          case 3:
386                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
387                  interpolate8x8_avg2(dst, src + 1, halfpel_h, stride, rounding);                  interpolate8x8_avg2(dst, src + 1, halfpel_h, stride, rounding, 8);
388                  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);
389                  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);
390                  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);
391                  break;                  break;
392    
393          case 4:          case 4:
394                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);
395                  interpolate8x8_avg2(dst, src, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, src, halfpel_v, stride, rounding, 8);
396                  interpolate8x8_avg2(dst+8, src+8, halfpel_v+8, stride, rounding);                  interpolate8x8_avg2(dst+8, src+8, halfpel_v+8, stride, rounding, 8);
397                  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);
398                  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);
399                  break;                  break;
400    
401          case 5:          case 5:
402                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
403                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
404                  interpolate8x8_avg4(dst, src, halfpel_h, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src + 8, halfpel_h+8, stride, rounding, 9);
405                  interpolate8x8_avg4(dst+8, src+8, halfpel_h+8, halfpel_v+8, halfpel_hv+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
406                  interpolate8x8_avg4(dst+8*stride, src+8*stride, halfpel_h+8*stride, halfpel_v+8*stride, halfpel_hv+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
407                  interpolate8x8_avg4(dst+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, halfpel_v+8*stride+8, halfpel_hv+8*stride+8, stride, rounding);  
408                    interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
409                    interpolate8x8_avg2(dst, halfpel_hv, halfpel_v, stride, rounding, 8);
410                    interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+8, stride, rounding, 8);
411                    interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+8*stride, stride, rounding, 8);
412                    interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+8*stride+8, stride, rounding, 8);
413                  break;                  break;
414    
415          case 6:          case 6:
416                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);
417                  interpolate8x8_avg2(dst, halfpel_h, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_h, halfpel_hv, stride, rounding, 8);
418                  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);
419                  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);
420                  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);
421                  break;                  break;
422    
423          case 7:          case 7:
424                  interpolate16x16_lowpass_v(halfpel_v, src+1, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
425                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src+1, halfpel_h, stride, rounding, 9);
426                  interpolate8x8_avg4(dst, src+1, halfpel_h, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src+1 + 8, halfpel_h+8, stride, rounding, 9);
427                  interpolate8x8_avg4(dst+8, src+8+1, halfpel_h+8, halfpel_v+8, halfpel_hv+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src+1 + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
428                  interpolate8x8_avg4(dst+8*stride, src+1+8*stride, halfpel_h+8*stride, halfpel_v+8*stride, halfpel_hv+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
429                  interpolate8x8_avg4(dst+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, halfpel_v+8*stride+8, halfpel_hv+8*stride+8, stride, rounding);  
430                    interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
431                    interpolate8x8_avg2(dst, halfpel_hv, halfpel_v, stride, rounding, 8);
432                    interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+8, stride, rounding, 8);
433                    interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+8*stride, stride, rounding, 8);
434                    interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+8*stride+8, stride, rounding, 8);
435                  break;                  break;
436    
437          case 8:          case 8:
# Line 426  Line 439 
439                  break;                  break;
440    
441          case 9:          case 9:
442                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
443                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
444                  interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src + 8, halfpel_h+8, stride, rounding, 9);
445                  interpolate8x8_avg2(dst+8, halfpel_v+8, halfpel_hv+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
446                  interpolate8x8_avg2(dst+8*stride, halfpel_v+8*stride, halfpel_hv+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
447                  interpolate8x8_avg2(dst+8*stride+8, halfpel_v+8*stride+8, halfpel_hv+8*stride+8, stride, rounding);                  interpolate16x16_lowpass_v(dst, halfpel_v, stride, rounding);
448                  break;                  break;
449    
450          case 10:          case 10:
# Line 439  Line 452 
452                  break;                  break;
453    
454          case 11:          case 11:
455                  interpolate16x16_lowpass_v(halfpel_v, src+1, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
456                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src+1, halfpel_h, stride, rounding, 9);
457                  interpolate8x8_avg2(dst, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src+1 + 8, halfpel_h+8, stride, rounding, 9);
458                  interpolate8x8_avg2(dst+8, halfpel_v+8, halfpel_hv+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src+1 + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
459                  interpolate8x8_avg2(dst+8*stride, halfpel_v+8*stride, halfpel_hv+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
460                  interpolate8x8_avg2(dst+8*stride+8, halfpel_v+8*stride+8, halfpel_hv+8*stride+8, stride, rounding);                  interpolate16x16_lowpass_v(dst, halfpel_v, stride, rounding);
461                  break;                  break;
462    
463          case 12:          case 12:
464                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);
465                  interpolate8x8_avg2(dst, src+stride, halfpel_v, stride, rounding);                  interpolate8x8_avg2(dst, src+stride, halfpel_v, stride, rounding, 8);
466                  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);
467                  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);
468                  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);
469                  break;                  break;
470    
471          case 13:          case 13:
472                  interpolate16x16_lowpass_v(halfpel_v, src, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
473                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src, halfpel_h, stride, rounding, 9);
474                  interpolate8x8_avg4(dst, src+stride, halfpel_h+stride, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src + 8, halfpel_h+8, stride, rounding, 9);
475                  interpolate8x8_avg4(dst+8, src+stride+8, halfpel_h+stride+8, halfpel_v+8, halfpel_hv+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
476                  interpolate8x8_avg4(dst+8*stride, src+stride+8*stride, halfpel_h+stride+8*stride, halfpel_v+8*stride, halfpel_hv+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
477                  interpolate8x8_avg4(dst+8*stride+8, src+stride+8*stride+8, halfpel_h+stride+8*stride+8, halfpel_v+8*stride+8, halfpel_hv+8*stride+8, stride, rounding);  
478                    interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
479                    interpolate8x8_avg2(dst, halfpel_hv, halfpel_v+stride, stride, rounding, 8);
480                    interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+stride+8, stride, rounding, 8);
481                    interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+stride+8*stride, stride, rounding, 8);
482                    interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+stride+8*stride+8, stride, rounding, 8);
483                  break;                  break;
484    
485          case 14:          case 14:
486                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);
487                  interpolate8x8_avg2(dst, halfpel_h+stride, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(dst, halfpel_h+stride, halfpel_hv, stride, rounding, 8);
488                  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);
489                  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);
490                  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);
491                  break;                  break;
492    
493          case 15:          case 15:
494                  interpolate16x16_lowpass_v(halfpel_v, src+1, stride, rounding);                  interpolate16x16_lowpass_h(halfpel_h, src, stride, rounding);
495                  interpolate16x16_lowpass_hv(halfpel_hv, halfpel_h, src, stride, rounding);                  interpolate8x8_avg2(halfpel_v, src+1, halfpel_h, stride, rounding, 9);
496                  interpolate8x8_avg4(dst, src+stride+1, halfpel_h+stride, halfpel_v, halfpel_hv, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8, src+1 + 8, halfpel_h+8, stride, rounding, 9);
497                  interpolate8x8_avg4(dst+8, src+stride+1+8, halfpel_h+stride+8, halfpel_v+8, halfpel_hv+8, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride, src+1 + 8*stride, halfpel_h+8*stride, stride, rounding, 9);
498                  interpolate8x8_avg4(dst+8*stride, src+stride+1+8*stride, halfpel_h+stride+8*stride, halfpel_v+8*stride, halfpel_hv+8*stride, stride, rounding);                  interpolate8x8_avg2(halfpel_v+8*stride+8, src+1+8*stride+8, halfpel_h+8*stride+8, stride, rounding, 9);
499                  interpolate8x8_avg4(dst+8*stride+8, src+stride+1+8*stride+8, halfpel_h+stride+8*stride+8, halfpel_v+8*stride+8, halfpel_hv+8*stride+8, stride, rounding);  
500                  break;                  interpolate16x16_lowpass_v(halfpel_hv, halfpel_v, stride, rounding);
501          default:                  interpolate8x8_avg2(dst, halfpel_hv, halfpel_v+stride, stride, rounding, 8);
502                  interpolate8x8_quarterpel(cur, refn, refh, refv, refhv, x, y, dx, dy, stride, rounding);                  interpolate8x8_avg2(dst+8, halfpel_hv+8, halfpel_v+stride+8, stride, rounding, 8);
503                  interpolate8x8_quarterpel(cur, refn, refh, refv, refhv, x+8, y, dx, dy, stride, rounding);                  interpolate8x8_avg2(dst+8*stride, halfpel_hv+8*stride, halfpel_v+stride+8*stride, stride, rounding, 8);
504                  interpolate8x8_quarterpel(cur, refn, refh, refv, refhv, x, y+8, dx, dy, stride, rounding);                  interpolate8x8_avg2(dst+8*stride+8, halfpel_hv+8*stride+8, halfpel_v+stride+8*stride+8, stride, rounding, 8);
                 interpolate8x8_quarterpel(cur, refn, refh, refv, refhv, x+8, y+8, dx, dy, stride, rounding);  
                 return;  
505                  break;                  break;
506          }          }
507  }  }
   
508  #endif  #endif

Legend:
Removed from v.1.5.2.3  
changed lines
  Added in v.1.5.2.7

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