/src/ffmpeg/libavcodec/cavsdsp.c
Line | Count | Source |
1 | | /* |
2 | | * Chinese AVS video (AVS1-P2, JiZhun profile) decoder. |
3 | | * |
4 | | * DSP functions |
5 | | * |
6 | | * Copyright (c) 2006 Stefan Gehrer <stefan.gehrer@gmx.de> |
7 | | * |
8 | | * This file is part of FFmpeg. |
9 | | * |
10 | | * FFmpeg is free software; you can redistribute it and/or |
11 | | * modify it under the terms of the GNU Lesser General Public |
12 | | * License as published by the Free Software Foundation; either |
13 | | * version 2.1 of the License, or (at your option) any later version. |
14 | | * |
15 | | * FFmpeg is distributed in the hope that it will be useful, |
16 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
18 | | * Lesser General Public License for more details. |
19 | | * |
20 | | * You should have received a copy of the GNU Lesser General Public |
21 | | * License along with FFmpeg; if not, write to the Free Software |
22 | | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
23 | | */ |
24 | | |
25 | | #include "idctdsp.h" |
26 | | #include "mathops.h" |
27 | | #include "cavsdsp.h" |
28 | | #include "libavutil/common.h" |
29 | | |
30 | | /***************************************************************************** |
31 | | * |
32 | | * in-loop deblocking filter |
33 | | * |
34 | | ****************************************************************************/ |
35 | | |
36 | 32.3M | #define P2 p0_p[-3*stride] |
37 | 110M | #define P1 p0_p[-2*stride] |
38 | 143M | #define P0 p0_p[-1*stride] |
39 | 143M | #define Q0 p0_p[ 0*stride] |
40 | 110M | #define Q1 p0_p[ 1*stride] |
41 | 32.2M | #define Q2 p0_p[ 2*stride] |
42 | | |
43 | | static inline void loop_filter_l2(uint8_t *p0_p, ptrdiff_t stride, int alpha, int beta) |
44 | 3.00M | { |
45 | 3.00M | int p0 = P0; |
46 | 3.00M | int q0 = Q0; |
47 | | |
48 | 3.00M | if(abs(p0-q0)<alpha && abs(P1-p0)<beta && abs(Q1-q0)<beta) { |
49 | 2.83M | int s = p0 + q0 + 2; |
50 | 2.83M | alpha = (alpha>>2) + 2; |
51 | 2.83M | if(abs(P2-p0) < beta && abs(p0-q0) < alpha) { |
52 | 2.78M | P0 = (P1 + p0 + s) >> 2; |
53 | 2.78M | P1 = (2*P1 + s) >> 2; |
54 | 2.78M | } else |
55 | 55.1k | P0 = (2*P1 + s) >> 2; |
56 | 2.83M | if(abs(Q2-q0) < beta && abs(q0-p0) < alpha) { |
57 | 2.79M | Q0 = (Q1 + q0 + s) >> 2; |
58 | 2.79M | Q1 = (2*Q1 + s) >> 2; |
59 | 2.79M | } else |
60 | 46.3k | Q0 = (2*Q1 + s) >> 2; |
61 | 2.83M | } |
62 | 3.00M | } |
63 | | |
64 | | static inline void loop_filter_l1(uint8_t *p0_p, ptrdiff_t stride, int alpha, int beta, int tc) |
65 | 21.6M | { |
66 | 21.6M | int p0 = P0; |
67 | 21.6M | int q0 = Q0; |
68 | | |
69 | 21.6M | if(abs(p0-q0)<alpha && abs(P1-p0)<beta && abs(Q1-q0)<beta) { |
70 | 14.2M | int delta = av_clip(((q0-p0)*3+P1-Q1+4)>>3,-tc, tc); |
71 | 14.2M | P0 = av_clip_uint8(p0+delta); |
72 | 14.2M | Q0 = av_clip_uint8(q0-delta); |
73 | 14.2M | if(abs(P2-p0)<beta) { |
74 | 14.1M | delta = av_clip(((P0-P1)*3+P2-Q0+4)>>3, -tc, tc); |
75 | 14.1M | P1 = av_clip_uint8(P1+delta); |
76 | 14.1M | } |
77 | 14.2M | if(abs(Q2-q0)<beta) { |
78 | 14.1M | delta = av_clip(((Q1-Q0)*3+P0-Q2+4)>>3, -tc, tc); |
79 | 14.1M | Q1 = av_clip_uint8(Q1-delta); |
80 | 14.1M | } |
81 | 14.2M | } |
82 | 21.6M | } |
83 | | |
84 | | static inline void loop_filter_c2(uint8_t *p0_p, ptrdiff_t stride, int alpha, int beta) |
85 | 1.19M | { |
86 | 1.19M | int p0 = P0; |
87 | 1.19M | int q0 = Q0; |
88 | | |
89 | 1.19M | if(abs(p0-q0)<alpha && abs(P1-p0)<beta && abs(Q1-q0)<beta) { |
90 | 1.04M | int s = p0 + q0 + 2; |
91 | 1.04M | alpha = (alpha>>2) + 2; |
92 | 1.04M | if(abs(P2-p0) < beta && abs(p0-q0) < alpha) { |
93 | 1.00M | P0 = (P1 + p0 + s) >> 2; |
94 | 1.00M | } else |
95 | 45.9k | P0 = (2*P1 + s) >> 2; |
96 | 1.04M | if(abs(Q2-q0) < beta && abs(q0-p0) < alpha) { |
97 | 998k | Q0 = (Q1 + q0 + s) >> 2; |
98 | 998k | } else |
99 | 48.0k | Q0 = (2*Q1 + s) >> 2; |
100 | 1.04M | } |
101 | 1.19M | } |
102 | | |
103 | | static inline void loop_filter_c1(uint8_t *p0_p, ptrdiff_t stride, int alpha, int beta, |
104 | | int tc) |
105 | 20.3M | { |
106 | 20.3M | if(abs(P0-Q0)<alpha && abs(P1-P0)<beta && abs(Q1-Q0)<beta) { |
107 | 12.4M | int delta = av_clip(((Q0-P0)*3+P1-Q1+4)>>3, -tc, tc); |
108 | 12.4M | P0 = av_clip_uint8(P0+delta); |
109 | 12.4M | Q0 = av_clip_uint8(Q0-delta); |
110 | 12.4M | } |
111 | 20.3M | } |
112 | | |
113 | | #undef P0 |
114 | | #undef P1 |
115 | | #undef P2 |
116 | | #undef Q0 |
117 | | #undef Q1 |
118 | | #undef Q2 |
119 | | |
120 | | static void cavs_filter_lv_c(uint8_t *d, ptrdiff_t stride, int alpha, int beta, int tc, |
121 | | int bs1, int bs2) |
122 | 2.64M | { |
123 | 2.64M | int i; |
124 | 2.64M | if(bs1==2) |
125 | 1.51M | for(i=0;i<16;i++) |
126 | 1.42M | loop_filter_l2(d + i*stride,1,alpha,beta); |
127 | 2.55M | else { |
128 | 2.55M | if(bs1) |
129 | 5.86M | for(i=0;i<8;i++) |
130 | 5.21M | loop_filter_l1(d + i*stride,1,alpha,beta,tc); |
131 | 2.55M | if (bs2) |
132 | 5.89M | for(i=8;i<16;i++) |
133 | 5.23M | loop_filter_l1(d + i*stride,1,alpha,beta,tc); |
134 | 2.55M | } |
135 | 2.64M | } |
136 | | |
137 | | static void cavs_filter_lh_c(uint8_t *d, ptrdiff_t stride, int alpha, int beta, int tc, |
138 | | int bs1, int bs2) |
139 | 2.88M | { |
140 | 2.88M | int i; |
141 | 2.88M | if(bs1==2) |
142 | 1.68M | for(i=0;i<16;i++) |
143 | 1.58M | loop_filter_l2(d + i,stride,alpha,beta); |
144 | 2.78M | else { |
145 | 2.78M | if(bs1) |
146 | 6.29M | for(i=0;i<8;i++) |
147 | 5.59M | loop_filter_l1(d + i,stride,alpha,beta,tc); |
148 | 2.78M | if (bs2) |
149 | 6.26M | for(i=8;i<16;i++) |
150 | 5.56M | loop_filter_l1(d + i,stride,alpha,beta,tc); |
151 | 2.78M | } |
152 | 2.88M | } |
153 | | |
154 | | static void cavs_filter_cv_c(uint8_t *d, ptrdiff_t stride, int alpha, int beta, int tc, |
155 | | int bs1, int bs2) |
156 | 1.98M | { |
157 | 1.98M | int i; |
158 | 1.98M | if(bs1==2) |
159 | 584k | for(i=0;i<8;i++) |
160 | 519k | loop_filter_c2(d + i*stride,1,alpha,beta); |
161 | 1.92M | else { |
162 | 1.92M | if(bs1) |
163 | 6.09M | for(i=0;i<4;i++) |
164 | 4.87M | loop_filter_c1(d + i*stride,1,alpha,beta,tc); |
165 | 1.92M | if (bs2) |
166 | 6.10M | for(i=4;i<8;i++) |
167 | 4.88M | loop_filter_c1(d + i*stride,1,alpha,beta,tc); |
168 | 1.92M | } |
169 | 1.98M | } |
170 | | |
171 | | static void cavs_filter_ch_c(uint8_t *d, ptrdiff_t stride, int alpha, int beta, int tc, |
172 | | int bs1, int bs2) |
173 | 2.46M | { |
174 | 2.46M | int i; |
175 | 2.46M | if(bs1==2) |
176 | 757k | for(i=0;i<8;i++) |
177 | 673k | loop_filter_c2(d + i,stride,alpha,beta); |
178 | 2.38M | else { |
179 | 2.38M | if(bs1) |
180 | 6.64M | for(i=0;i<4;i++) |
181 | 5.31M | loop_filter_c1(d + i,stride,alpha,beta,tc); |
182 | 2.38M | if (bs2) |
183 | 6.59M | for(i=4;i<8;i++) |
184 | 5.27M | loop_filter_c1(d + i,stride,alpha,beta,tc); |
185 | 2.38M | } |
186 | 2.46M | } |
187 | | |
188 | | /***************************************************************************** |
189 | | * |
190 | | * inverse transform |
191 | | * |
192 | | ****************************************************************************/ |
193 | | |
194 | | static void cavs_idct8_add_c(uint8_t *dst, int16_t *block, ptrdiff_t stride) |
195 | 923k | { |
196 | 923k | int i; |
197 | 923k | int16_t (*src)[8] = (int16_t(*)[8])block; |
198 | | |
199 | 923k | src[0][0] += 8; |
200 | | |
201 | 8.31M | for( i = 0; i < 8; i++ ) { |
202 | 7.38M | const int a0 = 3 * src[i][1] - 2 * src[i][7]; |
203 | 7.38M | const int a1 = 3 * src[i][3] + 2 * src[i][5]; |
204 | 7.38M | const int a2 = 2 * src[i][3] - 3 * src[i][5]; |
205 | 7.38M | const int a3 = 2 * src[i][1] + 3 * src[i][7]; |
206 | | |
207 | 7.38M | const int b4 = 2 * (a0 + a1 + a3) + a1; |
208 | 7.38M | const int b5 = 2 * (a0 - a1 + a2) + a0; |
209 | 7.38M | const int b6 = 2 * (a3 - a2 - a1) + a3; |
210 | 7.38M | const int b7 = 2 * (a0 - a2 - a3) - a2; |
211 | | |
212 | 7.38M | const int a7 = 4 * src[i][2] - 10 * src[i][6]; |
213 | 7.38M | const int a6 = 4 * src[i][6] + 10 * src[i][2]; |
214 | 7.38M | const int a5 = 8 * (src[i][0] - src[i][4]) + 4; |
215 | 7.38M | const int a4 = 8 * (src[i][0] + src[i][4]) + 4; |
216 | | |
217 | 7.38M | const int b0 = a4 + a6; |
218 | 7.38M | const int b1 = a5 + a7; |
219 | 7.38M | const int b2 = a5 - a7; |
220 | 7.38M | const int b3 = a4 - a6; |
221 | | |
222 | 7.38M | src[i][0] = (b0 + b4) >> 3; |
223 | 7.38M | src[i][1] = (b1 + b5) >> 3; |
224 | 7.38M | src[i][2] = (b2 + b6) >> 3; |
225 | 7.38M | src[i][3] = (b3 + b7) >> 3; |
226 | 7.38M | src[i][4] = (b3 - b7) >> 3; |
227 | 7.38M | src[i][5] = (b2 - b6) >> 3; |
228 | 7.38M | src[i][6] = (b1 - b5) >> 3; |
229 | 7.38M | src[i][7] = (b0 - b4) >> 3; |
230 | 7.38M | } |
231 | 8.31M | for( i = 0; i < 8; i++ ) { |
232 | 7.38M | const int a0 = 3 * src[1][i] - 2 * src[7][i]; |
233 | 7.38M | const int a1 = 3 * src[3][i] + 2 * src[5][i]; |
234 | 7.38M | const int a2 = 2 * src[3][i] - 3 * src[5][i]; |
235 | 7.38M | const int a3 = 2 * src[1][i] + 3 * src[7][i]; |
236 | | |
237 | 7.38M | const int b4 = 2 * (a0 + a1 + a3) + a1; |
238 | 7.38M | const int b5 = 2 * (a0 - a1 + a2) + a0; |
239 | 7.38M | const int b6 = 2 * (a3 - a2 - a1) + a3; |
240 | 7.38M | const int b7 = 2 * (a0 - a2 - a3) - a2; |
241 | | |
242 | 7.38M | const int a7 = 4 * src[2][i] - 10 * src[6][i]; |
243 | 7.38M | const int a6 = 4 * src[6][i] + 10 * src[2][i]; |
244 | 7.38M | const int a5 = 8 * (src[0][i] - src[4][i]); |
245 | 7.38M | const int a4 = 8 * (src[0][i] + src[4][i]); |
246 | | |
247 | 7.38M | const int b0 = a4 + a6; |
248 | 7.38M | const int b1 = a5 + a7; |
249 | 7.38M | const int b2 = a5 - a7; |
250 | 7.38M | const int b3 = a4 - a6; |
251 | | |
252 | 7.38M | dst[i + 0*stride] = av_clip_uint8( dst[i + 0*stride] + ((b0 + b4) >> 7)); |
253 | 7.38M | dst[i + 1*stride] = av_clip_uint8( dst[i + 1*stride] + ((b1 + b5) >> 7)); |
254 | 7.38M | dst[i + 2*stride] = av_clip_uint8( dst[i + 2*stride] + ((b2 + b6) >> 7)); |
255 | 7.38M | dst[i + 3*stride] = av_clip_uint8( dst[i + 3*stride] + ((b3 + b7) >> 7)); |
256 | 7.38M | dst[i + 4*stride] = av_clip_uint8( dst[i + 4*stride] + ((b3 - b7) >> 7)); |
257 | 7.38M | dst[i + 5*stride] = av_clip_uint8( dst[i + 5*stride] + ((b2 - b6) >> 7)); |
258 | 7.38M | dst[i + 6*stride] = av_clip_uint8( dst[i + 6*stride] + ((b1 - b5) >> 7)); |
259 | 7.38M | dst[i + 7*stride] = av_clip_uint8( dst[i + 7*stride] + ((b0 - b4) >> 7)); |
260 | 7.38M | } |
261 | 923k | } |
262 | | |
263 | | /***************************************************************************** |
264 | | * |
265 | | * motion compensation |
266 | | * |
267 | | ****************************************************************************/ |
268 | | |
269 | | #define CAVS_SUBPIX(OPNAME, OP, NAME, A, B, C, D, E, F) \ |
270 | 1.28M | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
271 | 1.28M | { \ |
272 | 1.28M | const int h=8;\ |
273 | 1.28M | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ |
274 | 1.28M | int i;\ |
275 | 11.5M | for(i=0; i<h; i++)\ |
276 | 10.2M | {\ |
277 | 10.2M | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ |
278 | 10.2M | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ |
279 | 10.2M | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ |
280 | 10.2M | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ |
281 | 10.2M | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ |
282 | 10.2M | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ |
283 | 10.2M | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ |
284 | 10.2M | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ |
285 | 10.2M | dst+=dstStride;\ |
286 | 10.2M | src+=srcStride;\ |
287 | 10.2M | }\ |
288 | 1.28M | }\ cavsdsp.c:put_cavs_filt8_h_qpel_l Line | Count | Source | 270 | 206k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 206k | { \ | 272 | 206k | const int h=8;\ | 273 | 206k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 206k | int i;\ | 275 | 1.85M | for(i=0; i<h; i++)\ | 276 | 1.65M | {\ | 277 | 1.65M | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 1.65M | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 1.65M | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 1.65M | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 1.65M | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 1.65M | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 1.65M | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 1.65M | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 1.65M | dst+=dstStride;\ | 286 | 1.65M | src+=srcStride;\ | 287 | 1.65M | }\ | 288 | 206k | }\ |
cavsdsp.c:put_cavs_filt8_h_hpel Line | Count | Source | 270 | 486k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 486k | { \ | 272 | 486k | const int h=8;\ | 273 | 486k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 486k | int i;\ | 275 | 4.38M | for(i=0; i<h; i++)\ | 276 | 3.89M | {\ | 277 | 3.89M | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 3.89M | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 3.89M | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 3.89M | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 3.89M | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 3.89M | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 3.89M | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 3.89M | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 3.89M | dst+=dstStride;\ | 286 | 3.89M | src+=srcStride;\ | 287 | 3.89M | }\ | 288 | 486k | }\ |
cavsdsp.c:put_cavs_filt8_h_qpel_r Line | Count | Source | 270 | 318k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 318k | { \ | 272 | 318k | const int h=8;\ | 273 | 318k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 318k | int i;\ | 275 | 2.86M | for(i=0; i<h; i++)\ | 276 | 2.54M | {\ | 277 | 2.54M | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 2.54M | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 2.54M | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 2.54M | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 2.54M | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 2.54M | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 2.54M | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 2.54M | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 2.54M | dst+=dstStride;\ | 286 | 2.54M | src+=srcStride;\ | 287 | 2.54M | }\ | 288 | 318k | }\ |
cavsdsp.c:avg_cavs_filt8_h_qpel_l Line | Count | Source | 270 | 86.5k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 86.5k | { \ | 272 | 86.5k | const int h=8;\ | 273 | 86.5k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 86.5k | int i;\ | 275 | 778k | for(i=0; i<h; i++)\ | 276 | 692k | {\ | 277 | 692k | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 692k | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 692k | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 692k | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 692k | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 692k | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 692k | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 692k | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 692k | dst+=dstStride;\ | 286 | 692k | src+=srcStride;\ | 287 | 692k | }\ | 288 | 86.5k | }\ |
cavsdsp.c:avg_cavs_filt8_h_hpel Line | Count | Source | 270 | 82.5k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 82.5k | { \ | 272 | 82.5k | const int h=8;\ | 273 | 82.5k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 82.5k | int i;\ | 275 | 742k | for(i=0; i<h; i++)\ | 276 | 660k | {\ | 277 | 660k | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 660k | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 660k | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 660k | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 660k | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 660k | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 660k | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 660k | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 660k | dst+=dstStride;\ | 286 | 660k | src+=srcStride;\ | 287 | 660k | }\ | 288 | 82.5k | }\ |
cavsdsp.c:avg_cavs_filt8_h_qpel_r Line | Count | Source | 270 | 102k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 102k | { \ | 272 | 102k | const int h=8;\ | 273 | 102k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 102k | int i;\ | 275 | 922k | for(i=0; i<h; i++)\ | 276 | 820k | {\ | 277 | 820k | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 820k | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 820k | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 820k | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 820k | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 820k | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 820k | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 820k | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 820k | dst+=dstStride;\ | 286 | 820k | src+=srcStride;\ | 287 | 820k | }\ | 288 | 102k | }\ |
|
289 | | \ |
290 | 900k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
291 | 900k | { \ |
292 | 900k | const int w=8;\ |
293 | 900k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ |
294 | 900k | int i;\ |
295 | 8.10M | for(i=0; i<w; i++)\ |
296 | 7.20M | {\ |
297 | 7.20M | const int srcB= src[-2*srcStride];\ |
298 | 7.20M | const int srcA= src[-1*srcStride];\ |
299 | 7.20M | const int src0= src[0 *srcStride];\ |
300 | 7.20M | const int src1= src[1 *srcStride];\ |
301 | 7.20M | const int src2= src[2 *srcStride];\ |
302 | 7.20M | const int src3= src[3 *srcStride];\ |
303 | 7.20M | const int src4= src[4 *srcStride];\ |
304 | 7.20M | const int src5= src[5 *srcStride];\ |
305 | 7.20M | const int src6= src[6 *srcStride];\ |
306 | 7.20M | const int src7= src[7 *srcStride];\ |
307 | 7.20M | const int src8= src[8 *srcStride];\ |
308 | 7.20M | const int src9= src[9 *srcStride];\ |
309 | 7.20M | const int src10= src[10 *srcStride];\ |
310 | 7.20M | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ |
311 | 7.20M | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ |
312 | 7.20M | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ |
313 | 7.20M | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ |
314 | 7.20M | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ |
315 | 7.20M | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ |
316 | 7.20M | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ |
317 | 7.20M | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ |
318 | 7.20M | dst++;\ |
319 | 7.20M | src++;\ |
320 | 7.20M | }\ |
321 | 900k | }\ cavsdsp.c:put_cavs_filt8_v_qpel_l Line | Count | Source | 290 | 120k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 120k | { \ | 292 | 120k | const int w=8;\ | 293 | 120k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 120k | int i;\ | 295 | 1.08M | for(i=0; i<w; i++)\ | 296 | 966k | {\ | 297 | 966k | const int srcB= src[-2*srcStride];\ | 298 | 966k | const int srcA= src[-1*srcStride];\ | 299 | 966k | const int src0= src[0 *srcStride];\ | 300 | 966k | const int src1= src[1 *srcStride];\ | 301 | 966k | const int src2= src[2 *srcStride];\ | 302 | 966k | const int src3= src[3 *srcStride];\ | 303 | 966k | const int src4= src[4 *srcStride];\ | 304 | 966k | const int src5= src[5 *srcStride];\ | 305 | 966k | const int src6= src[6 *srcStride];\ | 306 | 966k | const int src7= src[7 *srcStride];\ | 307 | 966k | const int src8= src[8 *srcStride];\ | 308 | 966k | const int src9= src[9 *srcStride];\ | 309 | 966k | const int src10= src[10 *srcStride];\ | 310 | 966k | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 966k | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 966k | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 966k | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 966k | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 966k | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 966k | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 966k | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 966k | dst++;\ | 319 | 966k | src++;\ | 320 | 966k | }\ | 321 | 120k | }\ |
cavsdsp.c:put_cavs_filt8_v_hpel Line | Count | Source | 290 | 157k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 157k | { \ | 292 | 157k | const int w=8;\ | 293 | 157k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 157k | int i;\ | 295 | 1.41M | for(i=0; i<w; i++)\ | 296 | 1.25M | {\ | 297 | 1.25M | const int srcB= src[-2*srcStride];\ | 298 | 1.25M | const int srcA= src[-1*srcStride];\ | 299 | 1.25M | const int src0= src[0 *srcStride];\ | 300 | 1.25M | const int src1= src[1 *srcStride];\ | 301 | 1.25M | const int src2= src[2 *srcStride];\ | 302 | 1.25M | const int src3= src[3 *srcStride];\ | 303 | 1.25M | const int src4= src[4 *srcStride];\ | 304 | 1.25M | const int src5= src[5 *srcStride];\ | 305 | 1.25M | const int src6= src[6 *srcStride];\ | 306 | 1.25M | const int src7= src[7 *srcStride];\ | 307 | 1.25M | const int src8= src[8 *srcStride];\ | 308 | 1.25M | const int src9= src[9 *srcStride];\ | 309 | 1.25M | const int src10= src[10 *srcStride];\ | 310 | 1.25M | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 1.25M | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 1.25M | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 1.25M | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 1.25M | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 1.25M | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 1.25M | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 1.25M | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 1.25M | dst++;\ | 319 | 1.25M | src++;\ | 320 | 1.25M | }\ | 321 | 157k | }\ |
cavsdsp.c:put_cavs_filt8_v_qpel_r Line | Count | Source | 290 | 278k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 278k | { \ | 292 | 278k | const int w=8;\ | 293 | 278k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 278k | int i;\ | 295 | 2.50M | for(i=0; i<w; i++)\ | 296 | 2.22M | {\ | 297 | 2.22M | const int srcB= src[-2*srcStride];\ | 298 | 2.22M | const int srcA= src[-1*srcStride];\ | 299 | 2.22M | const int src0= src[0 *srcStride];\ | 300 | 2.22M | const int src1= src[1 *srcStride];\ | 301 | 2.22M | const int src2= src[2 *srcStride];\ | 302 | 2.22M | const int src3= src[3 *srcStride];\ | 303 | 2.22M | const int src4= src[4 *srcStride];\ | 304 | 2.22M | const int src5= src[5 *srcStride];\ | 305 | 2.22M | const int src6= src[6 *srcStride];\ | 306 | 2.22M | const int src7= src[7 *srcStride];\ | 307 | 2.22M | const int src8= src[8 *srcStride];\ | 308 | 2.22M | const int src9= src[9 *srcStride];\ | 309 | 2.22M | const int src10= src[10 *srcStride];\ | 310 | 2.22M | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 2.22M | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 2.22M | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 2.22M | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 2.22M | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 2.22M | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 2.22M | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 2.22M | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 2.22M | dst++;\ | 319 | 2.22M | src++;\ | 320 | 2.22M | }\ | 321 | 278k | }\ |
cavsdsp.c:avg_cavs_filt8_v_qpel_l Line | Count | Source | 290 | 108k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 108k | { \ | 292 | 108k | const int w=8;\ | 293 | 108k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 108k | int i;\ | 295 | 976k | for(i=0; i<w; i++)\ | 296 | 868k | {\ | 297 | 868k | const int srcB= src[-2*srcStride];\ | 298 | 868k | const int srcA= src[-1*srcStride];\ | 299 | 868k | const int src0= src[0 *srcStride];\ | 300 | 868k | const int src1= src[1 *srcStride];\ | 301 | 868k | const int src2= src[2 *srcStride];\ | 302 | 868k | const int src3= src[3 *srcStride];\ | 303 | 868k | const int src4= src[4 *srcStride];\ | 304 | 868k | const int src5= src[5 *srcStride];\ | 305 | 868k | const int src6= src[6 *srcStride];\ | 306 | 868k | const int src7= src[7 *srcStride];\ | 307 | 868k | const int src8= src[8 *srcStride];\ | 308 | 868k | const int src9= src[9 *srcStride];\ | 309 | 868k | const int src10= src[10 *srcStride];\ | 310 | 868k | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 868k | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 868k | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 868k | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 868k | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 868k | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 868k | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 868k | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 868k | dst++;\ | 319 | 868k | src++;\ | 320 | 868k | }\ | 321 | 108k | }\ |
cavsdsp.c:avg_cavs_filt8_v_hpel Line | Count | Source | 290 | 101k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 101k | { \ | 292 | 101k | const int w=8;\ | 293 | 101k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 101k | int i;\ | 295 | 911k | for(i=0; i<w; i++)\ | 296 | 810k | {\ | 297 | 810k | const int srcB= src[-2*srcStride];\ | 298 | 810k | const int srcA= src[-1*srcStride];\ | 299 | 810k | const int src0= src[0 *srcStride];\ | 300 | 810k | const int src1= src[1 *srcStride];\ | 301 | 810k | const int src2= src[2 *srcStride];\ | 302 | 810k | const int src3= src[3 *srcStride];\ | 303 | 810k | const int src4= src[4 *srcStride];\ | 304 | 810k | const int src5= src[5 *srcStride];\ | 305 | 810k | const int src6= src[6 *srcStride];\ | 306 | 810k | const int src7= src[7 *srcStride];\ | 307 | 810k | const int src8= src[8 *srcStride];\ | 308 | 810k | const int src9= src[9 *srcStride];\ | 309 | 810k | const int src10= src[10 *srcStride];\ | 310 | 810k | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 810k | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 810k | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 810k | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 810k | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 810k | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 810k | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 810k | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 810k | dst++;\ | 319 | 810k | src++;\ | 320 | 810k | }\ | 321 | 101k | }\ |
cavsdsp.c:avg_cavs_filt8_v_qpel_r Line | Count | Source | 290 | 134k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 134k | { \ | 292 | 134k | const int w=8;\ | 293 | 134k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 134k | int i;\ | 295 | 1.21M | for(i=0; i<w; i++)\ | 296 | 1.07M | {\ | 297 | 1.07M | const int srcB= src[-2*srcStride];\ | 298 | 1.07M | const int srcA= src[-1*srcStride];\ | 299 | 1.07M | const int src0= src[0 *srcStride];\ | 300 | 1.07M | const int src1= src[1 *srcStride];\ | 301 | 1.07M | const int src2= src[2 *srcStride];\ | 302 | 1.07M | const int src3= src[3 *srcStride];\ | 303 | 1.07M | const int src4= src[4 *srcStride];\ | 304 | 1.07M | const int src5= src[5 *srcStride];\ | 305 | 1.07M | const int src6= src[6 *srcStride];\ | 306 | 1.07M | const int src7= src[7 *srcStride];\ | 307 | 1.07M | const int src8= src[8 *srcStride];\ | 308 | 1.07M | const int src9= src[9 *srcStride];\ | 309 | 1.07M | const int src10= src[10 *srcStride];\ | 310 | 1.07M | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 1.07M | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 1.07M | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 1.07M | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 1.07M | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 1.07M | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 1.07M | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 1.07M | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 1.07M | dst++;\ | 319 | 1.07M | src++;\ | 320 | 1.07M | }\ | 321 | 134k | }\ |
|
322 | | \ |
323 | 62.6k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
324 | 62.6k | { \ |
325 | 62.6k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ |
326 | 62.6k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ |
327 | 62.6k | src += 8*srcStride;\ |
328 | 62.6k | dst += 8*dstStride;\ |
329 | 62.6k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ |
330 | 62.6k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ |
331 | 62.6k | }\ cavsdsp.c:put_cavs_filt16_v_qpel_l Line | Count | Source | 323 | 10.1k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 10.1k | { \ | 325 | 10.1k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 10.1k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 10.1k | src += 8*srcStride;\ | 328 | 10.1k | dst += 8*dstStride;\ | 329 | 10.1k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 10.1k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 10.1k | }\ |
cavsdsp.c:put_cavs_filt16_v_hpel Line | Count | Source | 323 | 12.0k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 12.0k | { \ | 325 | 12.0k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 12.0k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 12.0k | src += 8*srcStride;\ | 328 | 12.0k | dst += 8*dstStride;\ | 329 | 12.0k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 12.0k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 12.0k | }\ |
cavsdsp.c:put_cavs_filt16_v_qpel_r Line | Count | Source | 323 | 18.1k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 18.1k | { \ | 325 | 18.1k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 18.1k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 18.1k | src += 8*srcStride;\ | 328 | 18.1k | dst += 8*dstStride;\ | 329 | 18.1k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 18.1k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 18.1k | }\ |
cavsdsp.c:avg_cavs_filt16_v_qpel_l Line | Count | Source | 323 | 8.72k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 8.72k | { \ | 325 | 8.72k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 8.72k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 8.72k | src += 8*srcStride;\ | 328 | 8.72k | dst += 8*dstStride;\ | 329 | 8.72k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 8.72k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 8.72k | }\ |
cavsdsp.c:avg_cavs_filt16_v_hpel Line | Count | Source | 323 | 4.38k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 4.38k | { \ | 325 | 4.38k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 4.38k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 4.38k | src += 8*srcStride;\ | 328 | 4.38k | dst += 8*dstStride;\ | 329 | 4.38k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 4.38k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 4.38k | }\ |
cavsdsp.c:avg_cavs_filt16_v_qpel_r Line | Count | Source | 323 | 9.21k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 9.21k | { \ | 325 | 9.21k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 9.21k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 9.21k | src += 8*srcStride;\ | 328 | 9.21k | dst += 8*dstStride;\ | 329 | 9.21k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 9.21k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 9.21k | }\ |
|
332 | | \ |
333 | 194k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
334 | 194k | { \ |
335 | 194k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ |
336 | 194k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ |
337 | 194k | src += 8*srcStride;\ |
338 | 194k | dst += 8*dstStride;\ |
339 | 194k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ |
340 | 194k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ |
341 | 194k | }\ cavsdsp.c:put_cavs_filt16_h_qpel_l Line | Count | Source | 333 | 29.2k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 29.2k | { \ | 335 | 29.2k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 29.2k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 29.2k | src += 8*srcStride;\ | 338 | 29.2k | dst += 8*dstStride;\ | 339 | 29.2k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 29.2k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 29.2k | }\ |
cavsdsp.c:put_cavs_filt16_h_hpel Line | Count | Source | 333 | 101k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 101k | { \ | 335 | 101k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 101k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 101k | src += 8*srcStride;\ | 338 | 101k | dst += 8*dstStride;\ | 339 | 101k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 101k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 101k | }\ |
cavsdsp.c:put_cavs_filt16_h_qpel_r Line | Count | Source | 333 | 45.1k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 45.1k | { \ | 335 | 45.1k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 45.1k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 45.1k | src += 8*srcStride;\ | 338 | 45.1k | dst += 8*dstStride;\ | 339 | 45.1k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 45.1k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 45.1k | }\ |
cavsdsp.c:avg_cavs_filt16_h_qpel_l Line | Count | Source | 333 | 5.82k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 5.82k | { \ | 335 | 5.82k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 5.82k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 5.82k | src += 8*srcStride;\ | 338 | 5.82k | dst += 8*dstStride;\ | 339 | 5.82k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 5.82k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 5.82k | }\ |
cavsdsp.c:avg_cavs_filt16_h_hpel Line | Count | Source | 333 | 6.30k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 6.30k | { \ | 335 | 6.30k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 6.30k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 6.30k | src += 8*srcStride;\ | 338 | 6.30k | dst += 8*dstStride;\ | 339 | 6.30k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 6.30k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 6.30k | }\ |
cavsdsp.c:avg_cavs_filt16_h_qpel_r Line | Count | Source | 333 | 7.23k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 7.23k | { \ | 335 | 7.23k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 7.23k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 7.23k | src += 8*srcStride;\ | 338 | 7.23k | dst += 8*dstStride;\ | 339 | 7.23k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 7.23k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 7.23k | }\ |
|
342 | | |
343 | | #define CAVS_SUBPIX_HV(OPNAME, OP, NAME, AH, BH, CH, DH, EH, FH, AV, BV, CV, DV, EV, FV, FULL) \ |
344 | 2.67M | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
345 | 2.67M | { \ |
346 | 2.67M | int16_t temp[8*(8+5)];\ |
347 | 2.67M | int16_t *tmp = temp;\ |
348 | 2.67M | const int h=8;\ |
349 | 2.67M | const int w=8;\ |
350 | 2.67M | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ |
351 | 2.67M | int i;\ |
352 | 2.67M | src1 -= 2*srcStride;\ |
353 | 37.5M | for(i=0; i<h+5; i++)\ |
354 | 34.8M | {\ |
355 | 34.8M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ |
356 | 34.8M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ |
357 | 34.8M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ |
358 | 34.8M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ |
359 | 34.8M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ |
360 | 34.8M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ |
361 | 34.8M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ |
362 | 34.8M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ |
363 | 34.8M | tmp+=8;\ |
364 | 34.8M | src1+=srcStride;\ |
365 | 34.8M | }\ |
366 | 2.67M | if(FULL) {\ |
367 | 1.43M | tmp = temp+8*2; \ |
368 | 12.9M | for(i=0; i<w; i++) \ |
369 | 11.4M | { \ |
370 | 11.4M | const int tmpB= tmp[-2*8]; \ |
371 | 11.4M | const int tmpA= tmp[-1*8]; \ |
372 | 11.4M | const int tmp0= tmp[0 *8]; \ |
373 | 11.4M | const int tmp1= tmp[1 *8]; \ |
374 | 11.4M | const int tmp2= tmp[2 *8]; \ |
375 | 11.4M | const int tmp3= tmp[3 *8]; \ |
376 | 11.4M | const int tmp4= tmp[4 *8]; \ |
377 | 11.4M | const int tmp5= tmp[5 *8]; \ |
378 | 11.4M | const int tmp6= tmp[6 *8]; \ |
379 | 11.4M | const int tmp7= tmp[7 *8]; \ |
380 | 11.4M | const int tmp8= tmp[8 *8]; \ |
381 | 11.4M | const int tmp9= tmp[9 *8]; \ |
382 | 11.4M | const int tmp10=tmp[10*8]; \ |
383 | 11.4M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ |
384 | 11.4M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ |
385 | 11.4M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ |
386 | 11.4M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ |
387 | 11.4M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ |
388 | 11.4M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ |
389 | 11.4M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ |
390 | 11.4M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ |
391 | 11.4M | dst++; \ |
392 | 11.4M | tmp++; \ |
393 | 11.4M | src2++; \ |
394 | 11.4M | } \ |
395 | 1.43M | } else {\ |
396 | 1.24M | tmp = temp+8*2; \ |
397 | 11.1M | for(i=0; i<w; i++) \ |
398 | 9.94M | { \ |
399 | 9.94M | const int tmpB= tmp[-2*8]; \ |
400 | 9.94M | const int tmpA= tmp[-1*8]; \ |
401 | 9.94M | const int tmp0= tmp[0 *8]; \ |
402 | 9.94M | const int tmp1= tmp[1 *8]; \ |
403 | 9.94M | const int tmp2= tmp[2 *8]; \ |
404 | 9.94M | const int tmp3= tmp[3 *8]; \ |
405 | 9.94M | const int tmp4= tmp[4 *8]; \ |
406 | 9.94M | const int tmp5= tmp[5 *8]; \ |
407 | 9.94M | const int tmp6= tmp[6 *8]; \ |
408 | 9.94M | const int tmp7= tmp[7 *8]; \ |
409 | 9.94M | const int tmp8= tmp[8 *8]; \ |
410 | 9.94M | const int tmp9= tmp[9 *8]; \ |
411 | 9.94M | const int tmp10=tmp[10*8]; \ |
412 | 9.94M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ |
413 | 9.94M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ |
414 | 9.94M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ |
415 | 9.94M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ |
416 | 9.94M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ |
417 | 9.94M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ |
418 | 9.94M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ |
419 | 9.94M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ |
420 | 9.94M | dst++; \ |
421 | 9.94M | tmp++; \ |
422 | 9.94M | } \ |
423 | 1.24M | }\ |
424 | 2.67M | }\ cavsdsp.c:put_cavs_filt8_hv_egpr Line | Count | Source | 344 | 790k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 790k | { \ | 346 | 790k | int16_t temp[8*(8+5)];\ | 347 | 790k | int16_t *tmp = temp;\ | 348 | 790k | const int h=8;\ | 349 | 790k | const int w=8;\ | 350 | 790k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 790k | int i;\ | 352 | 790k | src1 -= 2*srcStride;\ | 353 | 11.0M | for(i=0; i<h+5; i++)\ | 354 | 10.2M | {\ | 355 | 10.2M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 10.2M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 10.2M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 10.2M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 10.2M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 10.2M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 10.2M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 10.2M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 10.2M | tmp+=8;\ | 364 | 10.2M | src1+=srcStride;\ | 365 | 10.2M | }\ | 366 | 790k | if(FULL) {\ | 367 | 790k | tmp = temp+8*2; \ | 368 | 7.11M | for(i=0; i<w; i++) \ | 369 | 6.32M | { \ | 370 | 6.32M | const int tmpB= tmp[-2*8]; \ | 371 | 6.32M | const int tmpA= tmp[-1*8]; \ | 372 | 6.32M | const int tmp0= tmp[0 *8]; \ | 373 | 6.32M | const int tmp1= tmp[1 *8]; \ | 374 | 6.32M | const int tmp2= tmp[2 *8]; \ | 375 | 6.32M | const int tmp3= tmp[3 *8]; \ | 376 | 6.32M | const int tmp4= tmp[4 *8]; \ | 377 | 6.32M | const int tmp5= tmp[5 *8]; \ | 378 | 6.32M | const int tmp6= tmp[6 *8]; \ | 379 | 6.32M | const int tmp7= tmp[7 *8]; \ | 380 | 6.32M | const int tmp8= tmp[8 *8]; \ | 381 | 6.32M | const int tmp9= tmp[9 *8]; \ | 382 | 6.32M | const int tmp10=tmp[10*8]; \ | 383 | 6.32M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 6.32M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 6.32M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 6.32M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 6.32M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 6.32M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 6.32M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 6.32M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 6.32M | dst++; \ | 392 | 6.32M | tmp++; \ | 393 | 6.32M | src2++; \ | 394 | 6.32M | } \ | 395 | 790k | } else {\ | 396 | 0 | tmp = temp+8*2; \ | 397 | 0 | for(i=0; i<w; i++) \ | 398 | 0 | { \ | 399 | 0 | const int tmpB= tmp[-2*8]; \ | 400 | 0 | const int tmpA= tmp[-1*8]; \ | 401 | 0 | const int tmp0= tmp[0 *8]; \ | 402 | 0 | const int tmp1= tmp[1 *8]; \ | 403 | 0 | const int tmp2= tmp[2 *8]; \ | 404 | 0 | const int tmp3= tmp[3 *8]; \ | 405 | 0 | const int tmp4= tmp[4 *8]; \ | 406 | 0 | const int tmp5= tmp[5 *8]; \ | 407 | 0 | const int tmp6= tmp[6 *8]; \ | 408 | 0 | const int tmp7= tmp[7 *8]; \ | 409 | 0 | const int tmp8= tmp[8 *8]; \ | 410 | 0 | const int tmp9= tmp[9 *8]; \ | 411 | 0 | const int tmp10=tmp[10*8]; \ | 412 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 0 | dst++; \ | 421 | 0 | tmp++; \ | 422 | 0 | } \ | 423 | 0 | }\ | 424 | 790k | }\ |
cavsdsp.c:put_cavs_filt8_hv_ff Line | Count | Source | 344 | 106k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 106k | { \ | 346 | 106k | int16_t temp[8*(8+5)];\ | 347 | 106k | int16_t *tmp = temp;\ | 348 | 106k | const int h=8;\ | 349 | 106k | const int w=8;\ | 350 | 106k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 106k | int i;\ | 352 | 106k | src1 -= 2*srcStride;\ | 353 | 1.49M | for(i=0; i<h+5; i++)\ | 354 | 1.38M | {\ | 355 | 1.38M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.38M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.38M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.38M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.38M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.38M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.38M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.38M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.38M | tmp+=8;\ | 364 | 1.38M | src1+=srcStride;\ | 365 | 1.38M | }\ | 366 | 106k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 106k | } else {\ | 396 | 106k | tmp = temp+8*2; \ | 397 | 961k | for(i=0; i<w; i++) \ | 398 | 854k | { \ | 399 | 854k | const int tmpB= tmp[-2*8]; \ | 400 | 854k | const int tmpA= tmp[-1*8]; \ | 401 | 854k | const int tmp0= tmp[0 *8]; \ | 402 | 854k | const int tmp1= tmp[1 *8]; \ | 403 | 854k | const int tmp2= tmp[2 *8]; \ | 404 | 854k | const int tmp3= tmp[3 *8]; \ | 405 | 854k | const int tmp4= tmp[4 *8]; \ | 406 | 854k | const int tmp5= tmp[5 *8]; \ | 407 | 854k | const int tmp6= tmp[6 *8]; \ | 408 | 854k | const int tmp7= tmp[7 *8]; \ | 409 | 854k | const int tmp8= tmp[8 *8]; \ | 410 | 854k | const int tmp9= tmp[9 *8]; \ | 411 | 854k | const int tmp10=tmp[10*8]; \ | 412 | 854k | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 854k | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 854k | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 854k | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 854k | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 854k | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 854k | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 854k | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 854k | dst++; \ | 421 | 854k | tmp++; \ | 422 | 854k | } \ | 423 | 106k | }\ | 424 | 106k | }\ |
cavsdsp.c:put_cavs_filt8_hv_ii Line | Count | Source | 344 | 105k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 105k | { \ | 346 | 105k | int16_t temp[8*(8+5)];\ | 347 | 105k | int16_t *tmp = temp;\ | 348 | 105k | const int h=8;\ | 349 | 105k | const int w=8;\ | 350 | 105k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 105k | int i;\ | 352 | 105k | src1 -= 2*srcStride;\ | 353 | 1.47M | for(i=0; i<h+5; i++)\ | 354 | 1.36M | {\ | 355 | 1.36M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.36M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.36M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.36M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.36M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.36M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.36M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.36M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.36M | tmp+=8;\ | 364 | 1.36M | src1+=srcStride;\ | 365 | 1.36M | }\ | 366 | 105k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 105k | } else {\ | 396 | 105k | tmp = temp+8*2; \ | 397 | 947k | for(i=0; i<w; i++) \ | 398 | 842k | { \ | 399 | 842k | const int tmpB= tmp[-2*8]; \ | 400 | 842k | const int tmpA= tmp[-1*8]; \ | 401 | 842k | const int tmp0= tmp[0 *8]; \ | 402 | 842k | const int tmp1= tmp[1 *8]; \ | 403 | 842k | const int tmp2= tmp[2 *8]; \ | 404 | 842k | const int tmp3= tmp[3 *8]; \ | 405 | 842k | const int tmp4= tmp[4 *8]; \ | 406 | 842k | const int tmp5= tmp[5 *8]; \ | 407 | 842k | const int tmp6= tmp[6 *8]; \ | 408 | 842k | const int tmp7= tmp[7 *8]; \ | 409 | 842k | const int tmp8= tmp[8 *8]; \ | 410 | 842k | const int tmp9= tmp[9 *8]; \ | 411 | 842k | const int tmp10=tmp[10*8]; \ | 412 | 842k | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 842k | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 842k | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 842k | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 842k | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 842k | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 842k | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 842k | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 842k | dst++; \ | 421 | 842k | tmp++; \ | 422 | 842k | } \ | 423 | 105k | }\ | 424 | 105k | }\ |
cavsdsp.c:put_cavs_filt8_hv_jj Line | Count | Source | 344 | 123k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 123k | { \ | 346 | 123k | int16_t temp[8*(8+5)];\ | 347 | 123k | int16_t *tmp = temp;\ | 348 | 123k | const int h=8;\ | 349 | 123k | const int w=8;\ | 350 | 123k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 123k | int i;\ | 352 | 123k | src1 -= 2*srcStride;\ | 353 | 1.72M | for(i=0; i<h+5; i++)\ | 354 | 1.60M | {\ | 355 | 1.60M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.60M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.60M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.60M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.60M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.60M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.60M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.60M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.60M | tmp+=8;\ | 364 | 1.60M | src1+=srcStride;\ | 365 | 1.60M | }\ | 366 | 123k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 123k | } else {\ | 396 | 123k | tmp = temp+8*2; \ | 397 | 1.11M | for(i=0; i<w; i++) \ | 398 | 987k | { \ | 399 | 987k | const int tmpB= tmp[-2*8]; \ | 400 | 987k | const int tmpA= tmp[-1*8]; \ | 401 | 987k | const int tmp0= tmp[0 *8]; \ | 402 | 987k | const int tmp1= tmp[1 *8]; \ | 403 | 987k | const int tmp2= tmp[2 *8]; \ | 404 | 987k | const int tmp3= tmp[3 *8]; \ | 405 | 987k | const int tmp4= tmp[4 *8]; \ | 406 | 987k | const int tmp5= tmp[5 *8]; \ | 407 | 987k | const int tmp6= tmp[6 *8]; \ | 408 | 987k | const int tmp7= tmp[7 *8]; \ | 409 | 987k | const int tmp8= tmp[8 *8]; \ | 410 | 987k | const int tmp9= tmp[9 *8]; \ | 411 | 987k | const int tmp10=tmp[10*8]; \ | 412 | 987k | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 987k | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 987k | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 987k | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 987k | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 987k | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 987k | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 987k | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 987k | dst++; \ | 421 | 987k | tmp++; \ | 422 | 987k | } \ | 423 | 123k | }\ | 424 | 123k | }\ |
cavsdsp.c:put_cavs_filt8_hv_kk Line | Count | Source | 344 | 184k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 184k | { \ | 346 | 184k | int16_t temp[8*(8+5)];\ | 347 | 184k | int16_t *tmp = temp;\ | 348 | 184k | const int h=8;\ | 349 | 184k | const int w=8;\ | 350 | 184k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 184k | int i;\ | 352 | 184k | src1 -= 2*srcStride;\ | 353 | 2.58M | for(i=0; i<h+5; i++)\ | 354 | 2.39M | {\ | 355 | 2.39M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 2.39M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 2.39M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 2.39M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 2.39M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 2.39M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 2.39M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 2.39M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 2.39M | tmp+=8;\ | 364 | 2.39M | src1+=srcStride;\ | 365 | 2.39M | }\ | 366 | 184k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 184k | } else {\ | 396 | 184k | tmp = temp+8*2; \ | 397 | 1.65M | for(i=0; i<w; i++) \ | 398 | 1.47M | { \ | 399 | 1.47M | const int tmpB= tmp[-2*8]; \ | 400 | 1.47M | const int tmpA= tmp[-1*8]; \ | 401 | 1.47M | const int tmp0= tmp[0 *8]; \ | 402 | 1.47M | const int tmp1= tmp[1 *8]; \ | 403 | 1.47M | const int tmp2= tmp[2 *8]; \ | 404 | 1.47M | const int tmp3= tmp[3 *8]; \ | 405 | 1.47M | const int tmp4= tmp[4 *8]; \ | 406 | 1.47M | const int tmp5= tmp[5 *8]; \ | 407 | 1.47M | const int tmp6= tmp[6 *8]; \ | 408 | 1.47M | const int tmp7= tmp[7 *8]; \ | 409 | 1.47M | const int tmp8= tmp[8 *8]; \ | 410 | 1.47M | const int tmp9= tmp[9 *8]; \ | 411 | 1.47M | const int tmp10=tmp[10*8]; \ | 412 | 1.47M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 1.47M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 1.47M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 1.47M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 1.47M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 1.47M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 1.47M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 1.47M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 1.47M | dst++; \ | 421 | 1.47M | tmp++; \ | 422 | 1.47M | } \ | 423 | 184k | }\ | 424 | 184k | }\ |
cavsdsp.c:put_cavs_filt8_hv_qq Line | Count | Source | 344 | 202k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 202k | { \ | 346 | 202k | int16_t temp[8*(8+5)];\ | 347 | 202k | int16_t *tmp = temp;\ | 348 | 202k | const int h=8;\ | 349 | 202k | const int w=8;\ | 350 | 202k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 202k | int i;\ | 352 | 202k | src1 -= 2*srcStride;\ | 353 | 2.83M | for(i=0; i<h+5; i++)\ | 354 | 2.63M | {\ | 355 | 2.63M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 2.63M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 2.63M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 2.63M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 2.63M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 2.63M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 2.63M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 2.63M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 2.63M | tmp+=8;\ | 364 | 2.63M | src1+=srcStride;\ | 365 | 2.63M | }\ | 366 | 202k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 202k | } else {\ | 396 | 202k | tmp = temp+8*2; \ | 397 | 1.82M | for(i=0; i<w; i++) \ | 398 | 1.61M | { \ | 399 | 1.61M | const int tmpB= tmp[-2*8]; \ | 400 | 1.61M | const int tmpA= tmp[-1*8]; \ | 401 | 1.61M | const int tmp0= tmp[0 *8]; \ | 402 | 1.61M | const int tmp1= tmp[1 *8]; \ | 403 | 1.61M | const int tmp2= tmp[2 *8]; \ | 404 | 1.61M | const int tmp3= tmp[3 *8]; \ | 405 | 1.61M | const int tmp4= tmp[4 *8]; \ | 406 | 1.61M | const int tmp5= tmp[5 *8]; \ | 407 | 1.61M | const int tmp6= tmp[6 *8]; \ | 408 | 1.61M | const int tmp7= tmp[7 *8]; \ | 409 | 1.61M | const int tmp8= tmp[8 *8]; \ | 410 | 1.61M | const int tmp9= tmp[9 *8]; \ | 411 | 1.61M | const int tmp10=tmp[10*8]; \ | 412 | 1.61M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 1.61M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 1.61M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 1.61M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 1.61M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 1.61M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 1.61M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 1.61M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 1.61M | dst++; \ | 421 | 1.61M | tmp++; \ | 422 | 1.61M | } \ | 423 | 202k | }\ | 424 | 202k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_egpr Line | Count | Source | 344 | 646k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 646k | { \ | 346 | 646k | int16_t temp[8*(8+5)];\ | 347 | 646k | int16_t *tmp = temp;\ | 348 | 646k | const int h=8;\ | 349 | 646k | const int w=8;\ | 350 | 646k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 646k | int i;\ | 352 | 646k | src1 -= 2*srcStride;\ | 353 | 9.04M | for(i=0; i<h+5; i++)\ | 354 | 8.39M | {\ | 355 | 8.39M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 8.39M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 8.39M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 8.39M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 8.39M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 8.39M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 8.39M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 8.39M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 8.39M | tmp+=8;\ | 364 | 8.39M | src1+=srcStride;\ | 365 | 8.39M | }\ | 366 | 646k | if(FULL) {\ | 367 | 646k | tmp = temp+8*2; \ | 368 | 5.81M | for(i=0; i<w; i++) \ | 369 | 5.16M | { \ | 370 | 5.16M | const int tmpB= tmp[-2*8]; \ | 371 | 5.16M | const int tmpA= tmp[-1*8]; \ | 372 | 5.16M | const int tmp0= tmp[0 *8]; \ | 373 | 5.16M | const int tmp1= tmp[1 *8]; \ | 374 | 5.16M | const int tmp2= tmp[2 *8]; \ | 375 | 5.16M | const int tmp3= tmp[3 *8]; \ | 376 | 5.16M | const int tmp4= tmp[4 *8]; \ | 377 | 5.16M | const int tmp5= tmp[5 *8]; \ | 378 | 5.16M | const int tmp6= tmp[6 *8]; \ | 379 | 5.16M | const int tmp7= tmp[7 *8]; \ | 380 | 5.16M | const int tmp8= tmp[8 *8]; \ | 381 | 5.16M | const int tmp9= tmp[9 *8]; \ | 382 | 5.16M | const int tmp10=tmp[10*8]; \ | 383 | 5.16M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 5.16M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 5.16M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 5.16M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 5.16M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 5.16M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 5.16M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 5.16M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 5.16M | dst++; \ | 392 | 5.16M | tmp++; \ | 393 | 5.16M | src2++; \ | 394 | 5.16M | } \ | 395 | 646k | } else {\ | 396 | 0 | tmp = temp+8*2; \ | 397 | 0 | for(i=0; i<w; i++) \ | 398 | 0 | { \ | 399 | 0 | const int tmpB= tmp[-2*8]; \ | 400 | 0 | const int tmpA= tmp[-1*8]; \ | 401 | 0 | const int tmp0= tmp[0 *8]; \ | 402 | 0 | const int tmp1= tmp[1 *8]; \ | 403 | 0 | const int tmp2= tmp[2 *8]; \ | 404 | 0 | const int tmp3= tmp[3 *8]; \ | 405 | 0 | const int tmp4= tmp[4 *8]; \ | 406 | 0 | const int tmp5= tmp[5 *8]; \ | 407 | 0 | const int tmp6= tmp[6 *8]; \ | 408 | 0 | const int tmp7= tmp[7 *8]; \ | 409 | 0 | const int tmp8= tmp[8 *8]; \ | 410 | 0 | const int tmp9= tmp[9 *8]; \ | 411 | 0 | const int tmp10=tmp[10*8]; \ | 412 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 0 | dst++; \ | 421 | 0 | tmp++; \ | 422 | 0 | } \ | 423 | 0 | }\ | 424 | 646k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_ff Line | Count | Source | 344 | 65.0k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 65.0k | { \ | 346 | 65.0k | int16_t temp[8*(8+5)];\ | 347 | 65.0k | int16_t *tmp = temp;\ | 348 | 65.0k | const int h=8;\ | 349 | 65.0k | const int w=8;\ | 350 | 65.0k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 65.0k | int i;\ | 352 | 65.0k | src1 -= 2*srcStride;\ | 353 | 910k | for(i=0; i<h+5; i++)\ | 354 | 845k | {\ | 355 | 845k | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 845k | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 845k | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 845k | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 845k | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 845k | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 845k | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 845k | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 845k | tmp+=8;\ | 364 | 845k | src1+=srcStride;\ | 365 | 845k | }\ | 366 | 65.0k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 65.0k | } else {\ | 396 | 65.0k | tmp = temp+8*2; \ | 397 | 585k | for(i=0; i<w; i++) \ | 398 | 520k | { \ | 399 | 520k | const int tmpB= tmp[-2*8]; \ | 400 | 520k | const int tmpA= tmp[-1*8]; \ | 401 | 520k | const int tmp0= tmp[0 *8]; \ | 402 | 520k | const int tmp1= tmp[1 *8]; \ | 403 | 520k | const int tmp2= tmp[2 *8]; \ | 404 | 520k | const int tmp3= tmp[3 *8]; \ | 405 | 520k | const int tmp4= tmp[4 *8]; \ | 406 | 520k | const int tmp5= tmp[5 *8]; \ | 407 | 520k | const int tmp6= tmp[6 *8]; \ | 408 | 520k | const int tmp7= tmp[7 *8]; \ | 409 | 520k | const int tmp8= tmp[8 *8]; \ | 410 | 520k | const int tmp9= tmp[9 *8]; \ | 411 | 520k | const int tmp10=tmp[10*8]; \ | 412 | 520k | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 520k | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 520k | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 520k | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 520k | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 520k | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 520k | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 520k | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 520k | dst++; \ | 421 | 520k | tmp++; \ | 422 | 520k | } \ | 423 | 65.0k | }\ | 424 | 65.0k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_ii Line | Count | Source | 344 | 80.1k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 80.1k | { \ | 346 | 80.1k | int16_t temp[8*(8+5)];\ | 347 | 80.1k | int16_t *tmp = temp;\ | 348 | 80.1k | const int h=8;\ | 349 | 80.1k | const int w=8;\ | 350 | 80.1k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 80.1k | int i;\ | 352 | 80.1k | src1 -= 2*srcStride;\ | 353 | 1.12M | for(i=0; i<h+5; i++)\ | 354 | 1.04M | {\ | 355 | 1.04M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.04M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.04M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.04M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.04M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.04M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.04M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.04M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.04M | tmp+=8;\ | 364 | 1.04M | src1+=srcStride;\ | 365 | 1.04M | }\ | 366 | 80.1k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 80.1k | } else {\ | 396 | 80.1k | tmp = temp+8*2; \ | 397 | 720k | for(i=0; i<w; i++) \ | 398 | 640k | { \ | 399 | 640k | const int tmpB= tmp[-2*8]; \ | 400 | 640k | const int tmpA= tmp[-1*8]; \ | 401 | 640k | const int tmp0= tmp[0 *8]; \ | 402 | 640k | const int tmp1= tmp[1 *8]; \ | 403 | 640k | const int tmp2= tmp[2 *8]; \ | 404 | 640k | const int tmp3= tmp[3 *8]; \ | 405 | 640k | const int tmp4= tmp[4 *8]; \ | 406 | 640k | const int tmp5= tmp[5 *8]; \ | 407 | 640k | const int tmp6= tmp[6 *8]; \ | 408 | 640k | const int tmp7= tmp[7 *8]; \ | 409 | 640k | const int tmp8= tmp[8 *8]; \ | 410 | 640k | const int tmp9= tmp[9 *8]; \ | 411 | 640k | const int tmp10=tmp[10*8]; \ | 412 | 640k | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 640k | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 640k | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 640k | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 640k | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 640k | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 640k | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 640k | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 640k | dst++; \ | 421 | 640k | tmp++; \ | 422 | 640k | } \ | 423 | 80.1k | }\ | 424 | 80.1k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_jj Line | Count | Source | 344 | 163k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 163k | { \ | 346 | 163k | int16_t temp[8*(8+5)];\ | 347 | 163k | int16_t *tmp = temp;\ | 348 | 163k | const int h=8;\ | 349 | 163k | const int w=8;\ | 350 | 163k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 163k | int i;\ | 352 | 163k | src1 -= 2*srcStride;\ | 353 | 2.29M | for(i=0; i<h+5; i++)\ | 354 | 2.12M | {\ | 355 | 2.12M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 2.12M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 2.12M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 2.12M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 2.12M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 2.12M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 2.12M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 2.12M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 2.12M | tmp+=8;\ | 364 | 2.12M | src1+=srcStride;\ | 365 | 2.12M | }\ | 366 | 163k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 163k | } else {\ | 396 | 163k | tmp = temp+8*2; \ | 397 | 1.47M | for(i=0; i<w; i++) \ | 398 | 1.31M | { \ | 399 | 1.31M | const int tmpB= tmp[-2*8]; \ | 400 | 1.31M | const int tmpA= tmp[-1*8]; \ | 401 | 1.31M | const int tmp0= tmp[0 *8]; \ | 402 | 1.31M | const int tmp1= tmp[1 *8]; \ | 403 | 1.31M | const int tmp2= tmp[2 *8]; \ | 404 | 1.31M | const int tmp3= tmp[3 *8]; \ | 405 | 1.31M | const int tmp4= tmp[4 *8]; \ | 406 | 1.31M | const int tmp5= tmp[5 *8]; \ | 407 | 1.31M | const int tmp6= tmp[6 *8]; \ | 408 | 1.31M | const int tmp7= tmp[7 *8]; \ | 409 | 1.31M | const int tmp8= tmp[8 *8]; \ | 410 | 1.31M | const int tmp9= tmp[9 *8]; \ | 411 | 1.31M | const int tmp10=tmp[10*8]; \ | 412 | 1.31M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 1.31M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 1.31M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 1.31M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 1.31M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 1.31M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 1.31M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 1.31M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 1.31M | dst++; \ | 421 | 1.31M | tmp++; \ | 422 | 1.31M | } \ | 423 | 163k | }\ | 424 | 163k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_kk Line | Count | Source | 344 | 117k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 117k | { \ | 346 | 117k | int16_t temp[8*(8+5)];\ | 347 | 117k | int16_t *tmp = temp;\ | 348 | 117k | const int h=8;\ | 349 | 117k | const int w=8;\ | 350 | 117k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 117k | int i;\ | 352 | 117k | src1 -= 2*srcStride;\ | 353 | 1.64M | for(i=0; i<h+5; i++)\ | 354 | 1.52M | {\ | 355 | 1.52M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.52M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.52M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.52M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.52M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.52M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.52M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.52M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.52M | tmp+=8;\ | 364 | 1.52M | src1+=srcStride;\ | 365 | 1.52M | }\ | 366 | 117k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 117k | } else {\ | 396 | 117k | tmp = temp+8*2; \ | 397 | 1.05M | for(i=0; i<w; i++) \ | 398 | 939k | { \ | 399 | 939k | const int tmpB= tmp[-2*8]; \ | 400 | 939k | const int tmpA= tmp[-1*8]; \ | 401 | 939k | const int tmp0= tmp[0 *8]; \ | 402 | 939k | const int tmp1= tmp[1 *8]; \ | 403 | 939k | const int tmp2= tmp[2 *8]; \ | 404 | 939k | const int tmp3= tmp[3 *8]; \ | 405 | 939k | const int tmp4= tmp[4 *8]; \ | 406 | 939k | const int tmp5= tmp[5 *8]; \ | 407 | 939k | const int tmp6= tmp[6 *8]; \ | 408 | 939k | const int tmp7= tmp[7 *8]; \ | 409 | 939k | const int tmp8= tmp[8 *8]; \ | 410 | 939k | const int tmp9= tmp[9 *8]; \ | 411 | 939k | const int tmp10=tmp[10*8]; \ | 412 | 939k | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 939k | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 939k | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 939k | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 939k | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 939k | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 939k | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 939k | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 939k | dst++; \ | 421 | 939k | tmp++; \ | 422 | 939k | } \ | 423 | 117k | }\ | 424 | 117k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_qq Line | Count | Source | 344 | 94.4k | static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 345 | 94.4k | { \ | 346 | 94.4k | int16_t temp[8*(8+5)];\ | 347 | 94.4k | int16_t *tmp = temp;\ | 348 | 94.4k | const int h=8;\ | 349 | 94.4k | const int w=8;\ | 350 | 94.4k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 94.4k | int i;\ | 352 | 94.4k | src1 -= 2*srcStride;\ | 353 | 1.32M | for(i=0; i<h+5; i++)\ | 354 | 1.22M | {\ | 355 | 1.22M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.22M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.22M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.22M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.22M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.22M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.22M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.22M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.22M | tmp+=8;\ | 364 | 1.22M | src1+=srcStride;\ | 365 | 1.22M | }\ | 366 | 94.4k | if(FULL) {\ | 367 | 0 | tmp = temp+8*2; \ | 368 | 0 | for(i=0; i<w; i++) \ | 369 | 0 | { \ | 370 | 0 | const int tmpB= tmp[-2*8]; \ | 371 | 0 | const int tmpA= tmp[-1*8]; \ | 372 | 0 | const int tmp0= tmp[0 *8]; \ | 373 | 0 | const int tmp1= tmp[1 *8]; \ | 374 | 0 | const int tmp2= tmp[2 *8]; \ | 375 | 0 | const int tmp3= tmp[3 *8]; \ | 376 | 0 | const int tmp4= tmp[4 *8]; \ | 377 | 0 | const int tmp5= tmp[5 *8]; \ | 378 | 0 | const int tmp6= tmp[6 *8]; \ | 379 | 0 | const int tmp7= tmp[7 *8]; \ | 380 | 0 | const int tmp8= tmp[8 *8]; \ | 381 | 0 | const int tmp9= tmp[9 *8]; \ | 382 | 0 | const int tmp10=tmp[10*8]; \ | 383 | 0 | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 0 | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 0 | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 0 | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 0 | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 0 | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 0 | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 0 | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 0 | dst++; \ | 392 | 0 | tmp++; \ | 393 | 0 | src2++; \ | 394 | 0 | } \ | 395 | 94.4k | } else {\ | 396 | 94.4k | tmp = temp+8*2; \ | 397 | 850k | for(i=0; i<w; i++) \ | 398 | 755k | { \ | 399 | 755k | const int tmpB= tmp[-2*8]; \ | 400 | 755k | const int tmpA= tmp[-1*8]; \ | 401 | 755k | const int tmp0= tmp[0 *8]; \ | 402 | 755k | const int tmp1= tmp[1 *8]; \ | 403 | 755k | const int tmp2= tmp[2 *8]; \ | 404 | 755k | const int tmp3= tmp[3 *8]; \ | 405 | 755k | const int tmp4= tmp[4 *8]; \ | 406 | 755k | const int tmp5= tmp[5 *8]; \ | 407 | 755k | const int tmp6= tmp[6 *8]; \ | 408 | 755k | const int tmp7= tmp[7 *8]; \ | 409 | 755k | const int tmp8= tmp[8 *8]; \ | 410 | 755k | const int tmp9= tmp[9 *8]; \ | 411 | 755k | const int tmp10=tmp[10*8]; \ | 412 | 755k | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 755k | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 755k | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 755k | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 755k | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 755k | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 755k | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 755k | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 755k | dst++; \ | 421 | 755k | tmp++; \ | 422 | 755k | } \ | 423 | 94.4k | }\ | 424 | 94.4k | }\ |
|
425 | | \ |
426 | 165k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
427 | 165k | { \ |
428 | 165k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ |
429 | 165k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ |
430 | 165k | src1 += 8*srcStride;\ |
431 | 165k | if (FULL) \ |
432 | 165k | src2 += 8*srcStride;\ |
433 | 165k | dst += 8*dstStride;\ |
434 | 165k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ |
435 | 165k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ |
436 | 165k | }\ cavsdsp.c:put_cavs_filt16_hv_egpr Line | Count | Source | 426 | 42.0k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 42.0k | { \ | 428 | 42.0k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 42.0k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 42.0k | src1 += 8*srcStride;\ | 431 | 42.0k | if (FULL) \ | 432 | 42.0k | src2 += 8*srcStride;\ | 433 | 42.0k | dst += 8*dstStride;\ | 434 | 42.0k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 42.0k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 42.0k | }\ |
cavsdsp.c:put_cavs_filt16_hv_ff Line | Count | Source | 426 | 10.2k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 10.2k | { \ | 428 | 10.2k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 10.2k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 10.2k | src1 += 8*srcStride;\ | 431 | 10.2k | if (FULL) \ | 432 | 10.2k | src2 += 8*srcStride;\ | 433 | 10.2k | dst += 8*dstStride;\ | 434 | 10.2k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 10.2k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 10.2k | }\ |
cavsdsp.c:put_cavs_filt16_hv_ii Line | Count | Source | 426 | 8.97k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 8.97k | { \ | 428 | 8.97k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 8.97k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 8.97k | src1 += 8*srcStride;\ | 431 | 8.97k | if (FULL) \ | 432 | 8.97k | src2 += 8*srcStride;\ | 433 | 8.97k | dst += 8*dstStride;\ | 434 | 8.97k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 8.97k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 8.97k | }\ |
cavsdsp.c:put_cavs_filt16_hv_jj Line | Count | Source | 426 | 12.5k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 12.5k | { \ | 428 | 12.5k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 12.5k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 12.5k | src1 += 8*srcStride;\ | 431 | 12.5k | if (FULL) \ | 432 | 12.5k | src2 += 8*srcStride;\ | 433 | 12.5k | dst += 8*dstStride;\ | 434 | 12.5k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 12.5k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 12.5k | }\ |
cavsdsp.c:put_cavs_filt16_hv_kk Line | Count | Source | 426 | 19.0k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 19.0k | { \ | 428 | 19.0k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 19.0k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 19.0k | src1 += 8*srcStride;\ | 431 | 19.0k | if (FULL) \ | 432 | 19.0k | src2 += 8*srcStride;\ | 433 | 19.0k | dst += 8*dstStride;\ | 434 | 19.0k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 19.0k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 19.0k | }\ |
cavsdsp.c:put_cavs_filt16_hv_qq Line | Count | Source | 426 | 19.8k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 19.8k | { \ | 428 | 19.8k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 19.8k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 19.8k | src1 += 8*srcStride;\ | 431 | 19.8k | if (FULL) \ | 432 | 19.8k | src2 += 8*srcStride;\ | 433 | 19.8k | dst += 8*dstStride;\ | 434 | 19.8k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 19.8k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 19.8k | }\ |
cavsdsp.c:avg_cavs_filt16_hv_egpr Line | Count | Source | 426 | 21.1k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 21.1k | { \ | 428 | 21.1k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 21.1k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 21.1k | src1 += 8*srcStride;\ | 431 | 21.1k | if (FULL) \ | 432 | 21.1k | src2 += 8*srcStride;\ | 433 | 21.1k | dst += 8*dstStride;\ | 434 | 21.1k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 21.1k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 21.1k | }\ |
cavsdsp.c:avg_cavs_filt16_hv_ff Line | Count | Source | 426 | 2.78k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 2.78k | { \ | 428 | 2.78k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 2.78k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 2.78k | src1 += 8*srcStride;\ | 431 | 2.78k | if (FULL) \ | 432 | 2.78k | src2 += 8*srcStride;\ | 433 | 2.78k | dst += 8*dstStride;\ | 434 | 2.78k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 2.78k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 2.78k | }\ |
cavsdsp.c:avg_cavs_filt16_hv_ii Line | Count | Source | 426 | 4.90k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 4.90k | { \ | 428 | 4.90k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 4.90k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 4.90k | src1 += 8*srcStride;\ | 431 | 4.90k | if (FULL) \ | 432 | 4.90k | src2 += 8*srcStride;\ | 433 | 4.90k | dst += 8*dstStride;\ | 434 | 4.90k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 4.90k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 4.90k | }\ |
cavsdsp.c:avg_cavs_filt16_hv_jj Line | Count | Source | 426 | 3.94k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 3.94k | { \ | 428 | 3.94k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 3.94k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 3.94k | src1 += 8*srcStride;\ | 431 | 3.94k | if (FULL) \ | 432 | 3.94k | src2 += 8*srcStride;\ | 433 | 3.94k | dst += 8*dstStride;\ | 434 | 3.94k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 3.94k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 3.94k | }\ |
cavsdsp.c:avg_cavs_filt16_hv_kk Line | Count | Source | 426 | 13.8k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 13.8k | { \ | 428 | 13.8k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 13.8k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 13.8k | src1 += 8*srcStride;\ | 431 | 13.8k | if (FULL) \ | 432 | 13.8k | src2 += 8*srcStride;\ | 433 | 13.8k | dst += 8*dstStride;\ | 434 | 13.8k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 13.8k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 13.8k | }\ |
cavsdsp.c:avg_cavs_filt16_hv_qq Line | Count | Source | 426 | 5.93k | static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 427 | 5.93k | { \ | 428 | 5.93k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 429 | 5.93k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 430 | 5.93k | src1 += 8*srcStride;\ | 431 | 5.93k | if (FULL) \ | 432 | 5.93k | src2 += 8*srcStride;\ | 433 | 5.93k | dst += 8*dstStride;\ | 434 | 5.93k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ | 435 | 5.93k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ | 436 | 5.93k | }\ |
|
437 | | |
438 | | #define CAVS_MC(OPNAME, SIZE) \ |
439 | 187k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
440 | 187k | {\ |
441 | 187k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ |
442 | 187k | }\ cavsdsp.c:put_cavs_qpel16_mc10_c Line | Count | Source | 439 | 29.2k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 440 | 29.2k | {\ | 441 | 29.2k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ | 442 | 29.2k | }\ |
cavsdsp.c:put_cavs_qpel8_mc10_c Line | Count | Source | 439 | 89.5k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 440 | 89.5k | {\ | 441 | 89.5k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ | 442 | 89.5k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc10_c Line | Count | Source | 439 | 5.82k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 440 | 5.82k | {\ | 441 | 5.82k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ | 442 | 5.82k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc10_c Line | Count | Source | 439 | 63.2k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 440 | 63.2k | {\ | 441 | 63.2k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ | 442 | 63.2k | }\ |
|
443 | | \ |
444 | 247k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
445 | 247k | {\ |
446 | 247k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ |
447 | 247k | }\ cavsdsp.c:put_cavs_qpel16_mc20_c Line | Count | Source | 444 | 101k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 445 | 101k | {\ | 446 | 101k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ | 447 | 101k | }\ |
cavsdsp.c:put_cavs_qpel8_mc20_c Line | Count | Source | 444 | 82.8k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 445 | 82.8k | {\ | 446 | 82.8k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ | 447 | 82.8k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc20_c Line | Count | Source | 444 | 6.30k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 445 | 6.30k | {\ | 446 | 6.30k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ | 447 | 6.30k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc20_c Line | Count | Source | 444 | 57.2k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 445 | 57.2k | {\ | 446 | 57.2k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ | 447 | 57.2k | }\ |
|
448 | | \ |
449 | 263k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
450 | 263k | {\ |
451 | 263k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ |
452 | 263k | }\ cavsdsp.c:put_cavs_qpel16_mc30_c Line | Count | Source | 449 | 45.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 450 | 45.1k | {\ | 451 | 45.1k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ | 452 | 45.1k | }\ |
cavsdsp.c:put_cavs_qpel8_mc30_c Line | Count | Source | 449 | 137k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 450 | 137k | {\ | 451 | 137k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ | 452 | 137k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc30_c Line | Count | Source | 449 | 7.23k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 450 | 7.23k | {\ | 451 | 7.23k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ | 452 | 7.23k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc30_c Line | Count | Source | 449 | 73.6k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 450 | 73.6k | {\ | 451 | 73.6k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ | 452 | 73.6k | }\ |
|
453 | | \ |
454 | 172k | static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
455 | 172k | {\ |
456 | 172k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\ |
457 | 172k | }\ cavsdsp.c:put_cavs_qpel16_mc01_c Line | Count | Source | 454 | 10.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 455 | 10.1k | {\ | 456 | 10.1k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\ | 457 | 10.1k | }\ |
cavsdsp.c:put_cavs_qpel8_mc01_c Line | Count | Source | 454 | 80.2k | static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 455 | 80.2k | {\ | 456 | 80.2k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\ | 457 | 80.2k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc01_c Line | Count | Source | 454 | 8.72k | static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 455 | 8.72k | {\ | 456 | 8.72k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\ | 457 | 8.72k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc01_c Line | Count | Source | 454 | 73.6k | static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 455 | 73.6k | {\ | 456 | 73.6k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\ | 457 | 73.6k | }\ |
|
458 | | \ |
459 | 209k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
460 | 209k | {\ |
461 | 209k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ |
462 | 209k | }\ cavsdsp.c:put_cavs_qpel16_mc02_c Line | Count | Source | 459 | 12.0k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 460 | 12.0k | {\ | 461 | 12.0k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ | 462 | 12.0k | }\ |
cavsdsp.c:put_cavs_qpel8_mc02_c Line | Count | Source | 459 | 109k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 460 | 109k | {\ | 461 | 109k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ | 462 | 109k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc02_c Line | Count | Source | 459 | 4.38k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 460 | 4.38k | {\ | 461 | 4.38k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ | 462 | 4.38k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc02_c Line | Count | Source | 459 | 83.7k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 460 | 83.7k | {\ | 461 | 83.7k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ | 462 | 83.7k | }\ |
|
463 | | \ |
464 | 330k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
465 | 330k | {\ |
466 | 330k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ |
467 | 330k | }\ cavsdsp.c:put_cavs_qpel16_mc03_c Line | Count | Source | 464 | 18.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 465 | 18.1k | {\ | 466 | 18.1k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ | 467 | 18.1k | }\ |
cavsdsp.c:put_cavs_qpel8_mc03_c Line | Count | Source | 464 | 205k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 465 | 205k | {\ | 466 | 205k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ | 467 | 205k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc03_c Line | Count | Source | 464 | 9.21k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 465 | 9.21k | {\ | 466 | 9.21k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ | 467 | 9.21k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc03_c Line | Count | Source | 464 | 97.6k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 465 | 97.6k | {\ | 466 | 97.6k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ | 467 | 97.6k | }\ |
|
468 | | \ |
469 | 237k | static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
470 | 237k | {\ |
471 | 237k | OPNAME ## cavs_filt ## SIZE ## _hv_jj(dst, src, NULL, stride, stride); \ |
472 | 237k | }\ cavsdsp.c:put_cavs_qpel16_mc22_c Line | Count | Source | 469 | 12.5k | static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 470 | 12.5k | {\ | 471 | 12.5k | OPNAME ## cavs_filt ## SIZE ## _hv_jj(dst, src, NULL, stride, stride); \ | 472 | 12.5k | }\ |
cavsdsp.c:put_cavs_qpel8_mc22_c Line | Count | Source | 469 | 73.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 470 | 73.1k | {\ | 471 | 73.1k | OPNAME ## cavs_filt ## SIZE ## _hv_jj(dst, src, NULL, stride, stride); \ | 472 | 73.1k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc22_c Line | Count | Source | 469 | 3.94k | static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 470 | 3.94k | {\ | 471 | 3.94k | OPNAME ## cavs_filt ## SIZE ## _hv_jj(dst, src, NULL, stride, stride); \ | 472 | 3.94k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc22_c Line | Count | Source | 469 | 148k | static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 470 | 148k | {\ | 471 | 148k | OPNAME ## cavs_filt ## SIZE ## _hv_jj(dst, src, NULL, stride, stride); \ | 472 | 148k | }\ |
|
473 | | \ |
474 | 433k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
475 | 433k | {\ |
476 | 433k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ |
477 | 433k | }\ cavsdsp.c:put_cavs_qpel16_mc11_c Line | Count | Source | 474 | 13.0k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 475 | 13.0k | {\ | 476 | 13.0k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ | 477 | 13.0k | }\ |
cavsdsp.c:put_cavs_qpel8_mc11_c Line | Count | Source | 474 | 76.0k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 475 | 76.0k | {\ | 476 | 76.0k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ | 477 | 76.0k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc11_c Line | Count | Source | 474 | 8.03k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 475 | 8.03k | {\ | 476 | 8.03k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ | 477 | 8.03k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc11_c Line | Count | Source | 474 | 336k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 475 | 336k | {\ | 476 | 336k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ | 477 | 336k | }\ |
|
478 | | \ |
479 | 144k | static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
480 | 144k | {\ |
481 | 144k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \ |
482 | 144k | }\ cavsdsp.c:put_cavs_qpel16_mc13_c Line | Count | Source | 479 | 8.45k | static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 480 | 8.45k | {\ | 481 | 8.45k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \ | 482 | 8.45k | }\ |
cavsdsp.c:put_cavs_qpel8_mc13_c Line | Count | Source | 479 | 78.7k | static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 480 | 78.7k | {\ | 481 | 78.7k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \ | 482 | 78.7k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc13_c Line | Count | Source | 479 | 2.98k | static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 480 | 2.98k | {\ | 481 | 2.98k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \ | 482 | 2.98k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc13_c Line | Count | Source | 479 | 54.7k | static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 480 | 54.7k | {\ | 481 | 54.7k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \ | 482 | 54.7k | }\ |
|
483 | | \ |
484 | 249k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
485 | 249k | {\ |
486 | 249k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ |
487 | 249k | }\ cavsdsp.c:put_cavs_qpel16_mc31_c Line | Count | Source | 484 | 11.0k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 485 | 11.0k | {\ | 486 | 11.0k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ | 487 | 11.0k | }\ |
cavsdsp.c:put_cavs_qpel8_mc31_c Line | Count | Source | 484 | 138k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 485 | 138k | {\ | 486 | 138k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ | 487 | 138k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc31_c Line | Count | Source | 484 | 5.34k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 485 | 5.34k | {\ | 486 | 5.34k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ | 487 | 5.34k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc31_c Line | Count | Source | 484 | 94.5k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 485 | 94.5k | {\ | 486 | 94.5k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ | 487 | 94.5k | }\ |
|
488 | | \ |
489 | 419k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
490 | 419k | {\ |
491 | 419k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ |
492 | 419k | }\ cavsdsp.c:put_cavs_qpel16_mc33_c Line | Count | Source | 489 | 9.53k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 490 | 9.53k | {\ | 491 | 9.53k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ | 492 | 9.53k | }\ |
cavsdsp.c:put_cavs_qpel8_mc33_c Line | Count | Source | 489 | 328k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 490 | 328k | {\ | 491 | 328k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ | 492 | 328k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc33_c Line | Count | Source | 489 | 4.74k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 490 | 4.74k | {\ | 491 | 4.74k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ | 492 | 4.74k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc33_c Line | Count | Source | 489 | 76.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 490 | 76.1k | {\ | 491 | 76.1k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ | 492 | 76.1k | }\ |
|
493 | | \ |
494 | 132k | static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
495 | 132k | {\ |
496 | 132k | OPNAME ## cavs_filt ## SIZE ## _hv_ff(dst, src, NULL, stride, stride); \ |
497 | 132k | }\ cavsdsp.c:put_cavs_qpel16_mc21_c Line | Count | Source | 494 | 10.2k | static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 495 | 10.2k | {\ | 496 | 10.2k | OPNAME ## cavs_filt ## SIZE ## _hv_ff(dst, src, NULL, stride, stride); \ | 497 | 10.2k | }\ |
cavsdsp.c:put_cavs_qpel8_mc21_c Line | Count | Source | 494 | 65.6k | static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 495 | 65.6k | {\ | 496 | 65.6k | OPNAME ## cavs_filt ## SIZE ## _hv_ff(dst, src, NULL, stride, stride); \ | 497 | 65.6k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc21_c Line | Count | Source | 494 | 2.78k | static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 495 | 2.78k | {\ | 496 | 2.78k | OPNAME ## cavs_filt ## SIZE ## _hv_ff(dst, src, NULL, stride, stride); \ | 497 | 2.78k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc21_c Line | Count | Source | 494 | 53.9k | static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 495 | 53.9k | {\ | 496 | 53.9k | OPNAME ## cavs_filt ## SIZE ## _hv_ff(dst, src, NULL, stride, stride); \ | 497 | 53.9k | }\ |
|
498 | | \ |
499 | 143k | static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
500 | 143k | {\ |
501 | 143k | OPNAME ## cavs_filt ## SIZE ## _hv_ii(dst, src, NULL, stride, stride); \ |
502 | 143k | }\ cavsdsp.c:put_cavs_qpel16_mc12_c Line | Count | Source | 499 | 8.97k | static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 500 | 8.97k | {\ | 501 | 8.97k | OPNAME ## cavs_filt ## SIZE ## _hv_ii(dst, src, NULL, stride, stride); \ | 502 | 8.97k | }\ |
cavsdsp.c:put_cavs_qpel8_mc12_c Line | Count | Source | 499 | 69.3k | static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 500 | 69.3k | {\ | 501 | 69.3k | OPNAME ## cavs_filt ## SIZE ## _hv_ii(dst, src, NULL, stride, stride); \ | 502 | 69.3k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc12_c Line | Count | Source | 499 | 4.90k | static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 500 | 4.90k | {\ | 501 | 4.90k | OPNAME ## cavs_filt ## SIZE ## _hv_ii(dst, src, NULL, stride, stride); \ | 502 | 4.90k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc12_c Line | Count | Source | 499 | 60.4k | static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 500 | 60.4k | {\ | 501 | 60.4k | OPNAME ## cavs_filt ## SIZE ## _hv_ii(dst, src, NULL, stride, stride); \ | 502 | 60.4k | }\ |
|
503 | | \ |
504 | 203k | static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
505 | 203k | {\ |
506 | 203k | OPNAME ## cavs_filt ## SIZE ## _hv_kk(dst, src, NULL, stride, stride); \ |
507 | 203k | }\ cavsdsp.c:put_cavs_qpel16_mc32_c Line | Count | Source | 504 | 19.0k | static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 505 | 19.0k | {\ | 506 | 19.0k | OPNAME ## cavs_filt ## SIZE ## _hv_kk(dst, src, NULL, stride, stride); \ | 507 | 19.0k | }\ |
cavsdsp.c:put_cavs_qpel8_mc32_c Line | Count | Source | 504 | 108k | static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 505 | 108k | {\ | 506 | 108k | OPNAME ## cavs_filt ## SIZE ## _hv_kk(dst, src, NULL, stride, stride); \ | 507 | 108k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc32_c Line | Count | Source | 504 | 13.8k | static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 505 | 13.8k | {\ | 506 | 13.8k | OPNAME ## cavs_filt ## SIZE ## _hv_kk(dst, src, NULL, stride, stride); \ | 507 | 13.8k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc32_c Line | Count | Source | 504 | 62.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 505 | 62.1k | {\ | 506 | 62.1k | OPNAME ## cavs_filt ## SIZE ## _hv_kk(dst, src, NULL, stride, stride); \ | 507 | 62.1k | }\ |
|
508 | | \ |
509 | 219k | static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
510 | 219k | {\ |
511 | 219k | OPNAME ## cavs_filt ## SIZE ## _hv_qq(dst, src, NULL, stride, stride); \ |
512 | 219k | }\ cavsdsp.c:put_cavs_qpel16_mc23_c Line | Count | Source | 509 | 19.8k | static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 510 | 19.8k | {\ | 511 | 19.8k | OPNAME ## cavs_filt ## SIZE ## _hv_qq(dst, src, NULL, stride, stride); \ | 512 | 19.8k | }\ |
cavsdsp.c:put_cavs_qpel8_mc23_c Line | Count | Source | 509 | 123k | static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 510 | 123k | {\ | 511 | 123k | OPNAME ## cavs_filt ## SIZE ## _hv_qq(dst, src, NULL, stride, stride); \ | 512 | 123k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc23_c Line | Count | Source | 509 | 5.93k | static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 510 | 5.93k | {\ | 511 | 5.93k | OPNAME ## cavs_filt ## SIZE ## _hv_qq(dst, src, NULL, stride, stride); \ | 512 | 5.93k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc23_c Line | Count | Source | 509 | 70.7k | static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 510 | 70.7k | {\ | 511 | 70.7k | OPNAME ## cavs_filt ## SIZE ## _hv_qq(dst, src, NULL, stride, stride); \ | 512 | 70.7k | }\ |
|
513 | | |
514 | 41.2M | #define op_put1(a, b) a = cm[((b)+4)>>3] |
515 | 109M | #define op_put2(a, b) a = cm[((b)+64)>>7] |
516 | 7.90M | #define op_put3(a, b) a = cm[((b)+32)>>6] |
517 | 38.3M | #define op_put4(a, b) a = cm[((b)+512)>>10] |
518 | 11.7M | #define op_avg1(a, b) a = ((a)+cm[((b)+4)>>3] +1)>>1 |
519 | 69.0M | #define op_avg2(a, b) a = ((a)+cm[((b)+64)>>7] +1)>>1 |
520 | 10.4M | #define op_avg3(a, b) a = ((a)+cm[((b)+32)>>6] +1)>>1 |
521 | 22.8M | #define op_avg4(a, b) a = ((a)+cm[((b)+512)>>10]+1)>>1 |
522 | 41.2M | CAVS_SUBPIX(put_ , op_put1, hpel, 0, -1, 5, 5, -1, 0) |
523 | 20.9M | CAVS_SUBPIX(put_ , op_put2, qpel_l, -1, -2, 96, 42, -7, 0) |
524 | 38.2M | CAVS_SUBPIX(put_ , op_put2, qpel_r, 0, -7, 42, 96, -2, -1) |
525 | 7.90M | CAVS_SUBPIX_HV(put_, op_put3, jj, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1, 0, 0) |
526 | 6.83M | CAVS_SUBPIX_HV(put_, op_put4, ff, 0, -1, 5, 5, -1, 0, -1, -2, 96, 42, -7, 0, 0) |
527 | 6.73M | CAVS_SUBPIX_HV(put_, op_put4, ii, -1, -2, 96, 42, -7, 0, 0, -1, 5, 5, -1, 0, 0) |
528 | 11.8M | CAVS_SUBPIX_HV(put_, op_put4, kk, 0, -7, 42, 96, -2, -1, 0, -1, 5, 5, -1, 0, 0) |
529 | 12.9M | CAVS_SUBPIX_HV(put_, op_put4, qq, 0, -1, 5, 5, -1, 0, 0, -7, 42, 96, -2,-1, 0) |
530 | 50.5M | CAVS_SUBPIX_HV(put_, op_put2, egpr, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1, 0, 1) |
531 | 11.7M | CAVS_SUBPIX(avg_ , op_avg1, hpel, 0, -1, 5, 5, -1, 0) |
532 | 12.4M | CAVS_SUBPIX(avg_ , op_avg2, qpel_l, -1, -2, 96, 42, -7, 0) |
533 | 15.1M | CAVS_SUBPIX(avg_ , op_avg2, qpel_r, 0, -7, 42, 96, -2, -1) |
534 | 10.4M | CAVS_SUBPIX_HV(avg_, op_avg3, jj, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1, 0, 0) |
535 | 4.16M | CAVS_SUBPIX_HV(avg_, op_avg4, ff, 0, -1, 5, 5, -1, 0, -1, -2, 96, 42, -7, 0, 0) |
536 | 5.12M | CAVS_SUBPIX_HV(avg_, op_avg4, ii, -1, -2, 96, 42, -7, 0, 0, -1, 5, 5, -1, 0, 0) |
537 | 7.51M | CAVS_SUBPIX_HV(avg_, op_avg4, kk, 0, -7, 42, 96, -2, -1, 0, -1, 5, 5, -1, 0, 0) |
538 | 6.04M | CAVS_SUBPIX_HV(avg_, op_avg4, qq, 0, -1, 5, 5, -1, 0, 0, -7, 42, 96, -2,-1, 0) |
539 | 41.3M | CAVS_SUBPIX_HV(avg_, op_avg2, egpr, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1, 0, 1) |
540 | | CAVS_MC(put_, 8) |
541 | | CAVS_MC(put_, 16) |
542 | | CAVS_MC(avg_, 8) |
543 | | CAVS_MC(avg_, 16) |
544 | | |
545 | 6.31k | #define put_cavs_qpel8_mc00_c ff_put_pixels8x8_c |
546 | 6.31k | #define avg_cavs_qpel8_mc00_c ff_avg_pixels8x8_c |
547 | 6.31k | #define put_cavs_qpel16_mc00_c ff_put_pixels16x16_c |
548 | 6.31k | #define avg_cavs_qpel16_mc00_c ff_avg_pixels16x16_c |
549 | | |
550 | | av_cold void ff_cavsdsp_init(CAVSDSPContext* c) |
551 | 6.31k | { |
552 | 6.31k | #define dspfunc(PFX, IDX, NUM) \ |
553 | 25.2k | c->PFX ## _pixels_tab[IDX][ 0] = PFX ## NUM ## _mc00_c; \ |
554 | 25.2k | c->PFX ## _pixels_tab[IDX][ 1] = PFX ## NUM ## _mc10_c; \ |
555 | 25.2k | c->PFX ## _pixels_tab[IDX][ 2] = PFX ## NUM ## _mc20_c; \ |
556 | 25.2k | c->PFX ## _pixels_tab[IDX][ 3] = PFX ## NUM ## _mc30_c; \ |
557 | 25.2k | c->PFX ## _pixels_tab[IDX][ 4] = PFX ## NUM ## _mc01_c; \ |
558 | 25.2k | c->PFX ## _pixels_tab[IDX][ 5] = PFX ## NUM ## _mc11_c; \ |
559 | 25.2k | c->PFX ## _pixels_tab[IDX][ 6] = PFX ## NUM ## _mc21_c; \ |
560 | 25.2k | c->PFX ## _pixels_tab[IDX][ 7] = PFX ## NUM ## _mc31_c; \ |
561 | 25.2k | c->PFX ## _pixels_tab[IDX][ 8] = PFX ## NUM ## _mc02_c; \ |
562 | 25.2k | c->PFX ## _pixels_tab[IDX][ 9] = PFX ## NUM ## _mc12_c; \ |
563 | 25.2k | c->PFX ## _pixels_tab[IDX][10] = PFX ## NUM ## _mc22_c; \ |
564 | 25.2k | c->PFX ## _pixels_tab[IDX][11] = PFX ## NUM ## _mc32_c; \ |
565 | 25.2k | c->PFX ## _pixels_tab[IDX][12] = PFX ## NUM ## _mc03_c; \ |
566 | 25.2k | c->PFX ## _pixels_tab[IDX][13] = PFX ## NUM ## _mc13_c; \ |
567 | 25.2k | c->PFX ## _pixels_tab[IDX][14] = PFX ## NUM ## _mc23_c; \ |
568 | 25.2k | c->PFX ## _pixels_tab[IDX][15] = PFX ## NUM ## _mc33_c |
569 | 6.31k | dspfunc(put_cavs_qpel, 0, 16); |
570 | 6.31k | dspfunc(put_cavs_qpel, 1, 8); |
571 | 6.31k | dspfunc(avg_cavs_qpel, 0, 16); |
572 | 6.31k | dspfunc(avg_cavs_qpel, 1, 8); |
573 | 6.31k | c->cavs_filter_lv = cavs_filter_lv_c; |
574 | 6.31k | c->cavs_filter_lh = cavs_filter_lh_c; |
575 | 6.31k | c->cavs_filter_cv = cavs_filter_cv_c; |
576 | 6.31k | c->cavs_filter_ch = cavs_filter_ch_c; |
577 | 6.31k | c->cavs_idct8_add = cavs_idct8_add_c; |
578 | 6.31k | c->idct_perm = FF_IDCT_PERM_NONE; |
579 | | |
580 | 6.31k | #if ARCH_X86 |
581 | 6.31k | ff_cavsdsp_init_x86(c); |
582 | 6.31k | #endif |
583 | 6.31k | } |