[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.10.2.3, Sun Jul 13 10:01:00 2003 UTC revision 1.11.2.1, Tue Oct 12 21:06:33 2004 UTC
# Line 96  Line 96 
96  INTERPOLATE8X8 interpolate8x8_halfpel_v_c;  INTERPOLATE8X8 interpolate8x8_halfpel_v_c;
97  INTERPOLATE8X8 interpolate8x8_halfpel_hv_c;  INTERPOLATE8X8 interpolate8x8_halfpel_hv_c;
98    
99    #ifdef ARCH_IS_IA32
100  INTERPOLATE8X8 interpolate8x8_halfpel_h_mmx;  INTERPOLATE8X8 interpolate8x8_halfpel_h_mmx;
101  INTERPOLATE8X8 interpolate8x8_halfpel_v_mmx;  INTERPOLATE8X8 interpolate8x8_halfpel_v_mmx;
102  INTERPOLATE8X8 interpolate8x8_halfpel_hv_mmx;  INTERPOLATE8X8 interpolate8x8_halfpel_hv_mmx;
# Line 111  Line 112 
112  INTERPOLATE8X8 interpolate8x8_halfpel_h_3dne;  INTERPOLATE8X8 interpolate8x8_halfpel_h_3dne;
113  INTERPOLATE8X8 interpolate8x8_halfpel_v_3dne;  INTERPOLATE8X8 interpolate8x8_halfpel_v_3dne;
114  INTERPOLATE8X8 interpolate8x8_halfpel_hv_3dne;  INTERPOLATE8X8 interpolate8x8_halfpel_hv_3dne;
115    #endif
116    
117    #ifdef ARCH_IS_IA64
118  INTERPOLATE8X8 interpolate8x8_halfpel_h_ia64;  INTERPOLATE8X8 interpolate8x8_halfpel_h_ia64;
119  INTERPOLATE8X8 interpolate8x8_halfpel_v_ia64;  INTERPOLATE8X8 interpolate8x8_halfpel_v_ia64;
120  INTERPOLATE8X8 interpolate8x8_halfpel_hv_ia64;  INTERPOLATE8X8 interpolate8x8_halfpel_hv_ia64;
121    #endif
122    
123  INTERPOLATE8X8_AVG2 interpolate8x8_avg2_c;  INTERPOLATE8X8_AVG2 interpolate8x8_avg2_c;
124  INTERPOLATE8X8_AVG4 interpolate8x8_avg4_c;  INTERPOLATE8X8_AVG4 interpolate8x8_avg4_c;
125    
126    #ifdef ARCH_IS_IA32
127  INTERPOLATE8X8_AVG2 interpolate8x8_avg2_mmx;  INTERPOLATE8X8_AVG2 interpolate8x8_avg2_mmx;
128  INTERPOLATE8X8_AVG4 interpolate8x8_avg4_mmx;  INTERPOLATE8X8_AVG4 interpolate8x8_avg4_mmx;
129    #endif
130    
131  INTERPOLATE_LOWPASS interpolate8x8_lowpass_h_c;  INTERPOLATE_LOWPASS interpolate8x8_lowpass_h_c;
132  INTERPOLATE_LOWPASS interpolate8x8_lowpass_v_c;  INTERPOLATE_LOWPASS interpolate8x8_lowpass_v_c;
# Line 134  Line 140 
140  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_h_c;  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_h_c;
141  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_v_c;  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_v_c;
142    
143    #ifdef ARCH_IS_IA32
144  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_h_mmx;  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_h_mmx;
145  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_v_mmx;  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_v_mmx;
146    #endif
147    
148  static __inline void  static __inline void
149  interpolate8x8_switch(uint8_t * const cur,  interpolate8x8_switch(uint8_t * const cur,
# Line 148  Line 156 
156                                            const uint32_t rounding)                                            const uint32_t rounding)
157  {  {
158    
159          const uint8_t * const src = refn + (y + (dy>>1)) * stride + x + (dx>>1);          const uint8_t * const src = refn + (int)((y + (dy>>1)) * stride + x + (dx>>1));
160          uint8_t * const dst = cur + y * stride + x;          uint8_t * const dst = cur + (int)(y * stride + x);
161    
162          switch (((dx & 1) << 1) + (dy & 1))     { /* ((dx%2)?2:0)+((dy%2)?1:0) */          switch (((dx & 1) << 1) + (dy & 1))     { /* ((dx%2)?2:0)+((dy%2)?1:0) */
163          case 0:          case 0:
# Line 213  Line 221 
221                                            const uint32_t rounding)                                            const uint32_t rounding)
222  {  {
223    
224          const uint8_t * const src = refn + (y + (dy>>1)) * stride + x + (dx>>1);          const uint8_t * const src = refn + (int)((y + (dy>>1)) * stride + x + (dx>>1));
225    
226          switch (((dx & 1) << 1) + (dy & 1))     { /* ((dx%2)?2:0)+((dy%2)?1:0) */          switch (((dx & 1) << 1) + (dy & 1))     { /* ((dx%2)?2:0)+((dy%2)?1:0) */
227          case 0:          case 0:
# Line 241  Line 249 
249                                           const uint32_t stride,                                           const uint32_t stride,
250                                           const uint32_t rounding)                                           const uint32_t rounding)
251  {  {
252          const int32_t xRef = x*4 + dx;          const int32_t xRef = (int)x*4 + dx;
253          const int32_t yRef = y*4 + dy;          const int32_t yRef = (int)y*4 + dy;
254    
255          uint8_t *src, *dst;          uint8_t *src, *dst;
256          uint8_t *halfpel_h, *halfpel_v, *halfpel_hv;          uint8_t *halfpel_h, *halfpel_v, *halfpel_hv;
# Line 260  Line 268 
268    
269          y_frac = yRef - (4*y_int);          y_frac = yRef - (4*y_int);
270    
271          src = refn + y_int * stride + x_int;          src = refn + y_int * (int)stride + x_int;
272          halfpel_h = refh;          halfpel_h = refh;
273          halfpel_v = refv;          halfpel_v = refv;
274          halfpel_hv = refhv;          halfpel_hv = refhv;
# Line 367  Line 375 
375                                           const uint32_t stride,                                           const uint32_t stride,
376                                           const uint32_t rounding)                                           const uint32_t rounding)
377  {  {
378          const int32_t xRef = x*4 + dx;          const int32_t xRef = (int)x*4 + dx;
379          const int32_t yRef = y*4 + dy;          const int32_t yRef = (int)y*4 + dy;
380    
381          uint8_t *src, *dst;          uint8_t *src, *dst;
382          uint8_t *halfpel_h, *halfpel_v, *halfpel_hv;          uint8_t *halfpel_h, *halfpel_v, *halfpel_hv;
# Line 386  Line 394 
394    
395          y_frac = yRef - (4*y_int);          y_frac = yRef - (4*y_int);
396    
397          src = refn + y_int * stride + x_int;          src = refn + y_int * (int)stride + x_int;
398          halfpel_h = refh;          halfpel_h = refh;
399          halfpel_v = refv;          halfpel_v = refv;
400          halfpel_hv = refhv;          halfpel_hv = refhv;

Legend:
Removed from v.1.10.2.3  
changed lines
  Added in v.1.11.2.1

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