/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 | 49.1M | #define P2 p0_p[-3*stride] |
37 | 167M | #define P1 p0_p[-2*stride] |
38 | 211M | #define P0 p0_p[-1*stride] |
39 | 210M | #define Q0 p0_p[ 0*stride] |
40 | 165M | #define Q1 p0_p[ 1*stride] |
41 | 49.1M | #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 | 4.54M | { |
45 | 4.54M | int p0 = P0; |
46 | 4.54M | int q0 = Q0; |
47 | | |
48 | 4.54M | if(abs(p0-q0)<alpha && abs(P1-p0)<beta && abs(Q1-q0)<beta) { |
49 | 4.29M | int s = p0 + q0 + 2; |
50 | 4.29M | alpha = (alpha>>2) + 2; |
51 | 4.29M | if(abs(P2-p0) < beta && abs(p0-q0) < alpha) { |
52 | 4.19M | P0 = (P1 + p0 + s) >> 2; |
53 | 4.19M | P1 = (2*P1 + s) >> 2; |
54 | 4.19M | } else |
55 | 104k | P0 = (2*P1 + s) >> 2; |
56 | 4.29M | if(abs(Q2-q0) < beta && abs(q0-p0) < alpha) { |
57 | 4.21M | Q0 = (Q1 + q0 + s) >> 2; |
58 | 4.21M | Q1 = (2*Q1 + s) >> 2; |
59 | 4.21M | } else |
60 | 77.9k | Q0 = (2*Q1 + s) >> 2; |
61 | 4.29M | } |
62 | 4.54M | } |
63 | | |
64 | | static inline void loop_filter_l1(uint8_t *p0_p, ptrdiff_t stride, int alpha, int beta, int tc) |
65 | 31.6M | { |
66 | 31.6M | int p0 = P0; |
67 | 31.6M | int q0 = Q0; |
68 | | |
69 | 31.6M | if(abs(p0-q0)<alpha && abs(P1-p0)<beta && abs(Q1-q0)<beta) { |
70 | 21.6M | int delta = av_clip(((q0-p0)*3+P1-Q1+4)>>3,-tc, tc); |
71 | 21.6M | P0 = av_clip_uint8(p0+delta); |
72 | 21.6M | Q0 = av_clip_uint8(q0-delta); |
73 | 21.6M | if(abs(P2-p0)<beta) { |
74 | 21.5M | delta = av_clip(((P0-P1)*3+P2-Q0+4)>>3, -tc, tc); |
75 | 21.5M | P1 = av_clip_uint8(P1+delta); |
76 | 21.5M | } |
77 | 21.6M | if(abs(Q2-q0)<beta) { |
78 | 21.4M | delta = av_clip(((Q1-Q0)*3+P0-Q2+4)>>3, -tc, tc); |
79 | 21.4M | Q1 = av_clip_uint8(Q1-delta); |
80 | 21.4M | } |
81 | 21.6M | } |
82 | 31.6M | } |
83 | | |
84 | | static inline void loop_filter_c2(uint8_t *p0_p, ptrdiff_t stride, int alpha, int beta) |
85 | 2.04M | { |
86 | 2.04M | int p0 = P0; |
87 | 2.04M | int q0 = Q0; |
88 | | |
89 | 2.04M | if(abs(p0-q0)<alpha && abs(P1-p0)<beta && abs(Q1-q0)<beta) { |
90 | 1.75M | int s = p0 + q0 + 2; |
91 | 1.75M | alpha = (alpha>>2) + 2; |
92 | 1.75M | if(abs(P2-p0) < beta && abs(p0-q0) < alpha) { |
93 | 1.67M | P0 = (P1 + p0 + s) >> 2; |
94 | 1.67M | } else |
95 | 84.2k | P0 = (2*P1 + s) >> 2; |
96 | 1.75M | if(abs(Q2-q0) < beta && abs(q0-p0) < alpha) { |
97 | 1.66M | Q0 = (Q1 + q0 + s) >> 2; |
98 | 1.66M | } else |
99 | 88.9k | Q0 = (2*Q1 + s) >> 2; |
100 | 1.75M | } |
101 | 2.04M | } |
102 | | |
103 | | static inline void loop_filter_c1(uint8_t *p0_p, ptrdiff_t stride, int alpha, int beta, |
104 | | int tc) |
105 | 28.9M | { |
106 | 28.9M | if(abs(P0-Q0)<alpha && abs(P1-P0)<beta && abs(Q1-Q0)<beta) { |
107 | 18.0M | int delta = av_clip(((Q0-P0)*3+P1-Q1+4)>>3, -tc, tc); |
108 | 18.0M | P0 = av_clip_uint8(P0+delta); |
109 | 18.0M | Q0 = av_clip_uint8(Q0-delta); |
110 | 18.0M | } |
111 | 28.9M | } |
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 | 3.88M | { |
123 | 3.88M | int i; |
124 | 3.88M | if(bs1==2) |
125 | 2.20M | for(i=0;i<16;i++) |
126 | 2.07M | loop_filter_l2(d + i*stride,1,alpha,beta); |
127 | 3.75M | else { |
128 | 3.75M | if(bs1) |
129 | 7.83M | for(i=0;i<8;i++) |
130 | 6.96M | loop_filter_l1(d + i*stride,1,alpha,beta,tc); |
131 | 3.75M | if (bs2) |
132 | 7.73M | for(i=8;i<16;i++) |
133 | 6.87M | loop_filter_l1(d + i*stride,1,alpha,beta,tc); |
134 | 3.75M | } |
135 | 3.88M | } |
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 | 4.66M | { |
140 | 4.66M | int i; |
141 | 4.66M | if(bs1==2) |
142 | 2.62M | for(i=0;i<16;i++) |
143 | 2.46M | loop_filter_l2(d + i,stride,alpha,beta); |
144 | 4.50M | else { |
145 | 4.50M | if(bs1) |
146 | 10.1M | for(i=0;i<8;i++) |
147 | 8.99M | loop_filter_l1(d + i,stride,alpha,beta,tc); |
148 | 4.50M | if (bs2) |
149 | 9.87M | for(i=8;i<16;i++) |
150 | 8.77M | loop_filter_l1(d + i,stride,alpha,beta,tc); |
151 | 4.50M | } |
152 | 4.66M | } |
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 | 2.58M | { |
157 | 2.58M | int i; |
158 | 2.58M | if(bs1==2) |
159 | 929k | for(i=0;i<8;i++) |
160 | 826k | loop_filter_c2(d + i*stride,1,alpha,beta); |
161 | 2.48M | else { |
162 | 2.48M | if(bs1) |
163 | 7.96M | for(i=0;i<4;i++) |
164 | 6.37M | loop_filter_c1(d + i*stride,1,alpha,beta,tc); |
165 | 2.48M | if (bs2) |
166 | 7.89M | for(i=4;i<8;i++) |
167 | 6.31M | loop_filter_c1(d + i*stride,1,alpha,beta,tc); |
168 | 2.48M | } |
169 | 2.58M | } |
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 | 4.13M | { |
174 | 4.13M | int i; |
175 | 4.13M | if(bs1==2) |
176 | 1.36M | for(i=0;i<8;i++) |
177 | 1.21M | loop_filter_c2(d + i,stride,alpha,beta); |
178 | 3.98M | else { |
179 | 3.98M | if(bs1) |
180 | 10.3M | for(i=0;i<4;i++) |
181 | 8.24M | loop_filter_c1(d + i,stride,alpha,beta,tc); |
182 | 3.98M | if (bs2) |
183 | 9.97M | for(i=4;i<8;i++) |
184 | 7.98M | loop_filter_c1(d + i,stride,alpha,beta,tc); |
185 | 3.98M | } |
186 | 4.13M | } |
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 | 2.17M | { |
196 | 2.17M | int i; |
197 | 2.17M | int16_t (*src)[8] = (int16_t(*)[8])block; |
198 | | |
199 | 2.17M | src[0][0] += 8; |
200 | | |
201 | 19.5M | for( i = 0; i < 8; i++ ) { |
202 | 17.3M | const int a0 = 3 * src[i][1] - 2 * src[i][7]; |
203 | 17.3M | const int a1 = 3 * src[i][3] + 2 * src[i][5]; |
204 | 17.3M | const int a2 = 2 * src[i][3] - 3 * src[i][5]; |
205 | 17.3M | const int a3 = 2 * src[i][1] + 3 * src[i][7]; |
206 | | |
207 | 17.3M | const int b4 = 2 * (a0 + a1 + a3) + a1; |
208 | 17.3M | const int b5 = 2 * (a0 - a1 + a2) + a0; |
209 | 17.3M | const int b6 = 2 * (a3 - a2 - a1) + a3; |
210 | 17.3M | const int b7 = 2 * (a0 - a2 - a3) - a2; |
211 | | |
212 | 17.3M | const int a7 = 4 * src[i][2] - 10 * src[i][6]; |
213 | 17.3M | const int a6 = 4 * src[i][6] + 10 * src[i][2]; |
214 | 17.3M | const int a5 = 8 * (src[i][0] - src[i][4]) + 4; |
215 | 17.3M | const int a4 = 8 * (src[i][0] + src[i][4]) + 4; |
216 | | |
217 | 17.3M | const int b0 = a4 + a6; |
218 | 17.3M | const int b1 = a5 + a7; |
219 | 17.3M | const int b2 = a5 - a7; |
220 | 17.3M | const int b3 = a4 - a6; |
221 | | |
222 | 17.3M | src[i][0] = (b0 + b4) >> 3; |
223 | 17.3M | src[i][1] = (b1 + b5) >> 3; |
224 | 17.3M | src[i][2] = (b2 + b6) >> 3; |
225 | 17.3M | src[i][3] = (b3 + b7) >> 3; |
226 | 17.3M | src[i][4] = (b3 - b7) >> 3; |
227 | 17.3M | src[i][5] = (b2 - b6) >> 3; |
228 | 17.3M | src[i][6] = (b1 - b5) >> 3; |
229 | 17.3M | src[i][7] = (b0 - b4) >> 3; |
230 | 17.3M | } |
231 | 19.5M | for( i = 0; i < 8; i++ ) { |
232 | 17.3M | const int a0 = 3 * src[1][i] - 2 * src[7][i]; |
233 | 17.3M | const int a1 = 3 * src[3][i] + 2 * src[5][i]; |
234 | 17.3M | const int a2 = 2 * src[3][i] - 3 * src[5][i]; |
235 | 17.3M | const int a3 = 2 * src[1][i] + 3 * src[7][i]; |
236 | | |
237 | 17.3M | const int b4 = 2 * (a0 + a1 + a3) + a1; |
238 | 17.3M | const int b5 = 2 * (a0 - a1 + a2) + a0; |
239 | 17.3M | const int b6 = 2 * (a3 - a2 - a1) + a3; |
240 | 17.3M | const int b7 = 2 * (a0 - a2 - a3) - a2; |
241 | | |
242 | 17.3M | const int a7 = 4 * src[2][i] - 10 * src[6][i]; |
243 | 17.3M | const int a6 = 4 * src[6][i] + 10 * src[2][i]; |
244 | 17.3M | const int a5 = 8 * (src[0][i] - src[4][i]); |
245 | 17.3M | const int a4 = 8 * (src[0][i] + src[4][i]); |
246 | | |
247 | 17.3M | const int b0 = a4 + a6; |
248 | 17.3M | const int b1 = a5 + a7; |
249 | 17.3M | const int b2 = a5 - a7; |
250 | 17.3M | const int b3 = a4 - a6; |
251 | | |
252 | 17.3M | dst[i + 0*stride] = av_clip_uint8( dst[i + 0*stride] + ((b0 + b4) >> 7)); |
253 | 17.3M | dst[i + 1*stride] = av_clip_uint8( dst[i + 1*stride] + ((b1 + b5) >> 7)); |
254 | 17.3M | dst[i + 2*stride] = av_clip_uint8( dst[i + 2*stride] + ((b2 + b6) >> 7)); |
255 | 17.3M | dst[i + 3*stride] = av_clip_uint8( dst[i + 3*stride] + ((b3 + b7) >> 7)); |
256 | 17.3M | dst[i + 4*stride] = av_clip_uint8( dst[i + 4*stride] + ((b3 - b7) >> 7)); |
257 | 17.3M | dst[i + 5*stride] = av_clip_uint8( dst[i + 5*stride] + ((b2 - b6) >> 7)); |
258 | 17.3M | dst[i + 6*stride] = av_clip_uint8( dst[i + 6*stride] + ((b1 - b5) >> 7)); |
259 | 17.3M | dst[i + 7*stride] = av_clip_uint8( dst[i + 7*stride] + ((b0 - b4) >> 7)); |
260 | 17.3M | } |
261 | 2.17M | } |
262 | | |
263 | | /***************************************************************************** |
264 | | * |
265 | | * motion compensation |
266 | | * |
267 | | ****************************************************************************/ |
268 | | |
269 | | #define CAVS_SUBPIX(OPNAME, OP, NAME, A, B, C, D, E, F) \ |
270 | 2.31M | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
271 | 2.31M | { \ |
272 | 2.31M | const int h=8;\ |
273 | 2.31M | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ |
274 | 2.31M | int i;\ |
275 | 20.8M | for(i=0; i<h; i++)\ |
276 | 18.4M | {\ |
277 | 18.4M | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ |
278 | 18.4M | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ |
279 | 18.4M | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ |
280 | 18.4M | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ |
281 | 18.4M | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ |
282 | 18.4M | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ |
283 | 18.4M | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ |
284 | 18.4M | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ |
285 | 18.4M | dst+=dstStride;\ |
286 | 18.4M | src+=srcStride;\ |
287 | 18.4M | }\ |
288 | 2.31M | }\ cavsdsp.c:put_cavs_filt8_h_qpel_l Line | Count | Source | 270 | 515k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 515k | { \ | 272 | 515k | const int h=8;\ | 273 | 515k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 515k | int i;\ | 275 | 4.64M | for(i=0; i<h; i++)\ | 276 | 4.12M | {\ | 277 | 4.12M | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 4.12M | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 4.12M | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 4.12M | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 4.12M | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 4.12M | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 4.12M | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 4.12M | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 4.12M | dst+=dstStride;\ | 286 | 4.12M | src+=srcStride;\ | 287 | 4.12M | }\ | 288 | 515k | }\ |
cavsdsp.c:put_cavs_filt8_h_hpel Line | Count | Source | 270 | 856k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 856k | { \ | 272 | 856k | const int h=8;\ | 273 | 856k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 856k | int i;\ | 275 | 7.70M | for(i=0; i<h; i++)\ | 276 | 6.84M | {\ | 277 | 6.84M | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 6.84M | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 6.84M | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 6.84M | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 6.84M | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 6.84M | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 6.84M | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 6.84M | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 6.84M | dst+=dstStride;\ | 286 | 6.84M | src+=srcStride;\ | 287 | 6.84M | }\ | 288 | 856k | }\ |
cavsdsp.c:put_cavs_filt8_h_qpel_r Line | Count | Source | 270 | 618k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 618k | { \ | 272 | 618k | const int h=8;\ | 273 | 618k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 618k | int i;\ | 275 | 5.56M | for(i=0; i<h; i++)\ | 276 | 4.94M | {\ | 277 | 4.94M | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 4.94M | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 4.94M | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 4.94M | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 4.94M | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 4.94M | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 4.94M | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 4.94M | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 4.94M | dst+=dstStride;\ | 286 | 4.94M | src+=srcStride;\ | 287 | 4.94M | }\ | 288 | 618k | }\ |
cavsdsp.c:avg_cavs_filt8_h_qpel_l Line | Count | Source | 270 | 104k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 104k | { \ | 272 | 104k | const int h=8;\ | 273 | 104k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 104k | int i;\ | 275 | 937k | for(i=0; i<h; i++)\ | 276 | 833k | {\ | 277 | 833k | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 833k | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 833k | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 833k | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 833k | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 833k | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 833k | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 833k | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 833k | dst+=dstStride;\ | 286 | 833k | src+=srcStride;\ | 287 | 833k | }\ | 288 | 104k | }\ |
cavsdsp.c:avg_cavs_filt8_h_hpel Line | Count | Source | 270 | 106k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 106k | { \ | 272 | 106k | const int h=8;\ | 273 | 106k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 106k | int i;\ | 275 | 957k | for(i=0; i<h; i++)\ | 276 | 850k | {\ | 277 | 850k | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 850k | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 850k | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 850k | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 850k | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 850k | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 850k | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 850k | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 850k | dst+=dstStride;\ | 286 | 850k | src+=srcStride;\ | 287 | 850k | }\ | 288 | 106k | }\ |
cavsdsp.c:avg_cavs_filt8_h_qpel_r Line | Count | Source | 270 | 110k | static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 271 | 110k | { \ | 272 | 110k | const int h=8;\ | 273 | 110k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 274 | 110k | int i;\ | 275 | 992k | for(i=0; i<h; i++)\ | 276 | 882k | {\ | 277 | 882k | OP(dst[0], A*src[-2] + B*src[-1] + C*src[0] + D*src[1] + E*src[2] + F*src[3]);\ | 278 | 882k | OP(dst[1], A*src[-1] + B*src[ 0] + C*src[1] + D*src[2] + E*src[3] + F*src[4]);\ | 279 | 882k | OP(dst[2], A*src[ 0] + B*src[ 1] + C*src[2] + D*src[3] + E*src[4] + F*src[5]);\ | 280 | 882k | OP(dst[3], A*src[ 1] + B*src[ 2] + C*src[3] + D*src[4] + E*src[5] + F*src[6]);\ | 281 | 882k | OP(dst[4], A*src[ 2] + B*src[ 3] + C*src[4] + D*src[5] + E*src[6] + F*src[7]);\ | 282 | 882k | OP(dst[5], A*src[ 3] + B*src[ 4] + C*src[5] + D*src[6] + E*src[7] + F*src[8]);\ | 283 | 882k | OP(dst[6], A*src[ 4] + B*src[ 5] + C*src[6] + D*src[7] + E*src[8] + F*src[9]);\ | 284 | 882k | OP(dst[7], A*src[ 5] + B*src[ 6] + C*src[7] + D*src[8] + E*src[9] + F*src[10]);\ | 285 | 882k | dst+=dstStride;\ | 286 | 882k | src+=srcStride;\ | 287 | 882k | }\ | 288 | 110k | }\ |
|
289 | | \ |
290 | 1.08M | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
291 | 1.08M | { \ |
292 | 1.08M | const int w=8;\ |
293 | 1.08M | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ |
294 | 1.08M | int i;\ |
295 | 9.80M | for(i=0; i<w; i++)\ |
296 | 8.71M | {\ |
297 | 8.71M | const int srcB= src[-2*srcStride];\ |
298 | 8.71M | const int srcA= src[-1*srcStride];\ |
299 | 8.71M | const int src0= src[0 *srcStride];\ |
300 | 8.71M | const int src1= src[1 *srcStride];\ |
301 | 8.71M | const int src2= src[2 *srcStride];\ |
302 | 8.71M | const int src3= src[3 *srcStride];\ |
303 | 8.71M | const int src4= src[4 *srcStride];\ |
304 | 8.71M | const int src5= src[5 *srcStride];\ |
305 | 8.71M | const int src6= src[6 *srcStride];\ |
306 | 8.71M | const int src7= src[7 *srcStride];\ |
307 | 8.71M | const int src8= src[8 *srcStride];\ |
308 | 8.71M | const int src9= src[9 *srcStride];\ |
309 | 8.71M | const int src10= src[10 *srcStride];\ |
310 | 8.71M | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ |
311 | 8.71M | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ |
312 | 8.71M | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ |
313 | 8.71M | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ |
314 | 8.71M | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ |
315 | 8.71M | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ |
316 | 8.71M | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ |
317 | 8.71M | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ |
318 | 8.71M | dst++;\ |
319 | 8.71M | src++;\ |
320 | 8.71M | }\ |
321 | 1.08M | }\ cavsdsp.c:put_cavs_filt8_v_qpel_l Line | Count | Source | 290 | 161k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 161k | { \ | 292 | 161k | const int w=8;\ | 293 | 161k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 161k | int i;\ | 295 | 1.45M | for(i=0; i<w; i++)\ | 296 | 1.29M | {\ | 297 | 1.29M | const int srcB= src[-2*srcStride];\ | 298 | 1.29M | const int srcA= src[-1*srcStride];\ | 299 | 1.29M | const int src0= src[0 *srcStride];\ | 300 | 1.29M | const int src1= src[1 *srcStride];\ | 301 | 1.29M | const int src2= src[2 *srcStride];\ | 302 | 1.29M | const int src3= src[3 *srcStride];\ | 303 | 1.29M | const int src4= src[4 *srcStride];\ | 304 | 1.29M | const int src5= src[5 *srcStride];\ | 305 | 1.29M | const int src6= src[6 *srcStride];\ | 306 | 1.29M | const int src7= src[7 *srcStride];\ | 307 | 1.29M | const int src8= src[8 *srcStride];\ | 308 | 1.29M | const int src9= src[9 *srcStride];\ | 309 | 1.29M | const int src10= src[10 *srcStride];\ | 310 | 1.29M | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 1.29M | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 1.29M | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 1.29M | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 1.29M | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 1.29M | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 1.29M | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 1.29M | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 1.29M | dst++;\ | 319 | 1.29M | src++;\ | 320 | 1.29M | }\ | 321 | 161k | }\ |
cavsdsp.c:put_cavs_filt8_v_hpel Line | Count | Source | 290 | 203k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 203k | { \ | 292 | 203k | const int w=8;\ | 293 | 203k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 203k | int i;\ | 295 | 1.82M | for(i=0; i<w; i++)\ | 296 | 1.62M | {\ | 297 | 1.62M | const int srcB= src[-2*srcStride];\ | 298 | 1.62M | const int srcA= src[-1*srcStride];\ | 299 | 1.62M | const int src0= src[0 *srcStride];\ | 300 | 1.62M | const int src1= src[1 *srcStride];\ | 301 | 1.62M | const int src2= src[2 *srcStride];\ | 302 | 1.62M | const int src3= src[3 *srcStride];\ | 303 | 1.62M | const int src4= src[4 *srcStride];\ | 304 | 1.62M | const int src5= src[5 *srcStride];\ | 305 | 1.62M | const int src6= src[6 *srcStride];\ | 306 | 1.62M | const int src7= src[7 *srcStride];\ | 307 | 1.62M | const int src8= src[8 *srcStride];\ | 308 | 1.62M | const int src9= src[9 *srcStride];\ | 309 | 1.62M | const int src10= src[10 *srcStride];\ | 310 | 1.62M | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 1.62M | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 1.62M | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 1.62M | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 1.62M | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 1.62M | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 1.62M | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 1.62M | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 1.62M | dst++;\ | 319 | 1.62M | src++;\ | 320 | 1.62M | }\ | 321 | 203k | }\ |
cavsdsp.c:put_cavs_filt8_v_qpel_r Line | Count | Source | 290 | 325k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 325k | { \ | 292 | 325k | const int w=8;\ | 293 | 325k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 325k | int i;\ | 295 | 2.93M | for(i=0; i<w; i++)\ | 296 | 2.60M | {\ | 297 | 2.60M | const int srcB= src[-2*srcStride];\ | 298 | 2.60M | const int srcA= src[-1*srcStride];\ | 299 | 2.60M | const int src0= src[0 *srcStride];\ | 300 | 2.60M | const int src1= src[1 *srcStride];\ | 301 | 2.60M | const int src2= src[2 *srcStride];\ | 302 | 2.60M | const int src3= src[3 *srcStride];\ | 303 | 2.60M | const int src4= src[4 *srcStride];\ | 304 | 2.60M | const int src5= src[5 *srcStride];\ | 305 | 2.60M | const int src6= src[6 *srcStride];\ | 306 | 2.60M | const int src7= src[7 *srcStride];\ | 307 | 2.60M | const int src8= src[8 *srcStride];\ | 308 | 2.60M | const int src9= src[9 *srcStride];\ | 309 | 2.60M | const int src10= src[10 *srcStride];\ | 310 | 2.60M | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 2.60M | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 2.60M | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 2.60M | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 2.60M | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 2.60M | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 2.60M | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 2.60M | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 2.60M | dst++;\ | 319 | 2.60M | src++;\ | 320 | 2.60M | }\ | 321 | 325k | }\ |
cavsdsp.c:avg_cavs_filt8_v_qpel_l Line | Count | Source | 290 | 123k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 123k | { \ | 292 | 123k | const int w=8;\ | 293 | 123k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 123k | int i;\ | 295 | 1.10M | for(i=0; i<w; i++)\ | 296 | 985k | {\ | 297 | 985k | const int srcB= src[-2*srcStride];\ | 298 | 985k | const int srcA= src[-1*srcStride];\ | 299 | 985k | const int src0= src[0 *srcStride];\ | 300 | 985k | const int src1= src[1 *srcStride];\ | 301 | 985k | const int src2= src[2 *srcStride];\ | 302 | 985k | const int src3= src[3 *srcStride];\ | 303 | 985k | const int src4= src[4 *srcStride];\ | 304 | 985k | const int src5= src[5 *srcStride];\ | 305 | 985k | const int src6= src[6 *srcStride];\ | 306 | 985k | const int src7= src[7 *srcStride];\ | 307 | 985k | const int src8= src[8 *srcStride];\ | 308 | 985k | const int src9= src[9 *srcStride];\ | 309 | 985k | const int src10= src[10 *srcStride];\ | 310 | 985k | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 985k | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 985k | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 985k | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 985k | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 985k | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 985k | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 985k | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 985k | dst++;\ | 319 | 985k | src++;\ | 320 | 985k | }\ | 321 | 123k | }\ |
cavsdsp.c:avg_cavs_filt8_v_hpel Line | Count | Source | 290 | 114k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 114k | { \ | 292 | 114k | const int w=8;\ | 293 | 114k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 114k | int i;\ | 295 | 1.02M | for(i=0; i<w; i++)\ | 296 | 915k | {\ | 297 | 915k | const int srcB= src[-2*srcStride];\ | 298 | 915k | const int srcA= src[-1*srcStride];\ | 299 | 915k | const int src0= src[0 *srcStride];\ | 300 | 915k | const int src1= src[1 *srcStride];\ | 301 | 915k | const int src2= src[2 *srcStride];\ | 302 | 915k | const int src3= src[3 *srcStride];\ | 303 | 915k | const int src4= src[4 *srcStride];\ | 304 | 915k | const int src5= src[5 *srcStride];\ | 305 | 915k | const int src6= src[6 *srcStride];\ | 306 | 915k | const int src7= src[7 *srcStride];\ | 307 | 915k | const int src8= src[8 *srcStride];\ | 308 | 915k | const int src9= src[9 *srcStride];\ | 309 | 915k | const int src10= src[10 *srcStride];\ | 310 | 915k | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 915k | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 915k | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 915k | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 915k | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 915k | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 915k | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 915k | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 915k | dst++;\ | 319 | 915k | src++;\ | 320 | 915k | }\ | 321 | 114k | }\ |
cavsdsp.c:avg_cavs_filt8_v_qpel_r Line | Count | Source | 290 | 161k | static void OPNAME ## cavs_filt8_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 291 | 161k | { \ | 292 | 161k | const int w=8;\ | 293 | 161k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 294 | 161k | int i;\ | 295 | 1.44M | for(i=0; i<w; i++)\ | 296 | 1.28M | {\ | 297 | 1.28M | const int srcB= src[-2*srcStride];\ | 298 | 1.28M | const int srcA= src[-1*srcStride];\ | 299 | 1.28M | const int src0= src[0 *srcStride];\ | 300 | 1.28M | const int src1= src[1 *srcStride];\ | 301 | 1.28M | const int src2= src[2 *srcStride];\ | 302 | 1.28M | const int src3= src[3 *srcStride];\ | 303 | 1.28M | const int src4= src[4 *srcStride];\ | 304 | 1.28M | const int src5= src[5 *srcStride];\ | 305 | 1.28M | const int src6= src[6 *srcStride];\ | 306 | 1.28M | const int src7= src[7 *srcStride];\ | 307 | 1.28M | const int src8= src[8 *srcStride];\ | 308 | 1.28M | const int src9= src[9 *srcStride];\ | 309 | 1.28M | const int src10= src[10 *srcStride];\ | 310 | 1.28M | OP(dst[0*dstStride], A*srcB + B*srcA + C*src0 + D*src1 + E*src2 + F*src3);\ | 311 | 1.28M | OP(dst[1*dstStride], A*srcA + B*src0 + C*src1 + D*src2 + E*src3 + F*src4);\ | 312 | 1.28M | OP(dst[2*dstStride], A*src0 + B*src1 + C*src2 + D*src3 + E*src4 + F*src5);\ | 313 | 1.28M | OP(dst[3*dstStride], A*src1 + B*src2 + C*src3 + D*src4 + E*src5 + F*src6);\ | 314 | 1.28M | OP(dst[4*dstStride], A*src2 + B*src3 + C*src4 + D*src5 + E*src6 + F*src7);\ | 315 | 1.28M | OP(dst[5*dstStride], A*src3 + B*src4 + C*src5 + D*src6 + E*src7 + F*src8);\ | 316 | 1.28M | OP(dst[6*dstStride], A*src4 + B*src5 + C*src6 + D*src7 + E*src8 + F*src9);\ | 317 | 1.28M | OP(dst[7*dstStride], A*src5 + B*src6 + C*src7 + D*src8 + E*src9 + F*src10);\ | 318 | 1.28M | dst++;\ | 319 | 1.28M | src++;\ | 320 | 1.28M | }\ | 321 | 161k | }\ |
|
322 | | \ |
323 | 85.3k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
324 | 85.3k | { \ |
325 | 85.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ |
326 | 85.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ |
327 | 85.3k | src += 8*srcStride;\ |
328 | 85.3k | dst += 8*dstStride;\ |
329 | 85.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ |
330 | 85.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ |
331 | 85.3k | }\ cavsdsp.c:put_cavs_filt16_v_qpel_l Line | Count | Source | 323 | 12.3k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 12.3k | { \ | 325 | 12.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 12.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 12.3k | src += 8*srcStride;\ | 328 | 12.3k | dst += 8*dstStride;\ | 329 | 12.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 12.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 12.3k | }\ |
cavsdsp.c:put_cavs_filt16_v_hpel Line | Count | Source | 323 | 16.9k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 16.9k | { \ | 325 | 16.9k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 16.9k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 16.9k | src += 8*srcStride;\ | 328 | 16.9k | dst += 8*dstStride;\ | 329 | 16.9k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 16.9k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 16.9k | }\ |
cavsdsp.c:put_cavs_filt16_v_qpel_r Line | Count | Source | 323 | 27.3k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 27.3k | { \ | 325 | 27.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 27.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 27.3k | src += 8*srcStride;\ | 328 | 27.3k | dst += 8*dstStride;\ | 329 | 27.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 27.3k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 27.3k | }\ |
cavsdsp.c:avg_cavs_filt16_v_qpel_l Line | Count | Source | 323 | 12.4k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 12.4k | { \ | 325 | 12.4k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 12.4k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 12.4k | src += 8*srcStride;\ | 328 | 12.4k | dst += 8*dstStride;\ | 329 | 12.4k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 12.4k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 12.4k | }\ |
cavsdsp.c:avg_cavs_filt16_v_hpel Line | Count | Source | 323 | 5.02k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 5.02k | { \ | 325 | 5.02k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 5.02k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 5.02k | src += 8*srcStride;\ | 328 | 5.02k | dst += 8*dstStride;\ | 329 | 5.02k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 5.02k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 5.02k | }\ |
cavsdsp.c:avg_cavs_filt16_v_qpel_r Line | Count | Source | 323 | 11.2k | static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 324 | 11.2k | { \ | 325 | 11.2k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 326 | 11.2k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 327 | 11.2k | src += 8*srcStride;\ | 328 | 11.2k | dst += 8*dstStride;\ | 329 | 11.2k | OPNAME ## cavs_filt8_v_ ## NAME(dst , src , dstStride, srcStride);\ | 330 | 11.2k | OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 331 | 11.2k | }\ |
|
332 | | \ |
333 | 424k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ |
334 | 424k | { \ |
335 | 424k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ |
336 | 424k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ |
337 | 424k | src += 8*srcStride;\ |
338 | 424k | dst += 8*dstStride;\ |
339 | 424k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ |
340 | 424k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ |
341 | 424k | }\ cavsdsp.c:put_cavs_filt16_h_qpel_l Line | Count | Source | 333 | 99.1k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 99.1k | { \ | 335 | 99.1k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 99.1k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 99.1k | src += 8*srcStride;\ | 338 | 99.1k | dst += 8*dstStride;\ | 339 | 99.1k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 99.1k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 99.1k | }\ |
cavsdsp.c:put_cavs_filt16_h_hpel Line | Count | Source | 333 | 185k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 185k | { \ | 335 | 185k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 185k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 185k | src += 8*srcStride;\ | 338 | 185k | dst += 8*dstStride;\ | 339 | 185k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 185k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 185k | }\ |
cavsdsp.c:put_cavs_filt16_h_qpel_r Line | Count | Source | 333 | 116k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 116k | { \ | 335 | 116k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 116k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 116k | src += 8*srcStride;\ | 338 | 116k | dst += 8*dstStride;\ | 339 | 116k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 116k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 116k | }\ |
cavsdsp.c:avg_cavs_filt16_h_qpel_l Line | Count | Source | 333 | 7.43k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 7.43k | { \ | 335 | 7.43k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 7.43k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 7.43k | src += 8*srcStride;\ | 338 | 7.43k | dst += 8*dstStride;\ | 339 | 7.43k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 7.43k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 7.43k | }\ |
cavsdsp.c:avg_cavs_filt16_h_hpel Line | Count | Source | 333 | 9.38k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 9.38k | { \ | 335 | 9.38k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 9.38k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 9.38k | src += 8*srcStride;\ | 338 | 9.38k | dst += 8*dstStride;\ | 339 | 9.38k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 9.38k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 9.38k | }\ |
cavsdsp.c:avg_cavs_filt16_h_qpel_r Line | Count | Source | 333 | 6.90k | static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)\ | 334 | 6.90k | { \ | 335 | 6.90k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 336 | 6.90k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 337 | 6.90k | src += 8*srcStride;\ | 338 | 6.90k | dst += 8*dstStride;\ | 339 | 6.90k | OPNAME ## cavs_filt8_h_ ## NAME(dst , src , dstStride, srcStride);\ | 340 | 6.90k | OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\ | 341 | 6.90k | }\ |
|
342 | | |
343 | | #define CAVS_SUBPIX_HV(OPNAME, OP, NAME, AH, BH, CH, DH, EH, FH, AV, BV, CV, DV, EV, FV, FULL) \ |
344 | 3.28M | 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 | 3.28M | { \ |
346 | 3.28M | int16_t temp[8*(8+5)];\ |
347 | 3.28M | int16_t *tmp = temp;\ |
348 | 3.28M | const int h=8;\ |
349 | 3.28M | const int w=8;\ |
350 | 3.28M | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ |
351 | 3.28M | int i;\ |
352 | 3.28M | src1 -= 2*srcStride;\ |
353 | 45.9M | for(i=0; i<h+5; i++)\ |
354 | 42.6M | {\ |
355 | 42.6M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ |
356 | 42.6M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ |
357 | 42.6M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ |
358 | 42.6M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ |
359 | 42.6M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ |
360 | 42.6M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ |
361 | 42.6M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ |
362 | 42.6M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ |
363 | 42.6M | tmp+=8;\ |
364 | 42.6M | src1+=srcStride;\ |
365 | 42.6M | }\ |
366 | 3.28M | if(FULL) {\ |
367 | 1.76M | tmp = temp+8*2; \ |
368 | 15.8M | for(i=0; i<w; i++) \ |
369 | 14.0M | { \ |
370 | 14.0M | const int tmpB= tmp[-2*8]; \ |
371 | 14.0M | const int tmpA= tmp[-1*8]; \ |
372 | 14.0M | const int tmp0= tmp[0 *8]; \ |
373 | 14.0M | const int tmp1= tmp[1 *8]; \ |
374 | 14.0M | const int tmp2= tmp[2 *8]; \ |
375 | 14.0M | const int tmp3= tmp[3 *8]; \ |
376 | 14.0M | const int tmp4= tmp[4 *8]; \ |
377 | 14.0M | const int tmp5= tmp[5 *8]; \ |
378 | 14.0M | const int tmp6= tmp[6 *8]; \ |
379 | 14.0M | const int tmp7= tmp[7 *8]; \ |
380 | 14.0M | const int tmp8= tmp[8 *8]; \ |
381 | 14.0M | const int tmp9= tmp[9 *8]; \ |
382 | 14.0M | const int tmp10=tmp[10*8]; \ |
383 | 14.0M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ |
384 | 14.0M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ |
385 | 14.0M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ |
386 | 14.0M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ |
387 | 14.0M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ |
388 | 14.0M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ |
389 | 14.0M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ |
390 | 14.0M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ |
391 | 14.0M | dst++; \ |
392 | 14.0M | tmp++; \ |
393 | 14.0M | src2++; \ |
394 | 14.0M | } \ |
395 | 1.76M | } else {\ |
396 | 1.52M | tmp = temp+8*2; \ |
397 | 13.6M | for(i=0; i<w; i++) \ |
398 | 12.1M | { \ |
399 | 12.1M | const int tmpB= tmp[-2*8]; \ |
400 | 12.1M | const int tmpA= tmp[-1*8]; \ |
401 | 12.1M | const int tmp0= tmp[0 *8]; \ |
402 | 12.1M | const int tmp1= tmp[1 *8]; \ |
403 | 12.1M | const int tmp2= tmp[2 *8]; \ |
404 | 12.1M | const int tmp3= tmp[3 *8]; \ |
405 | 12.1M | const int tmp4= tmp[4 *8]; \ |
406 | 12.1M | const int tmp5= tmp[5 *8]; \ |
407 | 12.1M | const int tmp6= tmp[6 *8]; \ |
408 | 12.1M | const int tmp7= tmp[7 *8]; \ |
409 | 12.1M | const int tmp8= tmp[8 *8]; \ |
410 | 12.1M | const int tmp9= tmp[9 *8]; \ |
411 | 12.1M | const int tmp10=tmp[10*8]; \ |
412 | 12.1M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ |
413 | 12.1M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ |
414 | 12.1M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ |
415 | 12.1M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ |
416 | 12.1M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ |
417 | 12.1M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ |
418 | 12.1M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ |
419 | 12.1M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ |
420 | 12.1M | dst++; \ |
421 | 12.1M | tmp++; \ |
422 | 12.1M | } \ |
423 | 1.52M | }\ |
424 | 3.28M | }\ cavsdsp.c:put_cavs_filt8_hv_egpr Line | Count | Source | 344 | 1.04M | 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 | 1.04M | { \ | 346 | 1.04M | int16_t temp[8*(8+5)];\ | 347 | 1.04M | int16_t *tmp = temp;\ | 348 | 1.04M | const int h=8;\ | 349 | 1.04M | const int w=8;\ | 350 | 1.04M | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 1.04M | int i;\ | 352 | 1.04M | src1 -= 2*srcStride;\ | 353 | 14.6M | for(i=0; i<h+5; i++)\ | 354 | 13.6M | {\ | 355 | 13.6M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 13.6M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 13.6M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 13.6M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 13.6M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 13.6M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 13.6M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 13.6M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 13.6M | tmp+=8;\ | 364 | 13.6M | src1+=srcStride;\ | 365 | 13.6M | }\ | 366 | 1.04M | if(FULL) {\ | 367 | 1.04M | tmp = temp+8*2; \ | 368 | 9.44M | for(i=0; i<w; i++) \ | 369 | 8.39M | { \ | 370 | 8.39M | const int tmpB= tmp[-2*8]; \ | 371 | 8.39M | const int tmpA= tmp[-1*8]; \ | 372 | 8.39M | const int tmp0= tmp[0 *8]; \ | 373 | 8.39M | const int tmp1= tmp[1 *8]; \ | 374 | 8.39M | const int tmp2= tmp[2 *8]; \ | 375 | 8.39M | const int tmp3= tmp[3 *8]; \ | 376 | 8.39M | const int tmp4= tmp[4 *8]; \ | 377 | 8.39M | const int tmp5= tmp[5 *8]; \ | 378 | 8.39M | const int tmp6= tmp[6 *8]; \ | 379 | 8.39M | const int tmp7= tmp[7 *8]; \ | 380 | 8.39M | const int tmp8= tmp[8 *8]; \ | 381 | 8.39M | const int tmp9= tmp[9 *8]; \ | 382 | 8.39M | const int tmp10=tmp[10*8]; \ | 383 | 8.39M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 8.39M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 8.39M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 8.39M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 8.39M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 8.39M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 8.39M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 8.39M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 8.39M | dst++; \ | 392 | 8.39M | tmp++; \ | 393 | 8.39M | src2++; \ | 394 | 8.39M | } \ | 395 | 1.04M | } 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 | 1.04M | }\ |
cavsdsp.c:put_cavs_filt8_hv_ff Line | Count | Source | 344 | 113k | 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 | 113k | { \ | 346 | 113k | int16_t temp[8*(8+5)];\ | 347 | 113k | int16_t *tmp = temp;\ | 348 | 113k | const int h=8;\ | 349 | 113k | const int w=8;\ | 350 | 113k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 113k | int i;\ | 352 | 113k | src1 -= 2*srcStride;\ | 353 | 1.59M | for(i=0; i<h+5; i++)\ | 354 | 1.47M | {\ | 355 | 1.47M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.47M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.47M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.47M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.47M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.47M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.47M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.47M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.47M | tmp+=8;\ | 364 | 1.47M | src1+=srcStride;\ | 365 | 1.47M | }\ | 366 | 113k | 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 | 113k | } else {\ | 396 | 113k | tmp = temp+8*2; \ | 397 | 1.02M | for(i=0; i<w; i++) \ | 398 | 908k | { \ | 399 | 908k | const int tmpB= tmp[-2*8]; \ | 400 | 908k | const int tmpA= tmp[-1*8]; \ | 401 | 908k | const int tmp0= tmp[0 *8]; \ | 402 | 908k | const int tmp1= tmp[1 *8]; \ | 403 | 908k | const int tmp2= tmp[2 *8]; \ | 404 | 908k | const int tmp3= tmp[3 *8]; \ | 405 | 908k | const int tmp4= tmp[4 *8]; \ | 406 | 908k | const int tmp5= tmp[5 *8]; \ | 407 | 908k | const int tmp6= tmp[6 *8]; \ | 408 | 908k | const int tmp7= tmp[7 *8]; \ | 409 | 908k | const int tmp8= tmp[8 *8]; \ | 410 | 908k | const int tmp9= tmp[9 *8]; \ | 411 | 908k | const int tmp10=tmp[10*8]; \ | 412 | 908k | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 908k | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 908k | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 908k | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 908k | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 908k | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 908k | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 908k | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 908k | dst++; \ | 421 | 908k | tmp++; \ | 422 | 908k | } \ | 423 | 113k | }\ | 424 | 113k | }\ |
cavsdsp.c:put_cavs_filt8_hv_ii Line | Count | Source | 344 | 135k | 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 | 135k | { \ | 346 | 135k | int16_t temp[8*(8+5)];\ | 347 | 135k | int16_t *tmp = temp;\ | 348 | 135k | const int h=8;\ | 349 | 135k | const int w=8;\ | 350 | 135k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 135k | int i;\ | 352 | 135k | src1 -= 2*srcStride;\ | 353 | 1.89M | for(i=0; i<h+5; i++)\ | 354 | 1.76M | {\ | 355 | 1.76M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.76M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.76M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.76M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.76M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.76M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.76M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.76M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.76M | tmp+=8;\ | 364 | 1.76M | src1+=srcStride;\ | 365 | 1.76M | }\ | 366 | 135k | 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 | 135k | } else {\ | 396 | 135k | tmp = temp+8*2; \ | 397 | 1.22M | for(i=0; i<w; i++) \ | 398 | 1.08M | { \ | 399 | 1.08M | const int tmpB= tmp[-2*8]; \ | 400 | 1.08M | const int tmpA= tmp[-1*8]; \ | 401 | 1.08M | const int tmp0= tmp[0 *8]; \ | 402 | 1.08M | const int tmp1= tmp[1 *8]; \ | 403 | 1.08M | const int tmp2= tmp[2 *8]; \ | 404 | 1.08M | const int tmp3= tmp[3 *8]; \ | 405 | 1.08M | const int tmp4= tmp[4 *8]; \ | 406 | 1.08M | const int tmp5= tmp[5 *8]; \ | 407 | 1.08M | const int tmp6= tmp[6 *8]; \ | 408 | 1.08M | const int tmp7= tmp[7 *8]; \ | 409 | 1.08M | const int tmp8= tmp[8 *8]; \ | 410 | 1.08M | const int tmp9= tmp[9 *8]; \ | 411 | 1.08M | const int tmp10=tmp[10*8]; \ | 412 | 1.08M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 1.08M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 1.08M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 1.08M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 1.08M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 1.08M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 1.08M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 1.08M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 1.08M | dst++; \ | 421 | 1.08M | tmp++; \ | 422 | 1.08M | } \ | 423 | 135k | }\ | 424 | 135k | }\ |
cavsdsp.c:put_cavs_filt8_hv_jj Line | Count | Source | 344 | 145k | 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 | 145k | { \ | 346 | 145k | int16_t temp[8*(8+5)];\ | 347 | 145k | int16_t *tmp = temp;\ | 348 | 145k | const int h=8;\ | 349 | 145k | const int w=8;\ | 350 | 145k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 145k | int i;\ | 352 | 145k | src1 -= 2*srcStride;\ | 353 | 2.04M | for(i=0; i<h+5; i++)\ | 354 | 1.89M | {\ | 355 | 1.89M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.89M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.89M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.89M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.89M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.89M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.89M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.89M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.89M | tmp+=8;\ | 364 | 1.89M | src1+=srcStride;\ | 365 | 1.89M | }\ | 366 | 145k | 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 | 145k | } else {\ | 396 | 145k | tmp = temp+8*2; \ | 397 | 1.31M | for(i=0; i<w; i++) \ | 398 | 1.16M | { \ | 399 | 1.16M | const int tmpB= tmp[-2*8]; \ | 400 | 1.16M | const int tmpA= tmp[-1*8]; \ | 401 | 1.16M | const int tmp0= tmp[0 *8]; \ | 402 | 1.16M | const int tmp1= tmp[1 *8]; \ | 403 | 1.16M | const int tmp2= tmp[2 *8]; \ | 404 | 1.16M | const int tmp3= tmp[3 *8]; \ | 405 | 1.16M | const int tmp4= tmp[4 *8]; \ | 406 | 1.16M | const int tmp5= tmp[5 *8]; \ | 407 | 1.16M | const int tmp6= tmp[6 *8]; \ | 408 | 1.16M | const int tmp7= tmp[7 *8]; \ | 409 | 1.16M | const int tmp8= tmp[8 *8]; \ | 410 | 1.16M | const int tmp9= tmp[9 *8]; \ | 411 | 1.16M | const int tmp10=tmp[10*8]; \ | 412 | 1.16M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 1.16M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 1.16M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 1.16M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 1.16M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 1.16M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 1.16M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 1.16M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 1.16M | dst++; \ | 421 | 1.16M | tmp++; \ | 422 | 1.16M | } \ | 423 | 145k | }\ | 424 | 145k | }\ |
cavsdsp.c:put_cavs_filt8_hv_kk Line | Count | Source | 344 | 252k | 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 | 252k | { \ | 346 | 252k | int16_t temp[8*(8+5)];\ | 347 | 252k | int16_t *tmp = temp;\ | 348 | 252k | const int h=8;\ | 349 | 252k | const int w=8;\ | 350 | 252k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 252k | int i;\ | 352 | 252k | src1 -= 2*srcStride;\ | 353 | 3.54M | for(i=0; i<h+5; i++)\ | 354 | 3.28M | {\ | 355 | 3.28M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 3.28M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 3.28M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 3.28M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 3.28M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 3.28M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 3.28M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 3.28M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 3.28M | tmp+=8;\ | 364 | 3.28M | src1+=srcStride;\ | 365 | 3.28M | }\ | 366 | 252k | 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 | 252k | } else {\ | 396 | 252k | tmp = temp+8*2; \ | 397 | 2.27M | for(i=0; i<w; i++) \ | 398 | 2.02M | { \ | 399 | 2.02M | const int tmpB= tmp[-2*8]; \ | 400 | 2.02M | const int tmpA= tmp[-1*8]; \ | 401 | 2.02M | const int tmp0= tmp[0 *8]; \ | 402 | 2.02M | const int tmp1= tmp[1 *8]; \ | 403 | 2.02M | const int tmp2= tmp[2 *8]; \ | 404 | 2.02M | const int tmp3= tmp[3 *8]; \ | 405 | 2.02M | const int tmp4= tmp[4 *8]; \ | 406 | 2.02M | const int tmp5= tmp[5 *8]; \ | 407 | 2.02M | const int tmp6= tmp[6 *8]; \ | 408 | 2.02M | const int tmp7= tmp[7 *8]; \ | 409 | 2.02M | const int tmp8= tmp[8 *8]; \ | 410 | 2.02M | const int tmp9= tmp[9 *8]; \ | 411 | 2.02M | const int tmp10=tmp[10*8]; \ | 412 | 2.02M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 2.02M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 2.02M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 2.02M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 2.02M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 2.02M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 2.02M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 2.02M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 2.02M | dst++; \ | 421 | 2.02M | tmp++; \ | 422 | 2.02M | } \ | 423 | 252k | }\ | 424 | 252k | }\ |
cavsdsp.c:put_cavs_filt8_hv_qq Line | Count | Source | 344 | 260k | 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 | 260k | { \ | 346 | 260k | int16_t temp[8*(8+5)];\ | 347 | 260k | int16_t *tmp = temp;\ | 348 | 260k | const int h=8;\ | 349 | 260k | const int w=8;\ | 350 | 260k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 260k | int i;\ | 352 | 260k | src1 -= 2*srcStride;\ | 353 | 3.65M | for(i=0; i<h+5; i++)\ | 354 | 3.38M | {\ | 355 | 3.38M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 3.38M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 3.38M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 3.38M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 3.38M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 3.38M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 3.38M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 3.38M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 3.38M | tmp+=8;\ | 364 | 3.38M | src1+=srcStride;\ | 365 | 3.38M | }\ | 366 | 260k | 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 | 260k | } else {\ | 396 | 260k | tmp = temp+8*2; \ | 397 | 2.34M | for(i=0; i<w; i++) \ | 398 | 2.08M | { \ | 399 | 2.08M | const int tmpB= tmp[-2*8]; \ | 400 | 2.08M | const int tmpA= tmp[-1*8]; \ | 401 | 2.08M | const int tmp0= tmp[0 *8]; \ | 402 | 2.08M | const int tmp1= tmp[1 *8]; \ | 403 | 2.08M | const int tmp2= tmp[2 *8]; \ | 404 | 2.08M | const int tmp3= tmp[3 *8]; \ | 405 | 2.08M | const int tmp4= tmp[4 *8]; \ | 406 | 2.08M | const int tmp5= tmp[5 *8]; \ | 407 | 2.08M | const int tmp6= tmp[6 *8]; \ | 408 | 2.08M | const int tmp7= tmp[7 *8]; \ | 409 | 2.08M | const int tmp8= tmp[8 *8]; \ | 410 | 2.08M | const int tmp9= tmp[9 *8]; \ | 411 | 2.08M | const int tmp10=tmp[10*8]; \ | 412 | 2.08M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 2.08M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 2.08M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 2.08M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 2.08M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 2.08M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 2.08M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 2.08M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 2.08M | dst++; \ | 421 | 2.08M | tmp++; \ | 422 | 2.08M | } \ | 423 | 260k | }\ | 424 | 260k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_egpr Line | Count | Source | 344 | 712k | 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 | 712k | { \ | 346 | 712k | int16_t temp[8*(8+5)];\ | 347 | 712k | int16_t *tmp = temp;\ | 348 | 712k | const int h=8;\ | 349 | 712k | const int w=8;\ | 350 | 712k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 712k | int i;\ | 352 | 712k | src1 -= 2*srcStride;\ | 353 | 9.97M | for(i=0; i<h+5; i++)\ | 354 | 9.26M | {\ | 355 | 9.26M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 9.26M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 9.26M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 9.26M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 9.26M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 9.26M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 9.26M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 9.26M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 9.26M | tmp+=8;\ | 364 | 9.26M | src1+=srcStride;\ | 365 | 9.26M | }\ | 366 | 712k | if(FULL) {\ | 367 | 712k | tmp = temp+8*2; \ | 368 | 6.41M | for(i=0; i<w; i++) \ | 369 | 5.70M | { \ | 370 | 5.70M | const int tmpB= tmp[-2*8]; \ | 371 | 5.70M | const int tmpA= tmp[-1*8]; \ | 372 | 5.70M | const int tmp0= tmp[0 *8]; \ | 373 | 5.70M | const int tmp1= tmp[1 *8]; \ | 374 | 5.70M | const int tmp2= tmp[2 *8]; \ | 375 | 5.70M | const int tmp3= tmp[3 *8]; \ | 376 | 5.70M | const int tmp4= tmp[4 *8]; \ | 377 | 5.70M | const int tmp5= tmp[5 *8]; \ | 378 | 5.70M | const int tmp6= tmp[6 *8]; \ | 379 | 5.70M | const int tmp7= tmp[7 *8]; \ | 380 | 5.70M | const int tmp8= tmp[8 *8]; \ | 381 | 5.70M | const int tmp9= tmp[9 *8]; \ | 382 | 5.70M | const int tmp10=tmp[10*8]; \ | 383 | 5.70M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3 + 64*src2[0*srcStride]); \ | 384 | 5.70M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4 + 64*src2[1*srcStride]); \ | 385 | 5.70M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5 + 64*src2[2*srcStride]); \ | 386 | 5.70M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6 + 64*src2[3*srcStride]); \ | 387 | 5.70M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7 + 64*src2[4*srcStride]); \ | 388 | 5.70M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8 + 64*src2[5*srcStride]); \ | 389 | 5.70M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9 + 64*src2[6*srcStride]); \ | 390 | 5.70M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10 + 64*src2[7*srcStride]); \ | 391 | 5.70M | dst++; \ | 392 | 5.70M | tmp++; \ | 393 | 5.70M | src2++; \ | 394 | 5.70M | } \ | 395 | 712k | } 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 | 712k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_ff Line | Count | Source | 344 | 71.2k | 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 | 71.2k | { \ | 346 | 71.2k | int16_t temp[8*(8+5)];\ | 347 | 71.2k | int16_t *tmp = temp;\ | 348 | 71.2k | const int h=8;\ | 349 | 71.2k | const int w=8;\ | 350 | 71.2k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 71.2k | int i;\ | 352 | 71.2k | src1 -= 2*srcStride;\ | 353 | 998k | for(i=0; i<h+5; i++)\ | 354 | 926k | {\ | 355 | 926k | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 926k | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 926k | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 926k | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 926k | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 926k | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 926k | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 926k | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 926k | tmp+=8;\ | 364 | 926k | src1+=srcStride;\ | 365 | 926k | }\ | 366 | 71.2k | 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 | 71.2k | } else {\ | 396 | 71.2k | tmp = temp+8*2; \ | 397 | 641k | for(i=0; i<w; i++) \ | 398 | 570k | { \ | 399 | 570k | const int tmpB= tmp[-2*8]; \ | 400 | 570k | const int tmpA= tmp[-1*8]; \ | 401 | 570k | const int tmp0= tmp[0 *8]; \ | 402 | 570k | const int tmp1= tmp[1 *8]; \ | 403 | 570k | const int tmp2= tmp[2 *8]; \ | 404 | 570k | const int tmp3= tmp[3 *8]; \ | 405 | 570k | const int tmp4= tmp[4 *8]; \ | 406 | 570k | const int tmp5= tmp[5 *8]; \ | 407 | 570k | const int tmp6= tmp[6 *8]; \ | 408 | 570k | const int tmp7= tmp[7 *8]; \ | 409 | 570k | const int tmp8= tmp[8 *8]; \ | 410 | 570k | const int tmp9= tmp[9 *8]; \ | 411 | 570k | const int tmp10=tmp[10*8]; \ | 412 | 570k | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 570k | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 570k | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 570k | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 570k | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 570k | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 570k | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 570k | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 570k | dst++; \ | 421 | 570k | tmp++; \ | 422 | 570k | } \ | 423 | 71.2k | }\ | 424 | 71.2k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_ii 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 | }\ |
cavsdsp.c:avg_cavs_filt8_hv_jj Line | Count | Source | 344 | 158k | 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 | 158k | { \ | 346 | 158k | int16_t temp[8*(8+5)];\ | 347 | 158k | int16_t *tmp = temp;\ | 348 | 158k | const int h=8;\ | 349 | 158k | const int w=8;\ | 350 | 158k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 158k | int i;\ | 352 | 158k | src1 -= 2*srcStride;\ | 353 | 2.21M | for(i=0; i<h+5; i++)\ | 354 | 2.05M | {\ | 355 | 2.05M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 2.05M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 2.05M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 2.05M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 2.05M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 2.05M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 2.05M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 2.05M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 2.05M | tmp+=8;\ | 364 | 2.05M | src1+=srcStride;\ | 365 | 2.05M | }\ | 366 | 158k | 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 | 158k | } else {\ | 396 | 158k | tmp = temp+8*2; \ | 397 | 1.42M | for(i=0; i<w; i++) \ | 398 | 1.26M | { \ | 399 | 1.26M | const int tmpB= tmp[-2*8]; \ | 400 | 1.26M | const int tmpA= tmp[-1*8]; \ | 401 | 1.26M | const int tmp0= tmp[0 *8]; \ | 402 | 1.26M | const int tmp1= tmp[1 *8]; \ | 403 | 1.26M | const int tmp2= tmp[2 *8]; \ | 404 | 1.26M | const int tmp3= tmp[3 *8]; \ | 405 | 1.26M | const int tmp4= tmp[4 *8]; \ | 406 | 1.26M | const int tmp5= tmp[5 *8]; \ | 407 | 1.26M | const int tmp6= tmp[6 *8]; \ | 408 | 1.26M | const int tmp7= tmp[7 *8]; \ | 409 | 1.26M | const int tmp8= tmp[8 *8]; \ | 410 | 1.26M | const int tmp9= tmp[9 *8]; \ | 411 | 1.26M | const int tmp10=tmp[10*8]; \ | 412 | 1.26M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 1.26M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 1.26M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 1.26M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 1.26M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 1.26M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 1.26M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 1.26M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 1.26M | dst++; \ | 421 | 1.26M | tmp++; \ | 422 | 1.26M | } \ | 423 | 158k | }\ | 424 | 158k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_kk Line | Count | Source | 344 | 162k | 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 | 162k | { \ | 346 | 162k | int16_t temp[8*(8+5)];\ | 347 | 162k | int16_t *tmp = temp;\ | 348 | 162k | const int h=8;\ | 349 | 162k | const int w=8;\ | 350 | 162k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 162k | int i;\ | 352 | 162k | src1 -= 2*srcStride;\ | 353 | 2.26M | for(i=0; i<h+5; i++)\ | 354 | 2.10M | {\ | 355 | 2.10M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 2.10M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 2.10M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 2.10M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 2.10M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 2.10M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 2.10M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 2.10M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 2.10M | tmp+=8;\ | 364 | 2.10M | src1+=srcStride;\ | 365 | 2.10M | }\ | 366 | 162k | 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 | 162k | } else {\ | 396 | 162k | tmp = temp+8*2; \ | 397 | 1.45M | for(i=0; i<w; i++) \ | 398 | 1.29M | { \ | 399 | 1.29M | const int tmpB= tmp[-2*8]; \ | 400 | 1.29M | const int tmpA= tmp[-1*8]; \ | 401 | 1.29M | const int tmp0= tmp[0 *8]; \ | 402 | 1.29M | const int tmp1= tmp[1 *8]; \ | 403 | 1.29M | const int tmp2= tmp[2 *8]; \ | 404 | 1.29M | const int tmp3= tmp[3 *8]; \ | 405 | 1.29M | const int tmp4= tmp[4 *8]; \ | 406 | 1.29M | const int tmp5= tmp[5 *8]; \ | 407 | 1.29M | const int tmp6= tmp[6 *8]; \ | 408 | 1.29M | const int tmp7= tmp[7 *8]; \ | 409 | 1.29M | const int tmp8= tmp[8 *8]; \ | 410 | 1.29M | const int tmp9= tmp[9 *8]; \ | 411 | 1.29M | const int tmp10=tmp[10*8]; \ | 412 | 1.29M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 1.29M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 1.29M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 1.29M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 1.29M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 1.29M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 1.29M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 1.29M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 1.29M | dst++; \ | 421 | 1.29M | tmp++; \ | 422 | 1.29M | } \ | 423 | 162k | }\ | 424 | 162k | }\ |
cavsdsp.c:avg_cavs_filt8_hv_qq Line | Count | Source | 344 | 125k | 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 | 125k | { \ | 346 | 125k | int16_t temp[8*(8+5)];\ | 347 | 125k | int16_t *tmp = temp;\ | 348 | 125k | const int h=8;\ | 349 | 125k | const int w=8;\ | 350 | 125k | const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\ | 351 | 125k | int i;\ | 352 | 125k | src1 -= 2*srcStride;\ | 353 | 1.76M | for(i=0; i<h+5; i++)\ | 354 | 1.63M | {\ | 355 | 1.63M | tmp[0]= AH*src1[-2] + BH*src1[-1] + CH*src1[0] + DH*src1[1] + EH*src1[2] + FH*src1[3];\ | 356 | 1.63M | tmp[1]= AH*src1[-1] + BH*src1[ 0] + CH*src1[1] + DH*src1[2] + EH*src1[3] + FH*src1[4];\ | 357 | 1.63M | tmp[2]= AH*src1[ 0] + BH*src1[ 1] + CH*src1[2] + DH*src1[3] + EH*src1[4] + FH*src1[5];\ | 358 | 1.63M | tmp[3]= AH*src1[ 1] + BH*src1[ 2] + CH*src1[3] + DH*src1[4] + EH*src1[5] + FH*src1[6];\ | 359 | 1.63M | tmp[4]= AH*src1[ 2] + BH*src1[ 3] + CH*src1[4] + DH*src1[5] + EH*src1[6] + FH*src1[7];\ | 360 | 1.63M | tmp[5]= AH*src1[ 3] + BH*src1[ 4] + CH*src1[5] + DH*src1[6] + EH*src1[7] + FH*src1[8];\ | 361 | 1.63M | tmp[6]= AH*src1[ 4] + BH*src1[ 5] + CH*src1[6] + DH*src1[7] + EH*src1[8] + FH*src1[9];\ | 362 | 1.63M | tmp[7]= AH*src1[ 5] + BH*src1[ 6] + CH*src1[7] + DH*src1[8] + EH*src1[9] + FH*src1[10];\ | 363 | 1.63M | tmp+=8;\ | 364 | 1.63M | src1+=srcStride;\ | 365 | 1.63M | }\ | 366 | 125k | 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 | 125k | } else {\ | 396 | 125k | tmp = temp+8*2; \ | 397 | 1.13M | for(i=0; i<w; i++) \ | 398 | 1.00M | { \ | 399 | 1.00M | const int tmpB= tmp[-2*8]; \ | 400 | 1.00M | const int tmpA= tmp[-1*8]; \ | 401 | 1.00M | const int tmp0= tmp[0 *8]; \ | 402 | 1.00M | const int tmp1= tmp[1 *8]; \ | 403 | 1.00M | const int tmp2= tmp[2 *8]; \ | 404 | 1.00M | const int tmp3= tmp[3 *8]; \ | 405 | 1.00M | const int tmp4= tmp[4 *8]; \ | 406 | 1.00M | const int tmp5= tmp[5 *8]; \ | 407 | 1.00M | const int tmp6= tmp[6 *8]; \ | 408 | 1.00M | const int tmp7= tmp[7 *8]; \ | 409 | 1.00M | const int tmp8= tmp[8 *8]; \ | 410 | 1.00M | const int tmp9= tmp[9 *8]; \ | 411 | 1.00M | const int tmp10=tmp[10*8]; \ | 412 | 1.00M | OP(dst[0*dstStride], AV*tmpB + BV*tmpA + CV*tmp0 + DV*tmp1 + EV*tmp2 + FV*tmp3); \ | 413 | 1.00M | OP(dst[1*dstStride], AV*tmpA + BV*tmp0 + CV*tmp1 + DV*tmp2 + EV*tmp3 + FV*tmp4); \ | 414 | 1.00M | OP(dst[2*dstStride], AV*tmp0 + BV*tmp1 + CV*tmp2 + DV*tmp3 + EV*tmp4 + FV*tmp5); \ | 415 | 1.00M | OP(dst[3*dstStride], AV*tmp1 + BV*tmp2 + CV*tmp3 + DV*tmp4 + EV*tmp5 + FV*tmp6); \ | 416 | 1.00M | OP(dst[4*dstStride], AV*tmp2 + BV*tmp3 + CV*tmp4 + DV*tmp5 + EV*tmp6 + FV*tmp7); \ | 417 | 1.00M | OP(dst[5*dstStride], AV*tmp3 + BV*tmp4 + CV*tmp5 + DV*tmp6 + EV*tmp7 + FV*tmp8); \ | 418 | 1.00M | OP(dst[6*dstStride], AV*tmp4 + BV*tmp5 + CV*tmp6 + DV*tmp7 + EV*tmp8 + FV*tmp9); \ | 419 | 1.00M | OP(dst[7*dstStride], AV*tmp5 + BV*tmp6 + CV*tmp7 + DV*tmp8 + EV*tmp9 + FV*tmp10); \ | 420 | 1.00M | dst++; \ | 421 | 1.00M | tmp++; \ | 422 | 1.00M | } \ | 423 | 125k | }\ | 424 | 125k | }\ |
|
425 | | \ |
426 | 223k | 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 | 223k | { \ |
428 | 223k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ |
429 | 223k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ |
430 | 223k | src1 += 8*srcStride;\ |
431 | 223k | if (FULL) \ |
432 | 223k | src2 += 8*srcStride;\ |
433 | 223k | dst += 8*dstStride;\ |
434 | 223k | OPNAME ## cavs_filt8_hv_ ## NAME(dst , src1, FULL ? src2 : NULL, dstStride, srcStride); \ |
435 | 223k | OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, FULL ? src2 + 8 : NULL, dstStride, srcStride); \ |
436 | 223k | }\ |
437 | | |
438 | | #define CAVS_MC(OPNAME, SIZE) \ |
439 | 300k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
440 | 300k | {\ |
441 | 300k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ |
442 | 300k | }\ cavsdsp.c:put_cavs_qpel16_mc10_c Line | Count | Source | 439 | 99.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 440 | 99.1k | {\ | 441 | 99.1k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ | 442 | 99.1k | }\ |
cavsdsp.c:put_cavs_qpel8_mc10_c Line | Count | Source | 439 | 119k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 440 | 119k | {\ | 441 | 119k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ | 442 | 119k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc10_c Line | Count | Source | 439 | 7.43k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 440 | 7.43k | {\ | 441 | 7.43k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ | 442 | 7.43k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc10_c Line | Count | Source | 439 | 74.4k | static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 440 | 74.4k | {\ | 441 | 74.4k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\ | 442 | 74.4k | }\ |
|
443 | | \ |
444 | 378k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
445 | 378k | {\ |
446 | 378k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ |
447 | 378k | }\ cavsdsp.c:put_cavs_qpel16_mc20_c Line | Count | Source | 444 | 185k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 445 | 185k | {\ | 446 | 185k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ | 447 | 185k | }\ |
cavsdsp.c:put_cavs_qpel8_mc20_c Line | Count | Source | 444 | 115k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 445 | 115k | {\ | 446 | 115k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ | 447 | 115k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc20_c Line | Count | Source | 444 | 9.38k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 445 | 9.38k | {\ | 446 | 9.38k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ | 447 | 9.38k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc20_c Line | Count | Source | 444 | 68.7k | static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 445 | 68.7k | {\ | 446 | 68.7k | OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\ | 447 | 68.7k | }\ |
|
448 | | \ |
449 | 359k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
450 | 359k | {\ |
451 | 359k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ |
452 | 359k | }\ cavsdsp.c:put_cavs_qpel16_mc30_c Line | Count | Source | 449 | 116k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 450 | 116k | {\ | 451 | 116k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ | 452 | 116k | }\ |
cavsdsp.c:put_cavs_qpel8_mc30_c Line | Count | Source | 449 | 153k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 450 | 153k | {\ | 451 | 153k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ | 452 | 153k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc30_c Line | Count | Source | 449 | 6.90k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 450 | 6.90k | {\ | 451 | 6.90k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ | 452 | 6.90k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc30_c Line | Count | Source | 449 | 82.6k | static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 450 | 82.6k | {\ | 451 | 82.6k | OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\ | 452 | 82.6k | }\ |
|
453 | | \ |
454 | 210k | static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
455 | 210k | {\ |
456 | 210k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\ |
457 | 210k | }\ cavsdsp.c:put_cavs_qpel16_mc01_c Line | Count | Source | 454 | 12.3k | static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 455 | 12.3k | {\ | 456 | 12.3k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\ | 457 | 12.3k | }\ |
cavsdsp.c:put_cavs_qpel8_mc01_c Line | Count | Source | 454 | 112k | static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 455 | 112k | {\ | 456 | 112k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\ | 457 | 112k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc01_c Line | Count | Source | 454 | 12.4k | static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 455 | 12.4k | {\ | 456 | 12.4k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\ | 457 | 12.4k | }\ |
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 | 251k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
460 | 251k | {\ |
461 | 251k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ |
462 | 251k | }\ cavsdsp.c:put_cavs_qpel16_mc02_c Line | Count | Source | 459 | 16.9k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 460 | 16.9k | {\ | 461 | 16.9k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ | 462 | 16.9k | }\ |
cavsdsp.c:put_cavs_qpel8_mc02_c Line | Count | Source | 459 | 135k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 460 | 135k | {\ | 461 | 135k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ | 462 | 135k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc02_c Line | Count | Source | 459 | 5.02k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 460 | 5.02k | {\ | 461 | 5.02k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ | 462 | 5.02k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc02_c Line | Count | Source | 459 | 94.2k | static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 460 | 94.2k | {\ | 461 | 94.2k | OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\ | 462 | 94.2k | }\ |
|
463 | | \ |
464 | 371k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
465 | 371k | {\ |
466 | 371k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ |
467 | 371k | }\ cavsdsp.c:put_cavs_qpel16_mc03_c Line | Count | Source | 464 | 27.3k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 465 | 27.3k | {\ | 466 | 27.3k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ | 467 | 27.3k | }\ |
cavsdsp.c:put_cavs_qpel8_mc03_c Line | Count | Source | 464 | 216k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 465 | 216k | {\ | 466 | 216k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ | 467 | 216k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc03_c Line | Count | Source | 464 | 11.2k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 465 | 11.2k | {\ | 466 | 11.2k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ | 467 | 11.2k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc03_c Line | Count | Source | 464 | 116k | static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 465 | 116k | {\ | 466 | 116k | OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\ | 467 | 116k | }\ |
|
468 | | \ |
469 | 232k | static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
470 | 232k | {\ |
471 | 232k | OPNAME ## cavs_filt ## SIZE ## _hv_jj(dst, src, NULL, stride, stride); \ |
472 | 232k | }\ |
473 | | \ |
474 | 522k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
475 | 522k | {\ |
476 | 522k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ |
477 | 522k | }\ cavsdsp.c:put_cavs_qpel16_mc11_c Line | Count | Source | 474 | 17.9k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 475 | 17.9k | {\ | 476 | 17.9k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ | 477 | 17.9k | }\ |
cavsdsp.c:put_cavs_qpel8_mc11_c Line | Count | Source | 474 | 97.2k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 475 | 97.2k | {\ | 476 | 97.2k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ | 477 | 97.2k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc11_c Line | Count | Source | 474 | 11.7k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 475 | 11.7k | {\ | 476 | 11.7k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ | 477 | 11.7k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc11_c Line | Count | Source | 474 | 395k | static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 475 | 395k | {\ | 476 | 395k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \ | 477 | 395k | }\ |
|
478 | | \ |
479 | 129k | static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
480 | 129k | {\ |
481 | 129k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \ |
482 | 129k | }\ cavsdsp.c:put_cavs_qpel16_mc13_c Line | Count | Source | 479 | 10.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 480 | 10.1k | {\ | 481 | 10.1k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \ | 482 | 10.1k | }\ |
cavsdsp.c:put_cavs_qpel8_mc13_c Line | Count | Source | 479 | 60.4k | static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 480 | 60.4k | {\ | 481 | 60.4k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \ | 482 | 60.4k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc13_c Line | Count | Source | 479 | 4.04k | static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 480 | 4.04k | {\ | 481 | 4.04k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \ | 482 | 4.04k | }\ |
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 | 367k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
485 | 367k | {\ |
486 | 367k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ |
487 | 367k | }\ cavsdsp.c:put_cavs_qpel16_mc31_c Line | Count | Source | 484 | 14.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 485 | 14.1k | {\ | 486 | 14.1k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ | 487 | 14.1k | }\ |
cavsdsp.c:put_cavs_qpel8_mc31_c Line | Count | Source | 484 | 269k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 485 | 269k | {\ | 486 | 269k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ | 487 | 269k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc31_c Line | Count | Source | 484 | 7.33k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 485 | 7.33k | {\ | 486 | 7.33k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ | 487 | 7.33k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc31_c Line | Count | Source | 484 | 77.1k | static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 485 | 77.1k | {\ | 486 | 77.1k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \ | 487 | 77.1k | }\ |
|
488 | | \ |
489 | 484k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
490 | 484k | {\ |
491 | 484k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ |
492 | 484k | }\ cavsdsp.c:put_cavs_qpel16_mc33_c Line | Count | Source | 489 | 13.2k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 490 | 13.2k | {\ | 491 | 13.2k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ | 492 | 13.2k | }\ |
cavsdsp.c:put_cavs_qpel8_mc33_c Line | Count | Source | 489 | 400k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 490 | 400k | {\ | 491 | 400k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ | 492 | 400k | }\ |
cavsdsp.c:avg_cavs_qpel16_mc33_c Line | Count | Source | 489 | 7.33k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 490 | 7.33k | {\ | 491 | 7.33k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ | 492 | 7.33k | }\ |
cavsdsp.c:avg_cavs_qpel8_mc33_c Line | Count | Source | 489 | 63.5k | static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ | 490 | 63.5k | {\ | 491 | 63.5k | OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \ | 492 | 63.5k | }\ |
|
493 | | \ |
494 | 143k | static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
495 | 143k | {\ |
496 | 143k | OPNAME ## cavs_filt ## SIZE ## _hv_ff(dst, src, NULL, stride, stride); \ |
497 | 143k | }\ |
498 | | \ |
499 | 172k | static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
500 | 172k | {\ |
501 | 172k | OPNAME ## cavs_filt ## SIZE ## _hv_ii(dst, src, NULL, stride, stride); \ |
502 | 172k | }\ |
503 | | \ |
504 | 271k | static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
505 | 271k | {\ |
506 | 271k | OPNAME ## cavs_filt ## SIZE ## _hv_kk(dst, src, NULL, stride, stride); \ |
507 | 271k | }\ |
508 | | \ |
509 | 286k | static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\ |
510 | 286k | {\ |
511 | 286k | OPNAME ## cavs_filt ## SIZE ## _hv_qq(dst, src, NULL, stride, stride); \ |
512 | 286k | }\ |
513 | | |
514 | 67.8M | #define op_put1(a, b) a = cm[((b)+4)>>3] |
515 | 170M | #define op_put2(a, b) a = cm[((b)+64)>>7] |
516 | 9.33M | #define op_put3(a, b) a = cm[((b)+32)>>6] |
517 | 48.8M | #define op_put4(a, b) a = cm[((b)+512)>>10] |
518 | 14.1M | #define op_avg1(a, b) a = ((a)+cm[((b)+4)>>3] +1)>>1 |
519 | 77.5M | #define op_avg2(a, b) a = ((a)+cm[((b)+64)>>7] +1)>>1 |
520 | 10.1M | #define op_avg3(a, b) a = ((a)+cm[((b)+32)>>6] +1)>>1 |
521 | 29.0M | #define op_avg4(a, b) a = ((a)+cm[((b)+512)>>10]+1)>>1 |
522 | 67.8M | CAVS_SUBPIX(put_ , op_put1, hpel, 0, -1, 5, 5, -1, 0) |
523 | 43.3M | CAVS_SUBPIX(put_ , op_put2, qpel_l, -1, -2, 96, 42, -7, 0) |
524 | 60.4M | CAVS_SUBPIX(put_ , op_put2, qpel_r, 0, -7, 42, 96, -2, -1) |
525 | 9.33M | CAVS_SUBPIX_HV(put_, op_put3, jj, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1, 0, 0) |
526 | 7.26M | CAVS_SUBPIX_HV(put_, op_put4, ff, 0, -1, 5, 5, -1, 0, -1, -2, 96, 42, -7, 0, 0) |
527 | 8.67M | CAVS_SUBPIX_HV(put_, op_put4, ii, -1, -2, 96, 42, -7, 0, 0, -1, 5, 5, -1, 0, 0) |
528 | 16.1M | CAVS_SUBPIX_HV(put_, op_put4, kk, 0, -7, 42, 96, -2, -1, 0, -1, 5, 5, -1, 0, 0) |
529 | 16.6M | CAVS_SUBPIX_HV(put_, op_put4, qq, 0, -1, 5, 5, -1, 0, 0, -7, 42, 96, -2,-1, 0) |
530 | 67.1M | CAVS_SUBPIX_HV(put_, op_put2, egpr, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1, 0, 1) |
531 | 14.1M | CAVS_SUBPIX(avg_ , op_avg1, hpel, 0, -1, 5, 5, -1, 0) |
532 | 14.5M | CAVS_SUBPIX(avg_ , op_avg2, qpel_l, -1, -2, 96, 42, -7, 0) |
533 | 17.3M | CAVS_SUBPIX(avg_ , op_avg2, qpel_r, 0, -7, 42, 96, -2, -1) |
534 | 10.1M | CAVS_SUBPIX_HV(avg_, op_avg3, jj, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1, 0, 0) |
535 | 4.56M | CAVS_SUBPIX_HV(avg_, op_avg4, ff, 0, -1, 5, 5, -1, 0, -1, -2, 96, 42, -7, 0, 0) |
536 | 6.04M | CAVS_SUBPIX_HV(avg_, op_avg4, ii, -1, -2, 96, 42, -7, 0, 0, -1, 5, 5, -1, 0, 0) |
537 | 10.3M | CAVS_SUBPIX_HV(avg_, op_avg4, kk, 0, -7, 42, 96, -2, -1, 0, -1, 5, 5, -1, 0, 0) |
538 | 8.06M | CAVS_SUBPIX_HV(avg_, op_avg4, qq, 0, -1, 5, 5, -1, 0, 0, -7, 42, 96, -2,-1, 0) |
539 | 45.6M | CAVS_SUBPIX_HV(avg_, op_avg2, egpr, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1, 0, 1) |
540 | 551k | CAVS_MC(put_, 8) cavsdsp.c:put_cavs_qpel8_mc21_c Line | Count | Source | 540 | | CAVS_MC(put_, 8) |
cavsdsp.c:put_cavs_qpel8_mc12_c Line | Count | Source | 540 | | CAVS_MC(put_, 8) |
cavsdsp.c:put_cavs_qpel8_mc22_c Line | Count | Source | 540 | | CAVS_MC(put_, 8) |
cavsdsp.c:put_cavs_qpel8_mc32_c Line | Count | Source | 540 | | CAVS_MC(put_, 8) |
cavsdsp.c:put_cavs_qpel8_mc23_c Line | Count | Source | 540 | | CAVS_MC(put_, 8) |
|
541 | 89.3k | CAVS_MC(put_, 16) cavsdsp.c:put_cavs_qpel16_mc21_c Line | Count | Source | 541 | | CAVS_MC(put_, 16) |
cavsdsp.c:put_cavs_qpel16_mc12_c Line | Count | Source | 541 | | CAVS_MC(put_, 16) |
cavsdsp.c:put_cavs_qpel16_mc22_c Line | Count | Source | 541 | | CAVS_MC(put_, 16) |
cavsdsp.c:put_cavs_qpel16_mc32_c Line | Count | Source | 541 | | CAVS_MC(put_, 16) |
cavsdsp.c:put_cavs_qpel16_mc23_c Line | Count | Source | 541 | | CAVS_MC(put_, 16) |
|
542 | 417k | CAVS_MC(avg_, 8) cavsdsp.c:avg_cavs_qpel8_mc21_c Line | Count | Source | 542 | | CAVS_MC(avg_, 8) |
cavsdsp.c:avg_cavs_qpel8_mc12_c Line | Count | Source | 542 | | CAVS_MC(avg_, 8) |
cavsdsp.c:avg_cavs_qpel8_mc22_c Line | Count | Source | 542 | | CAVS_MC(avg_, 8) |
cavsdsp.c:avg_cavs_qpel8_mc32_c Line | Count | Source | 542 | | CAVS_MC(avg_, 8) |
cavsdsp.c:avg_cavs_qpel8_mc23_c Line | Count | Source | 542 | | CAVS_MC(avg_, 8) |
|
543 | 48.6k | CAVS_MC(avg_, 16) cavsdsp.c:avg_cavs_qpel16_mc21_c Line | Count | Source | 543 | | CAVS_MC(avg_, 16) |
cavsdsp.c:avg_cavs_qpel16_mc12_c Line | Count | Source | 543 | | CAVS_MC(avg_, 16) |
cavsdsp.c:avg_cavs_qpel16_mc22_c Line | Count | Source | 543 | | CAVS_MC(avg_, 16) |
cavsdsp.c:avg_cavs_qpel16_mc32_c Line | Count | Source | 543 | | CAVS_MC(avg_, 16) |
cavsdsp.c:avg_cavs_qpel16_mc23_c Line | Count | Source | 543 | | CAVS_MC(avg_, 16) |
|
544 | | |
545 | 7.10k | #define put_cavs_qpel8_mc00_c ff_put_pixels8x8_c |
546 | 7.10k | #define avg_cavs_qpel8_mc00_c ff_avg_pixels8x8_c |
547 | 7.10k | #define put_cavs_qpel16_mc00_c ff_put_pixels16x16_c |
548 | 7.10k | #define avg_cavs_qpel16_mc00_c ff_avg_pixels16x16_c |
549 | | |
550 | | av_cold void ff_cavsdsp_init(CAVSDSPContext* c) |
551 | 7.10k | { |
552 | 7.10k | #define dspfunc(PFX, IDX, NUM) \ |
553 | 28.4k | c->PFX ## _pixels_tab[IDX][ 0] = PFX ## NUM ## _mc00_c; \ |
554 | 28.4k | c->PFX ## _pixels_tab[IDX][ 1] = PFX ## NUM ## _mc10_c; \ |
555 | 28.4k | c->PFX ## _pixels_tab[IDX][ 2] = PFX ## NUM ## _mc20_c; \ |
556 | 28.4k | c->PFX ## _pixels_tab[IDX][ 3] = PFX ## NUM ## _mc30_c; \ |
557 | 28.4k | c->PFX ## _pixels_tab[IDX][ 4] = PFX ## NUM ## _mc01_c; \ |
558 | 28.4k | c->PFX ## _pixels_tab[IDX][ 5] = PFX ## NUM ## _mc11_c; \ |
559 | 28.4k | c->PFX ## _pixels_tab[IDX][ 6] = PFX ## NUM ## _mc21_c; \ |
560 | 28.4k | c->PFX ## _pixels_tab[IDX][ 7] = PFX ## NUM ## _mc31_c; \ |
561 | 28.4k | c->PFX ## _pixels_tab[IDX][ 8] = PFX ## NUM ## _mc02_c; \ |
562 | 28.4k | c->PFX ## _pixels_tab[IDX][ 9] = PFX ## NUM ## _mc12_c; \ |
563 | 28.4k | c->PFX ## _pixels_tab[IDX][10] = PFX ## NUM ## _mc22_c; \ |
564 | 28.4k | c->PFX ## _pixels_tab[IDX][11] = PFX ## NUM ## _mc32_c; \ |
565 | 28.4k | c->PFX ## _pixels_tab[IDX][12] = PFX ## NUM ## _mc03_c; \ |
566 | 28.4k | c->PFX ## _pixels_tab[IDX][13] = PFX ## NUM ## _mc13_c; \ |
567 | 28.4k | c->PFX ## _pixels_tab[IDX][14] = PFX ## NUM ## _mc23_c; \ |
568 | 28.4k | c->PFX ## _pixels_tab[IDX][15] = PFX ## NUM ## _mc33_c |
569 | 7.10k | dspfunc(put_cavs_qpel, 0, 16); |
570 | 7.10k | dspfunc(put_cavs_qpel, 1, 8); |
571 | 7.10k | dspfunc(avg_cavs_qpel, 0, 16); |
572 | 7.10k | dspfunc(avg_cavs_qpel, 1, 8); |
573 | 7.10k | c->cavs_filter_lv = cavs_filter_lv_c; |
574 | 7.10k | c->cavs_filter_lh = cavs_filter_lh_c; |
575 | 7.10k | c->cavs_filter_cv = cavs_filter_cv_c; |
576 | 7.10k | c->cavs_filter_ch = cavs_filter_ch_c; |
577 | 7.10k | c->cavs_idct8_add = cavs_idct8_add_c; |
578 | 7.10k | c->idct_perm = FF_IDCT_PERM_NONE; |
579 | | |
580 | | #if ARCH_X86 && HAVE_X86ASM |
581 | | ff_cavsdsp_init_x86(c); |
582 | | #endif |
583 | 7.10k | } |