[svn] / trunk / xvidcore / src / image / qpel.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/image/qpel.c

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

revision 1653, Tue Nov 22 10:23:01 2005 UTC revision 1795, Wed Nov 26 01:04:34 2008 UTC
# Line 19  Line 19 
19   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21   *   *
22   * $Id: qpel.c,v 1.8 2005-11-22 10:23:01 suxen_drol Exp $   * $Id: qpel.c,v 1.9 2008-11-26 01:04:34 Isibaar Exp $
23   *   *
24   ****************************************************************************/   ****************************************************************************/
25    
# Line 243  Line 243 
243  /* mmx impl. declaration (see. qpel_mmx.asm  /* mmx impl. declaration (see. qpel_mmx.asm
244   ****************************************************************************/   ****************************************************************************/
245    
246  #ifdef ARCH_IS_IA32  #if defined (ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
247  extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_16_mmx);  extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_16_mmx);
248  extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_16_mmx);  extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_16_mmx);
249  extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_Up_16_mmx);  extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_Up_16_mmx);
# Line 342  Line 342 
342    
343  #endif /* ARCH_IS_PPC */  #endif /* ARCH_IS_PPC */
344    
 /* mmx impl. (for 64bit bus) declaration (see. qpel_mmx.asm  
  ****************************************************************************/  
   
 #ifdef ARCH_IS_X86_64  
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_Up_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_Avrg_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_Avrg_Up_16_x86_64);  
   
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_8_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_8_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_Up_8_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_8_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_Avrg_8_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_Avrg_Up_8_x86_64);  
   
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Add_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_Add_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_Up_Add_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_Add_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_Avrg_Add_16_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_Avrg_Up_Add_16_x86_64);  
   
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_8_Add_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_8_Add_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_H_Pass_Avrg_Up_8_Add_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_8_Add_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_Avrg_8_Add_x86_64);  
 extern XVID_QP_PASS_SIGNATURE(xvid_V_Pass_Avrg_Up_8_Add_x86_64);  
   
 XVID_QP_FUNCS xvid_QP_Funcs_x86_64 = {  
         xvid_H_Pass_16_x86_64, xvid_H_Pass_Avrg_16_x86_64, xvid_H_Pass_Avrg_Up_16_x86_64,  
         xvid_V_Pass_16_x86_64, xvid_V_Pass_Avrg_16_x86_64, xvid_V_Pass_Avrg_Up_16_x86_64,  
   
         xvid_H_Pass_8_x86_64, xvid_H_Pass_Avrg_8_x86_64, xvid_H_Pass_Avrg_Up_8_x86_64,  
         xvid_V_Pass_8_x86_64, xvid_V_Pass_Avrg_8_x86_64, xvid_V_Pass_Avrg_Up_8_x86_64  
 };  
   
 XVID_QP_FUNCS xvid_QP_Add_Funcs_x86_64 = {  
         xvid_H_Pass_Add_16_x86_64, xvid_H_Pass_Avrg_Add_16_x86_64, xvid_H_Pass_Avrg_Up_Add_16_x86_64,  
         xvid_V_Pass_Add_16_x86_64, xvid_V_Pass_Avrg_Add_16_x86_64, xvid_V_Pass_Avrg_Up_Add_16_x86_64,  
   
         xvid_H_Pass_8_Add_x86_64, xvid_H_Pass_Avrg_8_Add_x86_64, xvid_H_Pass_Avrg_Up_8_Add_x86_64,  
         xvid_V_Pass_8_Add_x86_64, xvid_V_Pass_Avrg_8_Add_x86_64, xvid_V_Pass_Avrg_Up_8_Add_x86_64,  
 };  
 #endif /* ARCH_IS_X86_64 */  
   
345  /* tables for ASM  /* tables for ASM
346   ****************************************************************************/   ****************************************************************************/
347    
348    
349  #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)  #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
350  /* These symbols will be used outsie this file, so tell the compiler  /* These symbols will be used outside this file, so tell the compiler
351   * they're global. Only ia32 will define them in this file, x86_64   * they're global. */
  * will do in the assembly files */  
352  extern uint16_t xvid_Expand_mmx[256][4]; /* 8b -> 64b expansion table */  extern uint16_t xvid_Expand_mmx[256][4]; /* 8b -> 64b expansion table */
353    
354  extern int16_t xvid_FIR_1_0_0_0[256][4];  extern int16_t xvid_FIR_1_0_0_0[256][4];
# Line 421  Line 371 
371  #endif  #endif
372    
373  /* Arrays definitions, according to the target platform */  /* Arrays definitions, according to the target platform */
 #ifdef ARCH_IS_IA32  
 uint16_t xvid_Expand_mmx[256][4]; /* 8b -> 64b expansion table */  
 #endif  
374    
375  #if !defined(ARCH_IS_X86_64)  #if !defined(ARCH_IS_X86_64) && !defined(ARCH_IS_IA32)
376  /* Only ia32 will use these tables outside this file so mark them  /* Only ia32/ia64 will use these tables outside this file so mark them
377  * static for all other archs */  * static for all other archs */
 #if defined(ARCH_IS_IA32)  
 #define __SCOPE  
 #else  
378  #define __SCOPE static  #define __SCOPE static
 #endif  
379  __SCOPE int16_t xvid_FIR_1_0_0_0[256][4];  __SCOPE int16_t xvid_FIR_1_0_0_0[256][4];
380  __SCOPE int16_t xvid_FIR_3_1_0_0[256][4];  __SCOPE int16_t xvid_FIR_3_1_0_0[256][4];
381  __SCOPE int16_t xvid_FIR_6_3_1_0[256][4];  __SCOPE int16_t xvid_FIR_6_3_1_0[256][4];
# Line 467  Line 410 
410    
411  void xvid_Init_QP(void)  void xvid_Init_QP(void)
412  {  {
413  #ifdef ARCH_IS_IA32  #if defined (ARCH_IS_IA32) || defined (ARCH_IS_X86_64)
414          int i;          int i;
415    
416          for(i=0; i<256; ++i) {          for(i=0; i<256; ++i) {

Legend:
Removed from v.1653  
changed lines
  Added in v.1795

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