Mercurial > libavcodec.hg
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 |