[cvs] / xvidcore / src / image / qpel.h Repository:
ViewVC logotype

Diff of /xvidcore/src/image/qpel.h

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

revision 1.3, Tue Aug 10 21:58:55 2004 UTC revision 1.7, Wed Oct 26 12:38:34 2005 UTC
# Line 78  Line 78 
78  extern XVID_QP_FUNCS xvid_QP_Add_Funcs_mmx;  extern XVID_QP_FUNCS xvid_QP_Add_Funcs_mmx;
79  #endif  #endif
80    
81    #ifdef ARCH_IS_PPC
82    extern XVID_QP_FUNCS xvid_QP_Funcs_Altivec_C;
83    extern XVID_QP_FUNCS xvid_QP_Add_Funcs_Altivec_C;
84    #endif
85    
86    #ifdef ARCH_IS_X86_64
87    extern XVID_QP_FUNCS xvid_QP_Funcs_x86_64;
88    extern XVID_QP_FUNCS xvid_QP_Add_Funcs_x86_64;
89    #endif
90    
91  extern XVID_QP_FUNCS *xvid_QP_Funcs;      /* <- main pointer for enc/dec structure */  extern XVID_QP_FUNCS *xvid_QP_Funcs;      /* <- main pointer for enc/dec structure */
92  extern XVID_QP_FUNCS *xvid_QP_Add_Funcs;  /* <- main pointer for enc/dec structure */  extern XVID_QP_FUNCS *xvid_QP_Add_Funcs;  /* <- main pointer for enc/dec structure */
93    
# Line 120  Line 130 
130    
131          int32_t x_int, y_int;          int32_t x_int, y_int;
132    
133          const int32_t xRef = x*4 + dx;          const int32_t xRef = (int)x*4 + dx;
134          const int32_t yRef = y*4 + dy;          const int32_t yRef = (int)y*4 + dy;
135    
136          Ops = xvid_QP_Funcs;          Ops = xvid_QP_Funcs;
137          quads = (dx&3) | ((dy&3)<<2);          quads = (dx&3) | ((dy&3)<<2);
138    
139          x_int = xRef/4;          x_int = xRef >> 2;
140          if (xRef < 0 && xRef % 4)          y_int = yRef >> 2;
                 x_int--;  
   
         y_int    = yRef/4;  
         if (yRef < 0 && yRef % 4)  
                 y_int--;  
141    
142          dst = cur + y * stride + x;          dst = cur + y * stride + x;
143          src = refn + y_int * stride + x_int;          src = refn + y_int * (int)stride + x_int;
144    
145          tmp = refh; /* we need at least a 16 x stride scratch block */          tmp = refh; /* we need at least a 16 x stride scratch block */
146    
# Line 223  Line 228 
228    
229          int32_t x_int, y_int;          int32_t x_int, y_int;
230    
231          const int32_t xRef = x*4 + dx;          const int32_t xRef = (int)x*4 + dx;
232          const int32_t yRef = y*4 + dy;          const int32_t yRef = (int)y*4 + dy;
233    
234          Ops = xvid_QP_Add_Funcs;          Ops = xvid_QP_Add_Funcs;
235          Ops_Copy = xvid_QP_Funcs;          Ops_Copy = xvid_QP_Funcs;
236          quads = (dx&3) | ((dy&3)<<2);          quads = (dx&3) | ((dy&3)<<2);
237    
238          x_int = xRef/4;          x_int = xRef >> 2;
239          if (xRef < 0 && xRef % 4)          y_int = yRef >> 2;
                 x_int--;  
   
         y_int    = yRef/4;  
         if (yRef < 0 && yRef % 4)  
                 y_int--;  
240    
241          dst = cur + y * stride + x;          dst = cur + y * stride + x;
242          src = refn + y_int * stride + x_int;          src = refn + y_int * (int)stride + x_int;
243    
244          tmp = refh; /* we need at least a 16 x stride scratch block */          tmp = refh; /* we need at least a 16 x stride scratch block */
245    
# Line 328  Line 328 
328    
329          int32_t x_int, y_int;          int32_t x_int, y_int;
330    
331          const int32_t xRef = x*4 + dx;          const int32_t xRef = (int)x*4 + dx;
332          const int32_t yRef = y*4 + dy;          const int32_t yRef = (int)y*4 + dy;
333    
334          Ops = xvid_QP_Funcs;          Ops = xvid_QP_Funcs;
335          quads = (dx&3) | ((dy&3)<<2);          quads = (dx&3) | ((dy&3)<<2);
336    
337          x_int = xRef/4;          x_int = xRef >> 2;
338          if (xRef < 0 && xRef % 4)          y_int = yRef >> 2;
                 x_int--;  
   
         y_int    = yRef/4;  
         if (yRef < 0 && yRef % 4)  
                 y_int--;  
339    
340          dst = cur + y * stride + x;          dst = cur + y * stride + x;
341          src = refn + y_int * stride + x_int;          src = refn + y_int * (int)stride + x_int;
342    
343          tmp = refh; /* we need at least a 16 x stride scratch block */          tmp = refh; /* we need at least a 16 x stride scratch block */
344    
# Line 428  Line 423 
423    
424          int32_t x_int, y_int;          int32_t x_int, y_int;
425    
426          const int32_t xRef = x*4 + dx;          const int32_t xRef = (int)x*4 + dx;
427          const int32_t yRef = y*4 + dy;          const int32_t yRef = (int)y*4 + dy;
428    
429          Ops = xvid_QP_Funcs;          Ops = xvid_QP_Funcs;
430          quads = (dx&3) | ((dy&3)<<2);          quads = (dx&3) | ((dy&3)<<2);
431    
432          x_int = xRef/4;          x_int = xRef >> 2;
433          if (xRef < 0 && xRef % 4)          y_int = yRef >> 2;
                 x_int--;  
   
         y_int    = yRef/4;  
         if (yRef < 0 && yRef % 4)  
                 y_int--;  
434    
435          dst = cur + y * stride + x;          dst = cur + y * stride + x;
436          src = refn + y_int * stride + x_int;          src = refn + y_int * (int)stride + x_int;
437    
438          tmp = refh; /* we need at least a 16 x stride scratch block */          tmp = refh; /* we need at least a 16 x stride scratch block */
439    
# Line 528  Line 518 
518    
519          int32_t x_int, y_int;          int32_t x_int, y_int;
520    
521          const int32_t xRef = x*4 + dx;          const int32_t xRef = (int)x*4 + dx;
522          const int32_t yRef = y*4 + dy;          const int32_t yRef = (int)y*4 + dy;
523    
524          Ops = xvid_QP_Add_Funcs;          Ops = xvid_QP_Add_Funcs;
525          Ops_Copy = xvid_QP_Funcs;          Ops_Copy = xvid_QP_Funcs;
526          quads = (dx&3) | ((dy&3)<<2);          quads = (dx&3) | ((dy&3)<<2);
527    
528          x_int = xRef/4;          x_int = xRef >> 2;
529          if (xRef < 0 && xRef % 4)          y_int = yRef >> 2;
                 x_int--;  
   
         y_int    = yRef/4;  
         if (yRef < 0 && yRef % 4)  
                 y_int--;  
530    
531          dst = cur + y * stride + x;          dst = cur + y * stride + x;
532          src = refn + y_int * stride + x_int;          src = refn + y_int * (int)stride + x_int;
533    
534          tmp = refh; /* we need at least a 16 x stride scratch block */          tmp = refh; /* we need at least a 16 x stride scratch block */
535    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

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