[cvs] / xvidcore / src / utils / mem_transfer.h Repository:
ViewVC logotype

Diff of /xvidcore/src/utils/mem_transfer.h

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

revision 1.14, Mon Apr 5 20:36:37 2004 UTC revision 1.18, Wed Nov 26 01:04:34 2008 UTC
# Line 42  Line 42 
42  /* Implemented functions */  /* Implemented functions */
43  extern TRANSFER_8TO16COPY transfer_8to16copy_c;  extern TRANSFER_8TO16COPY transfer_8to16copy_c;
44    
45  #ifdef ARCH_IS_IA32  #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
46  extern TRANSFER_8TO16COPY transfer_8to16copy_mmx;  extern TRANSFER_8TO16COPY transfer_8to16copy_mmx;
47  extern TRANSFER_8TO16COPY transfer_8to16copy_3dne;  extern TRANSFER_8TO16COPY transfer_8to16copy_3dne;
48  #endif  #endif
# Line 70  Line 70 
70  /* Implemented functions */  /* Implemented functions */
71  extern TRANSFER_16TO8COPY transfer_16to8copy_c;  extern TRANSFER_16TO8COPY transfer_16to8copy_c;
72    
73  #ifdef ARCH_IS_IA32  #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
74  extern TRANSFER_16TO8COPY transfer_16to8copy_mmx;  extern TRANSFER_16TO8COPY transfer_16to8copy_mmx;
75  extern TRANSFER_16TO8COPY transfer_16to8copy_3dne;  extern TRANSFER_16TO8COPY transfer_16to8copy_3dne;
76  #endif  #endif
# Line 83  Line 83 
83  extern TRANSFER_16TO8COPY transfer_16to8copy_altivec_c;  extern TRANSFER_16TO8COPY transfer_16to8copy_altivec_c;
84  #endif  #endif
85    
86    #ifdef ARCH_IS_X86_64
87    extern TRANSFER_16TO8COPY transfer_16to8copy_x86_64;
88    #endif
89    
90  /*****************************************************************************  /*****************************************************************************
91   * transfer8to16 + substraction *writeback* op API   * transfer8to16 + substraction *writeback* op API
92   ****************************************************************************/   ****************************************************************************/
# Line 100  Line 104 
104  /* Implemented functions */  /* Implemented functions */
105  extern TRANSFER_8TO16SUB transfer_8to16sub_c;  extern TRANSFER_8TO16SUB transfer_8to16sub_c;
106    
107  #ifdef ARCH_IS_IA32  #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
108  extern TRANSFER_8TO16SUB transfer_8to16sub_mmx;  extern TRANSFER_8TO16SUB transfer_8to16sub_mmx;
109  extern TRANSFER_8TO16SUB transfer_8to16sub_3dne;  extern TRANSFER_8TO16SUB transfer_8to16sub_3dne;
110  #endif  #endif
# Line 113  Line 117 
117  extern TRANSFER_8TO16SUB transfer_8to16sub_altivec_c;  extern TRANSFER_8TO16SUB transfer_8to16sub_altivec_c;
118  #endif  #endif
119    
120    #ifdef ARCH_IS_X86_64
121    extern TRANSFER_8TO16SUB transfer_8to16sub_x86_64;
122    #endif
123    
124  /*****************************************************************************  /*****************************************************************************
125   * transfer8to16 + substraction *readonly* op API   * transfer8to16 + substraction *readonly* op API
126   ****************************************************************************/   ****************************************************************************/
# Line 130  Line 138 
138  /* Implemented functions */  /* Implemented functions */
139  extern TRANSFER_8TO16SUBRO transfer_8to16subro_c;  extern TRANSFER_8TO16SUBRO transfer_8to16subro_c;
140    
141  #ifdef ARCH_IS_IA32  #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
142  extern TRANSFER_8TO16SUBRO transfer_8to16subro_mmx;  extern TRANSFER_8TO16SUBRO transfer_8to16subro_mmx;
143  extern TRANSFER_8TO16SUBRO transfer_8to16subro_3dne;  extern TRANSFER_8TO16SUBRO transfer_8to16subro_3dne;
144  #endif  #endif
# Line 139  Line 147 
147  extern TRANSFER_8TO16SUBRO transfer_8to16subro_altivec_c;  extern TRANSFER_8TO16SUBRO transfer_8to16subro_altivec_c;
148  #endif  #endif
149    
150    #ifdef ARCH_IS_X86_64
151    extern TRANSFER_8TO16SUBRO transfer_8to16subro_x86_64;
152    #endif
153    
154  /*****************************************************************************  /*****************************************************************************
155   * transfer8to16 + substraction op API - Bidirectionnal Version   * transfer8to16 + substraction op API - Bidirectionnal Version
156   ****************************************************************************/   ****************************************************************************/
# Line 157  Line 169 
169  /* Implemented functions */  /* Implemented functions */
170  TRANSFER_8TO16SUB2 transfer_8to16sub2_c;  TRANSFER_8TO16SUB2 transfer_8to16sub2_c;
171    
172  #ifdef ARCH_IS_IA32  #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
173  extern TRANSFER_8TO16SUB2 transfer_8to16sub2_mmx;  extern TRANSFER_8TO16SUB2 transfer_8to16sub2_mmx;
174  extern TRANSFER_8TO16SUB2 transfer_8to16sub2_xmm;  extern TRANSFER_8TO16SUB2 transfer_8to16sub2_xmm;
175  extern TRANSFER_8TO16SUB2 transfer_8to16sub2_3dne;  extern TRANSFER_8TO16SUB2 transfer_8to16sub2_3dne;
# Line 171  Line 183 
183  extern TRANSFER_8TO16SUB2 transfer_8to16sub2_altivec_c;  extern TRANSFER_8TO16SUB2 transfer_8to16sub2_altivec_c;
184  #endif  #endif
185    
186    #ifdef ARCH_IS_X86_64
187    extern TRANSFER_8TO16SUB2 transfer_8to16sub2_x86_64;
188    #endif
189    
190    /*****************************************************************************
191     * transfer8to16 + substraction op API - Bidirectionnal Version *readonly*
192     ****************************************************************************/
193    
194    typedef void (TRANSFER_8TO16SUB2RO) (int16_t * const dct,
195                                                                       const uint8_t * const cur,
196                                                                       const uint8_t * ref1,
197                                                                       const uint8_t * ref2,
198                                                                       const uint32_t stride);
199    
200    typedef TRANSFER_8TO16SUB2RO *TRANSFER_8TO16SUB2RO_PTR;
201    
202    /* Our global function pointer - Initialized in xvid.c */
203    extern TRANSFER_8TO16SUB2RO_PTR transfer_8to16sub2ro;
204    
205    /* Implemented functions */
206    TRANSFER_8TO16SUB2RO transfer_8to16sub2ro_c;
207    
208    #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
209    extern TRANSFER_8TO16SUB2RO transfer_8to16sub2ro_xmm;
210    #endif
211    
212    #ifdef ARCH_IS_X86_64
213    extern TRANSFER_8TO16SUB2RO transfer_8to16sub2ro_x86_64;
214    #endif
215    
216  /*****************************************************************************  /*****************************************************************************
217   * transfer16to8 + addition op API   * transfer16to8 + addition op API
218   ****************************************************************************/   ****************************************************************************/
# Line 187  Line 229 
229  /* Implemented functions */  /* Implemented functions */
230  extern TRANSFER_16TO8ADD transfer_16to8add_c;  extern TRANSFER_16TO8ADD transfer_16to8add_c;
231    
232  #ifdef ARCH_IS_IA32  #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
233  extern TRANSFER_16TO8ADD transfer_16to8add_mmx;  extern TRANSFER_16TO8ADD transfer_16to8add_mmx;
234  extern TRANSFER_16TO8ADD transfer_16to8add_3dne;  extern TRANSFER_16TO8ADD transfer_16to8add_3dne;
235  #endif  #endif
# Line 200  Line 242 
242  extern TRANSFER_16TO8ADD transfer_16to8add_altivec_c;  extern TRANSFER_16TO8ADD transfer_16to8add_altivec_c;
243  #endif  #endif
244    
245    #ifdef ARCH_IS_X86_64
246    extern TRANSFER_16TO8ADD transfer_16to8add_x86_64;
247    #endif
248    
249  /*****************************************************************************  /*****************************************************************************
250   * transfer8to8 + no op   * transfer8to8 + no op
251   ****************************************************************************/   ****************************************************************************/
# Line 216  Line 262 
262  /* Implemented functions */  /* Implemented functions */
263  extern TRANSFER8X8_COPY transfer8x8_copy_c;  extern TRANSFER8X8_COPY transfer8x8_copy_c;
264    
265  #ifdef ARCH_IS_IA32  #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
266  extern TRANSFER8X8_COPY transfer8x8_copy_mmx;  extern TRANSFER8X8_COPY transfer8x8_copy_mmx;
267  extern TRANSFER8X8_COPY transfer8x8_copy_3dne;  extern TRANSFER8X8_COPY transfer8x8_copy_3dne;
268  #endif  #endif
# Line 229  Line 275 
275  extern TRANSFER8X8_COPY transfer8x8_copy_altivec_c;  extern TRANSFER8X8_COPY transfer8x8_copy_altivec_c;
276  #endif  #endif
277    
278    #ifdef ARCH_IS_X86_64
279    extern TRANSFER8X8_COPY transfer8x8_copy_x86_64;
280    #endif
281    
282    /*****************************************************************************
283     * transfer8to4 + no op
284     ****************************************************************************/
285    
286    typedef void (TRANSFER8X4_COPY) (uint8_t * const dst,
287                                                                     const uint8_t * const src,
288                                                                     const uint32_t stride);
289    
290    typedef TRANSFER8X4_COPY *TRANSFER8X4_COPY_PTR;
291    
292    /* Our global function pointer - Initialized in xvid.c */
293    extern TRANSFER8X4_COPY_PTR transfer8x4_copy;
294    
295    /* Implemented functions */
296    extern TRANSFER8X4_COPY transfer8x4_copy_c;
297    
298    #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
299    extern TRANSFER8X4_COPY transfer8x4_copy_mmx;
300    extern TRANSFER8X4_COPY transfer8x4_copy_3dne;
301    #endif
302    
303    
304  static __inline void  static __inline void
305  transfer16x16_copy(uint8_t * const dst,  transfer16x16_copy(uint8_t * const dst,
306                                          const uint8_t * const src,                                          const uint8_t * const src,

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.18

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