Mercurial > libavcodec.hg
comparison sh4/qpel.c @ 1264:2fa34e615c76 libavcodec
cleanup
author | michaelni |
---|---|
date | Wed, 14 May 2003 23:08:01 +0000 |
parents | 82e0e1b9c283 |
children | ef2149182f1c |
comparison
equal
deleted
inserted
replaced
1263:9fce515e9894 | 1264:2fa34e615c76 |
---|---|
7 | 7 |
8 #define PIXOP2(OPNAME, OP) \ | 8 #define PIXOP2(OPNAME, OP) \ |
9 /*static inline void OPNAME ## _no_rnd_pixels8_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 9 /*static inline void OPNAME ## _no_rnd_pixels8_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
10 {\ | 10 {\ |
11 do {\ | 11 do {\ |
12 OP(LP(dst ),no_rnd_avg2(LD32(src1 ),LD32(src2 )) ); \ | 12 OP(LP(dst ),no_rnd_avg32(LD32(src1 ),LD32(src2 )) ); \ |
13 OP(LP(dst+4),no_rnd_avg2(LD32(src1+4),LD32(src2+4)) ); \ | 13 OP(LP(dst+4),no_rnd_avg32(LD32(src1+4),LD32(src2+4)) ); \ |
14 src1+=src_stride1; \ | 14 src1+=src_stride1; \ |
15 src2+=src_stride2; \ | 15 src2+=src_stride2; \ |
16 dst+=dst_stride; \ | 16 dst+=dst_stride; \ |
17 } while(--h); \ | 17 } while(--h); \ |
18 }\ | 18 }\ |
19 \ | 19 \ |
20 static inline void OPNAME ## _pixels8_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 20 static inline void OPNAME ## _pixels8_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
21 {\ | 21 {\ |
22 do {\ | 22 do {\ |
23 OP(LP(dst ),rnd_avg2(LD32(src1 ),LD32(src2 )) ); \ | 23 OP(LP(dst ),rnd_avg32(LD32(src1 ),LD32(src2 )) ); \ |
24 OP(LP(dst+4),rnd_avg2(LD32(src1+4),LD32(src2+4)) ); \ | 24 OP(LP(dst+4),rnd_avg32(LD32(src1+4),LD32(src2+4)) ); \ |
25 src1+=src_stride1; \ | 25 src1+=src_stride1; \ |
26 src2+=src_stride2; \ | 26 src2+=src_stride2; \ |
27 dst+=dst_stride; \ | 27 dst+=dst_stride; \ |
28 } while(--h); \ | 28 } while(--h); \ |
29 }\ | 29 }\ |
30 \ | 30 \ |
31 static inline void OPNAME ## _pixels4_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 31 static inline void OPNAME ## _pixels4_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
32 {\ | 32 {\ |
33 do {\ | 33 do {\ |
34 OP(LP(dst ),rnd_avg2(LD32(src1 ),LD32(src2 )) ); \ | 34 OP(LP(dst ),rnd_avg32(LD32(src1 ),LD32(src2 )) ); \ |
35 src1+=src_stride1; \ | 35 src1+=src_stride1; \ |
36 src2+=src_stride2; \ | 36 src2+=src_stride2; \ |
37 dst+=dst_stride; \ | 37 dst+=dst_stride; \ |
38 } while(--h); \ | 38 } while(--h); \ |
39 }\ | 39 }\ |
40 \ | 40 \ |
41 static inline void OPNAME ## _no_rnd_pixels16_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 41 static inline void OPNAME ## _no_rnd_pixels16_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
42 {\ | 42 {\ |
43 do {\ | 43 do {\ |
44 OP(LP(dst ),no_rnd_avg2(LD32(src1 ),LD32(src2 )) ); \ | 44 OP(LP(dst ),no_rnd_avg32(LD32(src1 ),LD32(src2 )) ); \ |
45 OP(LP(dst+4),no_rnd_avg2(LD32(src1+4),LD32(src2+4)) ); \ | 45 OP(LP(dst+4),no_rnd_avg32(LD32(src1+4),LD32(src2+4)) ); \ |
46 OP(LP(dst+8),no_rnd_avg2(LD32(src1+8),LD32(src2+8)) ); \ | 46 OP(LP(dst+8),no_rnd_avg32(LD32(src1+8),LD32(src2+8)) ); \ |
47 OP(LP(dst+12),no_rnd_avg2(LD32(src1+12),LD32(src2+12)) ); \ | 47 OP(LP(dst+12),no_rnd_avg32(LD32(src1+12),LD32(src2+12)) ); \ |
48 src1+=src_stride1; \ | 48 src1+=src_stride1; \ |
49 src2+=src_stride2; \ | 49 src2+=src_stride2; \ |
50 dst+=dst_stride; \ | 50 dst+=dst_stride; \ |
51 } while(--h); \ | 51 } while(--h); \ |
52 }\ | 52 }\ |
53 \ | 53 \ |
54 static inline void OPNAME ## _pixels16_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 54 static inline void OPNAME ## _pixels16_l2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
55 {\ | 55 {\ |
56 do {\ | 56 do {\ |
57 OP(LP(dst ),rnd_avg2(LD32(src1 ),LD32(src2 )) ); \ | 57 OP(LP(dst ),rnd_avg32(LD32(src1 ),LD32(src2 )) ); \ |
58 OP(LP(dst+4),rnd_avg2(LD32(src1+4),LD32(src2+4)) ); \ | 58 OP(LP(dst+4),rnd_avg32(LD32(src1+4),LD32(src2+4)) ); \ |
59 OP(LP(dst+8),rnd_avg2(LD32(src1+8),LD32(src2+8)) ); \ | 59 OP(LP(dst+8),rnd_avg32(LD32(src1+8),LD32(src2+8)) ); \ |
60 OP(LP(dst+12),rnd_avg2(LD32(src1+12),LD32(src2+12)) ); \ | 60 OP(LP(dst+12),rnd_avg32(LD32(src1+12),LD32(src2+12)) ); \ |
61 src1+=src_stride1; \ | 61 src1+=src_stride1; \ |
62 src2+=src_stride2; \ | 62 src2+=src_stride2; \ |
63 dst+=dst_stride; \ | 63 dst+=dst_stride; \ |
64 } while(--h); \ | 64 } while(--h); \ |
65 }*/\ | 65 }*/\ |
66 \ | 66 \ |
67 static inline void OPNAME ## _pixels4_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 67 static inline void OPNAME ## _pixels4_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
68 {\ | 68 {\ |
69 do {\ | 69 do {\ |
70 OP(LP(dst ),rnd_avg2(LP(src1 ),LP(src2 )) ); \ | 70 OP(LP(dst ),rnd_avg32(LP(src1 ),LP(src2 )) ); \ |
71 src1+=src_stride1; \ | 71 src1+=src_stride1; \ |
72 src2+=src_stride2; \ | 72 src2+=src_stride2; \ |
73 dst+=dst_stride; \ | 73 dst+=dst_stride; \ |
74 } while(--h); \ | 74 } while(--h); \ |
75 }\ | 75 }\ |
76 \ | 76 \ |
77 static inline void OPNAME ## _pixels4_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 77 static inline void OPNAME ## _pixels4_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
78 {\ | 78 {\ |
79 do {\ | 79 do {\ |
80 OP(LP(dst ),rnd_avg2(LD32(src1 ),LP(src2 )) ); \ | 80 OP(LP(dst ),rnd_avg32(LD32(src1 ),LP(src2 )) ); \ |
81 src1+=src_stride1; \ | 81 src1+=src_stride1; \ |
82 src2+=src_stride2; \ | 82 src2+=src_stride2; \ |
83 dst+=dst_stride; \ | 83 dst+=dst_stride; \ |
84 } while(--h); \ | 84 } while(--h); \ |
85 }\ | 85 }\ |
86 \ | 86 \ |
87 static inline void OPNAME ## _no_rnd_pixels16_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 87 static inline void OPNAME ## _no_rnd_pixels16_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
88 {\ | 88 {\ |
89 do {\ | 89 do {\ |
90 OP(LP(dst ),no_rnd_avg2(LD32(src1 ),LP(src2 )) ); \ | 90 OP(LP(dst ),no_rnd_avg32(LD32(src1 ),LP(src2 )) ); \ |
91 OP(LP(dst+4),no_rnd_avg2(LD32(src1+4),LP(src2+4)) ); \ | 91 OP(LP(dst+4),no_rnd_avg32(LD32(src1+4),LP(src2+4)) ); \ |
92 OP(LP(dst+8),no_rnd_avg2(LD32(src1+8),LP(src2+8)) ); \ | 92 OP(LP(dst+8),no_rnd_avg32(LD32(src1+8),LP(src2+8)) ); \ |
93 OP(LP(dst+12),no_rnd_avg2(LD32(src1+12),LP(src2+12)) ); \ | 93 OP(LP(dst+12),no_rnd_avg32(LD32(src1+12),LP(src2+12)) ); \ |
94 src1+=src_stride1; \ | 94 src1+=src_stride1; \ |
95 src2+=src_stride2; \ | 95 src2+=src_stride2; \ |
96 dst+=dst_stride; \ | 96 dst+=dst_stride; \ |
97 } while(--h); \ | 97 } while(--h); \ |
98 }\ | 98 }\ |
99 \ | 99 \ |
100 static inline void OPNAME ## _pixels16_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 100 static inline void OPNAME ## _pixels16_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
101 {\ | 101 {\ |
102 do {\ | 102 do {\ |
103 OP(LP(dst ),rnd_avg2(LD32(src1 ),LP(src2 )) ); \ | 103 OP(LP(dst ),rnd_avg32(LD32(src1 ),LP(src2 )) ); \ |
104 OP(LP(dst+4),rnd_avg2(LD32(src1+4),LP(src2+4)) ); \ | 104 OP(LP(dst+4),rnd_avg32(LD32(src1+4),LP(src2+4)) ); \ |
105 OP(LP(dst+8),rnd_avg2(LD32(src1+8),LP(src2+8)) ); \ | 105 OP(LP(dst+8),rnd_avg32(LD32(src1+8),LP(src2+8)) ); \ |
106 OP(LP(dst+12),rnd_avg2(LD32(src1+12),LP(src2+12)) ); \ | 106 OP(LP(dst+12),rnd_avg32(LD32(src1+12),LP(src2+12)) ); \ |
107 src1+=src_stride1; \ | 107 src1+=src_stride1; \ |
108 src2+=src_stride2; \ | 108 src2+=src_stride2; \ |
109 dst+=dst_stride; \ | 109 dst+=dst_stride; \ |
110 } while(--h); \ | 110 } while(--h); \ |
111 }\ | 111 }\ |
112 \ | 112 \ |
113 static inline void OPNAME ## _no_rnd_pixels8_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 113 static inline void OPNAME ## _no_rnd_pixels8_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
114 {\ | 114 {\ |
115 do { /* onlye src2 aligned */\ | 115 do { /* onlye src2 aligned */\ |
116 OP(LP(dst ),no_rnd_avg2(LD32(src1 ),LP(src2 )) ); \ | 116 OP(LP(dst ),no_rnd_avg32(LD32(src1 ),LP(src2 )) ); \ |
117 OP(LP(dst+4),no_rnd_avg2(LD32(src1+4),LP(src2+4)) ); \ | 117 OP(LP(dst+4),no_rnd_avg32(LD32(src1+4),LP(src2+4)) ); \ |
118 src1+=src_stride1; \ | 118 src1+=src_stride1; \ |
119 src2+=src_stride2; \ | 119 src2+=src_stride2; \ |
120 dst+=dst_stride; \ | 120 dst+=dst_stride; \ |
121 } while(--h); \ | 121 } while(--h); \ |
122 }\ | 122 }\ |
123 \ | 123 \ |
124 static inline void OPNAME ## _pixels8_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 124 static inline void OPNAME ## _pixels8_l2_aligned2(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
125 {\ | 125 {\ |
126 do {\ | 126 do {\ |
127 OP(LP(dst ),rnd_avg2(LD32(src1 ),LP(src2 )) ); \ | 127 OP(LP(dst ),rnd_avg32(LD32(src1 ),LP(src2 )) ); \ |
128 OP(LP(dst+4),rnd_avg2(LD32(src1+4),LP(src2+4)) ); \ | 128 OP(LP(dst+4),rnd_avg32(LD32(src1+4),LP(src2+4)) ); \ |
129 src1+=src_stride1; \ | 129 src1+=src_stride1; \ |
130 src2+=src_stride2; \ | 130 src2+=src_stride2; \ |
131 dst+=dst_stride; \ | 131 dst+=dst_stride; \ |
132 } while(--h); \ | 132 } while(--h); \ |
133 }\ | 133 }\ |
134 \ | 134 \ |
135 static inline void OPNAME ## _no_rnd_pixels8_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 135 static inline void OPNAME ## _no_rnd_pixels8_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
136 {\ | 136 {\ |
137 do {\ | 137 do {\ |
138 OP(LP(dst ),no_rnd_avg2(LP(src1 ),LP(src2 )) ); \ | 138 OP(LP(dst ),no_rnd_avg32(LP(src1 ),LP(src2 )) ); \ |
139 OP(LP(dst+4),no_rnd_avg2(LP(src1+4),LP(src2+4)) ); \ | 139 OP(LP(dst+4),no_rnd_avg32(LP(src1+4),LP(src2+4)) ); \ |
140 src1+=src_stride1; \ | 140 src1+=src_stride1; \ |
141 src2+=src_stride2; \ | 141 src2+=src_stride2; \ |
142 dst+=dst_stride; \ | 142 dst+=dst_stride; \ |
143 } while(--h); \ | 143 } while(--h); \ |
144 }\ | 144 }\ |
145 \ | 145 \ |
146 static inline void OPNAME ## _pixels8_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 146 static inline void OPNAME ## _pixels8_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
147 {\ | 147 {\ |
148 do {\ | 148 do {\ |
149 OP(LP(dst ),rnd_avg2(LP(src1 ),LP(src2 )) ); \ | 149 OP(LP(dst ),rnd_avg32(LP(src1 ),LP(src2 )) ); \ |
150 OP(LP(dst+4),rnd_avg2(LP(src1+4),LP(src2+4)) ); \ | 150 OP(LP(dst+4),rnd_avg32(LP(src1+4),LP(src2+4)) ); \ |
151 src1+=src_stride1; \ | 151 src1+=src_stride1; \ |
152 src2+=src_stride2; \ | 152 src2+=src_stride2; \ |
153 dst+=dst_stride; \ | 153 dst+=dst_stride; \ |
154 } while(--h); \ | 154 } while(--h); \ |
155 }\ | 155 }\ |
156 \ | 156 \ |
157 static inline void OPNAME ## _no_rnd_pixels16_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 157 static inline void OPNAME ## _no_rnd_pixels16_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
158 {\ | 158 {\ |
159 do {\ | 159 do {\ |
160 OP(LP(dst ),no_rnd_avg2(LP(src1 ),LP(src2 )) ); \ | 160 OP(LP(dst ),no_rnd_avg32(LP(src1 ),LP(src2 )) ); \ |
161 OP(LP(dst+4),no_rnd_avg2(LP(src1+4),LP(src2+4)) ); \ | 161 OP(LP(dst+4),no_rnd_avg32(LP(src1+4),LP(src2+4)) ); \ |
162 OP(LP(dst+8),no_rnd_avg2(LP(src1+8),LP(src2+8)) ); \ | 162 OP(LP(dst+8),no_rnd_avg32(LP(src1+8),LP(src2+8)) ); \ |
163 OP(LP(dst+12),no_rnd_avg2(LP(src1+12),LP(src2+12)) ); \ | 163 OP(LP(dst+12),no_rnd_avg32(LP(src1+12),LP(src2+12)) ); \ |
164 src1+=src_stride1; \ | 164 src1+=src_stride1; \ |
165 src2+=src_stride2; \ | 165 src2+=src_stride2; \ |
166 dst+=dst_stride; \ | 166 dst+=dst_stride; \ |
167 } while(--h); \ | 167 } while(--h); \ |
168 }\ | 168 }\ |
169 \ | 169 \ |
170 static inline void OPNAME ## _pixels16_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ | 170 static inline void OPNAME ## _pixels16_l2_aligned(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h) \ |
171 {\ | 171 {\ |
172 do {\ | 172 do {\ |
173 OP(LP(dst ),rnd_avg2(LP(src1 ),LP(src2 )) ); \ | 173 OP(LP(dst ),rnd_avg32(LP(src1 ),LP(src2 )) ); \ |
174 OP(LP(dst+4),rnd_avg2(LP(src1+4),LP(src2+4)) ); \ | 174 OP(LP(dst+4),rnd_avg32(LP(src1+4),LP(src2+4)) ); \ |
175 OP(LP(dst+8),rnd_avg2(LP(src1+8),LP(src2+8)) ); \ | 175 OP(LP(dst+8),rnd_avg32(LP(src1+8),LP(src2+8)) ); \ |
176 OP(LP(dst+12),rnd_avg2(LP(src1+12),LP(src2+12)) ); \ | 176 OP(LP(dst+12),rnd_avg32(LP(src1+12),LP(src2+12)) ); \ |
177 src1+=src_stride1; \ | 177 src1+=src_stride1; \ |
178 src2+=src_stride2; \ | 178 src2+=src_stride2; \ |
179 dst+=dst_stride; \ | 179 dst+=dst_stride; \ |
180 } while(--h); \ | 180 } while(--h); \ |
181 }\ | 181 }\ |
351 dst+=dst_stride;\ | 351 dst+=dst_stride;\ |
352 } while(--h); \ | 352 } while(--h); \ |
353 } \ | 353 } \ |
354 \ | 354 \ |
355 | 355 |
356 #define op_avg(a, b) a = rnd_avg2(a,b) | 356 #define op_avg(a, b) a = rnd_avg32(a,b) |
357 #define op_put(a, b) a = b | 357 #define op_put(a, b) a = b |
358 | 358 |
359 PIXOP2(avg, op_avg) | 359 PIXOP2(avg, op_avg) |
360 PIXOP2(put, op_put) | 360 PIXOP2(put, op_put) |
361 #undef op_avg | 361 #undef op_avg |