[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.1, Fri Mar 8 02:44:46 2002 UTC revision 1.4, Fri Jun 14 13:26:32 2002 UTC
# Line 26  Line 26 
26  INTERPOLATE8X8 interpolate8x8_halfpel_v_3dn;  INTERPOLATE8X8 interpolate8x8_halfpel_v_3dn;
27  INTERPOLATE8X8 interpolate8x8_halfpel_hv_3dn;  INTERPOLATE8X8 interpolate8x8_halfpel_hv_3dn;
28    
29  static __inline void interpolate8x8_switch(uint8_t * const cur,  INTERPOLATE8X8 interpolate8x8_halfpel_h_ia64;
30    INTERPOLATE8X8 interpolate8x8_halfpel_v_ia64;
31    INTERPOLATE8X8 interpolate8x8_halfpel_hv_ia64;
32    
33    static __inline void
34    interpolate8x8_switch(uint8_t * const cur,
35                                       const uint8_t * const refn,                                       const uint8_t * const refn,
36                                       const uint32_t x, const uint32_t y,                                            const uint32_t x,
37                                           const int32_t dx,  const int dy,                                            const uint32_t y,
38                                              const int32_t dx,
39                                              const int dy,
40                                           const uint32_t stride,                                           const uint32_t stride,
41                                           const uint32_t rounding)                                           const uint32_t rounding)
42  {  {
# Line 40  Line 47 
47      case 0 :      case 0 :
48                  ddx = dx/2;                  ddx = dx/2;
49                  ddy = dy/2;                  ddy = dy/2;
50                  transfer8x8_copy(cur + y*stride + x, refn + (y+ddy)*stride + x + ddx, stride);                  transfer8x8_copy(cur + y * stride + x,
51                                                     refn + (int)((y + ddy) * stride + x + ddx), stride);
52                  break;                  break;
53    
54      case 1 :      case 1 :
55                  ddx = dx/2;                  ddx = dx/2;
56                  ddy = (dy-1)/2;                  ddy = (dy-1)/2;
57                  interpolate8x8_halfpel_v(cur + y*stride + x,                  interpolate8x8_halfpel_v(cur + y*stride + x,
58                                                          refn + (y+ddy)*stride + x + ddx, stride, rounding);                                                                   refn + (int)((y + ddy) * stride + x + ddx), stride,
59                                                                     rounding);
60                  break;                  break;
61    
62      case 2 :      case 2 :
63                  ddx = (dx-1)/2;                  ddx = (dx-1)/2;
64                  ddy = dy/2;                  ddy = dy/2;
65                  interpolate8x8_halfpel_h(cur + y*stride + x,                  interpolate8x8_halfpel_h(cur + y*stride + x,
66                                                          refn + (y+ddy)*stride + x + ddx, stride, rounding);                                                                   refn + (int)((y + ddy) * stride + x + ddx), stride,
67                                                                     rounding);
68                  break;                  break;
69    
70      default :      default :
71                  ddx = (dx-1)/2;                  ddx = (dx-1)/2;
72                  ddy = (dy-1)/2;                  ddy = (dy-1)/2;
73                  interpolate8x8_halfpel_hv(cur + y*stride + x,                  interpolate8x8_halfpel_hv(cur + y*stride + x,
74                                                          refn + (y+ddy)*stride + x + ddx, stride, rounding);                                                                   refn + (int)((y + ddy) * stride + x + ddx), stride,
75                                                                      rounding);
76                  break;                  break;
77      }      }
78  }  }
79    
80    
81    void interpolate8x8_c(uint8_t * const dst,
82                                              const uint8_t * const src,
83                                              const uint32_t x,
84                                              const uint32_t y,
85                                              const uint32_t stride);

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

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