Coverage Report

Created: 2024-09-06 07:53

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