[svn] / branches / dev-api-4 / xvidcore / src / motion / motion_comp.c Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/src/motion/motion_comp.c

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

revision 1124, Fri Aug 22 15:20:41 2003 UTC revision 1125, Fri Aug 22 15:52:35 2003 UTC
# Line 20  Line 20 
20   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
21   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
22   *   *
23   * $Id: motion_comp.c,v 1.18.2.7 2003-06-28 15:53:07 chl Exp $   * $Id: motion_comp.c,v 1.18.2.8 2003-08-22 15:52:35 Isibaar Exp $
24   *   *
25   ****************************************************************************/   ****************************************************************************/
26    
# Line 29  Line 29 
29  #include "../encoder.h"  #include "../encoder.h"
30  #include "../utils/mbfunctions.h"  #include "../utils/mbfunctions.h"
31  #include "../image/interpolate8x8.h"  #include "../image/interpolate8x8.h"
32    #include "../image/qpel.h"
33  #include "../image/reduced.h"  #include "../image/reduced.h"
34  #include "../utils/timer.h"  #include "../utils/timer.h"
35  #include "motion.h"  #include "motion.h"
# Line 89  Line 90 
90    
91                  if(quarterpel) {                  if(quarterpel) {
92                          if ((dx&3) | (dy&3)) {                          if ((dx&3) | (dy&3)) {
93    #if defined(ARCH_IS_IA32) /* new_interpolate is only faster on x86 (MMX) machines */
94                                    new_interpolate16x16_quarterpel(tmp - y * stride - x,
95                                                                                            (uint8_t *) ref, tmp + 32,
96                                                                                            tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding);
97    #else
98                                  interpolate16x16_quarterpel(tmp - y * stride - x,                                  interpolate16x16_quarterpel(tmp - y * stride - x,
99                                                                                          (uint8_t *) ref, tmp + 32,                                                                                          (uint8_t *) ref, tmp + 32,
100                                                                                          tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding);                                                                                          tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding);
101    #endif
102                                  ptr = tmp;                                  ptr = tmp;
103                          } else ptr =  ref + (y + dy/4)*stride + x + dx/4; /* fullpixel position */                          } else ptr =  ref + (y + dy/4)*stride + x + dx/4; /* fullpixel position */
104    
# Line 151  Line 158 
158    
159                  if(quarterpel) {                  if(quarterpel) {
160                          if ((dx&3) | (dy&3)) {                          if ((dx&3) | (dy&3)) {
161    #if defined(ARCH_IS_IA32) /* new_interpolate is only faster on x86 (MMX) machines */
162                                    new_interpolate8x8_quarterpel(tmp - y*stride - x,
163                                                                                    (uint8_t *) ref, tmp + 32,
164                                                                                    tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding);
165    #else
166                                  interpolate8x8_quarterpel(tmp - y*stride - x,                                  interpolate8x8_quarterpel(tmp - y*stride - x,
167                                                                                  (uint8_t *) ref, tmp + 32,                                                                                  (uint8_t *) ref, tmp + 32,
168                                                                                  tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding);                                                                                  tmp + 64, tmp + 96, x, y, dx, dy, stride, rounding);
169    #endif
170                                  ptr = tmp;                                  ptr = tmp;
171                          } else ptr = ref + (y + dy/4)*stride + x + dx/4; /* fullpixel position */                          } else ptr = ref + (y + dy/4)*stride + x + dx/4; /* fullpixel position */
172                  } else ptr = get_ref(ref, refh, refv, refhv, x, y, 1, dx, dy, stride);                  } else ptr = get_ref(ref, refh, refv, refhv, x, y, 1, dx, dy, stride);

Legend:
Removed from v.1124  
changed lines
  Added in v.1125

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