[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.12, Mon Apr 5 20:36:36 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    #ifdef ARCH_IS_PPC
124    INTERPOLATE8X8 interpolate8x8_halfpel_h_altivec_c;
125    INTERPOLATE8X8 interpolate8x8_halfpel_v_altivec_c;
126    INTERPOLATE8X8 interpolate8x8_halfpel_hv_altivec_c;
127    #endif
128    
129  INTERPOLATE8X8_AVG2 interpolate8x8_avg2_c;  INTERPOLATE8X8_AVG2 interpolate8x8_avg2_c;
130  INTERPOLATE8X8_AVG4 interpolate8x8_avg4_c;  INTERPOLATE8X8_AVG4 interpolate8x8_avg4_c;
131    
132    #ifdef ARCH_IS_IA32
133  INTERPOLATE8X8_AVG2 interpolate8x8_avg2_mmx;  INTERPOLATE8X8_AVG2 interpolate8x8_avg2_mmx;
134  INTERPOLATE8X8_AVG4 interpolate8x8_avg4_mmx;  INTERPOLATE8X8_AVG4 interpolate8x8_avg4_mmx;
135    #endif
136    
137    #ifdef ARCH_IS_PPC
138    INTERPOLATE8X8_AVG2 interpolate8x8_avg2_altivec_c;
139    INTERPOLATE8X8_AVG4 interpolate8x8_avg4_altivec_c;
140    #endif
141    
142  INTERPOLATE_LOWPASS interpolate8x8_lowpass_h_c;  INTERPOLATE_LOWPASS interpolate8x8_lowpass_h_c;
143  INTERPOLATE_LOWPASS interpolate8x8_lowpass_v_c;  INTERPOLATE_LOWPASS interpolate8x8_lowpass_v_c;
# Line 134  Line 151 
151  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_h_c;  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_h_c;
152  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_v_c;  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_v_c;
153    
154    #ifdef ARCH_IS_IA32
155  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_h_mmx;  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_h_mmx;
156  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_v_mmx;  INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_v_mmx;
157    #endif
158    
159    #ifdef ARCH_IS_PPC
160    INTERPOLATE8X8_6TAP_LOWPASS interpolate8x8_6tap_lowpass_h_altivec_c;
161    #endif
162    
163  static __inline void  static __inline void
164  interpolate8x8_switch(uint8_t * const cur,  interpolate8x8_switch(uint8_t * const cur,
# Line 148  Line 171 
171                                            const uint32_t rounding)                                            const uint32_t rounding)
172  {  {
173    
174          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));
175          uint8_t * const dst = cur + y * stride + x;          uint8_t * const dst = cur + (int)(y * stride + x);
176    
177          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) */
178          case 0:          case 0:
# Line 213  Line 236 
236                                            const uint32_t rounding)                                            const uint32_t rounding)
237  {  {
238    
239          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));
240    
241          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) */
242          case 0:          case 0:

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

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