comparison dsputil.h @ 62:4bfc845cdfea libavcodec

arm optimizations
author glantau
date Mon, 13 Aug 2001 21:45:36 +0000
parents 4ea4c10d03d8
children 06f63b58d2a8
comparison
equal deleted inserted replaced
61:fefaa96def6e 62:4bfc845cdfea
1 #ifndef DSPUTIL_H 1 #ifndef DSPUTIL_H
2 #define DSPUTIL_H 2 #define DSPUTIL_H
3 3
4 #include "common.h" 4 #include "common.h"
5 #include <inttypes.h>
6 5
7 /* dct code */ 6 /* dct code */
8 typedef short DCTELEM; 7 typedef short DCTELEM;
9 8
10 void jpeg_fdct_ifast (DCTELEM *data); 9 void jpeg_fdct_ifast (DCTELEM *data);
73 return (j & 0x38) | ((j & 6) >> 1) | ((j & 1) << 2); 72 return (j & 0x38) | ((j & 6) >> 1) | ((j & 1) << 2);
74 } 73 }
75 74
76 void block_permute(INT16 *block); 75 void block_permute(INT16 *block);
77 76
78 #ifdef HAVE_MMX 77 #if defined(HAVE_MMX)
79 78
80 #define MM_MMX 0x0001 /* standard MMX */ 79 #define MM_MMX 0x0001 /* standard MMX */
81 #define MM_3DNOW 0x0004 /* AMD 3DNOW */ 80 #define MM_3DNOW 0x0004 /* AMD 3DNOW */
82 #define MM_MMXEXT 0x0002 /* SSE integer functions or AMD MMX ext */ 81 #define MM_MMXEXT 0x0002 /* SSE integer functions or AMD MMX ext */
83 #define MM_SSE 0x0008 /* SSE functions */ 82 #define MM_SSE 0x0008 /* SSE functions */
100 99
101 #define __align8 __attribute__ ((aligned (8))) 100 #define __align8 __attribute__ ((aligned (8)))
102 101
103 void dsputil_init_mmx(void); 102 void dsputil_init_mmx(void);
104 103
104 #elif defined(ARCH_ARMV4L)
105
106 #define emms_c()
107
108 /* This is to use 4 bytes read to the IDCT pointers for some 'zero'
109 line ptimizations */
110 #define __align8 __attribute__ ((aligned (4)))
111
112 void dsputil_init_armv4l(void);
113
105 #else 114 #else
106 115
107 #define emms_c() 116 #define emms_c()
108 117
109 #define __align8 118 #define __align8