Coverage Report

Created: 2026-07-25 07:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/ffmpeg/libavcodec/vp9dsp_template.c
Line
Count
Source
1
/*
2
 * VP9 compatible video decoder
3
 *
4
 * Copyright (C) 2013 Ronald S. Bultje <rsbultje gmail com>
5
 * Copyright (C) 2013 Clément Bœsch <u pkh me>
6
 *
7
 * This file is part of FFmpeg.
8
 *
9
 * FFmpeg is free software; you can redistribute it and/or
10
 * modify it under the terms of the GNU Lesser General Public
11
 * License as published by the Free Software Foundation; either
12
 * version 2.1 of the License, or (at your option) any later version.
13
 *
14
 * FFmpeg is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17
 * Lesser General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU Lesser General Public
20
 * License along with FFmpeg; if not, write to the Free Software
21
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
 */
23
24
#include "libavutil/common.h"
25
#include "bit_depth_template.c"
26
#include "vp9dsp.h"
27
28
#if BIT_DEPTH != 12
29
30
// FIXME see whether we can merge parts of this (perhaps at least 4x4 and 8x8)
31
// back with h264pred.[ch]
32
33
static void vert_4x4_c(uint8_t *restrict _dst, ptrdiff_t stride,
34
                       const uint8_t *left, const uint8_t *_top)
35
9.97M
{
36
9.97M
    pixel *dst = (pixel *) _dst;
37
9.97M
    const pixel *top = (const pixel *) _top;
38
9.97M
    pixel4 p4 = AV_RN4PA(top);
39
40
9.97M
    stride /= sizeof(pixel);
41
9.97M
    AV_WN4PA(dst + stride * 0, p4);
42
9.97M
    AV_WN4PA(dst + stride * 1, p4);
43
9.97M
    AV_WN4PA(dst + stride * 2, p4);
44
9.97M
    AV_WN4PA(dst + stride * 3, p4);
45
9.97M
}
vp9dsp_10bpp.c:vert_4x4_c
Line
Count
Source
35
7.10M
{
36
7.10M
    pixel *dst = (pixel *) _dst;
37
7.10M
    const pixel *top = (const pixel *) _top;
38
7.10M
    pixel4 p4 = AV_RN4PA(top);
39
40
7.10M
    stride /= sizeof(pixel);
41
7.10M
    AV_WN4PA(dst + stride * 0, p4);
42
7.10M
    AV_WN4PA(dst + stride * 1, p4);
43
7.10M
    AV_WN4PA(dst + stride * 2, p4);
44
7.10M
    AV_WN4PA(dst + stride * 3, p4);
45
7.10M
}
vp9dsp_8bpp.c:vert_4x4_c
Line
Count
Source
35
2.86M
{
36
2.86M
    pixel *dst = (pixel *) _dst;
37
2.86M
    const pixel *top = (const pixel *) _top;
38
2.86M
    pixel4 p4 = AV_RN4PA(top);
39
40
2.86M
    stride /= sizeof(pixel);
41
2.86M
    AV_WN4PA(dst + stride * 0, p4);
42
2.86M
    AV_WN4PA(dst + stride * 1, p4);
43
2.86M
    AV_WN4PA(dst + stride * 2, p4);
44
2.86M
    AV_WN4PA(dst + stride * 3, p4);
45
2.86M
}
46
47
static void vert_8x8_c(uint8_t *restrict _dst, ptrdiff_t stride,
48
                       const uint8_t *left, const uint8_t *_top)
49
840k
{
50
840k
    pixel *dst = (pixel *) _dst;
51
840k
    const pixel *top = (const pixel *) _top;
52
#if BIT_DEPTH == 8
53
274k
    uint64_t p8 = AV_RN64A(top);
54
#else
55
565k
    pixel4 p4a = AV_RN4PA(top + 0);
56
565k
    pixel4 p4b = AV_RN4PA(top + 4);
57
#endif
58
840k
    int y;
59
60
840k
    stride /= sizeof(pixel);
61
7.56M
    for (y = 0; y < 8; y++) {
62
#if BIT_DEPTH == 8
63
2.19M
        AV_WN64A(dst, p8);
64
#else
65
4.52M
        AV_WN4PA(dst + 0, p4a);
66
4.52M
        AV_WN4PA(dst + 4, p4b);
67
#endif
68
6.72M
        dst += stride;
69
6.72M
    }
70
840k
}
vp9dsp_10bpp.c:vert_8x8_c
Line
Count
Source
49
565k
{
50
565k
    pixel *dst = (pixel *) _dst;
51
565k
    const pixel *top = (const pixel *) _top;
52
#if BIT_DEPTH == 8
53
    uint64_t p8 = AV_RN64A(top);
54
#else
55
565k
    pixel4 p4a = AV_RN4PA(top + 0);
56
565k
    pixel4 p4b = AV_RN4PA(top + 4);
57
565k
#endif
58
565k
    int y;
59
60
565k
    stride /= sizeof(pixel);
61
5.09M
    for (y = 0; y < 8; y++) {
62
#if BIT_DEPTH == 8
63
        AV_WN64A(dst, p8);
64
#else
65
4.52M
        AV_WN4PA(dst + 0, p4a);
66
4.52M
        AV_WN4PA(dst + 4, p4b);
67
4.52M
#endif
68
4.52M
        dst += stride;
69
4.52M
    }
70
565k
}
vp9dsp_8bpp.c:vert_8x8_c
Line
Count
Source
49
274k
{
50
274k
    pixel *dst = (pixel *) _dst;
51
274k
    const pixel *top = (const pixel *) _top;
52
274k
#if BIT_DEPTH == 8
53
274k
    uint64_t p8 = AV_RN64A(top);
54
#else
55
    pixel4 p4a = AV_RN4PA(top + 0);
56
    pixel4 p4b = AV_RN4PA(top + 4);
57
#endif
58
274k
    int y;
59
60
274k
    stride /= sizeof(pixel);
61
2.47M
    for (y = 0; y < 8; y++) {
62
2.19M
#if BIT_DEPTH == 8
63
2.19M
        AV_WN64A(dst, p8);
64
#else
65
        AV_WN4PA(dst + 0, p4a);
66
        AV_WN4PA(dst + 4, p4b);
67
#endif
68
2.19M
        dst += stride;
69
2.19M
    }
70
274k
}
71
72
static void vert_16x16_c(uint8_t *restrict _dst, ptrdiff_t stride,
73
                         const uint8_t *left, const uint8_t *_top)
74
255k
{
75
255k
    pixel *dst = (pixel *) _dst;
76
255k
    const pixel *top = (const pixel *) _top;
77
#if BIT_DEPTH == 8
78
97.3k
    uint64_t p8a = AV_RN64A(top);
79
97.3k
    uint64_t p8b = AV_RN64A(top + 8);
80
#else
81
158k
    pixel4 p4a = AV_RN4PA(top +  0);
82
158k
    pixel4 p4b = AV_RN4PA(top +  4);
83
158k
    pixel4 p4c = AV_RN4PA(top +  8);
84
158k
    pixel4 p4d = AV_RN4PA(top + 12);
85
#endif
86
255k
    int y;
87
88
255k
    stride /= sizeof(pixel);
89
4.34M
    for (y = 0; y < 16; y++) {
90
#if BIT_DEPTH == 8
91
1.55M
        AV_WN64A(dst +  0, p8a);
92
1.55M
        AV_WN64A(dst +  8, p8b);
93
#else
94
2.52M
        AV_WN4PA(dst +  0, p4a);
95
2.52M
        AV_WN4PA(dst +  4, p4b);
96
2.52M
        AV_WN4PA(dst +  8, p4c);
97
2.52M
        AV_WN4PA(dst + 12, p4d);
98
#endif
99
4.08M
        dst += stride;
100
4.08M
    }
101
255k
}
vp9dsp_10bpp.c:vert_16x16_c
Line
Count
Source
74
158k
{
75
158k
    pixel *dst = (pixel *) _dst;
76
158k
    const pixel *top = (const pixel *) _top;
77
#if BIT_DEPTH == 8
78
    uint64_t p8a = AV_RN64A(top);
79
    uint64_t p8b = AV_RN64A(top + 8);
80
#else
81
158k
    pixel4 p4a = AV_RN4PA(top +  0);
82
158k
    pixel4 p4b = AV_RN4PA(top +  4);
83
158k
    pixel4 p4c = AV_RN4PA(top +  8);
84
158k
    pixel4 p4d = AV_RN4PA(top + 12);
85
158k
#endif
86
158k
    int y;
87
88
158k
    stride /= sizeof(pixel);
89
2.68M
    for (y = 0; y < 16; y++) {
90
#if BIT_DEPTH == 8
91
        AV_WN64A(dst +  0, p8a);
92
        AV_WN64A(dst +  8, p8b);
93
#else
94
2.52M
        AV_WN4PA(dst +  0, p4a);
95
2.52M
        AV_WN4PA(dst +  4, p4b);
96
2.52M
        AV_WN4PA(dst +  8, p4c);
97
2.52M
        AV_WN4PA(dst + 12, p4d);
98
2.52M
#endif
99
2.52M
        dst += stride;
100
2.52M
    }
101
158k
}
vp9dsp_8bpp.c:vert_16x16_c
Line
Count
Source
74
97.3k
{
75
97.3k
    pixel *dst = (pixel *) _dst;
76
97.3k
    const pixel *top = (const pixel *) _top;
77
97.3k
#if BIT_DEPTH == 8
78
97.3k
    uint64_t p8a = AV_RN64A(top);
79
97.3k
    uint64_t p8b = AV_RN64A(top + 8);
80
#else
81
    pixel4 p4a = AV_RN4PA(top +  0);
82
    pixel4 p4b = AV_RN4PA(top +  4);
83
    pixel4 p4c = AV_RN4PA(top +  8);
84
    pixel4 p4d = AV_RN4PA(top + 12);
85
#endif
86
97.3k
    int y;
87
88
97.3k
    stride /= sizeof(pixel);
89
1.65M
    for (y = 0; y < 16; y++) {
90
1.55M
#if BIT_DEPTH == 8
91
1.55M
        AV_WN64A(dst +  0, p8a);
92
1.55M
        AV_WN64A(dst +  8, p8b);
93
#else
94
        AV_WN4PA(dst +  0, p4a);
95
        AV_WN4PA(dst +  4, p4b);
96
        AV_WN4PA(dst +  8, p4c);
97
        AV_WN4PA(dst + 12, p4d);
98
#endif
99
1.55M
        dst += stride;
100
1.55M
    }
101
97.3k
}
102
103
static void vert_32x32_c(uint8_t *restrict _dst, ptrdiff_t stride,
104
                         const uint8_t *left, const uint8_t *_top)
105
126k
{
106
126k
    pixel *dst = (pixel *) _dst;
107
126k
    const pixel *top = (const pixel *) _top;
108
#if BIT_DEPTH == 8
109
42.2k
    uint64_t p8a = AV_RN64A(top);
110
42.2k
    uint64_t p8b = AV_RN64A(top + 8);
111
42.2k
    uint64_t p8c = AV_RN64A(top + 16);
112
42.2k
    uint64_t p8d = AV_RN64A(top + 24);
113
#else
114
84.5k
    pixel4 p4a = AV_RN4PA(top +  0);
115
84.5k
    pixel4 p4b = AV_RN4PA(top +  4);
116
84.5k
    pixel4 p4c = AV_RN4PA(top +  8);
117
84.5k
    pixel4 p4d = AV_RN4PA(top + 12);
118
84.5k
    pixel4 p4e = AV_RN4PA(top + 16);
119
84.5k
    pixel4 p4f = AV_RN4PA(top + 20);
120
84.5k
    pixel4 p4g = AV_RN4PA(top + 24);
121
84.5k
    pixel4 p4h = AV_RN4PA(top + 28);
122
#endif
123
126k
    int y;
124
125
126k
    stride /= sizeof(pixel);
126
4.18M
    for (y = 0; y < 32; y++) {
127
#if BIT_DEPTH == 8
128
1.35M
        AV_WN64A(dst +  0, p8a);
129
1.35M
        AV_WN64A(dst +  8, p8b);
130
1.35M
        AV_WN64A(dst + 16, p8c);
131
1.35M
        AV_WN64A(dst + 24, p8d);
132
#else
133
2.70M
        AV_WN4PA(dst +  0, p4a);
134
2.70M
        AV_WN4PA(dst +  4, p4b);
135
2.70M
        AV_WN4PA(dst +  8, p4c);
136
2.70M
        AV_WN4PA(dst + 12, p4d);
137
2.70M
        AV_WN4PA(dst + 16, p4e);
138
2.70M
        AV_WN4PA(dst + 20, p4f);
139
2.70M
        AV_WN4PA(dst + 24, p4g);
140
2.70M
        AV_WN4PA(dst + 28, p4h);
141
#endif
142
4.05M
        dst += stride;
143
4.05M
    }
144
126k
}
vp9dsp_10bpp.c:vert_32x32_c
Line
Count
Source
105
84.5k
{
106
84.5k
    pixel *dst = (pixel *) _dst;
107
84.5k
    const pixel *top = (const pixel *) _top;
108
#if BIT_DEPTH == 8
109
    uint64_t p8a = AV_RN64A(top);
110
    uint64_t p8b = AV_RN64A(top + 8);
111
    uint64_t p8c = AV_RN64A(top + 16);
112
    uint64_t p8d = AV_RN64A(top + 24);
113
#else
114
84.5k
    pixel4 p4a = AV_RN4PA(top +  0);
115
84.5k
    pixel4 p4b = AV_RN4PA(top +  4);
116
84.5k
    pixel4 p4c = AV_RN4PA(top +  8);
117
84.5k
    pixel4 p4d = AV_RN4PA(top + 12);
118
84.5k
    pixel4 p4e = AV_RN4PA(top + 16);
119
84.5k
    pixel4 p4f = AV_RN4PA(top + 20);
120
84.5k
    pixel4 p4g = AV_RN4PA(top + 24);
121
84.5k
    pixel4 p4h = AV_RN4PA(top + 28);
122
84.5k
#endif
123
84.5k
    int y;
124
125
84.5k
    stride /= sizeof(pixel);
126
2.78M
    for (y = 0; y < 32; y++) {
127
#if BIT_DEPTH == 8
128
        AV_WN64A(dst +  0, p8a);
129
        AV_WN64A(dst +  8, p8b);
130
        AV_WN64A(dst + 16, p8c);
131
        AV_WN64A(dst + 24, p8d);
132
#else
133
2.70M
        AV_WN4PA(dst +  0, p4a);
134
2.70M
        AV_WN4PA(dst +  4, p4b);
135
2.70M
        AV_WN4PA(dst +  8, p4c);
136
2.70M
        AV_WN4PA(dst + 12, p4d);
137
2.70M
        AV_WN4PA(dst + 16, p4e);
138
2.70M
        AV_WN4PA(dst + 20, p4f);
139
2.70M
        AV_WN4PA(dst + 24, p4g);
140
2.70M
        AV_WN4PA(dst + 28, p4h);
141
2.70M
#endif
142
2.70M
        dst += stride;
143
2.70M
    }
144
84.5k
}
vp9dsp_8bpp.c:vert_32x32_c
Line
Count
Source
105
42.2k
{
106
42.2k
    pixel *dst = (pixel *) _dst;
107
42.2k
    const pixel *top = (const pixel *) _top;
108
42.2k
#if BIT_DEPTH == 8
109
42.2k
    uint64_t p8a = AV_RN64A(top);
110
42.2k
    uint64_t p8b = AV_RN64A(top + 8);
111
42.2k
    uint64_t p8c = AV_RN64A(top + 16);
112
42.2k
    uint64_t p8d = AV_RN64A(top + 24);
113
#else
114
    pixel4 p4a = AV_RN4PA(top +  0);
115
    pixel4 p4b = AV_RN4PA(top +  4);
116
    pixel4 p4c = AV_RN4PA(top +  8);
117
    pixel4 p4d = AV_RN4PA(top + 12);
118
    pixel4 p4e = AV_RN4PA(top + 16);
119
    pixel4 p4f = AV_RN4PA(top + 20);
120
    pixel4 p4g = AV_RN4PA(top + 24);
121
    pixel4 p4h = AV_RN4PA(top + 28);
122
#endif
123
42.2k
    int y;
124
125
42.2k
    stride /= sizeof(pixel);
126
1.39M
    for (y = 0; y < 32; y++) {
127
1.35M
#if BIT_DEPTH == 8
128
1.35M
        AV_WN64A(dst +  0, p8a);
129
1.35M
        AV_WN64A(dst +  8, p8b);
130
1.35M
        AV_WN64A(dst + 16, p8c);
131
1.35M
        AV_WN64A(dst + 24, p8d);
132
#else
133
        AV_WN4PA(dst +  0, p4a);
134
        AV_WN4PA(dst +  4, p4b);
135
        AV_WN4PA(dst +  8, p4c);
136
        AV_WN4PA(dst + 12, p4d);
137
        AV_WN4PA(dst + 16, p4e);
138
        AV_WN4PA(dst + 20, p4f);
139
        AV_WN4PA(dst + 24, p4g);
140
        AV_WN4PA(dst + 28, p4h);
141
#endif
142
1.35M
        dst += stride;
143
1.35M
    }
144
42.2k
}
145
146
static void hor_4x4_c(uint8_t *_dst, ptrdiff_t stride,
147
                      const uint8_t *_left, const uint8_t *top)
148
16.7M
{
149
16.7M
    pixel *dst = (pixel *) _dst;
150
16.7M
    const pixel *left = (const pixel *) _left;
151
152
16.7M
    stride /= sizeof(pixel);
153
16.7M
    AV_WN4PA(dst + stride * 0, PIXEL_SPLAT_X4(left[3]));
154
16.7M
    AV_WN4PA(dst + stride * 1, PIXEL_SPLAT_X4(left[2]));
155
16.7M
    AV_WN4PA(dst + stride * 2, PIXEL_SPLAT_X4(left[1]));
156
16.7M
    AV_WN4PA(dst + stride * 3, PIXEL_SPLAT_X4(left[0]));
157
16.7M
}
vp9dsp_10bpp.c:hor_4x4_c
Line
Count
Source
148
11.3M
{
149
11.3M
    pixel *dst = (pixel *) _dst;
150
11.3M
    const pixel *left = (const pixel *) _left;
151
152
11.3M
    stride /= sizeof(pixel);
153
11.3M
    AV_WN4PA(dst + stride * 0, PIXEL_SPLAT_X4(left[3]));
154
11.3M
    AV_WN4PA(dst + stride * 1, PIXEL_SPLAT_X4(left[2]));
155
11.3M
    AV_WN4PA(dst + stride * 2, PIXEL_SPLAT_X4(left[1]));
156
11.3M
    AV_WN4PA(dst + stride * 3, PIXEL_SPLAT_X4(left[0]));
157
11.3M
}
vp9dsp_8bpp.c:hor_4x4_c
Line
Count
Source
148
5.38M
{
149
5.38M
    pixel *dst = (pixel *) _dst;
150
5.38M
    const pixel *left = (const pixel *) _left;
151
152
5.38M
    stride /= sizeof(pixel);
153
5.38M
    AV_WN4PA(dst + stride * 0, PIXEL_SPLAT_X4(left[3]));
154
5.38M
    AV_WN4PA(dst + stride * 1, PIXEL_SPLAT_X4(left[2]));
155
5.38M
    AV_WN4PA(dst + stride * 2, PIXEL_SPLAT_X4(left[1]));
156
5.38M
    AV_WN4PA(dst + stride * 3, PIXEL_SPLAT_X4(left[0]));
157
5.38M
}
158
159
static void hor_8x8_c(uint8_t *_dst, ptrdiff_t stride,
160
                      const uint8_t *_left, const uint8_t *top)
161
1.43M
{
162
1.43M
    pixel *dst = (pixel *) _dst;
163
1.43M
    const pixel *left = (const pixel *) _left;
164
1.43M
    int y;
165
166
1.43M
    stride /= sizeof(pixel);
167
12.9M
    for (y = 0; y < 8; y++) {
168
11.5M
        pixel4 p4 = PIXEL_SPLAT_X4(left[7 - y]);
169
170
11.5M
        AV_WN4PA(dst + 0, p4);
171
11.5M
        AV_WN4PA(dst + 4, p4);
172
11.5M
        dst += stride;
173
11.5M
    }
174
1.43M
}
vp9dsp_10bpp.c:hor_8x8_c
Line
Count
Source
161
891k
{
162
891k
    pixel *dst = (pixel *) _dst;
163
891k
    const pixel *left = (const pixel *) _left;
164
891k
    int y;
165
166
891k
    stride /= sizeof(pixel);
167
8.02M
    for (y = 0; y < 8; y++) {
168
7.13M
        pixel4 p4 = PIXEL_SPLAT_X4(left[7 - y]);
169
170
7.13M
        AV_WN4PA(dst + 0, p4);
171
7.13M
        AV_WN4PA(dst + 4, p4);
172
7.13M
        dst += stride;
173
7.13M
    }
174
891k
}
vp9dsp_8bpp.c:hor_8x8_c
Line
Count
Source
161
546k
{
162
546k
    pixel *dst = (pixel *) _dst;
163
546k
    const pixel *left = (const pixel *) _left;
164
546k
    int y;
165
166
546k
    stride /= sizeof(pixel);
167
4.91M
    for (y = 0; y < 8; y++) {
168
4.37M
        pixel4 p4 = PIXEL_SPLAT_X4(left[7 - y]);
169
170
4.37M
        AV_WN4PA(dst + 0, p4);
171
4.37M
        AV_WN4PA(dst + 4, p4);
172
4.37M
        dst += stride;
173
4.37M
    }
174
546k
}
175
176
static void hor_16x16_c(uint8_t *_dst, ptrdiff_t stride,
177
                        const uint8_t *_left, const uint8_t *top)
178
354k
{
179
354k
    pixel *dst = (pixel *) _dst;
180
354k
    const pixel *left = (const pixel *) _left;
181
354k
    int y;
182
183
354k
    stride /= sizeof(pixel);
184
6.03M
    for (y = 0; y < 16; y++) {
185
5.67M
        pixel4 p4 = PIXEL_SPLAT_X4(left[15 - y]);
186
187
5.67M
        AV_WN4PA(dst +  0, p4);
188
5.67M
        AV_WN4PA(dst +  4, p4);
189
5.67M
        AV_WN4PA(dst +  8, p4);
190
5.67M
        AV_WN4PA(dst + 12, p4);
191
5.67M
        dst += stride;
192
5.67M
    }
193
354k
}
vp9dsp_10bpp.c:hor_16x16_c
Line
Count
Source
178
216k
{
179
216k
    pixel *dst = (pixel *) _dst;
180
216k
    const pixel *left = (const pixel *) _left;
181
216k
    int y;
182
183
216k
    stride /= sizeof(pixel);
184
3.68M
    for (y = 0; y < 16; y++) {
185
3.46M
        pixel4 p4 = PIXEL_SPLAT_X4(left[15 - y]);
186
187
3.46M
        AV_WN4PA(dst +  0, p4);
188
3.46M
        AV_WN4PA(dst +  4, p4);
189
3.46M
        AV_WN4PA(dst +  8, p4);
190
3.46M
        AV_WN4PA(dst + 12, p4);
191
3.46M
        dst += stride;
192
3.46M
    }
193
216k
}
vp9dsp_8bpp.c:hor_16x16_c
Line
Count
Source
178
138k
{
179
138k
    pixel *dst = (pixel *) _dst;
180
138k
    const pixel *left = (const pixel *) _left;
181
138k
    int y;
182
183
138k
    stride /= sizeof(pixel);
184
2.35M
    for (y = 0; y < 16; y++) {
185
2.21M
        pixel4 p4 = PIXEL_SPLAT_X4(left[15 - y]);
186
187
2.21M
        AV_WN4PA(dst +  0, p4);
188
2.21M
        AV_WN4PA(dst +  4, p4);
189
2.21M
        AV_WN4PA(dst +  8, p4);
190
2.21M
        AV_WN4PA(dst + 12, p4);
191
2.21M
        dst += stride;
192
2.21M
    }
193
138k
}
194
195
static void hor_32x32_c(uint8_t *_dst, ptrdiff_t stride,
196
                        const uint8_t *_left, const uint8_t *top)
197
190k
{
198
190k
    pixel *dst = (pixel *) _dst;
199
190k
    const pixel *left = (const pixel *) _left;
200
190k
    int y;
201
202
190k
    stride /= sizeof(pixel);
203
6.30M
    for (y = 0; y < 32; y++) {
204
6.10M
        pixel4 p4 = PIXEL_SPLAT_X4(left[31 - y]);
205
206
6.10M
        AV_WN4PA(dst +  0, p4);
207
6.10M
        AV_WN4PA(dst +  4, p4);
208
6.10M
        AV_WN4PA(dst +  8, p4);
209
6.10M
        AV_WN4PA(dst + 12, p4);
210
6.10M
        AV_WN4PA(dst + 16, p4);
211
6.10M
        AV_WN4PA(dst + 20, p4);
212
6.10M
        AV_WN4PA(dst + 24, p4);
213
6.10M
        AV_WN4PA(dst + 28, p4);
214
6.10M
        dst += stride;
215
6.10M
    }
216
190k
}
vp9dsp_10bpp.c:hor_32x32_c
Line
Count
Source
197
99.1k
{
198
99.1k
    pixel *dst = (pixel *) _dst;
199
99.1k
    const pixel *left = (const pixel *) _left;
200
99.1k
    int y;
201
202
99.1k
    stride /= sizeof(pixel);
203
3.27M
    for (y = 0; y < 32; y++) {
204
3.17M
        pixel4 p4 = PIXEL_SPLAT_X4(left[31 - y]);
205
206
3.17M
        AV_WN4PA(dst +  0, p4);
207
3.17M
        AV_WN4PA(dst +  4, p4);
208
3.17M
        AV_WN4PA(dst +  8, p4);
209
3.17M
        AV_WN4PA(dst + 12, p4);
210
3.17M
        AV_WN4PA(dst + 16, p4);
211
3.17M
        AV_WN4PA(dst + 20, p4);
212
3.17M
        AV_WN4PA(dst + 24, p4);
213
3.17M
        AV_WN4PA(dst + 28, p4);
214
3.17M
        dst += stride;
215
3.17M
    }
216
99.1k
}
vp9dsp_8bpp.c:hor_32x32_c
Line
Count
Source
197
91.7k
{
198
91.7k
    pixel *dst = (pixel *) _dst;
199
91.7k
    const pixel *left = (const pixel *) _left;
200
91.7k
    int y;
201
202
91.7k
    stride /= sizeof(pixel);
203
3.02M
    for (y = 0; y < 32; y++) {
204
2.93M
        pixel4 p4 = PIXEL_SPLAT_X4(left[31 - y]);
205
206
2.93M
        AV_WN4PA(dst +  0, p4);
207
2.93M
        AV_WN4PA(dst +  4, p4);
208
2.93M
        AV_WN4PA(dst +  8, p4);
209
2.93M
        AV_WN4PA(dst + 12, p4);
210
2.93M
        AV_WN4PA(dst + 16, p4);
211
2.93M
        AV_WN4PA(dst + 20, p4);
212
2.93M
        AV_WN4PA(dst + 24, p4);
213
2.93M
        AV_WN4PA(dst + 28, p4);
214
2.93M
        dst += stride;
215
2.93M
    }
216
91.7k
}
217
218
#endif /* BIT_DEPTH != 12 */
219
220
static void tm_4x4_c(uint8_t *_dst, ptrdiff_t stride,
221
                     const uint8_t *_left, const uint8_t *_top)
222
7.21M
{
223
7.21M
    pixel *dst = (pixel *) _dst;
224
7.21M
    const pixel *left = (const pixel *) _left;
225
7.21M
    const pixel *top = (const pixel *) _top;
226
7.21M
    int y, tl = top[-1];
227
228
7.21M
    stride /= sizeof(pixel);
229
36.0M
    for (y = 0; y < 4; y++) {
230
28.8M
        int l_m_tl = left[3 - y] - tl;
231
232
28.8M
        dst[0] = av_clip_pixel(top[0] + l_m_tl);
233
28.8M
        dst[1] = av_clip_pixel(top[1] + l_m_tl);
234
28.8M
        dst[2] = av_clip_pixel(top[2] + l_m_tl);
235
28.8M
        dst[3] = av_clip_pixel(top[3] + l_m_tl);
236
28.8M
        dst += stride;
237
28.8M
    }
238
7.21M
}
vp9dsp_10bpp.c:tm_4x4_c
Line
Count
Source
222
1.10M
{
223
1.10M
    pixel *dst = (pixel *) _dst;
224
1.10M
    const pixel *left = (const pixel *) _left;
225
1.10M
    const pixel *top = (const pixel *) _top;
226
1.10M
    int y, tl = top[-1];
227
228
1.10M
    stride /= sizeof(pixel);
229
5.54M
    for (y = 0; y < 4; y++) {
230
4.43M
        int l_m_tl = left[3 - y] - tl;
231
232
4.43M
        dst[0] = av_clip_pixel(top[0] + l_m_tl);
233
4.43M
        dst[1] = av_clip_pixel(top[1] + l_m_tl);
234
4.43M
        dst[2] = av_clip_pixel(top[2] + l_m_tl);
235
4.43M
        dst[3] = av_clip_pixel(top[3] + l_m_tl);
236
4.43M
        dst += stride;
237
4.43M
    }
238
1.10M
}
vp9dsp_12bpp.c:tm_4x4_c
Line
Count
Source
222
4.48M
{
223
4.48M
    pixel *dst = (pixel *) _dst;
224
4.48M
    const pixel *left = (const pixel *) _left;
225
4.48M
    const pixel *top = (const pixel *) _top;
226
4.48M
    int y, tl = top[-1];
227
228
4.48M
    stride /= sizeof(pixel);
229
22.4M
    for (y = 0; y < 4; y++) {
230
17.9M
        int l_m_tl = left[3 - y] - tl;
231
232
17.9M
        dst[0] = av_clip_pixel(top[0] + l_m_tl);
233
17.9M
        dst[1] = av_clip_pixel(top[1] + l_m_tl);
234
17.9M
        dst[2] = av_clip_pixel(top[2] + l_m_tl);
235
17.9M
        dst[3] = av_clip_pixel(top[3] + l_m_tl);
236
17.9M
        dst += stride;
237
17.9M
    }
238
4.48M
}
vp9dsp_8bpp.c:tm_4x4_c
Line
Count
Source
222
1.61M
{
223
1.61M
    pixel *dst = (pixel *) _dst;
224
1.61M
    const pixel *left = (const pixel *) _left;
225
1.61M
    const pixel *top = (const pixel *) _top;
226
1.61M
    int y, tl = top[-1];
227
228
1.61M
    stride /= sizeof(pixel);
229
8.09M
    for (y = 0; y < 4; y++) {
230
6.47M
        int l_m_tl = left[3 - y] - tl;
231
232
6.47M
        dst[0] = av_clip_pixel(top[0] + l_m_tl);
233
6.47M
        dst[1] = av_clip_pixel(top[1] + l_m_tl);
234
6.47M
        dst[2] = av_clip_pixel(top[2] + l_m_tl);
235
6.47M
        dst[3] = av_clip_pixel(top[3] + l_m_tl);
236
6.47M
        dst += stride;
237
6.47M
    }
238
1.61M
}
239
240
static void tm_8x8_c(uint8_t *_dst, ptrdiff_t stride,
241
                     const uint8_t *_left, const uint8_t *_top)
242
425k
{
243
425k
    pixel *dst = (pixel *) _dst;
244
425k
    const pixel *left = (const pixel *) _left;
245
425k
    const pixel *top = (const pixel *) _top;
246
425k
    int y, tl = top[-1];
247
248
425k
    stride /= sizeof(pixel);
249
3.82M
    for (y = 0; y < 8; y++) {
250
3.40M
        int l_m_tl = left[7 - y] - tl;
251
252
3.40M
        dst[0] = av_clip_pixel(top[0] + l_m_tl);
253
3.40M
        dst[1] = av_clip_pixel(top[1] + l_m_tl);
254
3.40M
        dst[2] = av_clip_pixel(top[2] + l_m_tl);
255
3.40M
        dst[3] = av_clip_pixel(top[3] + l_m_tl);
256
3.40M
        dst[4] = av_clip_pixel(top[4] + l_m_tl);
257
3.40M
        dst[5] = av_clip_pixel(top[5] + l_m_tl);
258
3.40M
        dst[6] = av_clip_pixel(top[6] + l_m_tl);
259
3.40M
        dst[7] = av_clip_pixel(top[7] + l_m_tl);
260
3.40M
        dst += stride;
261
3.40M
    }
262
425k
}
vp9dsp_10bpp.c:tm_8x8_c
Line
Count
Source
242
162k
{
243
162k
    pixel *dst = (pixel *) _dst;
244
162k
    const pixel *left = (const pixel *) _left;
245
162k
    const pixel *top = (const pixel *) _top;
246
162k
    int y, tl = top[-1];
247
248
162k
    stride /= sizeof(pixel);
249
1.45M
    for (y = 0; y < 8; y++) {
250
1.29M
        int l_m_tl = left[7 - y] - tl;
251
252
1.29M
        dst[0] = av_clip_pixel(top[0] + l_m_tl);
253
1.29M
        dst[1] = av_clip_pixel(top[1] + l_m_tl);
254
1.29M
        dst[2] = av_clip_pixel(top[2] + l_m_tl);
255
1.29M
        dst[3] = av_clip_pixel(top[3] + l_m_tl);
256
1.29M
        dst[4] = av_clip_pixel(top[4] + l_m_tl);
257
1.29M
        dst[5] = av_clip_pixel(top[5] + l_m_tl);
258
1.29M
        dst[6] = av_clip_pixel(top[6] + l_m_tl);
259
1.29M
        dst[7] = av_clip_pixel(top[7] + l_m_tl);
260
1.29M
        dst += stride;
261
1.29M
    }
262
162k
}
vp9dsp_12bpp.c:tm_8x8_c
Line
Count
Source
242
118k
{
243
118k
    pixel *dst = (pixel *) _dst;
244
118k
    const pixel *left = (const pixel *) _left;
245
118k
    const pixel *top = (const pixel *) _top;
246
118k
    int y, tl = top[-1];
247
248
118k
    stride /= sizeof(pixel);
249
1.06M
    for (y = 0; y < 8; y++) {
250
948k
        int l_m_tl = left[7 - y] - tl;
251
252
948k
        dst[0] = av_clip_pixel(top[0] + l_m_tl);
253
948k
        dst[1] = av_clip_pixel(top[1] + l_m_tl);
254
948k
        dst[2] = av_clip_pixel(top[2] + l_m_tl);
255
948k
        dst[3] = av_clip_pixel(top[3] + l_m_tl);
256
948k
        dst[4] = av_clip_pixel(top[4] + l_m_tl);
257
948k
        dst[5] = av_clip_pixel(top[5] + l_m_tl);
258
948k
        dst[6] = av_clip_pixel(top[6] + l_m_tl);
259
948k
        dst[7] = av_clip_pixel(top[7] + l_m_tl);
260
948k
        dst += stride;
261
948k
    }
262
118k
}
vp9dsp_8bpp.c:tm_8x8_c
Line
Count
Source
242
144k
{
243
144k
    pixel *dst = (pixel *) _dst;
244
144k
    const pixel *left = (const pixel *) _left;
245
144k
    const pixel *top = (const pixel *) _top;
246
144k
    int y, tl = top[-1];
247
248
144k
    stride /= sizeof(pixel);
249
1.30M
    for (y = 0; y < 8; y++) {
250
1.15M
        int l_m_tl = left[7 - y] - tl;
251
252
1.15M
        dst[0] = av_clip_pixel(top[0] + l_m_tl);
253
1.15M
        dst[1] = av_clip_pixel(top[1] + l_m_tl);
254
1.15M
        dst[2] = av_clip_pixel(top[2] + l_m_tl);
255
1.15M
        dst[3] = av_clip_pixel(top[3] + l_m_tl);
256
1.15M
        dst[4] = av_clip_pixel(top[4] + l_m_tl);
257
1.15M
        dst[5] = av_clip_pixel(top[5] + l_m_tl);
258
1.15M
        dst[6] = av_clip_pixel(top[6] + l_m_tl);
259
1.15M
        dst[7] = av_clip_pixel(top[7] + l_m_tl);
260
1.15M
        dst += stride;
261
1.15M
    }
262
144k
}
263
264
static void tm_16x16_c(uint8_t *_dst, ptrdiff_t stride,
265
                       const uint8_t *_left, const uint8_t *_top)
266
119k
{
267
119k
    pixel *dst = (pixel *) _dst;
268
119k
    const pixel *left = (const pixel *) _left;
269
119k
    const pixel *top = (const pixel *) _top;
270
119k
    int y, tl = top[-1];
271
272
119k
    stride /= sizeof(pixel);
273
2.03M
    for (y = 0; y < 16; y++) {
274
1.91M
        int l_m_tl = left[15 - y] - tl;
275
276
1.91M
        dst[ 0] = av_clip_pixel(top[ 0] + l_m_tl);
277
1.91M
        dst[ 1] = av_clip_pixel(top[ 1] + l_m_tl);
278
1.91M
        dst[ 2] = av_clip_pixel(top[ 2] + l_m_tl);
279
1.91M
        dst[ 3] = av_clip_pixel(top[ 3] + l_m_tl);
280
1.91M
        dst[ 4] = av_clip_pixel(top[ 4] + l_m_tl);
281
1.91M
        dst[ 5] = av_clip_pixel(top[ 5] + l_m_tl);
282
1.91M
        dst[ 6] = av_clip_pixel(top[ 6] + l_m_tl);
283
1.91M
        dst[ 7] = av_clip_pixel(top[ 7] + l_m_tl);
284
1.91M
        dst[ 8] = av_clip_pixel(top[ 8] + l_m_tl);
285
1.91M
        dst[ 9] = av_clip_pixel(top[ 9] + l_m_tl);
286
1.91M
        dst[10] = av_clip_pixel(top[10] + l_m_tl);
287
1.91M
        dst[11] = av_clip_pixel(top[11] + l_m_tl);
288
1.91M
        dst[12] = av_clip_pixel(top[12] + l_m_tl);
289
1.91M
        dst[13] = av_clip_pixel(top[13] + l_m_tl);
290
1.91M
        dst[14] = av_clip_pixel(top[14] + l_m_tl);
291
1.91M
        dst[15] = av_clip_pixel(top[15] + l_m_tl);
292
1.91M
        dst += stride;
293
1.91M
    }
294
119k
}
vp9dsp_10bpp.c:tm_16x16_c
Line
Count
Source
266
33.8k
{
267
33.8k
    pixel *dst = (pixel *) _dst;
268
33.8k
    const pixel *left = (const pixel *) _left;
269
33.8k
    const pixel *top = (const pixel *) _top;
270
33.8k
    int y, tl = top[-1];
271
272
33.8k
    stride /= sizeof(pixel);
273
575k
    for (y = 0; y < 16; y++) {
274
541k
        int l_m_tl = left[15 - y] - tl;
275
276
541k
        dst[ 0] = av_clip_pixel(top[ 0] + l_m_tl);
277
541k
        dst[ 1] = av_clip_pixel(top[ 1] + l_m_tl);
278
541k
        dst[ 2] = av_clip_pixel(top[ 2] + l_m_tl);
279
541k
        dst[ 3] = av_clip_pixel(top[ 3] + l_m_tl);
280
541k
        dst[ 4] = av_clip_pixel(top[ 4] + l_m_tl);
281
541k
        dst[ 5] = av_clip_pixel(top[ 5] + l_m_tl);
282
541k
        dst[ 6] = av_clip_pixel(top[ 6] + l_m_tl);
283
541k
        dst[ 7] = av_clip_pixel(top[ 7] + l_m_tl);
284
541k
        dst[ 8] = av_clip_pixel(top[ 8] + l_m_tl);
285
541k
        dst[ 9] = av_clip_pixel(top[ 9] + l_m_tl);
286
541k
        dst[10] = av_clip_pixel(top[10] + l_m_tl);
287
541k
        dst[11] = av_clip_pixel(top[11] + l_m_tl);
288
541k
        dst[12] = av_clip_pixel(top[12] + l_m_tl);
289
541k
        dst[13] = av_clip_pixel(top[13] + l_m_tl);
290
541k
        dst[14] = av_clip_pixel(top[14] + l_m_tl);
291
541k
        dst[15] = av_clip_pixel(top[15] + l_m_tl);
292
541k
        dst += stride;
293
541k
    }
294
33.8k
}
vp9dsp_12bpp.c:tm_16x16_c
Line
Count
Source
266
38.6k
{
267
38.6k
    pixel *dst = (pixel *) _dst;
268
38.6k
    const pixel *left = (const pixel *) _left;
269
38.6k
    const pixel *top = (const pixel *) _top;
270
38.6k
    int y, tl = top[-1];
271
272
38.6k
    stride /= sizeof(pixel);
273
657k
    for (y = 0; y < 16; y++) {
274
618k
        int l_m_tl = left[15 - y] - tl;
275
276
618k
        dst[ 0] = av_clip_pixel(top[ 0] + l_m_tl);
277
618k
        dst[ 1] = av_clip_pixel(top[ 1] + l_m_tl);
278
618k
        dst[ 2] = av_clip_pixel(top[ 2] + l_m_tl);
279
618k
        dst[ 3] = av_clip_pixel(top[ 3] + l_m_tl);
280
618k
        dst[ 4] = av_clip_pixel(top[ 4] + l_m_tl);
281
618k
        dst[ 5] = av_clip_pixel(top[ 5] + l_m_tl);
282
618k
        dst[ 6] = av_clip_pixel(top[ 6] + l_m_tl);
283
618k
        dst[ 7] = av_clip_pixel(top[ 7] + l_m_tl);
284
618k
        dst[ 8] = av_clip_pixel(top[ 8] + l_m_tl);
285
618k
        dst[ 9] = av_clip_pixel(top[ 9] + l_m_tl);
286
618k
        dst[10] = av_clip_pixel(top[10] + l_m_tl);
287
618k
        dst[11] = av_clip_pixel(top[11] + l_m_tl);
288
618k
        dst[12] = av_clip_pixel(top[12] + l_m_tl);
289
618k
        dst[13] = av_clip_pixel(top[13] + l_m_tl);
290
618k
        dst[14] = av_clip_pixel(top[14] + l_m_tl);
291
618k
        dst[15] = av_clip_pixel(top[15] + l_m_tl);
292
618k
        dst += stride;
293
618k
    }
294
38.6k
}
vp9dsp_8bpp.c:tm_16x16_c
Line
Count
Source
266
46.9k
{
267
46.9k
    pixel *dst = (pixel *) _dst;
268
46.9k
    const pixel *left = (const pixel *) _left;
269
46.9k
    const pixel *top = (const pixel *) _top;
270
46.9k
    int y, tl = top[-1];
271
272
46.9k
    stride /= sizeof(pixel);
273
798k
    for (y = 0; y < 16; y++) {
274
751k
        int l_m_tl = left[15 - y] - tl;
275
276
751k
        dst[ 0] = av_clip_pixel(top[ 0] + l_m_tl);
277
751k
        dst[ 1] = av_clip_pixel(top[ 1] + l_m_tl);
278
751k
        dst[ 2] = av_clip_pixel(top[ 2] + l_m_tl);
279
751k
        dst[ 3] = av_clip_pixel(top[ 3] + l_m_tl);
280
751k
        dst[ 4] = av_clip_pixel(top[ 4] + l_m_tl);
281
751k
        dst[ 5] = av_clip_pixel(top[ 5] + l_m_tl);
282
751k
        dst[ 6] = av_clip_pixel(top[ 6] + l_m_tl);
283
751k
        dst[ 7] = av_clip_pixel(top[ 7] + l_m_tl);
284
751k
        dst[ 8] = av_clip_pixel(top[ 8] + l_m_tl);
285
751k
        dst[ 9] = av_clip_pixel(top[ 9] + l_m_tl);
286
751k
        dst[10] = av_clip_pixel(top[10] + l_m_tl);
287
751k
        dst[11] = av_clip_pixel(top[11] + l_m_tl);
288
751k
        dst[12] = av_clip_pixel(top[12] + l_m_tl);
289
751k
        dst[13] = av_clip_pixel(top[13] + l_m_tl);
290
751k
        dst[14] = av_clip_pixel(top[14] + l_m_tl);
291
751k
        dst[15] = av_clip_pixel(top[15] + l_m_tl);
292
751k
        dst += stride;
293
751k
    }
294
46.9k
}
295
296
static void tm_32x32_c(uint8_t *_dst, ptrdiff_t stride,
297
                       const uint8_t *_left, const uint8_t *_top)
298
57.8k
{
299
57.8k
    pixel *dst = (pixel *) _dst;
300
57.8k
    const pixel *left = (const pixel *) _left;
301
57.8k
    const pixel *top = (const pixel *) _top;
302
57.8k
    int y, tl = top[-1];
303
304
57.8k
    stride /= sizeof(pixel);
305
1.91M
    for (y = 0; y < 32; y++) {
306
1.85M
        int l_m_tl = left[31 - y] - tl;
307
308
1.85M
        dst[ 0] = av_clip_pixel(top[ 0] + l_m_tl);
309
1.85M
        dst[ 1] = av_clip_pixel(top[ 1] + l_m_tl);
310
1.85M
        dst[ 2] = av_clip_pixel(top[ 2] + l_m_tl);
311
1.85M
        dst[ 3] = av_clip_pixel(top[ 3] + l_m_tl);
312
1.85M
        dst[ 4] = av_clip_pixel(top[ 4] + l_m_tl);
313
1.85M
        dst[ 5] = av_clip_pixel(top[ 5] + l_m_tl);
314
1.85M
        dst[ 6] = av_clip_pixel(top[ 6] + l_m_tl);
315
1.85M
        dst[ 7] = av_clip_pixel(top[ 7] + l_m_tl);
316
1.85M
        dst[ 8] = av_clip_pixel(top[ 8] + l_m_tl);
317
1.85M
        dst[ 9] = av_clip_pixel(top[ 9] + l_m_tl);
318
1.85M
        dst[10] = av_clip_pixel(top[10] + l_m_tl);
319
1.85M
        dst[11] = av_clip_pixel(top[11] + l_m_tl);
320
1.85M
        dst[12] = av_clip_pixel(top[12] + l_m_tl);
321
1.85M
        dst[13] = av_clip_pixel(top[13] + l_m_tl);
322
1.85M
        dst[14] = av_clip_pixel(top[14] + l_m_tl);
323
1.85M
        dst[15] = av_clip_pixel(top[15] + l_m_tl);
324
1.85M
        dst[16] = av_clip_pixel(top[16] + l_m_tl);
325
1.85M
        dst[17] = av_clip_pixel(top[17] + l_m_tl);
326
1.85M
        dst[18] = av_clip_pixel(top[18] + l_m_tl);
327
1.85M
        dst[19] = av_clip_pixel(top[19] + l_m_tl);
328
1.85M
        dst[20] = av_clip_pixel(top[20] + l_m_tl);
329
1.85M
        dst[21] = av_clip_pixel(top[21] + l_m_tl);
330
1.85M
        dst[22] = av_clip_pixel(top[22] + l_m_tl);
331
1.85M
        dst[23] = av_clip_pixel(top[23] + l_m_tl);
332
1.85M
        dst[24] = av_clip_pixel(top[24] + l_m_tl);
333
1.85M
        dst[25] = av_clip_pixel(top[25] + l_m_tl);
334
1.85M
        dst[26] = av_clip_pixel(top[26] + l_m_tl);
335
1.85M
        dst[27] = av_clip_pixel(top[27] + l_m_tl);
336
1.85M
        dst[28] = av_clip_pixel(top[28] + l_m_tl);
337
1.85M
        dst[29] = av_clip_pixel(top[29] + l_m_tl);
338
1.85M
        dst[30] = av_clip_pixel(top[30] + l_m_tl);
339
1.85M
        dst[31] = av_clip_pixel(top[31] + l_m_tl);
340
1.85M
        dst += stride;
341
1.85M
    }
342
57.8k
}
vp9dsp_10bpp.c:tm_32x32_c
Line
Count
Source
298
20.6k
{
299
20.6k
    pixel *dst = (pixel *) _dst;
300
20.6k
    const pixel *left = (const pixel *) _left;
301
20.6k
    const pixel *top = (const pixel *) _top;
302
20.6k
    int y, tl = top[-1];
303
304
20.6k
    stride /= sizeof(pixel);
305
682k
    for (y = 0; y < 32; y++) {
306
661k
        int l_m_tl = left[31 - y] - tl;
307
308
661k
        dst[ 0] = av_clip_pixel(top[ 0] + l_m_tl);
309
661k
        dst[ 1] = av_clip_pixel(top[ 1] + l_m_tl);
310
661k
        dst[ 2] = av_clip_pixel(top[ 2] + l_m_tl);
311
661k
        dst[ 3] = av_clip_pixel(top[ 3] + l_m_tl);
312
661k
        dst[ 4] = av_clip_pixel(top[ 4] + l_m_tl);
313
661k
        dst[ 5] = av_clip_pixel(top[ 5] + l_m_tl);
314
661k
        dst[ 6] = av_clip_pixel(top[ 6] + l_m_tl);
315
661k
        dst[ 7] = av_clip_pixel(top[ 7] + l_m_tl);
316
661k
        dst[ 8] = av_clip_pixel(top[ 8] + l_m_tl);
317
661k
        dst[ 9] = av_clip_pixel(top[ 9] + l_m_tl);
318
661k
        dst[10] = av_clip_pixel(top[10] + l_m_tl);
319
661k
        dst[11] = av_clip_pixel(top[11] + l_m_tl);
320
661k
        dst[12] = av_clip_pixel(top[12] + l_m_tl);
321
661k
        dst[13] = av_clip_pixel(top[13] + l_m_tl);
322
661k
        dst[14] = av_clip_pixel(top[14] + l_m_tl);
323
661k
        dst[15] = av_clip_pixel(top[15] + l_m_tl);
324
661k
        dst[16] = av_clip_pixel(top[16] + l_m_tl);
325
661k
        dst[17] = av_clip_pixel(top[17] + l_m_tl);
326
661k
        dst[18] = av_clip_pixel(top[18] + l_m_tl);
327
661k
        dst[19] = av_clip_pixel(top[19] + l_m_tl);
328
661k
        dst[20] = av_clip_pixel(top[20] + l_m_tl);
329
661k
        dst[21] = av_clip_pixel(top[21] + l_m_tl);
330
661k
        dst[22] = av_clip_pixel(top[22] + l_m_tl);
331
661k
        dst[23] = av_clip_pixel(top[23] + l_m_tl);
332
661k
        dst[24] = av_clip_pixel(top[24] + l_m_tl);
333
661k
        dst[25] = av_clip_pixel(top[25] + l_m_tl);
334
661k
        dst[26] = av_clip_pixel(top[26] + l_m_tl);
335
661k
        dst[27] = av_clip_pixel(top[27] + l_m_tl);
336
661k
        dst[28] = av_clip_pixel(top[28] + l_m_tl);
337
661k
        dst[29] = av_clip_pixel(top[29] + l_m_tl);
338
661k
        dst[30] = av_clip_pixel(top[30] + l_m_tl);
339
661k
        dst[31] = av_clip_pixel(top[31] + l_m_tl);
340
661k
        dst += stride;
341
661k
    }
342
20.6k
}
vp9dsp_12bpp.c:tm_32x32_c
Line
Count
Source
298
13.3k
{
299
13.3k
    pixel *dst = (pixel *) _dst;
300
13.3k
    const pixel *left = (const pixel *) _left;
301
13.3k
    const pixel *top = (const pixel *) _top;
302
13.3k
    int y, tl = top[-1];
303
304
13.3k
    stride /= sizeof(pixel);
305
439k
    for (y = 0; y < 32; y++) {
306
426k
        int l_m_tl = left[31 - y] - tl;
307
308
426k
        dst[ 0] = av_clip_pixel(top[ 0] + l_m_tl);
309
426k
        dst[ 1] = av_clip_pixel(top[ 1] + l_m_tl);
310
426k
        dst[ 2] = av_clip_pixel(top[ 2] + l_m_tl);
311
426k
        dst[ 3] = av_clip_pixel(top[ 3] + l_m_tl);
312
426k
        dst[ 4] = av_clip_pixel(top[ 4] + l_m_tl);
313
426k
        dst[ 5] = av_clip_pixel(top[ 5] + l_m_tl);
314
426k
        dst[ 6] = av_clip_pixel(top[ 6] + l_m_tl);
315
426k
        dst[ 7] = av_clip_pixel(top[ 7] + l_m_tl);
316
426k
        dst[ 8] = av_clip_pixel(top[ 8] + l_m_tl);
317
426k
        dst[ 9] = av_clip_pixel(top[ 9] + l_m_tl);
318
426k
        dst[10] = av_clip_pixel(top[10] + l_m_tl);
319
426k
        dst[11] = av_clip_pixel(top[11] + l_m_tl);
320
426k
        dst[12] = av_clip_pixel(top[12] + l_m_tl);
321
426k
        dst[13] = av_clip_pixel(top[13] + l_m_tl);
322
426k
        dst[14] = av_clip_pixel(top[14] + l_m_tl);
323
426k
        dst[15] = av_clip_pixel(top[15] + l_m_tl);
324
426k
        dst[16] = av_clip_pixel(top[16] + l_m_tl);
325
426k
        dst[17] = av_clip_pixel(top[17] + l_m_tl);
326
426k
        dst[18] = av_clip_pixel(top[18] + l_m_tl);
327
426k
        dst[19] = av_clip_pixel(top[19] + l_m_tl);
328
426k
        dst[20] = av_clip_pixel(top[20] + l_m_tl);
329
426k
        dst[21] = av_clip_pixel(top[21] + l_m_tl);
330
426k
        dst[22] = av_clip_pixel(top[22] + l_m_tl);
331
426k
        dst[23] = av_clip_pixel(top[23] + l_m_tl);
332
426k
        dst[24] = av_clip_pixel(top[24] + l_m_tl);
333
426k
        dst[25] = av_clip_pixel(top[25] + l_m_tl);
334
426k
        dst[26] = av_clip_pixel(top[26] + l_m_tl);
335
426k
        dst[27] = av_clip_pixel(top[27] + l_m_tl);
336
426k
        dst[28] = av_clip_pixel(top[28] + l_m_tl);
337
426k
        dst[29] = av_clip_pixel(top[29] + l_m_tl);
338
426k
        dst[30] = av_clip_pixel(top[30] + l_m_tl);
339
426k
        dst[31] = av_clip_pixel(top[31] + l_m_tl);
340
426k
        dst += stride;
341
426k
    }
342
13.3k
}
vp9dsp_8bpp.c:tm_32x32_c
Line
Count
Source
298
23.8k
{
299
23.8k
    pixel *dst = (pixel *) _dst;
300
23.8k
    const pixel *left = (const pixel *) _left;
301
23.8k
    const pixel *top = (const pixel *) _top;
302
23.8k
    int y, tl = top[-1];
303
304
23.8k
    stride /= sizeof(pixel);
305
788k
    for (y = 0; y < 32; y++) {
306
764k
        int l_m_tl = left[31 - y] - tl;
307
308
764k
        dst[ 0] = av_clip_pixel(top[ 0] + l_m_tl);
309
764k
        dst[ 1] = av_clip_pixel(top[ 1] + l_m_tl);
310
764k
        dst[ 2] = av_clip_pixel(top[ 2] + l_m_tl);
311
764k
        dst[ 3] = av_clip_pixel(top[ 3] + l_m_tl);
312
764k
        dst[ 4] = av_clip_pixel(top[ 4] + l_m_tl);
313
764k
        dst[ 5] = av_clip_pixel(top[ 5] + l_m_tl);
314
764k
        dst[ 6] = av_clip_pixel(top[ 6] + l_m_tl);
315
764k
        dst[ 7] = av_clip_pixel(top[ 7] + l_m_tl);
316
764k
        dst[ 8] = av_clip_pixel(top[ 8] + l_m_tl);
317
764k
        dst[ 9] = av_clip_pixel(top[ 9] + l_m_tl);
318
764k
        dst[10] = av_clip_pixel(top[10] + l_m_tl);
319
764k
        dst[11] = av_clip_pixel(top[11] + l_m_tl);
320
764k
        dst[12] = av_clip_pixel(top[12] + l_m_tl);
321
764k
        dst[13] = av_clip_pixel(top[13] + l_m_tl);
322
764k
        dst[14] = av_clip_pixel(top[14] + l_m_tl);
323
764k
        dst[15] = av_clip_pixel(top[15] + l_m_tl);
324
764k
        dst[16] = av_clip_pixel(top[16] + l_m_tl);
325
764k
        dst[17] = av_clip_pixel(top[17] + l_m_tl);
326
764k
        dst[18] = av_clip_pixel(top[18] + l_m_tl);
327
764k
        dst[19] = av_clip_pixel(top[19] + l_m_tl);
328
764k
        dst[20] = av_clip_pixel(top[20] + l_m_tl);
329
764k
        dst[21] = av_clip_pixel(top[21] + l_m_tl);
330
764k
        dst[22] = av_clip_pixel(top[22] + l_m_tl);
331
764k
        dst[23] = av_clip_pixel(top[23] + l_m_tl);
332
764k
        dst[24] = av_clip_pixel(top[24] + l_m_tl);
333
764k
        dst[25] = av_clip_pixel(top[25] + l_m_tl);
334
764k
        dst[26] = av_clip_pixel(top[26] + l_m_tl);
335
764k
        dst[27] = av_clip_pixel(top[27] + l_m_tl);
336
764k
        dst[28] = av_clip_pixel(top[28] + l_m_tl);
337
764k
        dst[29] = av_clip_pixel(top[29] + l_m_tl);
338
764k
        dst[30] = av_clip_pixel(top[30] + l_m_tl);
339
764k
        dst[31] = av_clip_pixel(top[31] + l_m_tl);
340
764k
        dst += stride;
341
764k
    }
342
23.8k
}
343
344
#if BIT_DEPTH != 12
345
346
static void dc_4x4_c(uint8_t *_dst, ptrdiff_t stride,
347
                     const uint8_t *_left, const uint8_t *_top)
348
320M
{
349
320M
    pixel *dst = (pixel *) _dst;
350
320M
    const pixel *left = (const pixel *) _left;
351
320M
    const pixel *top = (const pixel *) _top;
352
320M
    pixel4 dc = PIXEL_SPLAT_X4((left[0] + left[1] + left[2] + left[3] +
353
320M
                                top[0] + top[1] + top[2] + top[3] + 4) >> 3);
354
355
320M
    stride /= sizeof(pixel);
356
320M
    AV_WN4PA(dst + stride * 0, dc);
357
320M
    AV_WN4PA(dst + stride * 1, dc);
358
320M
    AV_WN4PA(dst + stride * 2, dc);
359
320M
    AV_WN4PA(dst + stride * 3, dc);
360
320M
}
vp9dsp_10bpp.c:dc_4x4_c
Line
Count
Source
348
204M
{
349
204M
    pixel *dst = (pixel *) _dst;
350
204M
    const pixel *left = (const pixel *) _left;
351
204M
    const pixel *top = (const pixel *) _top;
352
204M
    pixel4 dc = PIXEL_SPLAT_X4((left[0] + left[1] + left[2] + left[3] +
353
204M
                                top[0] + top[1] + top[2] + top[3] + 4) >> 3);
354
355
204M
    stride /= sizeof(pixel);
356
204M
    AV_WN4PA(dst + stride * 0, dc);
357
204M
    AV_WN4PA(dst + stride * 1, dc);
358
204M
    AV_WN4PA(dst + stride * 2, dc);
359
204M
    AV_WN4PA(dst + stride * 3, dc);
360
204M
}
vp9dsp_8bpp.c:dc_4x4_c
Line
Count
Source
348
115M
{
349
115M
    pixel *dst = (pixel *) _dst;
350
115M
    const pixel *left = (const pixel *) _left;
351
115M
    const pixel *top = (const pixel *) _top;
352
115M
    pixel4 dc = PIXEL_SPLAT_X4((left[0] + left[1] + left[2] + left[3] +
353
115M
                                top[0] + top[1] + top[2] + top[3] + 4) >> 3);
354
355
115M
    stride /= sizeof(pixel);
356
115M
    AV_WN4PA(dst + stride * 0, dc);
357
115M
    AV_WN4PA(dst + stride * 1, dc);
358
115M
    AV_WN4PA(dst + stride * 2, dc);
359
115M
    AV_WN4PA(dst + stride * 3, dc);
360
115M
}
361
362
static void dc_8x8_c(uint8_t *_dst, ptrdiff_t stride,
363
                     const uint8_t *_left, const uint8_t *_top)
364
6.27M
{
365
6.27M
    pixel *dst = (pixel *) _dst;
366
6.27M
    const pixel *left = (const pixel *) _left;
367
6.27M
    const pixel *top = (const pixel *) _top;
368
6.27M
    pixel4 dc = PIXEL_SPLAT_X4
369
6.27M
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] +
370
6.27M
          left[6] + left[7] + top[0] + top[1] + top[2] + top[3] +
371
6.27M
          top[4] + top[5] + top[6] + top[7] + 8) >> 4);
372
6.27M
    int y;
373
374
6.27M
    stride /= sizeof(pixel);
375
56.4M
    for (y = 0; y < 8; y++) {
376
50.1M
        AV_WN4PA(dst + 0, dc);
377
50.1M
        AV_WN4PA(dst + 4, dc);
378
50.1M
        dst += stride;
379
50.1M
    }
380
6.27M
}
vp9dsp_10bpp.c:dc_8x8_c
Line
Count
Source
364
4.27M
{
365
4.27M
    pixel *dst = (pixel *) _dst;
366
4.27M
    const pixel *left = (const pixel *) _left;
367
4.27M
    const pixel *top = (const pixel *) _top;
368
4.27M
    pixel4 dc = PIXEL_SPLAT_X4
369
4.27M
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] +
370
4.27M
          left[6] + left[7] + top[0] + top[1] + top[2] + top[3] +
371
4.27M
          top[4] + top[5] + top[6] + top[7] + 8) >> 4);
372
4.27M
    int y;
373
374
4.27M
    stride /= sizeof(pixel);
375
38.4M
    for (y = 0; y < 8; y++) {
376
34.2M
        AV_WN4PA(dst + 0, dc);
377
34.2M
        AV_WN4PA(dst + 4, dc);
378
34.2M
        dst += stride;
379
34.2M
    }
380
4.27M
}
vp9dsp_8bpp.c:dc_8x8_c
Line
Count
Source
364
1.99M
{
365
1.99M
    pixel *dst = (pixel *) _dst;
366
1.99M
    const pixel *left = (const pixel *) _left;
367
1.99M
    const pixel *top = (const pixel *) _top;
368
1.99M
    pixel4 dc = PIXEL_SPLAT_X4
369
1.99M
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] +
370
1.99M
          left[6] + left[7] + top[0] + top[1] + top[2] + top[3] +
371
1.99M
          top[4] + top[5] + top[6] + top[7] + 8) >> 4);
372
1.99M
    int y;
373
374
1.99M
    stride /= sizeof(pixel);
375
17.9M
    for (y = 0; y < 8; y++) {
376
15.9M
        AV_WN4PA(dst + 0, dc);
377
15.9M
        AV_WN4PA(dst + 4, dc);
378
15.9M
        dst += stride;
379
15.9M
    }
380
1.99M
}
381
382
static void dc_16x16_c(uint8_t *_dst, ptrdiff_t stride,
383
                       const uint8_t *_left, const uint8_t *_top)
384
1.84M
{
385
1.84M
    pixel *dst = (pixel *) _dst;
386
1.84M
    const pixel *left = (const pixel *) _left;
387
1.84M
    const pixel *top = (const pixel *) _top;
388
1.84M
    pixel4 dc = PIXEL_SPLAT_X4
389
1.84M
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] +
390
1.84M
          left[7] + left[8] + left[9] + left[10] + left[11] + left[12] +
391
1.84M
          left[13] + left[14] + left[15] + top[0] + top[1] + top[2] + top[3] +
392
1.84M
          top[4] + top[5] + top[6] + top[7] + top[8] + top[9] + top[10] +
393
1.84M
          top[11] + top[12] + top[13] + top[14] + top[15] + 16) >> 5);
394
1.84M
    int y;
395
396
1.84M
    stride /= sizeof(pixel);
397
31.4M
    for (y = 0; y < 16; y++) {
398
29.5M
        AV_WN4PA(dst +  0, dc);
399
29.5M
        AV_WN4PA(dst +  4, dc);
400
29.5M
        AV_WN4PA(dst +  8, dc);
401
29.5M
        AV_WN4PA(dst + 12, dc);
402
29.5M
        dst += stride;
403
29.5M
    }
404
1.84M
}
vp9dsp_10bpp.c:dc_16x16_c
Line
Count
Source
384
929k
{
385
929k
    pixel *dst = (pixel *) _dst;
386
929k
    const pixel *left = (const pixel *) _left;
387
929k
    const pixel *top = (const pixel *) _top;
388
929k
    pixel4 dc = PIXEL_SPLAT_X4
389
929k
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] +
390
929k
          left[7] + left[8] + left[9] + left[10] + left[11] + left[12] +
391
929k
          left[13] + left[14] + left[15] + top[0] + top[1] + top[2] + top[3] +
392
929k
          top[4] + top[5] + top[6] + top[7] + top[8] + top[9] + top[10] +
393
929k
          top[11] + top[12] + top[13] + top[14] + top[15] + 16) >> 5);
394
929k
    int y;
395
396
929k
    stride /= sizeof(pixel);
397
15.8M
    for (y = 0; y < 16; y++) {
398
14.8M
        AV_WN4PA(dst +  0, dc);
399
14.8M
        AV_WN4PA(dst +  4, dc);
400
14.8M
        AV_WN4PA(dst +  8, dc);
401
14.8M
        AV_WN4PA(dst + 12, dc);
402
14.8M
        dst += stride;
403
14.8M
    }
404
929k
}
vp9dsp_8bpp.c:dc_16x16_c
Line
Count
Source
384
918k
{
385
918k
    pixel *dst = (pixel *) _dst;
386
918k
    const pixel *left = (const pixel *) _left;
387
918k
    const pixel *top = (const pixel *) _top;
388
918k
    pixel4 dc = PIXEL_SPLAT_X4
389
918k
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] +
390
918k
          left[7] + left[8] + left[9] + left[10] + left[11] + left[12] +
391
918k
          left[13] + left[14] + left[15] + top[0] + top[1] + top[2] + top[3] +
392
918k
          top[4] + top[5] + top[6] + top[7] + top[8] + top[9] + top[10] +
393
918k
          top[11] + top[12] + top[13] + top[14] + top[15] + 16) >> 5);
394
918k
    int y;
395
396
918k
    stride /= sizeof(pixel);
397
15.6M
    for (y = 0; y < 16; y++) {
398
14.6M
        AV_WN4PA(dst +  0, dc);
399
14.6M
        AV_WN4PA(dst +  4, dc);
400
14.6M
        AV_WN4PA(dst +  8, dc);
401
14.6M
        AV_WN4PA(dst + 12, dc);
402
14.6M
        dst += stride;
403
14.6M
    }
404
918k
}
405
406
static void dc_32x32_c(uint8_t *_dst, ptrdiff_t stride,
407
                       const uint8_t *_left, const uint8_t *_top)
408
2.01M
{
409
2.01M
    pixel *dst = (pixel *) _dst;
410
2.01M
    const pixel *left = (const pixel *) _left;
411
2.01M
    const pixel *top = (const pixel *) _top;
412
2.01M
    pixel4 dc = PIXEL_SPLAT_X4
413
2.01M
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] +
414
2.01M
          left[7] + left[8] + left[9] + left[10] + left[11] + left[12] +
415
2.01M
          left[13] + left[14] + left[15] + left[16] + left[17] + left[18] +
416
2.01M
          left[19] + left[20] + left[21] + left[22] + left[23] + left[24] +
417
2.01M
          left[25] + left[26] + left[27] + left[28] + left[29] + left[30] +
418
2.01M
          left[31] + top[0] + top[1] + top[2] + top[3] + top[4] + top[5] +
419
2.01M
          top[6] + top[7] + top[8] + top[9] + top[10] + top[11] + top[12] +
420
2.01M
          top[13] + top[14] + top[15] + top[16] + top[17] + top[18] + top[19] +
421
2.01M
          top[20] + top[21] + top[22] + top[23] + top[24] + top[25] + top[26] +
422
2.01M
          top[27] + top[28] + top[29] + top[30] + top[31] + 32) >> 6);
423
2.01M
    int y;
424
425
2.01M
    stride /= sizeof(pixel);
426
66.5M
    for (y = 0; y < 32; y++) {
427
64.5M
        AV_WN4PA(dst +  0, dc);
428
64.5M
        AV_WN4PA(dst +  4, dc);
429
64.5M
        AV_WN4PA(dst +  8, dc);
430
64.5M
        AV_WN4PA(dst + 12, dc);
431
64.5M
        AV_WN4PA(dst + 16, dc);
432
64.5M
        AV_WN4PA(dst + 20, dc);
433
64.5M
        AV_WN4PA(dst + 24, dc);
434
64.5M
        AV_WN4PA(dst + 28, dc);
435
64.5M
        dst += stride;
436
64.5M
    }
437
2.01M
}
vp9dsp_10bpp.c:dc_32x32_c
Line
Count
Source
408
1.05M
{
409
1.05M
    pixel *dst = (pixel *) _dst;
410
1.05M
    const pixel *left = (const pixel *) _left;
411
1.05M
    const pixel *top = (const pixel *) _top;
412
1.05M
    pixel4 dc = PIXEL_SPLAT_X4
413
1.05M
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] +
414
1.05M
          left[7] + left[8] + left[9] + left[10] + left[11] + left[12] +
415
1.05M
          left[13] + left[14] + left[15] + left[16] + left[17] + left[18] +
416
1.05M
          left[19] + left[20] + left[21] + left[22] + left[23] + left[24] +
417
1.05M
          left[25] + left[26] + left[27] + left[28] + left[29] + left[30] +
418
1.05M
          left[31] + top[0] + top[1] + top[2] + top[3] + top[4] + top[5] +
419
1.05M
          top[6] + top[7] + top[8] + top[9] + top[10] + top[11] + top[12] +
420
1.05M
          top[13] + top[14] + top[15] + top[16] + top[17] + top[18] + top[19] +
421
1.05M
          top[20] + top[21] + top[22] + top[23] + top[24] + top[25] + top[26] +
422
1.05M
          top[27] + top[28] + top[29] + top[30] + top[31] + 32) >> 6);
423
1.05M
    int y;
424
425
1.05M
    stride /= sizeof(pixel);
426
34.7M
    for (y = 0; y < 32; y++) {
427
33.6M
        AV_WN4PA(dst +  0, dc);
428
33.6M
        AV_WN4PA(dst +  4, dc);
429
33.6M
        AV_WN4PA(dst +  8, dc);
430
33.6M
        AV_WN4PA(dst + 12, dc);
431
33.6M
        AV_WN4PA(dst + 16, dc);
432
33.6M
        AV_WN4PA(dst + 20, dc);
433
33.6M
        AV_WN4PA(dst + 24, dc);
434
33.6M
        AV_WN4PA(dst + 28, dc);
435
33.6M
        dst += stride;
436
33.6M
    }
437
1.05M
}
vp9dsp_8bpp.c:dc_32x32_c
Line
Count
Source
408
965k
{
409
965k
    pixel *dst = (pixel *) _dst;
410
965k
    const pixel *left = (const pixel *) _left;
411
965k
    const pixel *top = (const pixel *) _top;
412
965k
    pixel4 dc = PIXEL_SPLAT_X4
413
965k
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] + left[6] +
414
965k
          left[7] + left[8] + left[9] + left[10] + left[11] + left[12] +
415
965k
          left[13] + left[14] + left[15] + left[16] + left[17] + left[18] +
416
965k
          left[19] + left[20] + left[21] + left[22] + left[23] + left[24] +
417
965k
          left[25] + left[26] + left[27] + left[28] + left[29] + left[30] +
418
965k
          left[31] + top[0] + top[1] + top[2] + top[3] + top[4] + top[5] +
419
965k
          top[6] + top[7] + top[8] + top[9] + top[10] + top[11] + top[12] +
420
965k
          top[13] + top[14] + top[15] + top[16] + top[17] + top[18] + top[19] +
421
965k
          top[20] + top[21] + top[22] + top[23] + top[24] + top[25] + top[26] +
422
965k
          top[27] + top[28] + top[29] + top[30] + top[31] + 32) >> 6);
423
965k
    int y;
424
425
965k
    stride /= sizeof(pixel);
426
31.8M
    for (y = 0; y < 32; y++) {
427
30.8M
        AV_WN4PA(dst +  0, dc);
428
30.8M
        AV_WN4PA(dst +  4, dc);
429
30.8M
        AV_WN4PA(dst +  8, dc);
430
30.8M
        AV_WN4PA(dst + 12, dc);
431
30.8M
        AV_WN4PA(dst + 16, dc);
432
30.8M
        AV_WN4PA(dst + 20, dc);
433
30.8M
        AV_WN4PA(dst + 24, dc);
434
30.8M
        AV_WN4PA(dst + 28, dc);
435
30.8M
        dst += stride;
436
30.8M
    }
437
965k
}
438
439
static void dc_left_4x4_c(uint8_t *_dst, ptrdiff_t stride,
440
                          const uint8_t *_left, const uint8_t *top)
441
29.1M
{
442
29.1M
    pixel *dst = (pixel *) _dst;
443
29.1M
    const pixel *left = (const pixel *) _left;
444
29.1M
    pixel4 dc = PIXEL_SPLAT_X4((left[0] + left[1] + left[2] + left[3] + 2) >> 2);
445
446
29.1M
    stride /= sizeof(pixel);
447
29.1M
    AV_WN4PA(dst + stride * 0, dc);
448
29.1M
    AV_WN4PA(dst + stride * 1, dc);
449
29.1M
    AV_WN4PA(dst + stride * 2, dc);
450
29.1M
    AV_WN4PA(dst + stride * 3, dc);
451
29.1M
}
vp9dsp_10bpp.c:dc_left_4x4_c
Line
Count
Source
441
9.38M
{
442
9.38M
    pixel *dst = (pixel *) _dst;
443
9.38M
    const pixel *left = (const pixel *) _left;
444
9.38M
    pixel4 dc = PIXEL_SPLAT_X4((left[0] + left[1] + left[2] + left[3] + 2) >> 2);
445
446
9.38M
    stride /= sizeof(pixel);
447
9.38M
    AV_WN4PA(dst + stride * 0, dc);
448
9.38M
    AV_WN4PA(dst + stride * 1, dc);
449
9.38M
    AV_WN4PA(dst + stride * 2, dc);
450
9.38M
    AV_WN4PA(dst + stride * 3, dc);
451
9.38M
}
vp9dsp_8bpp.c:dc_left_4x4_c
Line
Count
Source
441
19.7M
{
442
19.7M
    pixel *dst = (pixel *) _dst;
443
19.7M
    const pixel *left = (const pixel *) _left;
444
19.7M
    pixel4 dc = PIXEL_SPLAT_X4((left[0] + left[1] + left[2] + left[3] + 2) >> 2);
445
446
19.7M
    stride /= sizeof(pixel);
447
19.7M
    AV_WN4PA(dst + stride * 0, dc);
448
19.7M
    AV_WN4PA(dst + stride * 1, dc);
449
19.7M
    AV_WN4PA(dst + stride * 2, dc);
450
19.7M
    AV_WN4PA(dst + stride * 3, dc);
451
19.7M
}
452
453
static void dc_left_8x8_c(uint8_t *_dst, ptrdiff_t stride,
454
                          const uint8_t *_left, const uint8_t *top)
455
518k
{
456
518k
    pixel *dst = (pixel *) _dst;
457
518k
    const pixel *left = (const pixel *) _left;
458
518k
    pixel4 dc = PIXEL_SPLAT_X4
459
518k
        ((left[0] + left[1] + left[2] + left[3] +
460
518k
          left[4] + left[5] + left[6] + left[7] + 4) >> 3);
461
518k
    int y;
462
463
518k
    stride /= sizeof(pixel);
464
4.66M
    for (y = 0; y < 8; y++) {
465
4.14M
        AV_WN4PA(dst + 0, dc);
466
4.14M
        AV_WN4PA(dst + 4, dc);
467
4.14M
        dst += stride;
468
4.14M
    }
469
518k
}
vp9dsp_10bpp.c:dc_left_8x8_c
Line
Count
Source
455
276k
{
456
276k
    pixel *dst = (pixel *) _dst;
457
276k
    const pixel *left = (const pixel *) _left;
458
276k
    pixel4 dc = PIXEL_SPLAT_X4
459
276k
        ((left[0] + left[1] + left[2] + left[3] +
460
276k
          left[4] + left[5] + left[6] + left[7] + 4) >> 3);
461
276k
    int y;
462
463
276k
    stride /= sizeof(pixel);
464
2.49M
    for (y = 0; y < 8; y++) {
465
2.21M
        AV_WN4PA(dst + 0, dc);
466
2.21M
        AV_WN4PA(dst + 4, dc);
467
2.21M
        dst += stride;
468
2.21M
    }
469
276k
}
vp9dsp_8bpp.c:dc_left_8x8_c
Line
Count
Source
455
241k
{
456
241k
    pixel *dst = (pixel *) _dst;
457
241k
    const pixel *left = (const pixel *) _left;
458
241k
    pixel4 dc = PIXEL_SPLAT_X4
459
241k
        ((left[0] + left[1] + left[2] + left[3] +
460
241k
          left[4] + left[5] + left[6] + left[7] + 4) >> 3);
461
241k
    int y;
462
463
241k
    stride /= sizeof(pixel);
464
2.17M
    for (y = 0; y < 8; y++) {
465
1.93M
        AV_WN4PA(dst + 0, dc);
466
1.93M
        AV_WN4PA(dst + 4, dc);
467
1.93M
        dst += stride;
468
1.93M
    }
469
241k
}
470
471
static void dc_left_16x16_c(uint8_t *_dst, ptrdiff_t stride,
472
                            const uint8_t *_left, const uint8_t *top)
473
528k
{
474
528k
    pixel *dst = (pixel *) _dst;
475
528k
    const pixel *left = (const pixel *) _left;
476
528k
    pixel4 dc = PIXEL_SPLAT_X4
477
528k
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] +
478
528k
          left[6] + left[7] + left[8] + left[9] + left[10] + left[11] +
479
528k
          left[12] + left[13] + left[14] + left[15] + 8) >> 4);
480
528k
    int y;
481
482
528k
    stride /= sizeof(pixel);
483
8.98M
    for (y = 0; y < 16; y++) {
484
8.45M
        AV_WN4PA(dst +  0, dc);
485
8.45M
        AV_WN4PA(dst +  4, dc);
486
8.45M
        AV_WN4PA(dst +  8, dc);
487
8.45M
        AV_WN4PA(dst + 12, dc);
488
8.45M
        dst += stride;
489
8.45M
    }
490
528k
}
vp9dsp_10bpp.c:dc_left_16x16_c
Line
Count
Source
473
343k
{
474
343k
    pixel *dst = (pixel *) _dst;
475
343k
    const pixel *left = (const pixel *) _left;
476
343k
    pixel4 dc = PIXEL_SPLAT_X4
477
343k
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] +
478
343k
          left[6] + left[7] + left[8] + left[9] + left[10] + left[11] +
479
343k
          left[12] + left[13] + left[14] + left[15] + 8) >> 4);
480
343k
    int y;
481
482
343k
    stride /= sizeof(pixel);
483
5.83M
    for (y = 0; y < 16; y++) {
484
5.49M
        AV_WN4PA(dst +  0, dc);
485
5.49M
        AV_WN4PA(dst +  4, dc);
486
5.49M
        AV_WN4PA(dst +  8, dc);
487
5.49M
        AV_WN4PA(dst + 12, dc);
488
5.49M
        dst += stride;
489
5.49M
    }
490
343k
}
vp9dsp_8bpp.c:dc_left_16x16_c
Line
Count
Source
473
185k
{
474
185k
    pixel *dst = (pixel *) _dst;
475
185k
    const pixel *left = (const pixel *) _left;
476
185k
    pixel4 dc = PIXEL_SPLAT_X4
477
185k
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] +
478
185k
          left[6] + left[7] + left[8] + left[9] + left[10] + left[11] +
479
185k
          left[12] + left[13] + left[14] + left[15] + 8) >> 4);
480
185k
    int y;
481
482
185k
    stride /= sizeof(pixel);
483
3.14M
    for (y = 0; y < 16; y++) {
484
2.96M
        AV_WN4PA(dst +  0, dc);
485
2.96M
        AV_WN4PA(dst +  4, dc);
486
2.96M
        AV_WN4PA(dst +  8, dc);
487
2.96M
        AV_WN4PA(dst + 12, dc);
488
2.96M
        dst += stride;
489
2.96M
    }
490
185k
}
491
492
static void dc_left_32x32_c(uint8_t *_dst, ptrdiff_t stride,
493
                            const uint8_t *_left, const uint8_t *top)
494
695k
{
495
695k
    pixel *dst = (pixel *) _dst;
496
695k
    const pixel *left = (const pixel *) _left;
497
695k
    pixel4 dc = PIXEL_SPLAT_X4
498
695k
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] +
499
695k
          left[6] + left[7] + left[8] + left[9] + left[10] + left[11] +
500
695k
          left[12] + left[13] + left[14] + left[15] + left[16] + left[17] +
501
695k
          left[18] + left[19] + left[20] + left[21] + left[22] + left[23] +
502
695k
          left[24] + left[25] + left[26] + left[27] + left[28] + left[29] +
503
695k
          left[30] + left[31] + 16) >> 5);
504
695k
    int y;
505
506
695k
    stride /= sizeof(pixel);
507
22.9M
    for (y = 0; y < 32; y++) {
508
22.2M
        AV_WN4PA(dst +  0, dc);
509
22.2M
        AV_WN4PA(dst +  4, dc);
510
22.2M
        AV_WN4PA(dst +  8, dc);
511
22.2M
        AV_WN4PA(dst + 12, dc);
512
22.2M
        AV_WN4PA(dst + 16, dc);
513
22.2M
        AV_WN4PA(dst + 20, dc);
514
22.2M
        AV_WN4PA(dst + 24, dc);
515
22.2M
        AV_WN4PA(dst + 28, dc);
516
22.2M
        dst += stride;
517
22.2M
    }
518
695k
}
vp9dsp_10bpp.c:dc_left_32x32_c
Line
Count
Source
494
288k
{
495
288k
    pixel *dst = (pixel *) _dst;
496
288k
    const pixel *left = (const pixel *) _left;
497
288k
    pixel4 dc = PIXEL_SPLAT_X4
498
288k
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] +
499
288k
          left[6] + left[7] + left[8] + left[9] + left[10] + left[11] +
500
288k
          left[12] + left[13] + left[14] + left[15] + left[16] + left[17] +
501
288k
          left[18] + left[19] + left[20] + left[21] + left[22] + left[23] +
502
288k
          left[24] + left[25] + left[26] + left[27] + left[28] + left[29] +
503
288k
          left[30] + left[31] + 16) >> 5);
504
288k
    int y;
505
506
288k
    stride /= sizeof(pixel);
507
9.52M
    for (y = 0; y < 32; y++) {
508
9.23M
        AV_WN4PA(dst +  0, dc);
509
9.23M
        AV_WN4PA(dst +  4, dc);
510
9.23M
        AV_WN4PA(dst +  8, dc);
511
9.23M
        AV_WN4PA(dst + 12, dc);
512
9.23M
        AV_WN4PA(dst + 16, dc);
513
9.23M
        AV_WN4PA(dst + 20, dc);
514
9.23M
        AV_WN4PA(dst + 24, dc);
515
9.23M
        AV_WN4PA(dst + 28, dc);
516
9.23M
        dst += stride;
517
9.23M
    }
518
288k
}
vp9dsp_8bpp.c:dc_left_32x32_c
Line
Count
Source
494
407k
{
495
407k
    pixel *dst = (pixel *) _dst;
496
407k
    const pixel *left = (const pixel *) _left;
497
407k
    pixel4 dc = PIXEL_SPLAT_X4
498
407k
        ((left[0] + left[1] + left[2] + left[3] + left[4] + left[5] +
499
407k
          left[6] + left[7] + left[8] + left[9] + left[10] + left[11] +
500
407k
          left[12] + left[13] + left[14] + left[15] + left[16] + left[17] +
501
407k
          left[18] + left[19] + left[20] + left[21] + left[22] + left[23] +
502
407k
          left[24] + left[25] + left[26] + left[27] + left[28] + left[29] +
503
407k
          left[30] + left[31] + 16) >> 5);
504
407k
    int y;
505
506
407k
    stride /= sizeof(pixel);
507
13.4M
    for (y = 0; y < 32; y++) {
508
13.0M
        AV_WN4PA(dst +  0, dc);
509
13.0M
        AV_WN4PA(dst +  4, dc);
510
13.0M
        AV_WN4PA(dst +  8, dc);
511
13.0M
        AV_WN4PA(dst + 12, dc);
512
13.0M
        AV_WN4PA(dst + 16, dc);
513
13.0M
        AV_WN4PA(dst + 20, dc);
514
13.0M
        AV_WN4PA(dst + 24, dc);
515
13.0M
        AV_WN4PA(dst + 28, dc);
516
13.0M
        dst += stride;
517
13.0M
    }
518
407k
}
519
520
static void dc_top_4x4_c(uint8_t *_dst, ptrdiff_t stride,
521
                         const uint8_t *left, const uint8_t *_top)
522
19.8M
{
523
19.8M
    pixel *dst = (pixel *) _dst;
524
19.8M
    const pixel *top = (const pixel *) _top;
525
19.8M
    pixel4 dc = PIXEL_SPLAT_X4((top[0] + top[1] + top[2] + top[3] + 2) >> 2);
526
527
19.8M
    stride /= sizeof(pixel);
528
19.8M
    AV_WN4PA(dst + stride * 0, dc);
529
19.8M
    AV_WN4PA(dst + stride * 1, dc);
530
19.8M
    AV_WN4PA(dst + stride * 2, dc);
531
19.8M
    AV_WN4PA(dst + stride * 3, dc);
532
19.8M
}
vp9dsp_10bpp.c:dc_top_4x4_c
Line
Count
Source
522
15.5M
{
523
15.5M
    pixel *dst = (pixel *) _dst;
524
15.5M
    const pixel *top = (const pixel *) _top;
525
15.5M
    pixel4 dc = PIXEL_SPLAT_X4((top[0] + top[1] + top[2] + top[3] + 2) >> 2);
526
527
15.5M
    stride /= sizeof(pixel);
528
15.5M
    AV_WN4PA(dst + stride * 0, dc);
529
15.5M
    AV_WN4PA(dst + stride * 1, dc);
530
15.5M
    AV_WN4PA(dst + stride * 2, dc);
531
15.5M
    AV_WN4PA(dst + stride * 3, dc);
532
15.5M
}
vp9dsp_8bpp.c:dc_top_4x4_c
Line
Count
Source
522
4.22M
{
523
4.22M
    pixel *dst = (pixel *) _dst;
524
4.22M
    const pixel *top = (const pixel *) _top;
525
4.22M
    pixel4 dc = PIXEL_SPLAT_X4((top[0] + top[1] + top[2] + top[3] + 2) >> 2);
526
527
4.22M
    stride /= sizeof(pixel);
528
4.22M
    AV_WN4PA(dst + stride * 0, dc);
529
4.22M
    AV_WN4PA(dst + stride * 1, dc);
530
4.22M
    AV_WN4PA(dst + stride * 2, dc);
531
4.22M
    AV_WN4PA(dst + stride * 3, dc);
532
4.22M
}
533
534
static void dc_top_8x8_c(uint8_t *_dst, ptrdiff_t stride,
535
                         const uint8_t *left, const uint8_t *_top)
536
1.01M
{
537
1.01M
    pixel *dst = (pixel *) _dst;
538
1.01M
    const pixel *top = (const pixel *) _top;
539
1.01M
    pixel4 dc = PIXEL_SPLAT_X4
540
1.01M
        ((top[0] + top[1] + top[2] + top[3] +
541
1.01M
          top[4] + top[5] + top[6] + top[7] + 4) >> 3);
542
1.01M
    int y;
543
544
1.01M
    stride /= sizeof(pixel);
545
9.14M
    for (y = 0; y < 8; y++) {
546
8.12M
        AV_WN4PA(dst + 0, dc);
547
8.12M
        AV_WN4PA(dst + 4, dc);
548
8.12M
        dst += stride;
549
8.12M
    }
550
1.01M
}
vp9dsp_10bpp.c:dc_top_8x8_c
Line
Count
Source
536
696k
{
537
696k
    pixel *dst = (pixel *) _dst;
538
696k
    const pixel *top = (const pixel *) _top;
539
696k
    pixel4 dc = PIXEL_SPLAT_X4
540
696k
        ((top[0] + top[1] + top[2] + top[3] +
541
696k
          top[4] + top[5] + top[6] + top[7] + 4) >> 3);
542
696k
    int y;
543
544
696k
    stride /= sizeof(pixel);
545
6.27M
    for (y = 0; y < 8; y++) {
546
5.57M
        AV_WN4PA(dst + 0, dc);
547
5.57M
        AV_WN4PA(dst + 4, dc);
548
5.57M
        dst += stride;
549
5.57M
    }
550
696k
}
vp9dsp_8bpp.c:dc_top_8x8_c
Line
Count
Source
536
319k
{
537
319k
    pixel *dst = (pixel *) _dst;
538
319k
    const pixel *top = (const pixel *) _top;
539
319k
    pixel4 dc = PIXEL_SPLAT_X4
540
319k
        ((top[0] + top[1] + top[2] + top[3] +
541
319k
          top[4] + top[5] + top[6] + top[7] + 4) >> 3);
542
319k
    int y;
543
544
319k
    stride /= sizeof(pixel);
545
2.87M
    for (y = 0; y < 8; y++) {
546
2.55M
        AV_WN4PA(dst + 0, dc);
547
2.55M
        AV_WN4PA(dst + 4, dc);
548
2.55M
        dst += stride;
549
2.55M
    }
550
319k
}
551
552
static void dc_top_16x16_c(uint8_t *_dst, ptrdiff_t stride,
553
                           const uint8_t *left, const uint8_t *_top)
554
692k
{
555
692k
    pixel *dst = (pixel *) _dst;
556
692k
    const pixel *top = (const pixel *) _top;
557
692k
    pixel4 dc = PIXEL_SPLAT_X4
558
692k
        ((top[0] + top[1] + top[2] + top[3] + top[4] + top[5] +
559
692k
          top[6] + top[7] + top[8] + top[9] + top[10] + top[11] +
560
692k
          top[12] + top[13] + top[14] + top[15] + 8) >> 4);
561
692k
    int y;
562
563
692k
    stride /= sizeof(pixel);
564
11.7M
    for (y = 0; y < 16; y++) {
565
11.0M
        AV_WN4PA(dst +  0, dc);
566
11.0M
        AV_WN4PA(dst +  4, dc);
567
11.0M
        AV_WN4PA(dst +  8, dc);
568
11.0M
        AV_WN4PA(dst + 12, dc);
569
11.0M
        dst += stride;
570
11.0M
    }
571
692k
}
vp9dsp_10bpp.c:dc_top_16x16_c
Line
Count
Source
554
255k
{
555
255k
    pixel *dst = (pixel *) _dst;
556
255k
    const pixel *top = (const pixel *) _top;
557
255k
    pixel4 dc = PIXEL_SPLAT_X4
558
255k
        ((top[0] + top[1] + top[2] + top[3] + top[4] + top[5] +
559
255k
          top[6] + top[7] + top[8] + top[9] + top[10] + top[11] +
560
255k
          top[12] + top[13] + top[14] + top[15] + 8) >> 4);
561
255k
    int y;
562
563
255k
    stride /= sizeof(pixel);
564
4.34M
    for (y = 0; y < 16; y++) {
565
4.08M
        AV_WN4PA(dst +  0, dc);
566
4.08M
        AV_WN4PA(dst +  4, dc);
567
4.08M
        AV_WN4PA(dst +  8, dc);
568
4.08M
        AV_WN4PA(dst + 12, dc);
569
4.08M
        dst += stride;
570
4.08M
    }
571
255k
}
vp9dsp_8bpp.c:dc_top_16x16_c
Line
Count
Source
554
437k
{
555
437k
    pixel *dst = (pixel *) _dst;
556
437k
    const pixel *top = (const pixel *) _top;
557
437k
    pixel4 dc = PIXEL_SPLAT_X4
558
437k
        ((top[0] + top[1] + top[2] + top[3] + top[4] + top[5] +
559
437k
          top[6] + top[7] + top[8] + top[9] + top[10] + top[11] +
560
437k
          top[12] + top[13] + top[14] + top[15] + 8) >> 4);
561
437k
    int y;
562
563
437k
    stride /= sizeof(pixel);
564
7.43M
    for (y = 0; y < 16; y++) {
565
6.99M
        AV_WN4PA(dst +  0, dc);
566
6.99M
        AV_WN4PA(dst +  4, dc);
567
6.99M
        AV_WN4PA(dst +  8, dc);
568
6.99M
        AV_WN4PA(dst + 12, dc);
569
6.99M
        dst += stride;
570
6.99M
    }
571
437k
}
572
573
static void dc_top_32x32_c(uint8_t *_dst, ptrdiff_t stride,
574
                           const uint8_t *left, const uint8_t *_top)
575
768k
{
576
768k
    pixel *dst = (pixel *) _dst;
577
768k
    const pixel *top = (const pixel *) _top;
578
768k
    pixel4 dc = PIXEL_SPLAT_X4
579
768k
        ((top[0] + top[1] + top[2] + top[3] + top[4] + top[5] +
580
768k
          top[6] + top[7] + top[8] + top[9] + top[10] + top[11] +
581
768k
          top[12] + top[13] + top[14] + top[15] + top[16] + top[17] +
582
768k
          top[18] + top[19] + top[20] + top[21] + top[22] + top[23] +
583
768k
          top[24] + top[25] + top[26] + top[27] + top[28] + top[29] +
584
768k
          top[30] + top[31] + 16) >> 5);
585
768k
    int y;
586
587
768k
    stride /= sizeof(pixel);
588
25.3M
    for (y = 0; y < 32; y++) {
589
24.5M
        AV_WN4PA(dst +  0, dc);
590
24.5M
        AV_WN4PA(dst +  4, dc);
591
24.5M
        AV_WN4PA(dst +  8, dc);
592
24.5M
        AV_WN4PA(dst + 12, dc);
593
24.5M
        AV_WN4PA(dst + 16, dc);
594
24.5M
        AV_WN4PA(dst + 20, dc);
595
24.5M
        AV_WN4PA(dst + 24, dc);
596
24.5M
        AV_WN4PA(dst + 28, dc);
597
24.5M
        dst += stride;
598
24.5M
    }
599
768k
}
vp9dsp_10bpp.c:dc_top_32x32_c
Line
Count
Source
575
684k
{
576
684k
    pixel *dst = (pixel *) _dst;
577
684k
    const pixel *top = (const pixel *) _top;
578
684k
    pixel4 dc = PIXEL_SPLAT_X4
579
684k
        ((top[0] + top[1] + top[2] + top[3] + top[4] + top[5] +
580
684k
          top[6] + top[7] + top[8] + top[9] + top[10] + top[11] +
581
684k
          top[12] + top[13] + top[14] + top[15] + top[16] + top[17] +
582
684k
          top[18] + top[19] + top[20] + top[21] + top[22] + top[23] +
583
684k
          top[24] + top[25] + top[26] + top[27] + top[28] + top[29] +
584
684k
          top[30] + top[31] + 16) >> 5);
585
684k
    int y;
586
587
684k
    stride /= sizeof(pixel);
588
22.5M
    for (y = 0; y < 32; y++) {
589
21.9M
        AV_WN4PA(dst +  0, dc);
590
21.9M
        AV_WN4PA(dst +  4, dc);
591
21.9M
        AV_WN4PA(dst +  8, dc);
592
21.9M
        AV_WN4PA(dst + 12, dc);
593
21.9M
        AV_WN4PA(dst + 16, dc);
594
21.9M
        AV_WN4PA(dst + 20, dc);
595
21.9M
        AV_WN4PA(dst + 24, dc);
596
21.9M
        AV_WN4PA(dst + 28, dc);
597
21.9M
        dst += stride;
598
21.9M
    }
599
684k
}
vp9dsp_8bpp.c:dc_top_32x32_c
Line
Count
Source
575
84.0k
{
576
84.0k
    pixel *dst = (pixel *) _dst;
577
84.0k
    const pixel *top = (const pixel *) _top;
578
84.0k
    pixel4 dc = PIXEL_SPLAT_X4
579
84.0k
        ((top[0] + top[1] + top[2] + top[3] + top[4] + top[5] +
580
84.0k
          top[6] + top[7] + top[8] + top[9] + top[10] + top[11] +
581
84.0k
          top[12] + top[13] + top[14] + top[15] + top[16] + top[17] +
582
84.0k
          top[18] + top[19] + top[20] + top[21] + top[22] + top[23] +
583
84.0k
          top[24] + top[25] + top[26] + top[27] + top[28] + top[29] +
584
84.0k
          top[30] + top[31] + 16) >> 5);
585
84.0k
    int y;
586
587
84.0k
    stride /= sizeof(pixel);
588
2.77M
    for (y = 0; y < 32; y++) {
589
2.69M
        AV_WN4PA(dst +  0, dc);
590
2.69M
        AV_WN4PA(dst +  4, dc);
591
2.69M
        AV_WN4PA(dst +  8, dc);
592
2.69M
        AV_WN4PA(dst + 12, dc);
593
2.69M
        AV_WN4PA(dst + 16, dc);
594
2.69M
        AV_WN4PA(dst + 20, dc);
595
2.69M
        AV_WN4PA(dst + 24, dc);
596
2.69M
        AV_WN4PA(dst + 28, dc);
597
2.69M
        dst += stride;
598
2.69M
    }
599
84.0k
}
600
601
#endif /* BIT_DEPTH != 12 */
602
603
static void dc_128_4x4_c(uint8_t *_dst, ptrdiff_t stride,
604
                         const uint8_t *left, const uint8_t *top)
605
66.7k
{
606
66.7k
    pixel *dst = (pixel *) _dst;
607
66.7k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
608
609
66.7k
    stride /= sizeof(pixel);
610
66.7k
    AV_WN4PA(dst + stride * 0, val);
611
66.7k
    AV_WN4PA(dst + stride * 1, val);
612
66.7k
    AV_WN4PA(dst + stride * 2, val);
613
66.7k
    AV_WN4PA(dst + stride * 3, val);
614
66.7k
}
vp9dsp_10bpp.c:dc_128_4x4_c
Line
Count
Source
605
14.7k
{
606
14.7k
    pixel *dst = (pixel *) _dst;
607
14.7k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
608
609
14.7k
    stride /= sizeof(pixel);
610
14.7k
    AV_WN4PA(dst + stride * 0, val);
611
14.7k
    AV_WN4PA(dst + stride * 1, val);
612
14.7k
    AV_WN4PA(dst + stride * 2, val);
613
14.7k
    AV_WN4PA(dst + stride * 3, val);
614
14.7k
}
vp9dsp_12bpp.c:dc_128_4x4_c
Line
Count
Source
605
11.7k
{
606
11.7k
    pixel *dst = (pixel *) _dst;
607
11.7k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
608
609
11.7k
    stride /= sizeof(pixel);
610
11.7k
    AV_WN4PA(dst + stride * 0, val);
611
11.7k
    AV_WN4PA(dst + stride * 1, val);
612
11.7k
    AV_WN4PA(dst + stride * 2, val);
613
11.7k
    AV_WN4PA(dst + stride * 3, val);
614
11.7k
}
vp9dsp_8bpp.c:dc_128_4x4_c
Line
Count
Source
605
40.1k
{
606
40.1k
    pixel *dst = (pixel *) _dst;
607
40.1k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
608
609
40.1k
    stride /= sizeof(pixel);
610
40.1k
    AV_WN4PA(dst + stride * 0, val);
611
40.1k
    AV_WN4PA(dst + stride * 1, val);
612
40.1k
    AV_WN4PA(dst + stride * 2, val);
613
40.1k
    AV_WN4PA(dst + stride * 3, val);
614
40.1k
}
615
616
static void dc_128_8x8_c(uint8_t *_dst, ptrdiff_t stride,
617
                         const uint8_t *left, const uint8_t *top)
618
20.2k
{
619
20.2k
    pixel *dst = (pixel *) _dst;
620
20.2k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
621
20.2k
    int y;
622
623
20.2k
    stride /= sizeof(pixel);
624
182k
    for (y = 0; y < 8; y++) {
625
161k
        AV_WN4PA(dst + 0, val);
626
161k
        AV_WN4PA(dst + 4, val);
627
161k
        dst += stride;
628
161k
    }
629
20.2k
}
vp9dsp_10bpp.c:dc_128_8x8_c
Line
Count
Source
618
5.49k
{
619
5.49k
    pixel *dst = (pixel *) _dst;
620
5.49k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
621
5.49k
    int y;
622
623
5.49k
    stride /= sizeof(pixel);
624
49.4k
    for (y = 0; y < 8; y++) {
625
43.9k
        AV_WN4PA(dst + 0, val);
626
43.9k
        AV_WN4PA(dst + 4, val);
627
43.9k
        dst += stride;
628
43.9k
    }
629
5.49k
}
vp9dsp_12bpp.c:dc_128_8x8_c
Line
Count
Source
618
6.27k
{
619
6.27k
    pixel *dst = (pixel *) _dst;
620
6.27k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
621
6.27k
    int y;
622
623
6.27k
    stride /= sizeof(pixel);
624
56.4k
    for (y = 0; y < 8; y++) {
625
50.1k
        AV_WN4PA(dst + 0, val);
626
50.1k
        AV_WN4PA(dst + 4, val);
627
50.1k
        dst += stride;
628
50.1k
    }
629
6.27k
}
vp9dsp_8bpp.c:dc_128_8x8_c
Line
Count
Source
618
8.48k
{
619
8.48k
    pixel *dst = (pixel *) _dst;
620
8.48k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
621
8.48k
    int y;
622
623
8.48k
    stride /= sizeof(pixel);
624
76.3k
    for (y = 0; y < 8; y++) {
625
67.8k
        AV_WN4PA(dst + 0, val);
626
67.8k
        AV_WN4PA(dst + 4, val);
627
67.8k
        dst += stride;
628
67.8k
    }
629
8.48k
}
630
631
static void dc_128_16x16_c(uint8_t *_dst, ptrdiff_t stride,
632
                           const uint8_t *left, const uint8_t *top)
633
9.35k
{
634
9.35k
    pixel *dst = (pixel *) _dst;
635
9.35k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
636
9.35k
    int y;
637
638
9.35k
    stride /= sizeof(pixel);
639
159k
    for (y = 0; y < 16; y++) {
640
149k
        AV_WN4PA(dst +  0, val);
641
149k
        AV_WN4PA(dst +  4, val);
642
149k
        AV_WN4PA(dst +  8, val);
643
149k
        AV_WN4PA(dst + 12, val);
644
149k
        dst += stride;
645
149k
    }
646
9.35k
}
vp9dsp_10bpp.c:dc_128_16x16_c
Line
Count
Source
633
1.87k
{
634
1.87k
    pixel *dst = (pixel *) _dst;
635
1.87k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
636
1.87k
    int y;
637
638
1.87k
    stride /= sizeof(pixel);
639
31.8k
    for (y = 0; y < 16; y++) {
640
29.9k
        AV_WN4PA(dst +  0, val);
641
29.9k
        AV_WN4PA(dst +  4, val);
642
29.9k
        AV_WN4PA(dst +  8, val);
643
29.9k
        AV_WN4PA(dst + 12, val);
644
29.9k
        dst += stride;
645
29.9k
    }
646
1.87k
}
vp9dsp_12bpp.c:dc_128_16x16_c
Line
Count
Source
633
3.71k
{
634
3.71k
    pixel *dst = (pixel *) _dst;
635
3.71k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
636
3.71k
    int y;
637
638
3.71k
    stride /= sizeof(pixel);
639
63.0k
    for (y = 0; y < 16; y++) {
640
59.3k
        AV_WN4PA(dst +  0, val);
641
59.3k
        AV_WN4PA(dst +  4, val);
642
59.3k
        AV_WN4PA(dst +  8, val);
643
59.3k
        AV_WN4PA(dst + 12, val);
644
59.3k
        dst += stride;
645
59.3k
    }
646
3.71k
}
vp9dsp_8bpp.c:dc_128_16x16_c
Line
Count
Source
633
3.77k
{
634
3.77k
    pixel *dst = (pixel *) _dst;
635
3.77k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
636
3.77k
    int y;
637
638
3.77k
    stride /= sizeof(pixel);
639
64.0k
    for (y = 0; y < 16; y++) {
640
60.3k
        AV_WN4PA(dst +  0, val);
641
60.3k
        AV_WN4PA(dst +  4, val);
642
60.3k
        AV_WN4PA(dst +  8, val);
643
60.3k
        AV_WN4PA(dst + 12, val);
644
60.3k
        dst += stride;
645
60.3k
    }
646
3.77k
}
647
648
static void dc_128_32x32_c(uint8_t *_dst, ptrdiff_t stride,
649
                           const uint8_t *left, const uint8_t *top)
650
19.4k
{
651
19.4k
    pixel *dst = (pixel *) _dst;
652
19.4k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
653
19.4k
    int y;
654
655
19.4k
    stride /= sizeof(pixel);
656
641k
    for (y = 0; y < 32; y++) {
657
622k
        AV_WN4PA(dst +  0, val);
658
622k
        AV_WN4PA(dst +  4, val);
659
622k
        AV_WN4PA(dst +  8, val);
660
622k
        AV_WN4PA(dst + 12, val);
661
622k
        AV_WN4PA(dst + 16, val);
662
622k
        AV_WN4PA(dst + 20, val);
663
622k
        AV_WN4PA(dst + 24, val);
664
622k
        AV_WN4PA(dst + 28, val);
665
622k
        dst += stride;
666
622k
    }
667
19.4k
}
vp9dsp_10bpp.c:dc_128_32x32_c
Line
Count
Source
650
4.63k
{
651
4.63k
    pixel *dst = (pixel *) _dst;
652
4.63k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
653
4.63k
    int y;
654
655
4.63k
    stride /= sizeof(pixel);
656
152k
    for (y = 0; y < 32; y++) {
657
148k
        AV_WN4PA(dst +  0, val);
658
148k
        AV_WN4PA(dst +  4, val);
659
148k
        AV_WN4PA(dst +  8, val);
660
148k
        AV_WN4PA(dst + 12, val);
661
148k
        AV_WN4PA(dst + 16, val);
662
148k
        AV_WN4PA(dst + 20, val);
663
148k
        AV_WN4PA(dst + 24, val);
664
148k
        AV_WN4PA(dst + 28, val);
665
148k
        dst += stride;
666
148k
    }
667
4.63k
}
vp9dsp_12bpp.c:dc_128_32x32_c
Line
Count
Source
650
10.0k
{
651
10.0k
    pixel *dst = (pixel *) _dst;
652
10.0k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
653
10.0k
    int y;
654
655
10.0k
    stride /= sizeof(pixel);
656
331k
    for (y = 0; y < 32; y++) {
657
321k
        AV_WN4PA(dst +  0, val);
658
321k
        AV_WN4PA(dst +  4, val);
659
321k
        AV_WN4PA(dst +  8, val);
660
321k
        AV_WN4PA(dst + 12, val);
661
321k
        AV_WN4PA(dst + 16, val);
662
321k
        AV_WN4PA(dst + 20, val);
663
321k
        AV_WN4PA(dst + 24, val);
664
321k
        AV_WN4PA(dst + 28, val);
665
321k
        dst += stride;
666
321k
    }
667
10.0k
}
vp9dsp_8bpp.c:dc_128_32x32_c
Line
Count
Source
650
4.77k
{
651
4.77k
    pixel *dst = (pixel *) _dst;
652
4.77k
    pixel4 val = PIXEL_SPLAT_X4(128 << (BIT_DEPTH - 8));
653
4.77k
    int y;
654
655
4.77k
    stride /= sizeof(pixel);
656
157k
    for (y = 0; y < 32; y++) {
657
152k
        AV_WN4PA(dst +  0, val);
658
152k
        AV_WN4PA(dst +  4, val);
659
152k
        AV_WN4PA(dst +  8, val);
660
152k
        AV_WN4PA(dst + 12, val);
661
152k
        AV_WN4PA(dst + 16, val);
662
152k
        AV_WN4PA(dst + 20, val);
663
152k
        AV_WN4PA(dst + 24, val);
664
152k
        AV_WN4PA(dst + 28, val);
665
152k
        dst += stride;
666
152k
    }
667
4.77k
}
668
669
static void dc_127_4x4_c(uint8_t *_dst, ptrdiff_t stride,
670
                         const uint8_t *left, const uint8_t *top)
671
1.10M
{
672
1.10M
    pixel *dst = (pixel *) _dst;
673
1.10M
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
674
675
1.10M
    stride /= sizeof(pixel);
676
1.10M
    AV_WN4PA(dst + stride * 0, val);
677
1.10M
    AV_WN4PA(dst + stride * 1, val);
678
1.10M
    AV_WN4PA(dst + stride * 2, val);
679
1.10M
    AV_WN4PA(dst + stride * 3, val);}
vp9dsp_10bpp.c:dc_127_4x4_c
Line
Count
Source
671
133k
{
672
133k
    pixel *dst = (pixel *) _dst;
673
133k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
674
675
133k
    stride /= sizeof(pixel);
676
133k
    AV_WN4PA(dst + stride * 0, val);
677
133k
    AV_WN4PA(dst + stride * 1, val);
678
133k
    AV_WN4PA(dst + stride * 2, val);
679
133k
    AV_WN4PA(dst + stride * 3, val);}
vp9dsp_12bpp.c:dc_127_4x4_c
Line
Count
Source
671
285k
{
672
285k
    pixel *dst = (pixel *) _dst;
673
285k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
674
675
285k
    stride /= sizeof(pixel);
676
285k
    AV_WN4PA(dst + stride * 0, val);
677
285k
    AV_WN4PA(dst + stride * 1, val);
678
285k
    AV_WN4PA(dst + stride * 2, val);
679
285k
    AV_WN4PA(dst + stride * 3, val);}
vp9dsp_8bpp.c:dc_127_4x4_c
Line
Count
Source
671
684k
{
672
684k
    pixel *dst = (pixel *) _dst;
673
684k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
674
675
684k
    stride /= sizeof(pixel);
676
684k
    AV_WN4PA(dst + stride * 0, val);
677
684k
    AV_WN4PA(dst + stride * 1, val);
678
684k
    AV_WN4PA(dst + stride * 2, val);
679
684k
    AV_WN4PA(dst + stride * 3, val);}
680
681
static void dc_127_8x8_c(uint8_t *_dst, ptrdiff_t stride,
682
                         const uint8_t *left, const uint8_t *top)
683
46.9k
{
684
46.9k
    pixel *dst = (pixel *) _dst;
685
46.9k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
686
46.9k
    int y;
687
688
46.9k
    stride /= sizeof(pixel);
689
422k
    for (y = 0; y < 8; y++) {
690
375k
        AV_WN4PA(dst + 0, val);
691
375k
        AV_WN4PA(dst + 4, val);
692
375k
        dst += stride;
693
375k
    }
694
46.9k
}
vp9dsp_10bpp.c:dc_127_8x8_c
Line
Count
Source
683
8.20k
{
684
8.20k
    pixel *dst = (pixel *) _dst;
685
8.20k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
686
8.20k
    int y;
687
688
8.20k
    stride /= sizeof(pixel);
689
73.8k
    for (y = 0; y < 8; y++) {
690
65.6k
        AV_WN4PA(dst + 0, val);
691
65.6k
        AV_WN4PA(dst + 4, val);
692
65.6k
        dst += stride;
693
65.6k
    }
694
8.20k
}
vp9dsp_12bpp.c:dc_127_8x8_c
Line
Count
Source
683
8.44k
{
684
8.44k
    pixel *dst = (pixel *) _dst;
685
8.44k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
686
8.44k
    int y;
687
688
8.44k
    stride /= sizeof(pixel);
689
75.9k
    for (y = 0; y < 8; y++) {
690
67.5k
        AV_WN4PA(dst + 0, val);
691
67.5k
        AV_WN4PA(dst + 4, val);
692
67.5k
        dst += stride;
693
67.5k
    }
694
8.44k
}
vp9dsp_8bpp.c:dc_127_8x8_c
Line
Count
Source
683
30.3k
{
684
30.3k
    pixel *dst = (pixel *) _dst;
685
30.3k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
686
30.3k
    int y;
687
688
30.3k
    stride /= sizeof(pixel);
689
273k
    for (y = 0; y < 8; y++) {
690
242k
        AV_WN4PA(dst + 0, val);
691
242k
        AV_WN4PA(dst + 4, val);
692
242k
        dst += stride;
693
242k
    }
694
30.3k
}
695
696
static void dc_127_16x16_c(uint8_t *_dst, ptrdiff_t stride,
697
                           const uint8_t *left, const uint8_t *top)
698
19.1k
{
699
19.1k
    pixel *dst = (pixel *) _dst;
700
19.1k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
701
19.1k
    int y;
702
703
19.1k
    stride /= sizeof(pixel);
704
325k
    for (y = 0; y < 16; y++) {
705
306k
        AV_WN4PA(dst +  0, val);
706
306k
        AV_WN4PA(dst +  4, val);
707
306k
        AV_WN4PA(dst +  8, val);
708
306k
        AV_WN4PA(dst + 12, val);
709
306k
        dst += stride;
710
306k
    }
711
19.1k
}
vp9dsp_10bpp.c:dc_127_16x16_c
Line
Count
Source
698
6.47k
{
699
6.47k
    pixel *dst = (pixel *) _dst;
700
6.47k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
701
6.47k
    int y;
702
703
6.47k
    stride /= sizeof(pixel);
704
110k
    for (y = 0; y < 16; y++) {
705
103k
        AV_WN4PA(dst +  0, val);
706
103k
        AV_WN4PA(dst +  4, val);
707
103k
        AV_WN4PA(dst +  8, val);
708
103k
        AV_WN4PA(dst + 12, val);
709
103k
        dst += stride;
710
103k
    }
711
6.47k
}
vp9dsp_12bpp.c:dc_127_16x16_c
Line
Count
Source
698
4.22k
{
699
4.22k
    pixel *dst = (pixel *) _dst;
700
4.22k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
701
4.22k
    int y;
702
703
4.22k
    stride /= sizeof(pixel);
704
71.7k
    for (y = 0; y < 16; y++) {
705
67.5k
        AV_WN4PA(dst +  0, val);
706
67.5k
        AV_WN4PA(dst +  4, val);
707
67.5k
        AV_WN4PA(dst +  8, val);
708
67.5k
        AV_WN4PA(dst + 12, val);
709
67.5k
        dst += stride;
710
67.5k
    }
711
4.22k
}
vp9dsp_8bpp.c:dc_127_16x16_c
Line
Count
Source
698
8.43k
{
699
8.43k
    pixel *dst = (pixel *) _dst;
700
8.43k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
701
8.43k
    int y;
702
703
8.43k
    stride /= sizeof(pixel);
704
143k
    for (y = 0; y < 16; y++) {
705
134k
        AV_WN4PA(dst +  0, val);
706
134k
        AV_WN4PA(dst +  4, val);
707
134k
        AV_WN4PA(dst +  8, val);
708
134k
        AV_WN4PA(dst + 12, val);
709
134k
        dst += stride;
710
134k
    }
711
8.43k
}
712
713
static void dc_127_32x32_c(uint8_t *_dst, ptrdiff_t stride,
714
                           const uint8_t *left, const uint8_t *top)
715
23.4k
{
716
23.4k
    pixel *dst = (pixel *) _dst;
717
23.4k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
718
23.4k
    int y;
719
720
23.4k
    stride /= sizeof(pixel);
721
774k
    for (y = 0; y < 32; y++) {
722
750k
        AV_WN4PA(dst +  0, val);
723
750k
        AV_WN4PA(dst +  4, val);
724
750k
        AV_WN4PA(dst +  8, val);
725
750k
        AV_WN4PA(dst + 12, val);
726
750k
        AV_WN4PA(dst + 16, val);
727
750k
        AV_WN4PA(dst + 20, val);
728
750k
        AV_WN4PA(dst + 24, val);
729
750k
        AV_WN4PA(dst + 28, val);
730
750k
        dst += stride;
731
750k
    }
732
23.4k
}
vp9dsp_10bpp.c:dc_127_32x32_c
Line
Count
Source
715
3.51k
{
716
3.51k
    pixel *dst = (pixel *) _dst;
717
3.51k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
718
3.51k
    int y;
719
720
3.51k
    stride /= sizeof(pixel);
721
116k
    for (y = 0; y < 32; y++) {
722
112k
        AV_WN4PA(dst +  0, val);
723
112k
        AV_WN4PA(dst +  4, val);
724
112k
        AV_WN4PA(dst +  8, val);
725
112k
        AV_WN4PA(dst + 12, val);
726
112k
        AV_WN4PA(dst + 16, val);
727
112k
        AV_WN4PA(dst + 20, val);
728
112k
        AV_WN4PA(dst + 24, val);
729
112k
        AV_WN4PA(dst + 28, val);
730
112k
        dst += stride;
731
112k
    }
732
3.51k
}
vp9dsp_12bpp.c:dc_127_32x32_c
Line
Count
Source
715
3.17k
{
716
3.17k
    pixel *dst = (pixel *) _dst;
717
3.17k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
718
3.17k
    int y;
719
720
3.17k
    stride /= sizeof(pixel);
721
104k
    for (y = 0; y < 32; y++) {
722
101k
        AV_WN4PA(dst +  0, val);
723
101k
        AV_WN4PA(dst +  4, val);
724
101k
        AV_WN4PA(dst +  8, val);
725
101k
        AV_WN4PA(dst + 12, val);
726
101k
        AV_WN4PA(dst + 16, val);
727
101k
        AV_WN4PA(dst + 20, val);
728
101k
        AV_WN4PA(dst + 24, val);
729
101k
        AV_WN4PA(dst + 28, val);
730
101k
        dst += stride;
731
101k
    }
732
3.17k
}
vp9dsp_8bpp.c:dc_127_32x32_c
Line
Count
Source
715
16.7k
{
716
16.7k
    pixel *dst = (pixel *) _dst;
717
16.7k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) - 1);
718
16.7k
    int y;
719
720
16.7k
    stride /= sizeof(pixel);
721
553k
    for (y = 0; y < 32; y++) {
722
536k
        AV_WN4PA(dst +  0, val);
723
536k
        AV_WN4PA(dst +  4, val);
724
536k
        AV_WN4PA(dst +  8, val);
725
536k
        AV_WN4PA(dst + 12, val);
726
536k
        AV_WN4PA(dst + 16, val);
727
536k
        AV_WN4PA(dst + 20, val);
728
536k
        AV_WN4PA(dst + 24, val);
729
536k
        AV_WN4PA(dst + 28, val);
730
536k
        dst += stride;
731
536k
    }
732
16.7k
}
733
734
static void dc_129_4x4_c(uint8_t *_dst, ptrdiff_t stride,
735
                         const uint8_t *left, const uint8_t *top)
736
1.40M
{
737
1.40M
    pixel *dst = (pixel *) _dst;
738
1.40M
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
739
740
1.40M
    stride /= sizeof(pixel);
741
1.40M
    AV_WN4PA(dst + stride * 0, val);
742
1.40M
    AV_WN4PA(dst + stride * 1, val);
743
1.40M
    AV_WN4PA(dst + stride * 2, val);
744
1.40M
    AV_WN4PA(dst + stride * 3, val);
745
1.40M
}
vp9dsp_10bpp.c:dc_129_4x4_c
Line
Count
Source
736
291k
{
737
291k
    pixel *dst = (pixel *) _dst;
738
291k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
739
740
291k
    stride /= sizeof(pixel);
741
291k
    AV_WN4PA(dst + stride * 0, val);
742
291k
    AV_WN4PA(dst + stride * 1, val);
743
291k
    AV_WN4PA(dst + stride * 2, val);
744
291k
    AV_WN4PA(dst + stride * 3, val);
745
291k
}
vp9dsp_12bpp.c:dc_129_4x4_c
Line
Count
Source
736
830k
{
737
830k
    pixel *dst = (pixel *) _dst;
738
830k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
739
740
830k
    stride /= sizeof(pixel);
741
830k
    AV_WN4PA(dst + stride * 0, val);
742
830k
    AV_WN4PA(dst + stride * 1, val);
743
830k
    AV_WN4PA(dst + stride * 2, val);
744
830k
    AV_WN4PA(dst + stride * 3, val);
745
830k
}
vp9dsp_8bpp.c:dc_129_4x4_c
Line
Count
Source
736
281k
{
737
281k
    pixel *dst = (pixel *) _dst;
738
281k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
739
740
281k
    stride /= sizeof(pixel);
741
281k
    AV_WN4PA(dst + stride * 0, val);
742
281k
    AV_WN4PA(dst + stride * 1, val);
743
281k
    AV_WN4PA(dst + stride * 2, val);
744
281k
    AV_WN4PA(dst + stride * 3, val);
745
281k
}
746
747
static void dc_129_8x8_c(uint8_t *_dst, ptrdiff_t stride,
748
                         const uint8_t *left, const uint8_t *top)
749
221k
{
750
221k
    pixel *dst = (pixel *) _dst;
751
221k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
752
221k
    int y;
753
754
221k
    stride /= sizeof(pixel);
755
1.99M
    for (y = 0; y < 8; y++) {
756
1.77M
        AV_WN4PA(dst + 0, val);
757
1.77M
        AV_WN4PA(dst + 4, val);
758
1.77M
        dst += stride;
759
1.77M
    }
760
221k
}
vp9dsp_10bpp.c:dc_129_8x8_c
Line
Count
Source
749
96.7k
{
750
96.7k
    pixel *dst = (pixel *) _dst;
751
96.7k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
752
96.7k
    int y;
753
754
96.7k
    stride /= sizeof(pixel);
755
870k
    for (y = 0; y < 8; y++) {
756
774k
        AV_WN4PA(dst + 0, val);
757
774k
        AV_WN4PA(dst + 4, val);
758
774k
        dst += stride;
759
774k
    }
760
96.7k
}
vp9dsp_12bpp.c:dc_129_8x8_c
Line
Count
Source
749
80.4k
{
750
80.4k
    pixel *dst = (pixel *) _dst;
751
80.4k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
752
80.4k
    int y;
753
754
80.4k
    stride /= sizeof(pixel);
755
723k
    for (y = 0; y < 8; y++) {
756
643k
        AV_WN4PA(dst + 0, val);
757
643k
        AV_WN4PA(dst + 4, val);
758
643k
        dst += stride;
759
643k
    }
760
80.4k
}
vp9dsp_8bpp.c:dc_129_8x8_c
Line
Count
Source
749
44.5k
{
750
44.5k
    pixel *dst = (pixel *) _dst;
751
44.5k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
752
44.5k
    int y;
753
754
44.5k
    stride /= sizeof(pixel);
755
401k
    for (y = 0; y < 8; y++) {
756
356k
        AV_WN4PA(dst + 0, val);
757
356k
        AV_WN4PA(dst + 4, val);
758
356k
        dst += stride;
759
356k
    }
760
44.5k
}
761
762
static void dc_129_16x16_c(uint8_t *_dst, ptrdiff_t stride,
763
                           const uint8_t *left, const uint8_t *top)
764
89.4k
{
765
89.4k
    pixel *dst = (pixel *) _dst;
766
89.4k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
767
89.4k
    int y;
768
769
89.4k
    stride /= sizeof(pixel);
770
1.52M
    for (y = 0; y < 16; y++) {
771
1.43M
        AV_WN4PA(dst +  0, val);
772
1.43M
        AV_WN4PA(dst +  4, val);
773
1.43M
        AV_WN4PA(dst +  8, val);
774
1.43M
        AV_WN4PA(dst + 12, val);
775
1.43M
        dst += stride;
776
1.43M
    }
777
89.4k
}
vp9dsp_10bpp.c:dc_129_16x16_c
Line
Count
Source
764
26.2k
{
765
26.2k
    pixel *dst = (pixel *) _dst;
766
26.2k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
767
26.2k
    int y;
768
769
26.2k
    stride /= sizeof(pixel);
770
446k
    for (y = 0; y < 16; y++) {
771
420k
        AV_WN4PA(dst +  0, val);
772
420k
        AV_WN4PA(dst +  4, val);
773
420k
        AV_WN4PA(dst +  8, val);
774
420k
        AV_WN4PA(dst + 12, val);
775
420k
        dst += stride;
776
420k
    }
777
26.2k
}
vp9dsp_12bpp.c:dc_129_16x16_c
Line
Count
Source
764
33.9k
{
765
33.9k
    pixel *dst = (pixel *) _dst;
766
33.9k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
767
33.9k
    int y;
768
769
33.9k
    stride /= sizeof(pixel);
770
577k
    for (y = 0; y < 16; y++) {
771
543k
        AV_WN4PA(dst +  0, val);
772
543k
        AV_WN4PA(dst +  4, val);
773
543k
        AV_WN4PA(dst +  8, val);
774
543k
        AV_WN4PA(dst + 12, val);
775
543k
        dst += stride;
776
543k
    }
777
33.9k
}
vp9dsp_8bpp.c:dc_129_16x16_c
Line
Count
Source
764
29.1k
{
765
29.1k
    pixel *dst = (pixel *) _dst;
766
29.1k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
767
29.1k
    int y;
768
769
29.1k
    stride /= sizeof(pixel);
770
496k
    for (y = 0; y < 16; y++) {
771
466k
        AV_WN4PA(dst +  0, val);
772
466k
        AV_WN4PA(dst +  4, val);
773
466k
        AV_WN4PA(dst +  8, val);
774
466k
        AV_WN4PA(dst + 12, val);
775
466k
        dst += stride;
776
466k
    }
777
29.1k
}
778
779
static void dc_129_32x32_c(uint8_t *_dst, ptrdiff_t stride,
780
                           const uint8_t *left, const uint8_t *top)
781
61.1k
{
782
61.1k
    pixel *dst = (pixel *) _dst;
783
61.1k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
784
61.1k
    int y;
785
786
61.1k
    stride /= sizeof(pixel);
787
2.01M
    for (y = 0; y < 32; y++) {
788
1.95M
        AV_WN4PA(dst +  0, val);
789
1.95M
        AV_WN4PA(dst +  4, val);
790
1.95M
        AV_WN4PA(dst +  8, val);
791
1.95M
        AV_WN4PA(dst + 12, val);
792
1.95M
        AV_WN4PA(dst + 16, val);
793
1.95M
        AV_WN4PA(dst + 20, val);
794
1.95M
        AV_WN4PA(dst + 24, val);
795
1.95M
        AV_WN4PA(dst + 28, val);
796
1.95M
        dst += stride;
797
1.95M
    }
798
61.1k
}
vp9dsp_10bpp.c:dc_129_32x32_c
Line
Count
Source
781
29.9k
{
782
29.9k
    pixel *dst = (pixel *) _dst;
783
29.9k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
784
29.9k
    int y;
785
786
29.9k
    stride /= sizeof(pixel);
787
988k
    for (y = 0; y < 32; y++) {
788
958k
        AV_WN4PA(dst +  0, val);
789
958k
        AV_WN4PA(dst +  4, val);
790
958k
        AV_WN4PA(dst +  8, val);
791
958k
        AV_WN4PA(dst + 12, val);
792
958k
        AV_WN4PA(dst + 16, val);
793
958k
        AV_WN4PA(dst + 20, val);
794
958k
        AV_WN4PA(dst + 24, val);
795
958k
        AV_WN4PA(dst + 28, val);
796
958k
        dst += stride;
797
958k
    }
798
29.9k
}
vp9dsp_12bpp.c:dc_129_32x32_c
Line
Count
Source
781
22.2k
{
782
22.2k
    pixel *dst = (pixel *) _dst;
783
22.2k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
784
22.2k
    int y;
785
786
22.2k
    stride /= sizeof(pixel);
787
735k
    for (y = 0; y < 32; y++) {
788
712k
        AV_WN4PA(dst +  0, val);
789
712k
        AV_WN4PA(dst +  4, val);
790
712k
        AV_WN4PA(dst +  8, val);
791
712k
        AV_WN4PA(dst + 12, val);
792
712k
        AV_WN4PA(dst + 16, val);
793
712k
        AV_WN4PA(dst + 20, val);
794
712k
        AV_WN4PA(dst + 24, val);
795
712k
        AV_WN4PA(dst + 28, val);
796
712k
        dst += stride;
797
712k
    }
798
22.2k
}
vp9dsp_8bpp.c:dc_129_32x32_c
Line
Count
Source
781
8.91k
{
782
8.91k
    pixel *dst = (pixel *) _dst;
783
8.91k
    pixel4 val = PIXEL_SPLAT_X4((128 << (BIT_DEPTH - 8)) + 1);
784
8.91k
    int y;
785
786
8.91k
    stride /= sizeof(pixel);
787
294k
    for (y = 0; y < 32; y++) {
788
285k
        AV_WN4PA(dst +  0, val);
789
285k
        AV_WN4PA(dst +  4, val);
790
285k
        AV_WN4PA(dst +  8, val);
791
285k
        AV_WN4PA(dst + 12, val);
792
285k
        AV_WN4PA(dst + 16, val);
793
285k
        AV_WN4PA(dst + 20, val);
794
285k
        AV_WN4PA(dst + 24, val);
795
285k
        AV_WN4PA(dst + 28, val);
796
285k
        dst += stride;
797
285k
    }
798
8.91k
}
799
800
#if BIT_DEPTH != 12
801
802
#if BIT_DEPTH == 8
803
3.78M
#define memset_bpc memset
804
#else
805
7.41M
static inline void memset_bpc(uint16_t *dst, int val, int len) {
806
7.41M
    int n;
807
62.6M
    for (n = 0; n < len; n++) {
808
55.2M
        dst[n] = val;
809
55.2M
    }
810
7.41M
}
811
#endif
812
813
281M
#define DST(x, y) dst[(x) + (y) * stride]
814
815
static void diag_downleft_4x4_c(uint8_t *_dst, ptrdiff_t stride,
816
                                const uint8_t *left, const uint8_t *_top)
817
1.75M
{
818
1.75M
    pixel *dst = (pixel *) _dst;
819
1.75M
    const pixel *top = (const pixel *) _top;
820
1.75M
    int a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
821
1.75M
        a4 = top[4], a5 = top[5], a6 = top[6], a7 = top[7];
822
823
1.75M
    stride /= sizeof(pixel);
824
1.75M
    DST(0,0) = (a0 + a1 * 2 + a2 + 2) >> 2;
825
1.75M
    DST(1,0) = DST(0,1) = (a1 + a2 * 2 + a3 + 2) >> 2;
826
1.75M
    DST(2,0) = DST(1,1) = DST(0,2) = (a2 + a3 * 2 + a4 + 2) >> 2;
827
1.75M
    DST(3,0) = DST(2,1) = DST(1,2) = DST(0,3) = (a3 + a4 * 2 + a5 + 2) >> 2;
828
1.75M
    DST(3,1) = DST(2,2) = DST(1,3) = (a4 + a5 * 2 + a6 + 2) >> 2;
829
1.75M
    DST(3,2) = DST(2,3) = (a5 + a6 * 2 + a7 + 2) >> 2;
830
1.75M
    DST(3,3) = a7;  // note: this is different from vp8 and such
831
1.75M
}
vp9dsp_10bpp.c:diag_downleft_4x4_c
Line
Count
Source
817
1.27M
{
818
1.27M
    pixel *dst = (pixel *) _dst;
819
1.27M
    const pixel *top = (const pixel *) _top;
820
1.27M
    int a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
821
1.27M
        a4 = top[4], a5 = top[5], a6 = top[6], a7 = top[7];
822
823
1.27M
    stride /= sizeof(pixel);
824
1.27M
    DST(0,0) = (a0 + a1 * 2 + a2 + 2) >> 2;
825
1.27M
    DST(1,0) = DST(0,1) = (a1 + a2 * 2 + a3 + 2) >> 2;
826
1.27M
    DST(2,0) = DST(1,1) = DST(0,2) = (a2 + a3 * 2 + a4 + 2) >> 2;
827
1.27M
    DST(3,0) = DST(2,1) = DST(1,2) = DST(0,3) = (a3 + a4 * 2 + a5 + 2) >> 2;
828
1.27M
    DST(3,1) = DST(2,2) = DST(1,3) = (a4 + a5 * 2 + a6 + 2) >> 2;
829
1.27M
    DST(3,2) = DST(2,3) = (a5 + a6 * 2 + a7 + 2) >> 2;
830
1.27M
    DST(3,3) = a7;  // note: this is different from vp8 and such
831
1.27M
}
vp9dsp_8bpp.c:diag_downleft_4x4_c
Line
Count
Source
817
474k
{
818
474k
    pixel *dst = (pixel *) _dst;
819
474k
    const pixel *top = (const pixel *) _top;
820
474k
    int a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
821
474k
        a4 = top[4], a5 = top[5], a6 = top[6], a7 = top[7];
822
823
474k
    stride /= sizeof(pixel);
824
474k
    DST(0,0) = (a0 + a1 * 2 + a2 + 2) >> 2;
825
474k
    DST(1,0) = DST(0,1) = (a1 + a2 * 2 + a3 + 2) >> 2;
826
474k
    DST(2,0) = DST(1,1) = DST(0,2) = (a2 + a3 * 2 + a4 + 2) >> 2;
827
474k
    DST(3,0) = DST(2,1) = DST(1,2) = DST(0,3) = (a3 + a4 * 2 + a5 + 2) >> 2;
828
474k
    DST(3,1) = DST(2,2) = DST(1,3) = (a4 + a5 * 2 + a6 + 2) >> 2;
829
474k
    DST(3,2) = DST(2,3) = (a5 + a6 * 2 + a7 + 2) >> 2;
830
474k
    DST(3,3) = a7;  // note: this is different from vp8 and such
831
474k
}
832
833
#define def_diag_downleft(size) \
834
static void diag_downleft_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
835
302k
                                              const uint8_t *left, const uint8_t *_top) \
836
302k
{ \
837
302k
    pixel *dst = (pixel *) _dst; \
838
302k
    const pixel *top = (const pixel *) _top; \
839
302k
    int i, j; \
840
302k
    pixel v[size - 1]; \
841
302k
\
842
302k
    stride /= sizeof(pixel); \
843
3.54M
    for (i = 0; i < size - 2; i++) \
844
3.23M
        v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
845
302k
    v[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
846
302k
\
847
4.14M
    for (j = 0; j < size; j++) { \
848
3.84M
        memcpy(dst + j*stride, v + j, (size - 1 - j) * sizeof(pixel)); \
849
3.84M
        memset_bpc(dst + j*stride + size - 1 - j, top[size - 1], j + 1); \
850
3.84M
    } \
851
302k
}
vp9dsp_10bpp.c:diag_downleft_8x8_c
Line
Count
Source
835
142k
                                              const uint8_t *left, const uint8_t *_top) \
836
142k
{ \
837
142k
    pixel *dst = (pixel *) _dst; \
838
142k
    const pixel *top = (const pixel *) _top; \
839
142k
    int i, j; \
840
142k
    pixel v[size - 1]; \
841
142k
\
842
142k
    stride /= sizeof(pixel); \
843
1.00M
    for (i = 0; i < size - 2; i++) \
844
857k
        v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
845
142k
    v[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
846
142k
\
847
1.28M
    for (j = 0; j < size; j++) { \
848
1.14M
        memcpy(dst + j*stride, v + j, (size - 1 - j) * sizeof(pixel)); \
849
1.14M
        memset_bpc(dst + j*stride + size - 1 - j, top[size - 1], j + 1); \
850
1.14M
    } \
851
142k
}
vp9dsp_10bpp.c:diag_downleft_16x16_c
Line
Count
Source
835
45.6k
                                              const uint8_t *left, const uint8_t *_top) \
836
45.6k
{ \
837
45.6k
    pixel *dst = (pixel *) _dst; \
838
45.6k
    const pixel *top = (const pixel *) _top; \
839
45.6k
    int i, j; \
840
45.6k
    pixel v[size - 1]; \
841
45.6k
\
842
45.6k
    stride /= sizeof(pixel); \
843
684k
    for (i = 0; i < size - 2; i++) \
844
638k
        v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
845
45.6k
    v[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
846
45.6k
\
847
775k
    for (j = 0; j < size; j++) { \
848
729k
        memcpy(dst + j*stride, v + j, (size - 1 - j) * sizeof(pixel)); \
849
729k
        memset_bpc(dst + j*stride + size - 1 - j, top[size - 1], j + 1); \
850
729k
    } \
851
45.6k
}
vp9dsp_10bpp.c:diag_downleft_32x32_c
Line
Count
Source
835
24.0k
                                              const uint8_t *left, const uint8_t *_top) \
836
24.0k
{ \
837
24.0k
    pixel *dst = (pixel *) _dst; \
838
24.0k
    const pixel *top = (const pixel *) _top; \
839
24.0k
    int i, j; \
840
24.0k
    pixel v[size - 1]; \
841
24.0k
\
842
24.0k
    stride /= sizeof(pixel); \
843
745k
    for (i = 0; i < size - 2; i++) \
844
721k
        v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
845
24.0k
    v[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
846
24.0k
\
847
793k
    for (j = 0; j < size; j++) { \
848
769k
        memcpy(dst + j*stride, v + j, (size - 1 - j) * sizeof(pixel)); \
849
769k
        memset_bpc(dst + j*stride + size - 1 - j, top[size - 1], j + 1); \
850
769k
    } \
851
24.0k
}
vp9dsp_8bpp.c:diag_downleft_8x8_c
Line
Count
Source
835
53.0k
                                              const uint8_t *left, const uint8_t *_top) \
836
53.0k
{ \
837
53.0k
    pixel *dst = (pixel *) _dst; \
838
53.0k
    const pixel *top = (const pixel *) _top; \
839
53.0k
    int i, j; \
840
53.0k
    pixel v[size - 1]; \
841
53.0k
\
842
53.0k
    stride /= sizeof(pixel); \
843
371k
    for (i = 0; i < size - 2; i++) \
844
318k
        v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
845
53.0k
    v[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
846
53.0k
\
847
477k
    for (j = 0; j < size; j++) { \
848
424k
        memcpy(dst + j*stride, v + j, (size - 1 - j) * sizeof(pixel)); \
849
424k
        memset_bpc(dst + j*stride + size - 1 - j, top[size - 1], j + 1); \
850
424k
    } \
851
53.0k
}
vp9dsp_8bpp.c:diag_downleft_16x16_c
Line
Count
Source
835
25.8k
                                              const uint8_t *left, const uint8_t *_top) \
836
25.8k
{ \
837
25.8k
    pixel *dst = (pixel *) _dst; \
838
25.8k
    const pixel *top = (const pixel *) _top; \
839
25.8k
    int i, j; \
840
25.8k
    pixel v[size - 1]; \
841
25.8k
\
842
25.8k
    stride /= sizeof(pixel); \
843
387k
    for (i = 0; i < size - 2; i++) \
844
361k
        v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
845
25.8k
    v[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
846
25.8k
\
847
439k
    for (j = 0; j < size; j++) { \
848
413k
        memcpy(dst + j*stride, v + j, (size - 1 - j) * sizeof(pixel)); \
849
413k
        memset_bpc(dst + j*stride + size - 1 - j, top[size - 1], j + 1); \
850
413k
    } \
851
25.8k
}
vp9dsp_8bpp.c:diag_downleft_32x32_c
Line
Count
Source
835
11.4k
                                              const uint8_t *left, const uint8_t *_top) \
836
11.4k
{ \
837
11.4k
    pixel *dst = (pixel *) _dst; \
838
11.4k
    const pixel *top = (const pixel *) _top; \
839
11.4k
    int i, j; \
840
11.4k
    pixel v[size - 1]; \
841
11.4k
\
842
11.4k
    stride /= sizeof(pixel); \
843
353k
    for (i = 0; i < size - 2; i++) \
844
342k
        v[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
845
11.4k
    v[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
846
11.4k
\
847
376k
    for (j = 0; j < size; j++) { \
848
364k
        memcpy(dst + j*stride, v + j, (size - 1 - j) * sizeof(pixel)); \
849
364k
        memset_bpc(dst + j*stride + size - 1 - j, top[size - 1], j + 1); \
850
364k
    } \
851
11.4k
}
852
853
def_diag_downleft(8)
854
def_diag_downleft(16)
855
def_diag_downleft(32)
856
857
static void diag_downright_4x4_c(uint8_t *_dst, ptrdiff_t stride,
858
                                 const uint8_t *_left, const uint8_t *_top)
859
3.17M
{
860
3.17M
    pixel *dst = (pixel *) _dst;
861
3.17M
    const pixel *top = (const pixel *) _top;
862
3.17M
    const pixel *left = (const pixel *) _left;
863
3.17M
    int tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
864
3.17M
        l0 = left[3], l1 = left[2], l2 = left[1], l3 = left[0];
865
866
3.17M
    stride /= sizeof(pixel);
867
3.17M
    DST(0,3) = (l1 + l2 * 2 + l3 + 2) >> 2;
868
3.17M
    DST(0,2) = DST(1,3) = (l0 + l1 * 2 + l2 + 2) >> 2;
869
3.17M
    DST(0,1) = DST(1,2) = DST(2,3) = (tl + l0 * 2 + l1 + 2) >> 2;
870
3.17M
    DST(0,0) = DST(1,1) = DST(2,2) = DST(3,3) = (l0 + tl * 2 + a0 + 2) >> 2;
871
3.17M
    DST(1,0) = DST(2,1) = DST(3,2) = (tl + a0 * 2 + a1 + 2) >> 2;
872
3.17M
    DST(2,0) = DST(3,1) = (a0 + a1 * 2 + a2 + 2) >> 2;
873
3.17M
    DST(3,0) = (a1 + a2 * 2 + a3 + 2) >> 2;
874
3.17M
}
vp9dsp_10bpp.c:diag_downright_4x4_c
Line
Count
Source
859
2.33M
{
860
2.33M
    pixel *dst = (pixel *) _dst;
861
2.33M
    const pixel *top = (const pixel *) _top;
862
2.33M
    const pixel *left = (const pixel *) _left;
863
2.33M
    int tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
864
2.33M
        l0 = left[3], l1 = left[2], l2 = left[1], l3 = left[0];
865
866
2.33M
    stride /= sizeof(pixel);
867
2.33M
    DST(0,3) = (l1 + l2 * 2 + l3 + 2) >> 2;
868
2.33M
    DST(0,2) = DST(1,3) = (l0 + l1 * 2 + l2 + 2) >> 2;
869
2.33M
    DST(0,1) = DST(1,2) = DST(2,3) = (tl + l0 * 2 + l1 + 2) >> 2;
870
2.33M
    DST(0,0) = DST(1,1) = DST(2,2) = DST(3,3) = (l0 + tl * 2 + a0 + 2) >> 2;
871
2.33M
    DST(1,0) = DST(2,1) = DST(3,2) = (tl + a0 * 2 + a1 + 2) >> 2;
872
2.33M
    DST(2,0) = DST(3,1) = (a0 + a1 * 2 + a2 + 2) >> 2;
873
2.33M
    DST(3,0) = (a1 + a2 * 2 + a3 + 2) >> 2;
874
2.33M
}
vp9dsp_8bpp.c:diag_downright_4x4_c
Line
Count
Source
859
835k
{
860
835k
    pixel *dst = (pixel *) _dst;
861
835k
    const pixel *top = (const pixel *) _top;
862
835k
    const pixel *left = (const pixel *) _left;
863
835k
    int tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
864
835k
        l0 = left[3], l1 = left[2], l2 = left[1], l3 = left[0];
865
866
835k
    stride /= sizeof(pixel);
867
835k
    DST(0,3) = (l1 + l2 * 2 + l3 + 2) >> 2;
868
835k
    DST(0,2) = DST(1,3) = (l0 + l1 * 2 + l2 + 2) >> 2;
869
835k
    DST(0,1) = DST(1,2) = DST(2,3) = (tl + l0 * 2 + l1 + 2) >> 2;
870
835k
    DST(0,0) = DST(1,1) = DST(2,2) = DST(3,3) = (l0 + tl * 2 + a0 + 2) >> 2;
871
835k
    DST(1,0) = DST(2,1) = DST(3,2) = (tl + a0 * 2 + a1 + 2) >> 2;
872
835k
    DST(2,0) = DST(3,1) = (a0 + a1 * 2 + a2 + 2) >> 2;
873
835k
    DST(3,0) = (a1 + a2 * 2 + a3 + 2) >> 2;
874
835k
}
875
876
#define def_diag_downright(size) \
877
static void diag_downright_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
878
537k
                                               const uint8_t *_left, const uint8_t *_top) \
879
537k
{ \
880
537k
    pixel *dst = (pixel *) _dst; \
881
537k
    const pixel *top = (const pixel *) _top; \
882
537k
    const pixel *left = (const pixel *) _left; \
883
537k
    int i, j; \
884
537k
    pixel v[size + size - 1]; \
885
537k
\
886
537k
    stride /= sizeof(pixel); \
887
6.24M
    for (i = 0; i < size - 2; i++) { \
888
5.70M
        v[i           ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
889
5.70M
        v[size + 1 + i] = (top[i]  + top[i + 1]  * 2 + top[i + 2]  + 2) >> 2; \
890
5.70M
    } \
891
537k
    v[size - 2] = (left[size - 2] + left[size - 1] * 2 + top[-1] + 2) >> 2; \
892
537k
    v[size - 1] = (left[size - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; \
893
537k
    v[size    ] = (top[-1] + top[0]  * 2 + top[ 1] + 2) >> 2; \
894
537k
\
895
7.31M
    for (j = 0; j < size; j++) \
896
6.78M
        memcpy(dst + j*stride, v + size - 1 - j, size * sizeof(pixel)); \
897
537k
}
vp9dsp_10bpp.c:diag_downright_8x8_c
Line
Count
Source
878
242k
                                               const uint8_t *_left, const uint8_t *_top) \
879
242k
{ \
880
242k
    pixel *dst = (pixel *) _dst; \
881
242k
    const pixel *top = (const pixel *) _top; \
882
242k
    const pixel *left = (const pixel *) _left; \
883
242k
    int i, j; \
884
242k
    pixel v[size + size - 1]; \
885
242k
\
886
242k
    stride /= sizeof(pixel); \
887
1.69M
    for (i = 0; i < size - 2; i++) { \
888
1.45M
        v[i           ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
889
1.45M
        v[size + 1 + i] = (top[i]  + top[i + 1]  * 2 + top[i + 2]  + 2) >> 2; \
890
1.45M
    } \
891
242k
    v[size - 2] = (left[size - 2] + left[size - 1] * 2 + top[-1] + 2) >> 2; \
892
242k
    v[size - 1] = (left[size - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; \
893
242k
    v[size    ] = (top[-1] + top[0]  * 2 + top[ 1] + 2) >> 2; \
894
242k
\
895
2.18M
    for (j = 0; j < size; j++) \
896
1.93M
        memcpy(dst + j*stride, v + size - 1 - j, size * sizeof(pixel)); \
897
242k
}
vp9dsp_10bpp.c:diag_downright_16x16_c
Line
Count
Source
878
79.0k
                                               const uint8_t *_left, const uint8_t *_top) \
879
79.0k
{ \
880
79.0k
    pixel *dst = (pixel *) _dst; \
881
79.0k
    const pixel *top = (const pixel *) _top; \
882
79.0k
    const pixel *left = (const pixel *) _left; \
883
79.0k
    int i, j; \
884
79.0k
    pixel v[size + size - 1]; \
885
79.0k
\
886
79.0k
    stride /= sizeof(pixel); \
887
1.18M
    for (i = 0; i < size - 2; i++) { \
888
1.10M
        v[i           ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
889
1.10M
        v[size + 1 + i] = (top[i]  + top[i + 1]  * 2 + top[i + 2]  + 2) >> 2; \
890
1.10M
    } \
891
79.0k
    v[size - 2] = (left[size - 2] + left[size - 1] * 2 + top[-1] + 2) >> 2; \
892
79.0k
    v[size - 1] = (left[size - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; \
893
79.0k
    v[size    ] = (top[-1] + top[0]  * 2 + top[ 1] + 2) >> 2; \
894
79.0k
\
895
1.34M
    for (j = 0; j < size; j++) \
896
1.26M
        memcpy(dst + j*stride, v + size - 1 - j, size * sizeof(pixel)); \
897
79.0k
}
vp9dsp_10bpp.c:diag_downright_32x32_c
Line
Count
Source
878
42.0k
                                               const uint8_t *_left, const uint8_t *_top) \
879
42.0k
{ \
880
42.0k
    pixel *dst = (pixel *) _dst; \
881
42.0k
    const pixel *top = (const pixel *) _top; \
882
42.0k
    const pixel *left = (const pixel *) _left; \
883
42.0k
    int i, j; \
884
42.0k
    pixel v[size + size - 1]; \
885
42.0k
\
886
42.0k
    stride /= sizeof(pixel); \
887
1.30M
    for (i = 0; i < size - 2; i++) { \
888
1.26M
        v[i           ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
889
1.26M
        v[size + 1 + i] = (top[i]  + top[i + 1]  * 2 + top[i + 2]  + 2) >> 2; \
890
1.26M
    } \
891
42.0k
    v[size - 2] = (left[size - 2] + left[size - 1] * 2 + top[-1] + 2) >> 2; \
892
42.0k
    v[size - 1] = (left[size - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; \
893
42.0k
    v[size    ] = (top[-1] + top[0]  * 2 + top[ 1] + 2) >> 2; \
894
42.0k
\
895
1.38M
    for (j = 0; j < size; j++) \
896
1.34M
        memcpy(dst + j*stride, v + size - 1 - j, size * sizeof(pixel)); \
897
42.0k
}
vp9dsp_8bpp.c:diag_downright_8x8_c
Line
Count
Source
878
111k
                                               const uint8_t *_left, const uint8_t *_top) \
879
111k
{ \
880
111k
    pixel *dst = (pixel *) _dst; \
881
111k
    const pixel *top = (const pixel *) _top; \
882
111k
    const pixel *left = (const pixel *) _left; \
883
111k
    int i, j; \
884
111k
    pixel v[size + size - 1]; \
885
111k
\
886
111k
    stride /= sizeof(pixel); \
887
779k
    for (i = 0; i < size - 2; i++) { \
888
668k
        v[i           ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
889
668k
        v[size + 1 + i] = (top[i]  + top[i + 1]  * 2 + top[i + 2]  + 2) >> 2; \
890
668k
    } \
891
111k
    v[size - 2] = (left[size - 2] + left[size - 1] * 2 + top[-1] + 2) >> 2; \
892
111k
    v[size - 1] = (left[size - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; \
893
111k
    v[size    ] = (top[-1] + top[0]  * 2 + top[ 1] + 2) >> 2; \
894
111k
\
895
1.00M
    for (j = 0; j < size; j++) \
896
890k
        memcpy(dst + j*stride, v + size - 1 - j, size * sizeof(pixel)); \
897
111k
}
vp9dsp_8bpp.c:diag_downright_16x16_c
Line
Count
Source
878
41.8k
                                               const uint8_t *_left, const uint8_t *_top) \
879
41.8k
{ \
880
41.8k
    pixel *dst = (pixel *) _dst; \
881
41.8k
    const pixel *top = (const pixel *) _top; \
882
41.8k
    const pixel *left = (const pixel *) _left; \
883
41.8k
    int i, j; \
884
41.8k
    pixel v[size + size - 1]; \
885
41.8k
\
886
41.8k
    stride /= sizeof(pixel); \
887
628k
    for (i = 0; i < size - 2; i++) { \
888
586k
        v[i           ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
889
586k
        v[size + 1 + i] = (top[i]  + top[i + 1]  * 2 + top[i + 2]  + 2) >> 2; \
890
586k
    } \
891
41.8k
    v[size - 2] = (left[size - 2] + left[size - 1] * 2 + top[-1] + 2) >> 2; \
892
41.8k
    v[size - 1] = (left[size - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; \
893
41.8k
    v[size    ] = (top[-1] + top[0]  * 2 + top[ 1] + 2) >> 2; \
894
41.8k
\
895
712k
    for (j = 0; j < size; j++) \
896
670k
        memcpy(dst + j*stride, v + size - 1 - j, size * sizeof(pixel)); \
897
41.8k
}
vp9dsp_8bpp.c:diag_downright_32x32_c
Line
Count
Source
878
20.9k
                                               const uint8_t *_left, const uint8_t *_top) \
879
20.9k
{ \
880
20.9k
    pixel *dst = (pixel *) _dst; \
881
20.9k
    const pixel *top = (const pixel *) _top; \
882
20.9k
    const pixel *left = (const pixel *) _left; \
883
20.9k
    int i, j; \
884
20.9k
    pixel v[size + size - 1]; \
885
20.9k
\
886
20.9k
    stride /= sizeof(pixel); \
887
649k
    for (i = 0; i < size - 2; i++) { \
888
628k
        v[i           ] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
889
628k
        v[size + 1 + i] = (top[i]  + top[i + 1]  * 2 + top[i + 2]  + 2) >> 2; \
890
628k
    } \
891
20.9k
    v[size - 2] = (left[size - 2] + left[size - 1] * 2 + top[-1] + 2) >> 2; \
892
20.9k
    v[size - 1] = (left[size - 1] + top[-1] * 2 + top[ 0] + 2) >> 2; \
893
20.9k
    v[size    ] = (top[-1] + top[0]  * 2 + top[ 1] + 2) >> 2; \
894
20.9k
\
895
691k
    for (j = 0; j < size; j++) \
896
670k
        memcpy(dst + j*stride, v + size - 1 - j, size * sizeof(pixel)); \
897
20.9k
}
898
899
def_diag_downright(8)
900
def_diag_downright(16)
901
def_diag_downright(32)
902
903
static void vert_right_4x4_c(uint8_t *_dst, ptrdiff_t stride,
904
                             const uint8_t *_left, const uint8_t *_top)
905
2.31M
{
906
2.31M
    pixel *dst = (pixel *) _dst;
907
2.31M
    const pixel *top = (const pixel *) _top;
908
2.31M
    const pixel *left = (const pixel *) _left;
909
2.31M
    int tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
910
2.31M
        l0 = left[3], l1 = left[2], l2 = left[1];
911
912
2.31M
    stride /= sizeof(pixel);
913
2.31M
    DST(0,3) = (l0 + l1 * 2 + l2 + 2) >> 2;
914
2.31M
    DST(0,2) = (tl + l0 * 2 + l1 + 2) >> 2;
915
2.31M
    DST(0,0) = DST(1,2) = (tl + a0 + 1) >> 1;
916
2.31M
    DST(0,1) = DST(1,3) = (l0 + tl * 2 + a0 + 2) >> 2;
917
2.31M
    DST(1,0) = DST(2,2) = (a0 + a1 + 1) >> 1;
918
2.31M
    DST(1,1) = DST(2,3) = (tl + a0 * 2 + a1 + 2) >> 2;
919
2.31M
    DST(2,0) = DST(3,2) = (a1 + a2 + 1) >> 1;
920
2.31M
    DST(2,1) = DST(3,3) = (a0 + a1 * 2 + a2 + 2) >> 2;
921
2.31M
    DST(3,0) = (a2 + a3 + 1) >> 1;
922
2.31M
    DST(3,1) = (a1 + a2 * 2 + a3 + 2) >> 2;
923
2.31M
}
vp9dsp_10bpp.c:vert_right_4x4_c
Line
Count
Source
905
1.73M
{
906
1.73M
    pixel *dst = (pixel *) _dst;
907
1.73M
    const pixel *top = (const pixel *) _top;
908
1.73M
    const pixel *left = (const pixel *) _left;
909
1.73M
    int tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
910
1.73M
        l0 = left[3], l1 = left[2], l2 = left[1];
911
912
1.73M
    stride /= sizeof(pixel);
913
1.73M
    DST(0,3) = (l0 + l1 * 2 + l2 + 2) >> 2;
914
1.73M
    DST(0,2) = (tl + l0 * 2 + l1 + 2) >> 2;
915
1.73M
    DST(0,0) = DST(1,2) = (tl + a0 + 1) >> 1;
916
1.73M
    DST(0,1) = DST(1,3) = (l0 + tl * 2 + a0 + 2) >> 2;
917
1.73M
    DST(1,0) = DST(2,2) = (a0 + a1 + 1) >> 1;
918
1.73M
    DST(1,1) = DST(2,3) = (tl + a0 * 2 + a1 + 2) >> 2;
919
1.73M
    DST(2,0) = DST(3,2) = (a1 + a2 + 1) >> 1;
920
1.73M
    DST(2,1) = DST(3,3) = (a0 + a1 * 2 + a2 + 2) >> 2;
921
1.73M
    DST(3,0) = (a2 + a3 + 1) >> 1;
922
1.73M
    DST(3,1) = (a1 + a2 * 2 + a3 + 2) >> 2;
923
1.73M
}
vp9dsp_8bpp.c:vert_right_4x4_c
Line
Count
Source
905
584k
{
906
584k
    pixel *dst = (pixel *) _dst;
907
584k
    const pixel *top = (const pixel *) _top;
908
584k
    const pixel *left = (const pixel *) _left;
909
584k
    int tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
910
584k
        l0 = left[3], l1 = left[2], l2 = left[1];
911
912
584k
    stride /= sizeof(pixel);
913
584k
    DST(0,3) = (l0 + l1 * 2 + l2 + 2) >> 2;
914
584k
    DST(0,2) = (tl + l0 * 2 + l1 + 2) >> 2;
915
584k
    DST(0,0) = DST(1,2) = (tl + a0 + 1) >> 1;
916
584k
    DST(0,1) = DST(1,3) = (l0 + tl * 2 + a0 + 2) >> 2;
917
584k
    DST(1,0) = DST(2,2) = (a0 + a1 + 1) >> 1;
918
584k
    DST(1,1) = DST(2,3) = (tl + a0 * 2 + a1 + 2) >> 2;
919
584k
    DST(2,0) = DST(3,2) = (a1 + a2 + 1) >> 1;
920
584k
    DST(2,1) = DST(3,3) = (a0 + a1 * 2 + a2 + 2) >> 2;
921
584k
    DST(3,0) = (a2 + a3 + 1) >> 1;
922
584k
    DST(3,1) = (a1 + a2 * 2 + a3 + 2) >> 2;
923
584k
}
924
925
#define def_vert_right(size) \
926
static void vert_right_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
927
385k
                                           const uint8_t *_left, const uint8_t *_top) \
928
385k
{ \
929
385k
    pixel *dst = (pixel *) _dst; \
930
385k
    const pixel *top = (const pixel *) _top; \
931
385k
    const pixel *left = (const pixel *) _left; \
932
385k
    int i, j; \
933
385k
    pixel ve[size + size/2 - 1], vo[size + size/2 - 1]; \
934
385k
\
935
385k
    stride /= sizeof(pixel); \
936
1.83M
    for (i = 0; i < size/2 - 2; i++) { \
937
1.45M
        vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; \
938
1.45M
        ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; \
939
1.45M
    } \
940
385k
    vo[size/2 - 2] = (left[size - 1] + left[size - 2] * 2 + left[size - 3] + 2) >> 2; \
941
385k
    ve[size/2 - 2] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
942
385k
\
943
385k
    ve[size/2 - 1] = (top[-1] + top[0] + 1) >> 1; \
944
385k
    vo[size/2 - 1] = (left[size - 1] + top[-1] * 2 + top[0] + 2) >> 2; \
945
4.44M
    for (i = 0; i < size - 1; i++) { \
946
4.05M
        ve[size/2 + i] = (top[i] + top[i + 1] + 1) >> 1; \
947
4.05M
        vo[size/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
948
4.05M
    } \
949
385k
\
950
2.60M
    for (j = 0; j < size / 2; j++) { \
951
2.22M
        memcpy(dst +  j*2     *stride, ve + size/2 - 1 - j, size * sizeof(pixel)); \
952
2.22M
        memcpy(dst + (j*2 + 1)*stride, vo + size/2 - 1 - j, size * sizeof(pixel)); \
953
2.22M
    } \
954
385k
}
vp9dsp_10bpp.c:vert_right_8x8_c
Line
Count
Source
927
223k
                                           const uint8_t *_left, const uint8_t *_top) \
928
223k
{ \
929
223k
    pixel *dst = (pixel *) _dst; \
930
223k
    const pixel *top = (const pixel *) _top; \
931
223k
    const pixel *left = (const pixel *) _left; \
932
223k
    int i, j; \
933
223k
    pixel ve[size + size/2 - 1], vo[size + size/2 - 1]; \
934
223k
\
935
223k
    stride /= sizeof(pixel); \
936
669k
    for (i = 0; i < size/2 - 2; i++) { \
937
446k
        vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; \
938
446k
        ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; \
939
446k
    } \
940
223k
    vo[size/2 - 2] = (left[size - 1] + left[size - 2] * 2 + left[size - 3] + 2) >> 2; \
941
223k
    ve[size/2 - 2] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
942
223k
\
943
223k
    ve[size/2 - 1] = (top[-1] + top[0] + 1) >> 1; \
944
223k
    vo[size/2 - 1] = (left[size - 1] + top[-1] * 2 + top[0] + 2) >> 2; \
945
1.78M
    for (i = 0; i < size - 1; i++) { \
946
1.56M
        ve[size/2 + i] = (top[i] + top[i + 1] + 1) >> 1; \
947
1.56M
        vo[size/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
948
1.56M
    } \
949
223k
\
950
1.11M
    for (j = 0; j < size / 2; j++) { \
951
893k
        memcpy(dst +  j*2     *stride, ve + size/2 - 1 - j, size * sizeof(pixel)); \
952
893k
        memcpy(dst + (j*2 + 1)*stride, vo + size/2 - 1 - j, size * sizeof(pixel)); \
953
893k
    } \
954
223k
}
vp9dsp_10bpp.c:vert_right_16x16_c
Line
Count
Source
927
44.7k
                                           const uint8_t *_left, const uint8_t *_top) \
928
44.7k
{ \
929
44.7k
    pixel *dst = (pixel *) _dst; \
930
44.7k
    const pixel *top = (const pixel *) _top; \
931
44.7k
    const pixel *left = (const pixel *) _left; \
932
44.7k
    int i, j; \
933
44.7k
    pixel ve[size + size/2 - 1], vo[size + size/2 - 1]; \
934
44.7k
\
935
44.7k
    stride /= sizeof(pixel); \
936
313k
    for (i = 0; i < size/2 - 2; i++) { \
937
268k
        vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; \
938
268k
        ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; \
939
268k
    } \
940
44.7k
    vo[size/2 - 2] = (left[size - 1] + left[size - 2] * 2 + left[size - 3] + 2) >> 2; \
941
44.7k
    ve[size/2 - 2] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
942
44.7k
\
943
44.7k
    ve[size/2 - 1] = (top[-1] + top[0] + 1) >> 1; \
944
44.7k
    vo[size/2 - 1] = (left[size - 1] + top[-1] * 2 + top[0] + 2) >> 2; \
945
716k
    for (i = 0; i < size - 1; i++) { \
946
671k
        ve[size/2 + i] = (top[i] + top[i + 1] + 1) >> 1; \
947
671k
        vo[size/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
948
671k
    } \
949
44.7k
\
950
402k
    for (j = 0; j < size / 2; j++) { \
951
358k
        memcpy(dst +  j*2     *stride, ve + size/2 - 1 - j, size * sizeof(pixel)); \
952
358k
        memcpy(dst + (j*2 + 1)*stride, vo + size/2 - 1 - j, size * sizeof(pixel)); \
953
358k
    } \
954
44.7k
}
vp9dsp_10bpp.c:vert_right_32x32_c
Line
Count
Source
927
22.8k
                                           const uint8_t *_left, const uint8_t *_top) \
928
22.8k
{ \
929
22.8k
    pixel *dst = (pixel *) _dst; \
930
22.8k
    const pixel *top = (const pixel *) _top; \
931
22.8k
    const pixel *left = (const pixel *) _left; \
932
22.8k
    int i, j; \
933
22.8k
    pixel ve[size + size/2 - 1], vo[size + size/2 - 1]; \
934
22.8k
\
935
22.8k
    stride /= sizeof(pixel); \
936
342k
    for (i = 0; i < size/2 - 2; i++) { \
937
319k
        vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; \
938
319k
        ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; \
939
319k
    } \
940
22.8k
    vo[size/2 - 2] = (left[size - 1] + left[size - 2] * 2 + left[size - 3] + 2) >> 2; \
941
22.8k
    ve[size/2 - 2] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
942
22.8k
\
943
22.8k
    ve[size/2 - 1] = (top[-1] + top[0] + 1) >> 1; \
944
22.8k
    vo[size/2 - 1] = (left[size - 1] + top[-1] * 2 + top[0] + 2) >> 2; \
945
731k
    for (i = 0; i < size - 1; i++) { \
946
708k
        ve[size/2 + i] = (top[i] + top[i + 1] + 1) >> 1; \
947
708k
        vo[size/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
948
708k
    } \
949
22.8k
\
950
388k
    for (j = 0; j < size / 2; j++) { \
951
365k
        memcpy(dst +  j*2     *stride, ve + size/2 - 1 - j, size * sizeof(pixel)); \
952
365k
        memcpy(dst + (j*2 + 1)*stride, vo + size/2 - 1 - j, size * sizeof(pixel)); \
953
365k
    } \
954
22.8k
}
vp9dsp_8bpp.c:vert_right_8x8_c
Line
Count
Source
927
61.4k
                                           const uint8_t *_left, const uint8_t *_top) \
928
61.4k
{ \
929
61.4k
    pixel *dst = (pixel *) _dst; \
930
61.4k
    const pixel *top = (const pixel *) _top; \
931
61.4k
    const pixel *left = (const pixel *) _left; \
932
61.4k
    int i, j; \
933
61.4k
    pixel ve[size + size/2 - 1], vo[size + size/2 - 1]; \
934
61.4k
\
935
61.4k
    stride /= sizeof(pixel); \
936
184k
    for (i = 0; i < size/2 - 2; i++) { \
937
122k
        vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; \
938
122k
        ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; \
939
122k
    } \
940
61.4k
    vo[size/2 - 2] = (left[size - 1] + left[size - 2] * 2 + left[size - 3] + 2) >> 2; \
941
61.4k
    ve[size/2 - 2] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
942
61.4k
\
943
61.4k
    ve[size/2 - 1] = (top[-1] + top[0] + 1) >> 1; \
944
61.4k
    vo[size/2 - 1] = (left[size - 1] + top[-1] * 2 + top[0] + 2) >> 2; \
945
491k
    for (i = 0; i < size - 1; i++) { \
946
430k
        ve[size/2 + i] = (top[i] + top[i + 1] + 1) >> 1; \
947
430k
        vo[size/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
948
430k
    } \
949
61.4k
\
950
307k
    for (j = 0; j < size / 2; j++) { \
951
245k
        memcpy(dst +  j*2     *stride, ve + size/2 - 1 - j, size * sizeof(pixel)); \
952
245k
        memcpy(dst + (j*2 + 1)*stride, vo + size/2 - 1 - j, size * sizeof(pixel)); \
953
245k
    } \
954
61.4k
}
vp9dsp_8bpp.c:vert_right_16x16_c
Line
Count
Source
927
21.8k
                                           const uint8_t *_left, const uint8_t *_top) \
928
21.8k
{ \
929
21.8k
    pixel *dst = (pixel *) _dst; \
930
21.8k
    const pixel *top = (const pixel *) _top; \
931
21.8k
    const pixel *left = (const pixel *) _left; \
932
21.8k
    int i, j; \
933
21.8k
    pixel ve[size + size/2 - 1], vo[size + size/2 - 1]; \
934
21.8k
\
935
21.8k
    stride /= sizeof(pixel); \
936
153k
    for (i = 0; i < size/2 - 2; i++) { \
937
131k
        vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; \
938
131k
        ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; \
939
131k
    } \
940
21.8k
    vo[size/2 - 2] = (left[size - 1] + left[size - 2] * 2 + left[size - 3] + 2) >> 2; \
941
21.8k
    ve[size/2 - 2] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
942
21.8k
\
943
21.8k
    ve[size/2 - 1] = (top[-1] + top[0] + 1) >> 1; \
944
21.8k
    vo[size/2 - 1] = (left[size - 1] + top[-1] * 2 + top[0] + 2) >> 2; \
945
349k
    for (i = 0; i < size - 1; i++) { \
946
328k
        ve[size/2 + i] = (top[i] + top[i + 1] + 1) >> 1; \
947
328k
        vo[size/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
948
328k
    } \
949
21.8k
\
950
196k
    for (j = 0; j < size / 2; j++) { \
951
174k
        memcpy(dst +  j*2     *stride, ve + size/2 - 1 - j, size * sizeof(pixel)); \
952
174k
        memcpy(dst + (j*2 + 1)*stride, vo + size/2 - 1 - j, size * sizeof(pixel)); \
953
174k
    } \
954
21.8k
}
vp9dsp_8bpp.c:vert_right_32x32_c
Line
Count
Source
927
11.5k
                                           const uint8_t *_left, const uint8_t *_top) \
928
11.5k
{ \
929
11.5k
    pixel *dst = (pixel *) _dst; \
930
11.5k
    const pixel *top = (const pixel *) _top; \
931
11.5k
    const pixel *left = (const pixel *) _left; \
932
11.5k
    int i, j; \
933
11.5k
    pixel ve[size + size/2 - 1], vo[size + size/2 - 1]; \
934
11.5k
\
935
11.5k
    stride /= sizeof(pixel); \
936
173k
    for (i = 0; i < size/2 - 2; i++) { \
937
161k
        vo[i] = (left[i*2 + 3] + left[i*2 + 2] * 2 + left[i*2 + 1] + 2) >> 2; \
938
161k
        ve[i] = (left[i*2 + 4] + left[i*2 + 3] * 2 + left[i*2 + 2] + 2) >> 2; \
939
161k
    } \
940
11.5k
    vo[size/2 - 2] = (left[size - 1] + left[size - 2] * 2 + left[size - 3] + 2) >> 2; \
941
11.5k
    ve[size/2 - 2] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
942
11.5k
\
943
11.5k
    ve[size/2 - 1] = (top[-1] + top[0] + 1) >> 1; \
944
11.5k
    vo[size/2 - 1] = (left[size - 1] + top[-1] * 2 + top[0] + 2) >> 2; \
945
369k
    for (i = 0; i < size - 1; i++) { \
946
358k
        ve[size/2 + i] = (top[i] + top[i + 1] + 1) >> 1; \
947
358k
        vo[size/2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
948
358k
    } \
949
11.5k
\
950
196k
    for (j = 0; j < size / 2; j++) { \
951
184k
        memcpy(dst +  j*2     *stride, ve + size/2 - 1 - j, size * sizeof(pixel)); \
952
184k
        memcpy(dst + (j*2 + 1)*stride, vo + size/2 - 1 - j, size * sizeof(pixel)); \
953
184k
    } \
954
11.5k
}
955
956
def_vert_right(8)
957
def_vert_right(16)
958
def_vert_right(32)
959
960
static void hor_down_4x4_c(uint8_t *_dst, ptrdiff_t stride,
961
                           const uint8_t *_left, const uint8_t *_top)
962
3.28M
{
963
3.28M
    pixel *dst = (pixel *) _dst;
964
3.28M
    const pixel *top = (const pixel *) _top;
965
3.28M
    const pixel *left = (const pixel *) _left;
966
3.28M
    int l0 = left[3], l1 = left[2], l2 = left[1], l3 = left[0],
967
3.28M
        tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2];
968
969
3.28M
    stride /= sizeof(pixel);
970
3.28M
    DST(2,0) = (tl + a0 * 2 + a1 + 2) >> 2;
971
3.28M
    DST(3,0) = (a0 + a1 * 2 + a2 + 2) >> 2;
972
3.28M
    DST(0,0) = DST(2,1) = (tl + l0 + 1) >> 1;
973
3.28M
    DST(1,0) = DST(3,1) = (a0 + tl * 2 + l0 + 2) >> 2;
974
3.28M
    DST(0,1) = DST(2,2) = (l0 + l1 + 1) >> 1;
975
3.28M
    DST(1,1) = DST(3,2) = (tl + l0 * 2 + l1 + 2) >> 2;
976
3.28M
    DST(0,2) = DST(2,3) = (l1 + l2 + 1) >> 1;
977
3.28M
    DST(1,2) = DST(3,3) = (l0 + l1 * 2 + l2 + 2) >> 2;
978
3.28M
    DST(0,3) = (l2 + l3 + 1) >> 1;
979
3.28M
    DST(1,3) = (l1 + l2 * 2 + l3 + 2) >> 2;
980
3.28M
}
vp9dsp_10bpp.c:hor_down_4x4_c
Line
Count
Source
962
2.26M
{
963
2.26M
    pixel *dst = (pixel *) _dst;
964
2.26M
    const pixel *top = (const pixel *) _top;
965
2.26M
    const pixel *left = (const pixel *) _left;
966
2.26M
    int l0 = left[3], l1 = left[2], l2 = left[1], l3 = left[0],
967
2.26M
        tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2];
968
969
2.26M
    stride /= sizeof(pixel);
970
2.26M
    DST(2,0) = (tl + a0 * 2 + a1 + 2) >> 2;
971
2.26M
    DST(3,0) = (a0 + a1 * 2 + a2 + 2) >> 2;
972
2.26M
    DST(0,0) = DST(2,1) = (tl + l0 + 1) >> 1;
973
2.26M
    DST(1,0) = DST(3,1) = (a0 + tl * 2 + l0 + 2) >> 2;
974
2.26M
    DST(0,1) = DST(2,2) = (l0 + l1 + 1) >> 1;
975
2.26M
    DST(1,1) = DST(3,2) = (tl + l0 * 2 + l1 + 2) >> 2;
976
2.26M
    DST(0,2) = DST(2,3) = (l1 + l2 + 1) >> 1;
977
2.26M
    DST(1,2) = DST(3,3) = (l0 + l1 * 2 + l2 + 2) >> 2;
978
2.26M
    DST(0,3) = (l2 + l3 + 1) >> 1;
979
2.26M
    DST(1,3) = (l1 + l2 * 2 + l3 + 2) >> 2;
980
2.26M
}
vp9dsp_8bpp.c:hor_down_4x4_c
Line
Count
Source
962
1.02M
{
963
1.02M
    pixel *dst = (pixel *) _dst;
964
1.02M
    const pixel *top = (const pixel *) _top;
965
1.02M
    const pixel *left = (const pixel *) _left;
966
1.02M
    int l0 = left[3], l1 = left[2], l2 = left[1], l3 = left[0],
967
1.02M
        tl = top[-1], a0 = top[0], a1 = top[1], a2 = top[2];
968
969
1.02M
    stride /= sizeof(pixel);
970
1.02M
    DST(2,0) = (tl + a0 * 2 + a1 + 2) >> 2;
971
1.02M
    DST(3,0) = (a0 + a1 * 2 + a2 + 2) >> 2;
972
1.02M
    DST(0,0) = DST(2,1) = (tl + l0 + 1) >> 1;
973
1.02M
    DST(1,0) = DST(3,1) = (a0 + tl * 2 + l0 + 2) >> 2;
974
1.02M
    DST(0,1) = DST(2,2) = (l0 + l1 + 1) >> 1;
975
1.02M
    DST(1,1) = DST(3,2) = (tl + l0 * 2 + l1 + 2) >> 2;
976
1.02M
    DST(0,2) = DST(2,3) = (l1 + l2 + 1) >> 1;
977
1.02M
    DST(1,2) = DST(3,3) = (l0 + l1 * 2 + l2 + 2) >> 2;
978
1.02M
    DST(0,3) = (l2 + l3 + 1) >> 1;
979
1.02M
    DST(1,3) = (l1 + l2 * 2 + l3 + 2) >> 2;
980
1.02M
}
981
982
#define def_hor_down(size) \
983
static void hor_down_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
984
489k
                                         const uint8_t *_left, const uint8_t *_top) \
985
489k
{ \
986
489k
    pixel *dst = (pixel *) _dst; \
987
489k
    const pixel *top = (const pixel *) _top; \
988
489k
    const pixel *left = (const pixel *) _left; \
989
489k
    int i, j; \
990
489k
    pixel v[size * 3 - 2]; \
991
489k
\
992
489k
    stride /= sizeof(pixel); \
993
5.58M
    for (i = 0; i < size - 2; i++) { \
994
5.09M
        v[i*2       ] = (left[i + 1] + left[i + 0] + 1) >> 1; \
995
5.09M
        v[i*2    + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; \
996
5.09M
        v[size*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
997
5.09M
    } \
998
489k
    v[size*2 - 2] = (top[-1] + left[size - 1] + 1) >> 1; \
999
489k
    v[size*2 - 4] = (left[size - 1] + left[size - 2] + 1) >> 1; \
1000
489k
    v[size*2 - 1] = (top[0]  + top[-1] * 2 + left[size - 1] + 2) >> 2; \
1001
489k
    v[size*2 - 3] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
1002
489k
\
1003
6.56M
    for (j = 0; j < size; j++) \
1004
6.07M
        memcpy(dst + j*stride, v + size*2 - 2 - j*2, size * sizeof(pixel)); \
1005
489k
}
vp9dsp_10bpp.c:hor_down_8x8_c
Line
Count
Source
984
241k
                                         const uint8_t *_left, const uint8_t *_top) \
985
241k
{ \
986
241k
    pixel *dst = (pixel *) _dst; \
987
241k
    const pixel *top = (const pixel *) _top; \
988
241k
    const pixel *left = (const pixel *) _left; \
989
241k
    int i, j; \
990
241k
    pixel v[size * 3 - 2]; \
991
241k
\
992
241k
    stride /= sizeof(pixel); \
993
1.68M
    for (i = 0; i < size - 2; i++) { \
994
1.44M
        v[i*2       ] = (left[i + 1] + left[i + 0] + 1) >> 1; \
995
1.44M
        v[i*2    + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; \
996
1.44M
        v[size*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
997
1.44M
    } \
998
241k
    v[size*2 - 2] = (top[-1] + left[size - 1] + 1) >> 1; \
999
241k
    v[size*2 - 4] = (left[size - 1] + left[size - 2] + 1) >> 1; \
1000
241k
    v[size*2 - 1] = (top[0]  + top[-1] * 2 + left[size - 1] + 2) >> 2; \
1001
241k
    v[size*2 - 3] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
1002
241k
\
1003
2.17M
    for (j = 0; j < size; j++) \
1004
1.92M
        memcpy(dst + j*stride, v + size*2 - 2 - j*2, size * sizeof(pixel)); \
1005
241k
}
vp9dsp_10bpp.c:hor_down_16x16_c
Line
Count
Source
984
68.9k
                                         const uint8_t *_left, const uint8_t *_top) \
985
68.9k
{ \
986
68.9k
    pixel *dst = (pixel *) _dst; \
987
68.9k
    const pixel *top = (const pixel *) _top; \
988
68.9k
    const pixel *left = (const pixel *) _left; \
989
68.9k
    int i, j; \
990
68.9k
    pixel v[size * 3 - 2]; \
991
68.9k
\
992
68.9k
    stride /= sizeof(pixel); \
993
1.03M
    for (i = 0; i < size - 2; i++) { \
994
965k
        v[i*2       ] = (left[i + 1] + left[i + 0] + 1) >> 1; \
995
965k
        v[i*2    + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; \
996
965k
        v[size*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
997
965k
    } \
998
68.9k
    v[size*2 - 2] = (top[-1] + left[size - 1] + 1) >> 1; \
999
68.9k
    v[size*2 - 4] = (left[size - 1] + left[size - 2] + 1) >> 1; \
1000
68.9k
    v[size*2 - 1] = (top[0]  + top[-1] * 2 + left[size - 1] + 2) >> 2; \
1001
68.9k
    v[size*2 - 3] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
1002
68.9k
\
1003
1.17M
    for (j = 0; j < size; j++) \
1004
1.10M
        memcpy(dst + j*stride, v + size*2 - 2 - j*2, size * sizeof(pixel)); \
1005
68.9k
}
vp9dsp_10bpp.c:hor_down_32x32_c
Line
Count
Source
984
36.5k
                                         const uint8_t *_left, const uint8_t *_top) \
985
36.5k
{ \
986
36.5k
    pixel *dst = (pixel *) _dst; \
987
36.5k
    const pixel *top = (const pixel *) _top; \
988
36.5k
    const pixel *left = (const pixel *) _left; \
989
36.5k
    int i, j; \
990
36.5k
    pixel v[size * 3 - 2]; \
991
36.5k
\
992
36.5k
    stride /= sizeof(pixel); \
993
1.13M
    for (i = 0; i < size - 2; i++) { \
994
1.09M
        v[i*2       ] = (left[i + 1] + left[i + 0] + 1) >> 1; \
995
1.09M
        v[i*2    + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; \
996
1.09M
        v[size*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
997
1.09M
    } \
998
36.5k
    v[size*2 - 2] = (top[-1] + left[size - 1] + 1) >> 1; \
999
36.5k
    v[size*2 - 4] = (left[size - 1] + left[size - 2] + 1) >> 1; \
1000
36.5k
    v[size*2 - 1] = (top[0]  + top[-1] * 2 + left[size - 1] + 2) >> 2; \
1001
36.5k
    v[size*2 - 3] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
1002
36.5k
\
1003
1.20M
    for (j = 0; j < size; j++) \
1004
1.17M
        memcpy(dst + j*stride, v + size*2 - 2 - j*2, size * sizeof(pixel)); \
1005
36.5k
}
vp9dsp_8bpp.c:hor_down_8x8_c
Line
Count
Source
984
88.9k
                                         const uint8_t *_left, const uint8_t *_top) \
985
88.9k
{ \
986
88.9k
    pixel *dst = (pixel *) _dst; \
987
88.9k
    const pixel *top = (const pixel *) _top; \
988
88.9k
    const pixel *left = (const pixel *) _left; \
989
88.9k
    int i, j; \
990
88.9k
    pixel v[size * 3 - 2]; \
991
88.9k
\
992
88.9k
    stride /= sizeof(pixel); \
993
622k
    for (i = 0; i < size - 2; i++) { \
994
533k
        v[i*2       ] = (left[i + 1] + left[i + 0] + 1) >> 1; \
995
533k
        v[i*2    + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; \
996
533k
        v[size*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
997
533k
    } \
998
88.9k
    v[size*2 - 2] = (top[-1] + left[size - 1] + 1) >> 1; \
999
88.9k
    v[size*2 - 4] = (left[size - 1] + left[size - 2] + 1) >> 1; \
1000
88.9k
    v[size*2 - 1] = (top[0]  + top[-1] * 2 + left[size - 1] + 2) >> 2; \
1001
88.9k
    v[size*2 - 3] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
1002
88.9k
\
1003
800k
    for (j = 0; j < size; j++) \
1004
711k
        memcpy(dst + j*stride, v + size*2 - 2 - j*2, size * sizeof(pixel)); \
1005
88.9k
}
vp9dsp_8bpp.c:hor_down_16x16_c
Line
Count
Source
984
35.6k
                                         const uint8_t *_left, const uint8_t *_top) \
985
35.6k
{ \
986
35.6k
    pixel *dst = (pixel *) _dst; \
987
35.6k
    const pixel *top = (const pixel *) _top; \
988
35.6k
    const pixel *left = (const pixel *) _left; \
989
35.6k
    int i, j; \
990
35.6k
    pixel v[size * 3 - 2]; \
991
35.6k
\
992
35.6k
    stride /= sizeof(pixel); \
993
534k
    for (i = 0; i < size - 2; i++) { \
994
498k
        v[i*2       ] = (left[i + 1] + left[i + 0] + 1) >> 1; \
995
498k
        v[i*2    + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; \
996
498k
        v[size*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
997
498k
    } \
998
35.6k
    v[size*2 - 2] = (top[-1] + left[size - 1] + 1) >> 1; \
999
35.6k
    v[size*2 - 4] = (left[size - 1] + left[size - 2] + 1) >> 1; \
1000
35.6k
    v[size*2 - 1] = (top[0]  + top[-1] * 2 + left[size - 1] + 2) >> 2; \
1001
35.6k
    v[size*2 - 3] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
1002
35.6k
\
1003
605k
    for (j = 0; j < size; j++) \
1004
569k
        memcpy(dst + j*stride, v + size*2 - 2 - j*2, size * sizeof(pixel)); \
1005
35.6k
}
vp9dsp_8bpp.c:hor_down_32x32_c
Line
Count
Source
984
18.3k
                                         const uint8_t *_left, const uint8_t *_top) \
985
18.3k
{ \
986
18.3k
    pixel *dst = (pixel *) _dst; \
987
18.3k
    const pixel *top = (const pixel *) _top; \
988
18.3k
    const pixel *left = (const pixel *) _left; \
989
18.3k
    int i, j; \
990
18.3k
    pixel v[size * 3 - 2]; \
991
18.3k
\
992
18.3k
    stride /= sizeof(pixel); \
993
568k
    for (i = 0; i < size - 2; i++) { \
994
550k
        v[i*2       ] = (left[i + 1] + left[i + 0] + 1) >> 1; \
995
550k
        v[i*2    + 1] = (left[i + 2] + left[i + 1] * 2 + left[i + 0] + 2) >> 2; \
996
550k
        v[size*2 + i] = (top[i - 1] + top[i] * 2 + top[i + 1] + 2) >> 2; \
997
550k
    } \
998
18.3k
    v[size*2 - 2] = (top[-1] + left[size - 1] + 1) >> 1; \
999
18.3k
    v[size*2 - 4] = (left[size - 1] + left[size - 2] + 1) >> 1; \
1000
18.3k
    v[size*2 - 1] = (top[0]  + top[-1] * 2 + left[size - 1] + 2) >> 2; \
1001
18.3k
    v[size*2 - 3] = (top[-1] + left[size - 1] * 2 + left[size - 2] + 2) >> 2; \
1002
18.3k
\
1003
605k
    for (j = 0; j < size; j++) \
1004
586k
        memcpy(dst + j*stride, v + size*2 - 2 - j*2, size * sizeof(pixel)); \
1005
18.3k
}
1006
1007
def_hor_down(8)
1008
def_hor_down(16)
1009
def_hor_down(32)
1010
1011
static void vert_left_4x4_c(uint8_t *_dst, ptrdiff_t stride,
1012
                            const uint8_t *left, const uint8_t *_top)
1013
1.96M
{
1014
1.96M
    pixel *dst = (pixel *) _dst;
1015
1.96M
    const pixel *top = (const pixel *) _top;
1016
1.96M
    int a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
1017
1.96M
        a4 = top[4], a5 = top[5], a6 = top[6];
1018
1019
1.96M
    stride /= sizeof(pixel);
1020
1.96M
    DST(0,0) = (a0 + a1 + 1) >> 1;
1021
1.96M
    DST(0,1) = (a0 + a1 * 2 + a2 + 2) >> 2;
1022
1.96M
    DST(1,0) = DST(0,2) = (a1 + a2 + 1) >> 1;
1023
1.96M
    DST(1,1) = DST(0,3) = (a1 + a2 * 2 + a3 + 2) >> 2;
1024
1.96M
    DST(2,0) = DST(1,2) = (a2 + a3 + 1) >> 1;
1025
1.96M
    DST(2,1) = DST(1,3) = (a2 + a3 * 2 + a4 + 2) >> 2;
1026
1.96M
    DST(3,0) = DST(2,2) = (a3 + a4 + 1) >> 1;
1027
1.96M
    DST(3,1) = DST(2,3) = (a3 + a4 * 2 + a5 + 2) >> 2;
1028
1.96M
    DST(3,2) = (a4 + a5 + 1) >> 1;
1029
1.96M
    DST(3,3) = (a4 + a5 * 2 + a6 + 2) >> 2;
1030
1.96M
}
vp9dsp_10bpp.c:vert_left_4x4_c
Line
Count
Source
1013
1.44M
{
1014
1.44M
    pixel *dst = (pixel *) _dst;
1015
1.44M
    const pixel *top = (const pixel *) _top;
1016
1.44M
    int a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
1017
1.44M
        a4 = top[4], a5 = top[5], a6 = top[6];
1018
1019
1.44M
    stride /= sizeof(pixel);
1020
1.44M
    DST(0,0) = (a0 + a1 + 1) >> 1;
1021
1.44M
    DST(0,1) = (a0 + a1 * 2 + a2 + 2) >> 2;
1022
1.44M
    DST(1,0) = DST(0,2) = (a1 + a2 + 1) >> 1;
1023
1.44M
    DST(1,1) = DST(0,3) = (a1 + a2 * 2 + a3 + 2) >> 2;
1024
1.44M
    DST(2,0) = DST(1,2) = (a2 + a3 + 1) >> 1;
1025
1.44M
    DST(2,1) = DST(1,3) = (a2 + a3 * 2 + a4 + 2) >> 2;
1026
1.44M
    DST(3,0) = DST(2,2) = (a3 + a4 + 1) >> 1;
1027
1.44M
    DST(3,1) = DST(2,3) = (a3 + a4 * 2 + a5 + 2) >> 2;
1028
1.44M
    DST(3,2) = (a4 + a5 + 1) >> 1;
1029
1.44M
    DST(3,3) = (a4 + a5 * 2 + a6 + 2) >> 2;
1030
1.44M
}
vp9dsp_8bpp.c:vert_left_4x4_c
Line
Count
Source
1013
524k
{
1014
524k
    pixel *dst = (pixel *) _dst;
1015
524k
    const pixel *top = (const pixel *) _top;
1016
524k
    int a0 = top[0], a1 = top[1], a2 = top[2], a3 = top[3],
1017
524k
        a4 = top[4], a5 = top[5], a6 = top[6];
1018
1019
524k
    stride /= sizeof(pixel);
1020
524k
    DST(0,0) = (a0 + a1 + 1) >> 1;
1021
524k
    DST(0,1) = (a0 + a1 * 2 + a2 + 2) >> 2;
1022
524k
    DST(1,0) = DST(0,2) = (a1 + a2 + 1) >> 1;
1023
524k
    DST(1,1) = DST(0,3) = (a1 + a2 * 2 + a3 + 2) >> 2;
1024
524k
    DST(2,0) = DST(1,2) = (a2 + a3 + 1) >> 1;
1025
524k
    DST(2,1) = DST(1,3) = (a2 + a3 * 2 + a4 + 2) >> 2;
1026
524k
    DST(3,0) = DST(2,2) = (a3 + a4 + 1) >> 1;
1027
524k
    DST(3,1) = DST(2,3) = (a3 + a4 * 2 + a5 + 2) >> 2;
1028
524k
    DST(3,2) = (a4 + a5 + 1) >> 1;
1029
524k
    DST(3,3) = (a4 + a5 * 2 + a6 + 2) >> 2;
1030
524k
}
1031
1032
#define def_vert_left(size) \
1033
static void vert_left_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
1034
310k
                                          const uint8_t *left, const uint8_t *_top) \
1035
310k
{ \
1036
310k
    pixel *dst = (pixel *) _dst; \
1037
310k
    const pixel *top = (const pixel *) _top; \
1038
310k
    int i, j; \
1039
310k
    pixel ve[size - 1], vo[size - 1]; \
1040
310k
\
1041
310k
    stride /= sizeof(pixel); \
1042
3.52M
    for (i = 0; i < size - 2; i++) { \
1043
3.21M
        ve[i] = (top[i] + top[i + 1] + 1) >> 1; \
1044
3.21M
        vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
1045
3.21M
    } \
1046
310k
    ve[size - 2] = (top[size - 2] + top[size - 1] + 1) >> 1; \
1047
310k
    vo[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
1048
310k
\
1049
2.22M
    for (j = 0; j < size / 2; j++) { \
1050
1.91M
        memcpy(dst +  j*2      * stride, ve + j, (size - j - 1) * sizeof(pixel)); \
1051
1.91M
        memset_bpc(dst +  j*2      * stride + size - j - 1, top[size - 1], j + 1); \
1052
1.91M
        memcpy(dst + (j*2 + 1) * stride, vo + j, (size - j - 1) * sizeof(pixel)); \
1053
1.91M
        memset_bpc(dst + (j*2 + 1) * stride + size - j - 1, top[size - 1], j + 1); \
1054
1.91M
    } \
1055
310k
}
vp9dsp_10bpp.c:vert_left_8x8_c
Line
Count
Source
1034
148k
                                          const uint8_t *left, const uint8_t *_top) \
1035
148k
{ \
1036
148k
    pixel *dst = (pixel *) _dst; \
1037
148k
    const pixel *top = (const pixel *) _top; \
1038
148k
    int i, j; \
1039
148k
    pixel ve[size - 1], vo[size - 1]; \
1040
148k
\
1041
148k
    stride /= sizeof(pixel); \
1042
1.03M
    for (i = 0; i < size - 2; i++) { \
1043
890k
        ve[i] = (top[i] + top[i + 1] + 1) >> 1; \
1044
890k
        vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
1045
890k
    } \
1046
148k
    ve[size - 2] = (top[size - 2] + top[size - 1] + 1) >> 1; \
1047
148k
    vo[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
1048
148k
\
1049
742k
    for (j = 0; j < size / 2; j++) { \
1050
593k
        memcpy(dst +  j*2      * stride, ve + j, (size - j - 1) * sizeof(pixel)); \
1051
593k
        memset_bpc(dst +  j*2      * stride + size - j - 1, top[size - 1], j + 1); \
1052
593k
        memcpy(dst + (j*2 + 1) * stride, vo + j, (size - j - 1) * sizeof(pixel)); \
1053
593k
        memset_bpc(dst + (j*2 + 1) * stride + size - j - 1, top[size - 1], j + 1); \
1054
593k
    } \
1055
148k
}
vp9dsp_10bpp.c:vert_left_16x16_c
Line
Count
Source
1034
46.2k
                                          const uint8_t *left, const uint8_t *_top) \
1035
46.2k
{ \
1036
46.2k
    pixel *dst = (pixel *) _dst; \
1037
46.2k
    const pixel *top = (const pixel *) _top; \
1038
46.2k
    int i, j; \
1039
46.2k
    pixel ve[size - 1], vo[size - 1]; \
1040
46.2k
\
1041
46.2k
    stride /= sizeof(pixel); \
1042
694k
    for (i = 0; i < size - 2; i++) { \
1043
648k
        ve[i] = (top[i] + top[i + 1] + 1) >> 1; \
1044
648k
        vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
1045
648k
    } \
1046
46.2k
    ve[size - 2] = (top[size - 2] + top[size - 1] + 1) >> 1; \
1047
46.2k
    vo[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
1048
46.2k
\
1049
416k
    for (j = 0; j < size / 2; j++) { \
1050
370k
        memcpy(dst +  j*2      * stride, ve + j, (size - j - 1) * sizeof(pixel)); \
1051
370k
        memset_bpc(dst +  j*2      * stride + size - j - 1, top[size - 1], j + 1); \
1052
370k
        memcpy(dst + (j*2 + 1) * stride, vo + j, (size - j - 1) * sizeof(pixel)); \
1053
370k
        memset_bpc(dst + (j*2 + 1) * stride + size - j - 1, top[size - 1], j + 1); \
1054
370k
    } \
1055
46.2k
}
vp9dsp_10bpp.c:vert_left_32x32_c
Line
Count
Source
1034
22.1k
                                          const uint8_t *left, const uint8_t *_top) \
1035
22.1k
{ \
1036
22.1k
    pixel *dst = (pixel *) _dst; \
1037
22.1k
    const pixel *top = (const pixel *) _top; \
1038
22.1k
    int i, j; \
1039
22.1k
    pixel ve[size - 1], vo[size - 1]; \
1040
22.1k
\
1041
22.1k
    stride /= sizeof(pixel); \
1042
685k
    for (i = 0; i < size - 2; i++) { \
1043
663k
        ve[i] = (top[i] + top[i + 1] + 1) >> 1; \
1044
663k
        vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
1045
663k
    } \
1046
22.1k
    ve[size - 2] = (top[size - 2] + top[size - 1] + 1) >> 1; \
1047
22.1k
    vo[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
1048
22.1k
\
1049
375k
    for (j = 0; j < size / 2; j++) { \
1050
353k
        memcpy(dst +  j*2      * stride, ve + j, (size - j - 1) * sizeof(pixel)); \
1051
353k
        memset_bpc(dst +  j*2      * stride + size - j - 1, top[size - 1], j + 1); \
1052
353k
        memcpy(dst + (j*2 + 1) * stride, vo + j, (size - j - 1) * sizeof(pixel)); \
1053
353k
        memset_bpc(dst + (j*2 + 1) * stride + size - j - 1, top[size - 1], j + 1); \
1054
353k
    } \
1055
22.1k
}
vp9dsp_8bpp.c:vert_left_8x8_c
Line
Count
Source
1034
60.7k
                                          const uint8_t *left, const uint8_t *_top) \
1035
60.7k
{ \
1036
60.7k
    pixel *dst = (pixel *) _dst; \
1037
60.7k
    const pixel *top = (const pixel *) _top; \
1038
60.7k
    int i, j; \
1039
60.7k
    pixel ve[size - 1], vo[size - 1]; \
1040
60.7k
\
1041
60.7k
    stride /= sizeof(pixel); \
1042
425k
    for (i = 0; i < size - 2; i++) { \
1043
364k
        ve[i] = (top[i] + top[i + 1] + 1) >> 1; \
1044
364k
        vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
1045
364k
    } \
1046
60.7k
    ve[size - 2] = (top[size - 2] + top[size - 1] + 1) >> 1; \
1047
60.7k
    vo[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
1048
60.7k
\
1049
303k
    for (j = 0; j < size / 2; j++) { \
1050
242k
        memcpy(dst +  j*2      * stride, ve + j, (size - j - 1) * sizeof(pixel)); \
1051
242k
        memset_bpc(dst +  j*2      * stride + size - j - 1, top[size - 1], j + 1); \
1052
242k
        memcpy(dst + (j*2 + 1) * stride, vo + j, (size - j - 1) * sizeof(pixel)); \
1053
242k
        memset_bpc(dst + (j*2 + 1) * stride + size - j - 1, top[size - 1], j + 1); \
1054
242k
    } \
1055
60.7k
}
vp9dsp_8bpp.c:vert_left_16x16_c
Line
Count
Source
1034
20.8k
                                          const uint8_t *left, const uint8_t *_top) \
1035
20.8k
{ \
1036
20.8k
    pixel *dst = (pixel *) _dst; \
1037
20.8k
    const pixel *top = (const pixel *) _top; \
1038
20.8k
    int i, j; \
1039
20.8k
    pixel ve[size - 1], vo[size - 1]; \
1040
20.8k
\
1041
20.8k
    stride /= sizeof(pixel); \
1042
312k
    for (i = 0; i < size - 2; i++) { \
1043
291k
        ve[i] = (top[i] + top[i + 1] + 1) >> 1; \
1044
291k
        vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
1045
291k
    } \
1046
20.8k
    ve[size - 2] = (top[size - 2] + top[size - 1] + 1) >> 1; \
1047
20.8k
    vo[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
1048
20.8k
\
1049
187k
    for (j = 0; j < size / 2; j++) { \
1050
166k
        memcpy(dst +  j*2      * stride, ve + j, (size - j - 1) * sizeof(pixel)); \
1051
166k
        memset_bpc(dst +  j*2      * stride + size - j - 1, top[size - 1], j + 1); \
1052
166k
        memcpy(dst + (j*2 + 1) * stride, vo + j, (size - j - 1) * sizeof(pixel)); \
1053
166k
        memset_bpc(dst + (j*2 + 1) * stride + size - j - 1, top[size - 1], j + 1); \
1054
166k
    } \
1055
20.8k
}
vp9dsp_8bpp.c:vert_left_32x32_c
Line
Count
Source
1034
11.8k
                                          const uint8_t *left, const uint8_t *_top) \
1035
11.8k
{ \
1036
11.8k
    pixel *dst = (pixel *) _dst; \
1037
11.8k
    const pixel *top = (const pixel *) _top; \
1038
11.8k
    int i, j; \
1039
11.8k
    pixel ve[size - 1], vo[size - 1]; \
1040
11.8k
\
1041
11.8k
    stride /= sizeof(pixel); \
1042
368k
    for (i = 0; i < size - 2; i++) { \
1043
356k
        ve[i] = (top[i] + top[i + 1] + 1) >> 1; \
1044
356k
        vo[i] = (top[i] + top[i + 1] * 2 + top[i + 2] + 2) >> 2; \
1045
356k
    } \
1046
11.8k
    ve[size - 2] = (top[size - 2] + top[size - 1] + 1) >> 1; \
1047
11.8k
    vo[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
1048
11.8k
\
1049
201k
    for (j = 0; j < size / 2; j++) { \
1050
190k
        memcpy(dst +  j*2      * stride, ve + j, (size - j - 1) * sizeof(pixel)); \
1051
190k
        memset_bpc(dst +  j*2      * stride + size - j - 1, top[size - 1], j + 1); \
1052
190k
        memcpy(dst + (j*2 + 1) * stride, vo + j, (size - j - 1) * sizeof(pixel)); \
1053
190k
        memset_bpc(dst + (j*2 + 1) * stride + size - j - 1, top[size - 1], j + 1); \
1054
190k
    } \
1055
11.8k
}
1056
1057
def_vert_left(8)
1058
def_vert_left(16)
1059
def_vert_left(32)
1060
1061
static void hor_up_4x4_c(uint8_t *_dst, ptrdiff_t stride,
1062
                         const uint8_t *_left, const uint8_t *top)
1063
5.08M
{
1064
5.08M
    pixel *dst = (pixel *) _dst;
1065
5.08M
    const pixel *left = (const pixel *) _left;
1066
5.08M
    int l0 = left[0], l1 = left[1], l2 = left[2], l3 = left[3];
1067
1068
5.08M
    stride /= sizeof(pixel);
1069
5.08M
    DST(0,0) = (l0 + l1 + 1) >> 1;
1070
5.08M
    DST(1,0) = (l0 + l1 * 2 + l2 + 2) >> 2;
1071
5.08M
    DST(0,1) = DST(2,0) = (l1 + l2 + 1) >> 1;
1072
5.08M
    DST(1,1) = DST(3,0) = (l1 + l2 * 2 + l3 + 2) >> 2;
1073
5.08M
    DST(0,2) = DST(2,1) = (l2 + l3 + 1) >> 1;
1074
5.08M
    DST(1,2) = DST(3,1) = (l2 + l3 * 3 + 2) >> 2;
1075
5.08M
    DST(0,3) = DST(1,3) = DST(2,2) = DST(2,3) = DST(3,2) = DST(3,3) = l3;
1076
5.08M
}
vp9dsp_10bpp.c:hor_up_4x4_c
Line
Count
Source
1063
3.52M
{
1064
3.52M
    pixel *dst = (pixel *) _dst;
1065
3.52M
    const pixel *left = (const pixel *) _left;
1066
3.52M
    int l0 = left[0], l1 = left[1], l2 = left[2], l3 = left[3];
1067
1068
3.52M
    stride /= sizeof(pixel);
1069
3.52M
    DST(0,0) = (l0 + l1 + 1) >> 1;
1070
3.52M
    DST(1,0) = (l0 + l1 * 2 + l2 + 2) >> 2;
1071
3.52M
    DST(0,1) = DST(2,0) = (l1 + l2 + 1) >> 1;
1072
3.52M
    DST(1,1) = DST(3,0) = (l1 + l2 * 2 + l3 + 2) >> 2;
1073
3.52M
    DST(0,2) = DST(2,1) = (l2 + l3 + 1) >> 1;
1074
3.52M
    DST(1,2) = DST(3,1) = (l2 + l3 * 3 + 2) >> 2;
1075
3.52M
    DST(0,3) = DST(1,3) = DST(2,2) = DST(2,3) = DST(3,2) = DST(3,3) = l3;
1076
3.52M
}
vp9dsp_8bpp.c:hor_up_4x4_c
Line
Count
Source
1063
1.56M
{
1064
1.56M
    pixel *dst = (pixel *) _dst;
1065
1.56M
    const pixel *left = (const pixel *) _left;
1066
1.56M
    int l0 = left[0], l1 = left[1], l2 = left[2], l3 = left[3];
1067
1068
1.56M
    stride /= sizeof(pixel);
1069
1.56M
    DST(0,0) = (l0 + l1 + 1) >> 1;
1070
1.56M
    DST(1,0) = (l0 + l1 * 2 + l2 + 2) >> 2;
1071
1.56M
    DST(0,1) = DST(2,0) = (l1 + l2 + 1) >> 1;
1072
1.56M
    DST(1,1) = DST(3,0) = (l1 + l2 * 2 + l3 + 2) >> 2;
1073
1.56M
    DST(0,2) = DST(2,1) = (l2 + l3 + 1) >> 1;
1074
1.56M
    DST(1,2) = DST(3,1) = (l2 + l3 * 3 + 2) >> 2;
1075
1.56M
    DST(0,3) = DST(1,3) = DST(2,2) = DST(2,3) = DST(3,2) = DST(3,3) = l3;
1076
1.56M
}
1077
1078
#define def_hor_up(size) \
1079
static void hor_up_##size##x##size##_c(uint8_t *_dst, ptrdiff_t stride, \
1080
598k
                                       const uint8_t *_left, const uint8_t *top) \
1081
598k
{ \
1082
598k
    pixel *dst = (pixel *) _dst; \
1083
598k
    const pixel *left = (const pixel *) _left; \
1084
598k
    int i, j; \
1085
598k
    pixel v[size*2 - 2]; \
1086
598k
\
1087
598k
    stride /= sizeof(pixel); \
1088
6.43M
    for (i = 0; i < size - 2; i++) { \
1089
5.83M
        v[i*2    ] = (left[i] + left[i + 1] + 1) >> 1; \
1090
5.83M
        v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
1091
5.83M
    } \
1092
598k
    v[size*2 - 4] = (left[size - 2] + left[size - 1] + 1) >> 1; \
1093
598k
    v[size*2 - 3] = (left[size - 2] + left[size - 1] * 3 + 2) >> 2; \
1094
598k
\
1095
4.11M
    for (j = 0; j < size / 2; j++) \
1096
3.51M
        memcpy(dst + j*stride, v + j*2, size * sizeof(pixel)); \
1097
4.11M
    for (j = size / 2; j < size; j++) { \
1098
3.51M
        memcpy(dst + j*stride, v + j*2, (size*2 - 2 - j*2) * sizeof(pixel)); \
1099
3.51M
        memset_bpc(dst + j*stride + size*2 - 2 - j*2, left[size - 1], \
1100
3.51M
                   2 + j*2 - size); \
1101
3.51M
    } \
1102
598k
}
vp9dsp_10bpp.c:hor_up_8x8_c
Line
Count
Source
1080
263k
                                       const uint8_t *_left, const uint8_t *top) \
1081
263k
{ \
1082
263k
    pixel *dst = (pixel *) _dst; \
1083
263k
    const pixel *left = (const pixel *) _left; \
1084
263k
    int i, j; \
1085
263k
    pixel v[size*2 - 2]; \
1086
263k
\
1087
263k
    stride /= sizeof(pixel); \
1088
1.84M
    for (i = 0; i < size - 2; i++) { \
1089
1.58M
        v[i*2    ] = (left[i] + left[i + 1] + 1) >> 1; \
1090
1.58M
        v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
1091
1.58M
    } \
1092
263k
    v[size*2 - 4] = (left[size - 2] + left[size - 1] + 1) >> 1; \
1093
263k
    v[size*2 - 3] = (left[size - 2] + left[size - 1] * 3 + 2) >> 2; \
1094
263k
\
1095
1.31M
    for (j = 0; j < size / 2; j++) \
1096
1.05M
        memcpy(dst + j*stride, v + j*2, size * sizeof(pixel)); \
1097
1.31M
    for (j = size / 2; j < size; j++) { \
1098
1.05M
        memcpy(dst + j*stride, v + j*2, (size*2 - 2 - j*2) * sizeof(pixel)); \
1099
1.05M
        memset_bpc(dst + j*stride + size*2 - 2 - j*2, left[size - 1], \
1100
1.05M
                   2 + j*2 - size); \
1101
1.05M
    } \
1102
263k
}
vp9dsp_10bpp.c:hor_up_16x16_c
Line
Count
Source
1080
73.2k
                                       const uint8_t *_left, const uint8_t *top) \
1081
73.2k
{ \
1082
73.2k
    pixel *dst = (pixel *) _dst; \
1083
73.2k
    const pixel *left = (const pixel *) _left; \
1084
73.2k
    int i, j; \
1085
73.2k
    pixel v[size*2 - 2]; \
1086
73.2k
\
1087
73.2k
    stride /= sizeof(pixel); \
1088
1.09M
    for (i = 0; i < size - 2; i++) { \
1089
1.02M
        v[i*2    ] = (left[i] + left[i + 1] + 1) >> 1; \
1090
1.02M
        v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
1091
1.02M
    } \
1092
73.2k
    v[size*2 - 4] = (left[size - 2] + left[size - 1] + 1) >> 1; \
1093
73.2k
    v[size*2 - 3] = (left[size - 2] + left[size - 1] * 3 + 2) >> 2; \
1094
73.2k
\
1095
659k
    for (j = 0; j < size / 2; j++) \
1096
586k
        memcpy(dst + j*stride, v + j*2, size * sizeof(pixel)); \
1097
659k
    for (j = size / 2; j < size; j++) { \
1098
586k
        memcpy(dst + j*stride, v + j*2, (size*2 - 2 - j*2) * sizeof(pixel)); \
1099
586k
        memset_bpc(dst + j*stride + size*2 - 2 - j*2, left[size - 1], \
1100
586k
                   2 + j*2 - size); \
1101
586k
    } \
1102
73.2k
}
vp9dsp_10bpp.c:hor_up_32x32_c
Line
Count
Source
1080
30.7k
                                       const uint8_t *_left, const uint8_t *top) \
1081
30.7k
{ \
1082
30.7k
    pixel *dst = (pixel *) _dst; \
1083
30.7k
    const pixel *left = (const pixel *) _left; \
1084
30.7k
    int i, j; \
1085
30.7k
    pixel v[size*2 - 2]; \
1086
30.7k
\
1087
30.7k
    stride /= sizeof(pixel); \
1088
953k
    for (i = 0; i < size - 2; i++) { \
1089
922k
        v[i*2    ] = (left[i] + left[i + 1] + 1) >> 1; \
1090
922k
        v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
1091
922k
    } \
1092
30.7k
    v[size*2 - 4] = (left[size - 2] + left[size - 1] + 1) >> 1; \
1093
30.7k
    v[size*2 - 3] = (left[size - 2] + left[size - 1] * 3 + 2) >> 2; \
1094
30.7k
\
1095
522k
    for (j = 0; j < size / 2; j++) \
1096
492k
        memcpy(dst + j*stride, v + j*2, size * sizeof(pixel)); \
1097
522k
    for (j = size / 2; j < size; j++) { \
1098
492k
        memcpy(dst + j*stride, v + j*2, (size*2 - 2 - j*2) * sizeof(pixel)); \
1099
492k
        memset_bpc(dst + j*stride + size*2 - 2 - j*2, left[size - 1], \
1100
492k
                   2 + j*2 - size); \
1101
492k
    } \
1102
30.7k
}
vp9dsp_8bpp.c:hor_up_8x8_c
Line
Count
Source
1080
165k
                                       const uint8_t *_left, const uint8_t *top) \
1081
165k
{ \
1082
165k
    pixel *dst = (pixel *) _dst; \
1083
165k
    const pixel *left = (const pixel *) _left; \
1084
165k
    int i, j; \
1085
165k
    pixel v[size*2 - 2]; \
1086
165k
\
1087
165k
    stride /= sizeof(pixel); \
1088
1.15M
    for (i = 0; i < size - 2; i++) { \
1089
991k
        v[i*2    ] = (left[i] + left[i + 1] + 1) >> 1; \
1090
991k
        v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
1091
991k
    } \
1092
165k
    v[size*2 - 4] = (left[size - 2] + left[size - 1] + 1) >> 1; \
1093
165k
    v[size*2 - 3] = (left[size - 2] + left[size - 1] * 3 + 2) >> 2; \
1094
165k
\
1095
825k
    for (j = 0; j < size / 2; j++) \
1096
660k
        memcpy(dst + j*stride, v + j*2, size * sizeof(pixel)); \
1097
825k
    for (j = size / 2; j < size; j++) { \
1098
660k
        memcpy(dst + j*stride, v + j*2, (size*2 - 2 - j*2) * sizeof(pixel)); \
1099
660k
        memset_bpc(dst + j*stride + size*2 - 2 - j*2, left[size - 1], \
1100
660k
                   2 + j*2 - size); \
1101
660k
    } \
1102
165k
}
vp9dsp_8bpp.c:hor_up_16x16_c
Line
Count
Source
1080
41.8k
                                       const uint8_t *_left, const uint8_t *top) \
1081
41.8k
{ \
1082
41.8k
    pixel *dst = (pixel *) _dst; \
1083
41.8k
    const pixel *left = (const pixel *) _left; \
1084
41.8k
    int i, j; \
1085
41.8k
    pixel v[size*2 - 2]; \
1086
41.8k
\
1087
41.8k
    stride /= sizeof(pixel); \
1088
627k
    for (i = 0; i < size - 2; i++) { \
1089
585k
        v[i*2    ] = (left[i] + left[i + 1] + 1) >> 1; \
1090
585k
        v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
1091
585k
    } \
1092
41.8k
    v[size*2 - 4] = (left[size - 2] + left[size - 1] + 1) >> 1; \
1093
41.8k
    v[size*2 - 3] = (left[size - 2] + left[size - 1] * 3 + 2) >> 2; \
1094
41.8k
\
1095
376k
    for (j = 0; j < size / 2; j++) \
1096
334k
        memcpy(dst + j*stride, v + j*2, size * sizeof(pixel)); \
1097
376k
    for (j = size / 2; j < size; j++) { \
1098
334k
        memcpy(dst + j*stride, v + j*2, (size*2 - 2 - j*2) * sizeof(pixel)); \
1099
334k
        memset_bpc(dst + j*stride + size*2 - 2 - j*2, left[size - 1], \
1100
334k
                   2 + j*2 - size); \
1101
334k
    } \
1102
41.8k
}
vp9dsp_8bpp.c:hor_up_32x32_c
Line
Count
Source
1080
24.2k
                                       const uint8_t *_left, const uint8_t *top) \
1081
24.2k
{ \
1082
24.2k
    pixel *dst = (pixel *) _dst; \
1083
24.2k
    const pixel *left = (const pixel *) _left; \
1084
24.2k
    int i, j; \
1085
24.2k
    pixel v[size*2 - 2]; \
1086
24.2k
\
1087
24.2k
    stride /= sizeof(pixel); \
1088
751k
    for (i = 0; i < size - 2; i++) { \
1089
727k
        v[i*2    ] = (left[i] + left[i + 1] + 1) >> 1; \
1090
727k
        v[i*2 + 1] = (left[i] + left[i + 1] * 2 + left[i + 2] + 2) >> 2; \
1091
727k
    } \
1092
24.2k
    v[size*2 - 4] = (left[size - 2] + left[size - 1] + 1) >> 1; \
1093
24.2k
    v[size*2 - 3] = (left[size - 2] + left[size - 1] * 3 + 2) >> 2; \
1094
24.2k
\
1095
412k
    for (j = 0; j < size / 2; j++) \
1096
387k
        memcpy(dst + j*stride, v + j*2, size * sizeof(pixel)); \
1097
412k
    for (j = size / 2; j < size; j++) { \
1098
387k
        memcpy(dst + j*stride, v + j*2, (size*2 - 2 - j*2) * sizeof(pixel)); \
1099
387k
        memset_bpc(dst + j*stride + size*2 - 2 - j*2, left[size - 1], \
1100
387k
                   2 + j*2 - size); \
1101
387k
    } \
1102
24.2k
}
1103
1104
def_hor_up(8)
1105
def_hor_up(16)
1106
def_hor_up(32)
1107
1108
#undef DST
1109
1110
#endif /* BIT_DEPTH != 12 */
1111
1112
#if BIT_DEPTH != 8
1113
void ff_vp9dsp_intrapred_init_10(VP9DSPContext *dsp);
1114
#endif
1115
#if BIT_DEPTH != 10
1116
static
1117
#endif
1118
av_cold void FUNC(ff_vp9dsp_intrapred_init)(VP9DSPContext *dsp)
1119
19.8k
{
1120
19.8k
#define init_intra_pred_bd_aware(tx, sz) \
1121
79.2k
    dsp->intra_pred[tx][TM_VP8_PRED]          = tm_##sz##_c; \
1122
79.2k
    dsp->intra_pred[tx][DC_128_PRED]          = dc_128_##sz##_c; \
1123
79.2k
    dsp->intra_pred[tx][DC_127_PRED]          = dc_127_##sz##_c; \
1124
79.2k
    dsp->intra_pred[tx][DC_129_PRED]          = dc_129_##sz##_c
1125
1126
#if BIT_DEPTH == 12
1127
    ff_vp9dsp_intrapred_init_10(dsp);
1128
#define init_intra_pred(tx, sz) \
1129
18.2k
    init_intra_pred_bd_aware(tx, sz)
1130
#else
1131
    #define init_intra_pred(tx, sz) \
1132
61.0k
    dsp->intra_pred[tx][VERT_PRED]            = vert_##sz##_c; \
1133
61.0k
    dsp->intra_pred[tx][HOR_PRED]             = hor_##sz##_c; \
1134
61.0k
    dsp->intra_pred[tx][DC_PRED]              = dc_##sz##_c; \
1135
61.0k
    dsp->intra_pred[tx][DIAG_DOWN_LEFT_PRED]  = diag_downleft_##sz##_c; \
1136
61.0k
    dsp->intra_pred[tx][DIAG_DOWN_RIGHT_PRED] = diag_downright_##sz##_c; \
1137
61.0k
    dsp->intra_pred[tx][VERT_RIGHT_PRED]      = vert_right_##sz##_c; \
1138
61.0k
    dsp->intra_pred[tx][HOR_DOWN_PRED]        = hor_down_##sz##_c; \
1139
61.0k
    dsp->intra_pred[tx][VERT_LEFT_PRED]       = vert_left_##sz##_c; \
1140
61.0k
    dsp->intra_pred[tx][HOR_UP_PRED]          = hor_up_##sz##_c; \
1141
61.0k
    dsp->intra_pred[tx][LEFT_DC_PRED]         = dc_left_##sz##_c; \
1142
61.0k
    dsp->intra_pred[tx][TOP_DC_PRED]          = dc_top_##sz##_c; \
1143
61.0k
    init_intra_pred_bd_aware(tx, sz)
1144
#endif
1145
1146
19.8k
    init_intra_pred(TX_4X4,   4x4);
1147
19.8k
    init_intra_pred(TX_8X8,   8x8);
1148
19.8k
    init_intra_pred(TX_16X16, 16x16);
1149
19.8k
    init_intra_pred(TX_32X32, 32x32);
1150
1151
19.8k
#undef init_intra_pred
1152
19.8k
#undef init_intra_pred_bd_aware
1153
19.8k
}
ff_vp9dsp_intrapred_init_10
Line
Count
Source
1119
8.67k
{
1120
8.67k
#define init_intra_pred_bd_aware(tx, sz) \
1121
8.67k
    dsp->intra_pred[tx][TM_VP8_PRED]          = tm_##sz##_c; \
1122
8.67k
    dsp->intra_pred[tx][DC_128_PRED]          = dc_128_##sz##_c; \
1123
8.67k
    dsp->intra_pred[tx][DC_127_PRED]          = dc_127_##sz##_c; \
1124
8.67k
    dsp->intra_pred[tx][DC_129_PRED]          = dc_129_##sz##_c
1125
1126
#if BIT_DEPTH == 12
1127
    ff_vp9dsp_intrapred_init_10(dsp);
1128
#define init_intra_pred(tx, sz) \
1129
    init_intra_pred_bd_aware(tx, sz)
1130
#else
1131
8.67k
    #define init_intra_pred(tx, sz) \
1132
8.67k
    dsp->intra_pred[tx][VERT_PRED]            = vert_##sz##_c; \
1133
8.67k
    dsp->intra_pred[tx][HOR_PRED]             = hor_##sz##_c; \
1134
8.67k
    dsp->intra_pred[tx][DC_PRED]              = dc_##sz##_c; \
1135
8.67k
    dsp->intra_pred[tx][DIAG_DOWN_LEFT_PRED]  = diag_downleft_##sz##_c; \
1136
8.67k
    dsp->intra_pred[tx][DIAG_DOWN_RIGHT_PRED] = diag_downright_##sz##_c; \
1137
8.67k
    dsp->intra_pred[tx][VERT_RIGHT_PRED]      = vert_right_##sz##_c; \
1138
8.67k
    dsp->intra_pred[tx][HOR_DOWN_PRED]        = hor_down_##sz##_c; \
1139
8.67k
    dsp->intra_pred[tx][VERT_LEFT_PRED]       = vert_left_##sz##_c; \
1140
8.67k
    dsp->intra_pred[tx][HOR_UP_PRED]          = hor_up_##sz##_c; \
1141
8.67k
    dsp->intra_pred[tx][LEFT_DC_PRED]         = dc_left_##sz##_c; \
1142
8.67k
    dsp->intra_pred[tx][TOP_DC_PRED]          = dc_top_##sz##_c; \
1143
8.67k
    init_intra_pred_bd_aware(tx, sz)
1144
8.67k
#endif
1145
1146
8.67k
    init_intra_pred(TX_4X4,   4x4);
1147
8.67k
    init_intra_pred(TX_8X8,   8x8);
1148
8.67k
    init_intra_pred(TX_16X16, 16x16);
1149
8.67k
    init_intra_pred(TX_32X32, 32x32);
1150
1151
8.67k
#undef init_intra_pred
1152
8.67k
#undef init_intra_pred_bd_aware
1153
8.67k
}
vp9dsp_12bpp.c:ff_vp9dsp_intrapred_init_12
Line
Count
Source
1119
4.57k
{
1120
4.57k
#define init_intra_pred_bd_aware(tx, sz) \
1121
4.57k
    dsp->intra_pred[tx][TM_VP8_PRED]          = tm_##sz##_c; \
1122
4.57k
    dsp->intra_pred[tx][DC_128_PRED]          = dc_128_##sz##_c; \
1123
4.57k
    dsp->intra_pred[tx][DC_127_PRED]          = dc_127_##sz##_c; \
1124
4.57k
    dsp->intra_pred[tx][DC_129_PRED]          = dc_129_##sz##_c
1125
1126
4.57k
#if BIT_DEPTH == 12
1127
4.57k
    ff_vp9dsp_intrapred_init_10(dsp);
1128
4.57k
#define init_intra_pred(tx, sz) \
1129
4.57k
    init_intra_pred_bd_aware(tx, sz)
1130
#else
1131
    #define init_intra_pred(tx, sz) \
1132
    dsp->intra_pred[tx][VERT_PRED]            = vert_##sz##_c; \
1133
    dsp->intra_pred[tx][HOR_PRED]             = hor_##sz##_c; \
1134
    dsp->intra_pred[tx][DC_PRED]              = dc_##sz##_c; \
1135
    dsp->intra_pred[tx][DIAG_DOWN_LEFT_PRED]  = diag_downleft_##sz##_c; \
1136
    dsp->intra_pred[tx][DIAG_DOWN_RIGHT_PRED] = diag_downright_##sz##_c; \
1137
    dsp->intra_pred[tx][VERT_RIGHT_PRED]      = vert_right_##sz##_c; \
1138
    dsp->intra_pred[tx][HOR_DOWN_PRED]        = hor_down_##sz##_c; \
1139
    dsp->intra_pred[tx][VERT_LEFT_PRED]       = vert_left_##sz##_c; \
1140
    dsp->intra_pred[tx][HOR_UP_PRED]          = hor_up_##sz##_c; \
1141
    dsp->intra_pred[tx][LEFT_DC_PRED]         = dc_left_##sz##_c; \
1142
    dsp->intra_pred[tx][TOP_DC_PRED]          = dc_top_##sz##_c; \
1143
    init_intra_pred_bd_aware(tx, sz)
1144
#endif
1145
1146
4.57k
    init_intra_pred(TX_4X4,   4x4);
1147
4.57k
    init_intra_pred(TX_8X8,   8x8);
1148
4.57k
    init_intra_pred(TX_16X16, 16x16);
1149
4.57k
    init_intra_pred(TX_32X32, 32x32);
1150
1151
4.57k
#undef init_intra_pred
1152
4.57k
#undef init_intra_pred_bd_aware
1153
4.57k
}
vp9dsp_8bpp.c:ff_vp9dsp_intrapred_init_8
Line
Count
Source
1119
6.58k
{
1120
6.58k
#define init_intra_pred_bd_aware(tx, sz) \
1121
6.58k
    dsp->intra_pred[tx][TM_VP8_PRED]          = tm_##sz##_c; \
1122
6.58k
    dsp->intra_pred[tx][DC_128_PRED]          = dc_128_##sz##_c; \
1123
6.58k
    dsp->intra_pred[tx][DC_127_PRED]          = dc_127_##sz##_c; \
1124
6.58k
    dsp->intra_pred[tx][DC_129_PRED]          = dc_129_##sz##_c
1125
1126
#if BIT_DEPTH == 12
1127
    ff_vp9dsp_intrapred_init_10(dsp);
1128
#define init_intra_pred(tx, sz) \
1129
    init_intra_pred_bd_aware(tx, sz)
1130
#else
1131
6.58k
    #define init_intra_pred(tx, sz) \
1132
6.58k
    dsp->intra_pred[tx][VERT_PRED]            = vert_##sz##_c; \
1133
6.58k
    dsp->intra_pred[tx][HOR_PRED]             = hor_##sz##_c; \
1134
6.58k
    dsp->intra_pred[tx][DC_PRED]              = dc_##sz##_c; \
1135
6.58k
    dsp->intra_pred[tx][DIAG_DOWN_LEFT_PRED]  = diag_downleft_##sz##_c; \
1136
6.58k
    dsp->intra_pred[tx][DIAG_DOWN_RIGHT_PRED] = diag_downright_##sz##_c; \
1137
6.58k
    dsp->intra_pred[tx][VERT_RIGHT_PRED]      = vert_right_##sz##_c; \
1138
6.58k
    dsp->intra_pred[tx][HOR_DOWN_PRED]        = hor_down_##sz##_c; \
1139
6.58k
    dsp->intra_pred[tx][VERT_LEFT_PRED]       = vert_left_##sz##_c; \
1140
6.58k
    dsp->intra_pred[tx][HOR_UP_PRED]          = hor_up_##sz##_c; \
1141
6.58k
    dsp->intra_pred[tx][LEFT_DC_PRED]         = dc_left_##sz##_c; \
1142
6.58k
    dsp->intra_pred[tx][TOP_DC_PRED]          = dc_top_##sz##_c; \
1143
6.58k
    init_intra_pred_bd_aware(tx, sz)
1144
6.58k
#endif
1145
1146
6.58k
    init_intra_pred(TX_4X4,   4x4);
1147
6.58k
    init_intra_pred(TX_8X8,   8x8);
1148
6.58k
    init_intra_pred(TX_16X16, 16x16);
1149
6.58k
    init_intra_pred(TX_32X32, 32x32);
1150
1151
6.58k
#undef init_intra_pred
1152
6.58k
#undef init_intra_pred_bd_aware
1153
6.58k
}
1154
1155
#define itxfm_wrapper(type_a, type_b, sz, bits, has_dconly) \
1156
static void type_a##_##type_b##_##sz##x##sz##_add_c(uint8_t *_dst, \
1157
                                                    ptrdiff_t stride, \
1158
12.4M
                                                    int16_t *_block, int eob) \
1159
12.4M
{ \
1160
12.4M
    int i, j; \
1161
12.4M
    pixel *dst = (pixel *) _dst; \
1162
12.4M
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
12.4M
\
1164
12.4M
    stride /= sizeof(pixel); \
1165
12.4M
    if (has_dconly && eob == 1) { \
1166
1.71M
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
1.71M
                                            * 11585 + (1 << 13)) >> 14; \
1168
1.71M
        block[0] = 0; \
1169
15.6M
        for (i = 0; i < sz; i++) { \
1170
245M
            for (j = 0; j < sz; j++) \
1171
231M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
13.9M
                                                (bits ? \
1173
13.9M
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
13.9M
                                                 t)); \
1175
13.9M
            dst++; \
1176
13.9M
        } \
1177
1.71M
        return; \
1178
1.71M
    } \
1179
12.4M
\
1180
82.1M
    for (i = 0; i < sz; i++) \
1181
71.4M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
10.6M
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
82.1M
    for (i = 0; i < sz; i++) { \
1184
71.4M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
986M
        for (j = 0; j < sz; j++) \
1186
914M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
71.4M
                                            (bits ? \
1188
71.4M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
71.4M
                                             out[j])); \
1190
71.4M
        dst++; \
1191
71.4M
    } \
1192
10.6M
}
vp9dsp_10bpp.c:idct_idct_4x4_add_c
Line
Count
Source
1158
2.36M
                                                    int16_t *_block, int eob) \
1159
2.36M
{ \
1160
2.36M
    int i, j; \
1161
2.36M
    pixel *dst = (pixel *) _dst; \
1162
2.36M
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
2.36M
\
1164
2.36M
    stride /= sizeof(pixel); \
1165
2.36M
    if (has_dconly && eob == 1) { \
1166
375k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
375k
                                            * 11585 + (1 << 13)) >> 14; \
1168
375k
        block[0] = 0; \
1169
1.87M
        for (i = 0; i < sz; i++) { \
1170
7.50M
            for (j = 0; j < sz; j++) \
1171
6.00M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
1.50M
                                                (bits ? \
1173
1.50M
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
1.50M
                                                 t)); \
1175
1.50M
            dst++; \
1176
1.50M
        } \
1177
375k
        return; \
1178
375k
    } \
1179
2.36M
\
1180
9.95M
    for (i = 0; i < sz; i++) \
1181
7.96M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
1.99M
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
9.95M
    for (i = 0; i < sz; i++) { \
1184
7.96M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
39.8M
        for (j = 0; j < sz; j++) \
1186
31.8M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
7.96M
                                            (bits ? \
1188
7.96M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
7.96M
                                             out[j])); \
1190
7.96M
        dst++; \
1191
7.96M
    } \
1192
1.99M
}
vp9dsp_10bpp.c:iadst_idct_4x4_add_c
Line
Count
Source
1158
190k
                                                    int16_t *_block, int eob) \
1159
190k
{ \
1160
190k
    int i, j; \
1161
190k
    pixel *dst = (pixel *) _dst; \
1162
190k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
190k
\
1164
190k
    stride /= sizeof(pixel); \
1165
190k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
190k
\
1180
951k
    for (i = 0; i < sz; i++) \
1181
761k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
190k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
951k
    for (i = 0; i < sz; i++) { \
1184
761k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
3.80M
        for (j = 0; j < sz; j++) \
1186
3.04M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
761k
                                            (bits ? \
1188
761k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
761k
                                             out[j])); \
1190
761k
        dst++; \
1191
761k
    } \
1192
190k
}
vp9dsp_10bpp.c:idct_iadst_4x4_add_c
Line
Count
Source
1158
101k
                                                    int16_t *_block, int eob) \
1159
101k
{ \
1160
101k
    int i, j; \
1161
101k
    pixel *dst = (pixel *) _dst; \
1162
101k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
101k
\
1164
101k
    stride /= sizeof(pixel); \
1165
101k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
101k
\
1180
505k
    for (i = 0; i < sz; i++) \
1181
404k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
101k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
505k
    for (i = 0; i < sz; i++) { \
1184
404k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.02M
        for (j = 0; j < sz; j++) \
1186
1.61M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
404k
                                            (bits ? \
1188
404k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
404k
                                             out[j])); \
1190
404k
        dst++; \
1191
404k
    } \
1192
101k
}
vp9dsp_10bpp.c:iadst_iadst_4x4_add_c
Line
Count
Source
1158
119k
                                                    int16_t *_block, int eob) \
1159
119k
{ \
1160
119k
    int i, j; \
1161
119k
    pixel *dst = (pixel *) _dst; \
1162
119k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
119k
\
1164
119k
    stride /= sizeof(pixel); \
1165
119k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
119k
\
1180
596k
    for (i = 0; i < sz; i++) \
1181
477k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
119k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
596k
    for (i = 0; i < sz; i++) { \
1184
477k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.38M
        for (j = 0; j < sz; j++) \
1186
1.90M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
477k
                                            (bits ? \
1188
477k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
477k
                                             out[j])); \
1190
477k
        dst++; \
1191
477k
    } \
1192
119k
}
vp9dsp_10bpp.c:idct_idct_8x8_add_c
Line
Count
Source
1158
476k
                                                    int16_t *_block, int eob) \
1159
476k
{ \
1160
476k
    int i, j; \
1161
476k
    pixel *dst = (pixel *) _dst; \
1162
476k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
476k
\
1164
476k
    stride /= sizeof(pixel); \
1165
476k
    if (has_dconly && eob == 1) { \
1166
85.6k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
85.6k
                                            * 11585 + (1 << 13)) >> 14; \
1168
85.6k
        block[0] = 0; \
1169
770k
        for (i = 0; i < sz; i++) { \
1170
6.16M
            for (j = 0; j < sz; j++) \
1171
5.48M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
685k
                                                (bits ? \
1173
685k
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
685k
                                                 t)); \
1175
685k
            dst++; \
1176
685k
        } \
1177
85.6k
        return; \
1178
85.6k
    } \
1179
476k
\
1180
3.51M
    for (i = 0; i < sz; i++) \
1181
3.12M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
390k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
3.51M
    for (i = 0; i < sz; i++) { \
1184
3.12M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
28.1M
        for (j = 0; j < sz; j++) \
1186
24.9M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
3.12M
                                            (bits ? \
1188
3.12M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
3.12M
                                             out[j])); \
1190
3.12M
        dst++; \
1191
3.12M
    } \
1192
390k
}
vp9dsp_10bpp.c:iadst_idct_8x8_add_c
Line
Count
Source
1158
68.1k
                                                    int16_t *_block, int eob) \
1159
68.1k
{ \
1160
68.1k
    int i, j; \
1161
68.1k
    pixel *dst = (pixel *) _dst; \
1162
68.1k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
68.1k
\
1164
68.1k
    stride /= sizeof(pixel); \
1165
68.1k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
68.1k
\
1180
613k
    for (i = 0; i < sz; i++) \
1181
545k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
68.1k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
613k
    for (i = 0; i < sz; i++) { \
1184
545k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
4.90M
        for (j = 0; j < sz; j++) \
1186
4.36M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
545k
                                            (bits ? \
1188
545k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
545k
                                             out[j])); \
1190
545k
        dst++; \
1191
545k
    } \
1192
68.1k
}
vp9dsp_10bpp.c:idct_iadst_8x8_add_c
Line
Count
Source
1158
34.1k
                                                    int16_t *_block, int eob) \
1159
34.1k
{ \
1160
34.1k
    int i, j; \
1161
34.1k
    pixel *dst = (pixel *) _dst; \
1162
34.1k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
34.1k
\
1164
34.1k
    stride /= sizeof(pixel); \
1165
34.1k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
34.1k
\
1180
307k
    for (i = 0; i < sz; i++) \
1181
273k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
34.1k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
307k
    for (i = 0; i < sz; i++) { \
1184
273k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.45M
        for (j = 0; j < sz; j++) \
1186
2.18M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
273k
                                            (bits ? \
1188
273k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
273k
                                             out[j])); \
1190
273k
        dst++; \
1191
273k
    } \
1192
34.1k
}
vp9dsp_10bpp.c:iadst_iadst_8x8_add_c
Line
Count
Source
1158
43.6k
                                                    int16_t *_block, int eob) \
1159
43.6k
{ \
1160
43.6k
    int i, j; \
1161
43.6k
    pixel *dst = (pixel *) _dst; \
1162
43.6k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
43.6k
\
1164
43.6k
    stride /= sizeof(pixel); \
1165
43.6k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
43.6k
\
1180
392k
    for (i = 0; i < sz; i++) \
1181
349k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
43.6k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
392k
    for (i = 0; i < sz; i++) { \
1184
349k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
3.14M
        for (j = 0; j < sz; j++) \
1186
2.79M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
349k
                                            (bits ? \
1188
349k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
349k
                                             out[j])); \
1190
349k
        dst++; \
1191
349k
    } \
1192
43.6k
}
vp9dsp_10bpp.c:idct_idct_16x16_add_c
Line
Count
Source
1158
167k
                                                    int16_t *_block, int eob) \
1159
167k
{ \
1160
167k
    int i, j; \
1161
167k
    pixel *dst = (pixel *) _dst; \
1162
167k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
167k
\
1164
167k
    stride /= sizeof(pixel); \
1165
167k
    if (has_dconly && eob == 1) { \
1166
39.6k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
39.6k
                                            * 11585 + (1 << 13)) >> 14; \
1168
39.6k
        block[0] = 0; \
1169
674k
        for (i = 0; i < sz; i++) { \
1170
10.7M
            for (j = 0; j < sz; j++) \
1171
10.1M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
634k
                                                (bits ? \
1173
634k
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
634k
                                                 t)); \
1175
634k
            dst++; \
1176
634k
        } \
1177
39.6k
        return; \
1178
39.6k
    } \
1179
167k
\
1180
2.17M
    for (i = 0; i < sz; i++) \
1181
2.04M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
128k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
2.17M
    for (i = 0; i < sz; i++) { \
1184
2.04M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
34.8M
        for (j = 0; j < sz; j++) \
1186
32.7M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
2.04M
                                            (bits ? \
1188
2.04M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
2.04M
                                             out[j])); \
1190
2.04M
        dst++; \
1191
2.04M
    } \
1192
128k
}
vp9dsp_10bpp.c:iadst_idct_16x16_add_c
Line
Count
Source
1158
26.6k
                                                    int16_t *_block, int eob) \
1159
26.6k
{ \
1160
26.6k
    int i, j; \
1161
26.6k
    pixel *dst = (pixel *) _dst; \
1162
26.6k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
26.6k
\
1164
26.6k
    stride /= sizeof(pixel); \
1165
26.6k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
26.6k
\
1180
452k
    for (i = 0; i < sz; i++) \
1181
426k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
26.6k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
452k
    for (i = 0; i < sz; i++) { \
1184
426k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
7.24M
        for (j = 0; j < sz; j++) \
1186
6.82M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
426k
                                            (bits ? \
1188
426k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
426k
                                             out[j])); \
1190
426k
        dst++; \
1191
426k
    } \
1192
26.6k
}
vp9dsp_10bpp.c:idct_iadst_16x16_add_c
Line
Count
Source
1158
13.9k
                                                    int16_t *_block, int eob) \
1159
13.9k
{ \
1160
13.9k
    int i, j; \
1161
13.9k
    pixel *dst = (pixel *) _dst; \
1162
13.9k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
13.9k
\
1164
13.9k
    stride /= sizeof(pixel); \
1165
13.9k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
13.9k
\
1180
236k
    for (i = 0; i < sz; i++) \
1181
222k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
13.9k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
236k
    for (i = 0; i < sz; i++) { \
1184
222k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
3.78M
        for (j = 0; j < sz; j++) \
1186
3.56M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
222k
                                            (bits ? \
1188
222k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
222k
                                             out[j])); \
1190
222k
        dst++; \
1191
222k
    } \
1192
13.9k
}
vp9dsp_10bpp.c:iadst_iadst_16x16_add_c
Line
Count
Source
1158
18.9k
                                                    int16_t *_block, int eob) \
1159
18.9k
{ \
1160
18.9k
    int i, j; \
1161
18.9k
    pixel *dst = (pixel *) _dst; \
1162
18.9k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
18.9k
\
1164
18.9k
    stride /= sizeof(pixel); \
1165
18.9k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
18.9k
\
1180
322k
    for (i = 0; i < sz; i++) \
1181
303k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
18.9k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
322k
    for (i = 0; i < sz; i++) { \
1184
303k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
5.16M
        for (j = 0; j < sz; j++) \
1186
4.86M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
303k
                                            (bits ? \
1188
303k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
303k
                                             out[j])); \
1190
303k
        dst++; \
1191
303k
    } \
1192
18.9k
}
vp9dsp_10bpp.c:idct_idct_32x32_add_c
Line
Count
Source
1158
205k
                                                    int16_t *_block, int eob) \
1159
205k
{ \
1160
205k
    int i, j; \
1161
205k
    pixel *dst = (pixel *) _dst; \
1162
205k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
205k
\
1164
205k
    stride /= sizeof(pixel); \
1165
205k
    if (has_dconly && eob == 1) { \
1166
47.3k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
47.3k
                                            * 11585 + (1 << 13)) >> 14; \
1168
47.3k
        block[0] = 0; \
1169
1.56M
        for (i = 0; i < sz; i++) { \
1170
50.0M
            for (j = 0; j < sz; j++) \
1171
48.5M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
1.51M
                                                (bits ? \
1173
1.51M
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
1.51M
                                                 t)); \
1175
1.51M
            dst++; \
1176
1.51M
        } \
1177
47.3k
        return; \
1178
47.3k
    } \
1179
205k
\
1180
5.23M
    for (i = 0; i < sz; i++) \
1181
5.07M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
158k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
5.23M
    for (i = 0; i < sz; i++) { \
1184
5.07M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
167M
        for (j = 0; j < sz; j++) \
1186
162M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
5.07M
                                            (bits ? \
1188
5.07M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
5.07M
                                             out[j])); \
1190
5.07M
        dst++; \
1191
5.07M
    } \
1192
158k
}
vp9dsp_10bpp.c:iwht_iwht_4x4_add_c
Line
Count
Source
1158
25.3k
                                                    int16_t *_block, int eob) \
1159
25.3k
{ \
1160
25.3k
    int i, j; \
1161
25.3k
    pixel *dst = (pixel *) _dst; \
1162
25.3k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
25.3k
\
1164
25.3k
    stride /= sizeof(pixel); \
1165
25.3k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
25.3k
\
1180
126k
    for (i = 0; i < sz; i++) \
1181
101k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
25.3k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
126k
    for (i = 0; i < sz; i++) { \
1184
101k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
507k
        for (j = 0; j < sz; j++) \
1186
405k
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
101k
                                            (bits ? \
1188
101k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
101k
                                             out[j])); \
1190
101k
        dst++; \
1191
101k
    } \
1192
25.3k
}
vp9dsp_12bpp.c:idct_idct_4x4_add_c
Line
Count
Source
1158
3.40M
                                                    int16_t *_block, int eob) \
1159
3.40M
{ \
1160
3.40M
    int i, j; \
1161
3.40M
    pixel *dst = (pixel *) _dst; \
1162
3.40M
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
3.40M
\
1164
3.40M
    stride /= sizeof(pixel); \
1165
3.40M
    if (has_dconly && eob == 1) { \
1166
488k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
488k
                                            * 11585 + (1 << 13)) >> 14; \
1168
488k
        block[0] = 0; \
1169
2.44M
        for (i = 0; i < sz; i++) { \
1170
9.76M
            for (j = 0; j < sz; j++) \
1171
7.81M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
1.95M
                                                (bits ? \
1173
1.95M
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
1.95M
                                                 t)); \
1175
1.95M
            dst++; \
1176
1.95M
        } \
1177
488k
        return; \
1178
488k
    } \
1179
3.40M
\
1180
14.6M
    for (i = 0; i < sz; i++) \
1181
11.6M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
2.92M
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
14.6M
    for (i = 0; i < sz; i++) { \
1184
11.6M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
58.4M
        for (j = 0; j < sz; j++) \
1186
46.7M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
11.6M
                                            (bits ? \
1188
11.6M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
11.6M
                                             out[j])); \
1190
11.6M
        dst++; \
1191
11.6M
    } \
1192
2.92M
}
vp9dsp_12bpp.c:iadst_idct_4x4_add_c
Line
Count
Source
1158
140k
                                                    int16_t *_block, int eob) \
1159
140k
{ \
1160
140k
    int i, j; \
1161
140k
    pixel *dst = (pixel *) _dst; \
1162
140k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
140k
\
1164
140k
    stride /= sizeof(pixel); \
1165
140k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
140k
\
1180
700k
    for (i = 0; i < sz; i++) \
1181
560k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
140k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
700k
    for (i = 0; i < sz; i++) { \
1184
560k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.80M
        for (j = 0; j < sz; j++) \
1186
2.24M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
560k
                                            (bits ? \
1188
560k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
560k
                                             out[j])); \
1190
560k
        dst++; \
1191
560k
    } \
1192
140k
}
vp9dsp_12bpp.c:idct_iadst_4x4_add_c
Line
Count
Source
1158
70.1k
                                                    int16_t *_block, int eob) \
1159
70.1k
{ \
1160
70.1k
    int i, j; \
1161
70.1k
    pixel *dst = (pixel *) _dst; \
1162
70.1k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
70.1k
\
1164
70.1k
    stride /= sizeof(pixel); \
1165
70.1k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
70.1k
\
1180
350k
    for (i = 0; i < sz; i++) \
1181
280k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
70.1k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
350k
    for (i = 0; i < sz; i++) { \
1184
280k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
1.40M
        for (j = 0; j < sz; j++) \
1186
1.12M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
280k
                                            (bits ? \
1188
280k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
280k
                                             out[j])); \
1190
280k
        dst++; \
1191
280k
    } \
1192
70.1k
}
vp9dsp_12bpp.c:iadst_iadst_4x4_add_c
Line
Count
Source
1158
90.6k
                                                    int16_t *_block, int eob) \
1159
90.6k
{ \
1160
90.6k
    int i, j; \
1161
90.6k
    pixel *dst = (pixel *) _dst; \
1162
90.6k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
90.6k
\
1164
90.6k
    stride /= sizeof(pixel); \
1165
90.6k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
90.6k
\
1180
453k
    for (i = 0; i < sz; i++) \
1181
362k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
90.6k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
453k
    for (i = 0; i < sz; i++) { \
1184
362k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
1.81M
        for (j = 0; j < sz; j++) \
1186
1.45M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
362k
                                            (bits ? \
1188
362k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
362k
                                             out[j])); \
1190
362k
        dst++; \
1191
362k
    } \
1192
90.6k
}
vp9dsp_12bpp.c:idct_idct_8x8_add_c
Line
Count
Source
1158
597k
                                                    int16_t *_block, int eob) \
1159
597k
{ \
1160
597k
    int i, j; \
1161
597k
    pixel *dst = (pixel *) _dst; \
1162
597k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
597k
\
1164
597k
    stride /= sizeof(pixel); \
1165
597k
    if (has_dconly && eob == 1) { \
1166
109k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
109k
                                            * 11585 + (1 << 13)) >> 14; \
1168
109k
        block[0] = 0; \
1169
987k
        for (i = 0; i < sz; i++) { \
1170
7.90M
            for (j = 0; j < sz; j++) \
1171
7.02M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
877k
                                                (bits ? \
1173
877k
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
877k
                                                 t)); \
1175
877k
            dst++; \
1176
877k
        } \
1177
109k
        return; \
1178
109k
    } \
1179
597k
\
1180
4.39M
    for (i = 0; i < sz; i++) \
1181
3.90M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
487k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
4.39M
    for (i = 0; i < sz; i++) { \
1184
3.90M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
35.1M
        for (j = 0; j < sz; j++) \
1186
31.2M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
3.90M
                                            (bits ? \
1188
3.90M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
3.90M
                                             out[j])); \
1190
3.90M
        dst++; \
1191
3.90M
    } \
1192
487k
}
vp9dsp_12bpp.c:iadst_idct_8x8_add_c
Line
Count
Source
1158
61.2k
                                                    int16_t *_block, int eob) \
1159
61.2k
{ \
1160
61.2k
    int i, j; \
1161
61.2k
    pixel *dst = (pixel *) _dst; \
1162
61.2k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
61.2k
\
1164
61.2k
    stride /= sizeof(pixel); \
1165
61.2k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
61.2k
\
1180
551k
    for (i = 0; i < sz; i++) \
1181
490k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
61.2k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
551k
    for (i = 0; i < sz; i++) { \
1184
490k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
4.41M
        for (j = 0; j < sz; j++) \
1186
3.92M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
490k
                                            (bits ? \
1188
490k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
490k
                                             out[j])); \
1190
490k
        dst++; \
1191
490k
    } \
1192
61.2k
}
vp9dsp_12bpp.c:idct_iadst_8x8_add_c
Line
Count
Source
1158
30.2k
                                                    int16_t *_block, int eob) \
1159
30.2k
{ \
1160
30.2k
    int i, j; \
1161
30.2k
    pixel *dst = (pixel *) _dst; \
1162
30.2k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
30.2k
\
1164
30.2k
    stride /= sizeof(pixel); \
1165
30.2k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
30.2k
\
1180
272k
    for (i = 0; i < sz; i++) \
1181
242k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
30.2k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
272k
    for (i = 0; i < sz; i++) { \
1184
242k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.17M
        for (j = 0; j < sz; j++) \
1186
1.93M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
242k
                                            (bits ? \
1188
242k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
242k
                                             out[j])); \
1190
242k
        dst++; \
1191
242k
    } \
1192
30.2k
}
vp9dsp_12bpp.c:iadst_iadst_8x8_add_c
Line
Count
Source
1158
39.8k
                                                    int16_t *_block, int eob) \
1159
39.8k
{ \
1160
39.8k
    int i, j; \
1161
39.8k
    pixel *dst = (pixel *) _dst; \
1162
39.8k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
39.8k
\
1164
39.8k
    stride /= sizeof(pixel); \
1165
39.8k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
39.8k
\
1180
358k
    for (i = 0; i < sz; i++) \
1181
319k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
39.8k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
358k
    for (i = 0; i < sz; i++) { \
1184
319k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.87M
        for (j = 0; j < sz; j++) \
1186
2.55M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
319k
                                            (bits ? \
1188
319k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
319k
                                             out[j])); \
1190
319k
        dst++; \
1191
319k
    } \
1192
39.8k
}
vp9dsp_12bpp.c:idct_idct_16x16_add_c
Line
Count
Source
1158
251k
                                                    int16_t *_block, int eob) \
1159
251k
{ \
1160
251k
    int i, j; \
1161
251k
    pixel *dst = (pixel *) _dst; \
1162
251k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
251k
\
1164
251k
    stride /= sizeof(pixel); \
1165
251k
    if (has_dconly && eob == 1) { \
1166
57.1k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
57.1k
                                            * 11585 + (1 << 13)) >> 14; \
1168
57.1k
        block[0] = 0; \
1169
971k
        for (i = 0; i < sz; i++) { \
1170
15.5M
            for (j = 0; j < sz; j++) \
1171
14.6M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
914k
                                                (bits ? \
1173
914k
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
914k
                                                 t)); \
1175
914k
            dst++; \
1176
914k
        } \
1177
57.1k
        return; \
1178
57.1k
    } \
1179
251k
\
1180
3.30M
    for (i = 0; i < sz; i++) \
1181
3.10M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
194k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
3.30M
    for (i = 0; i < sz; i++) { \
1184
3.10M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
52.8M
        for (j = 0; j < sz; j++) \
1186
49.6M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
3.10M
                                            (bits ? \
1188
3.10M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
3.10M
                                             out[j])); \
1190
3.10M
        dst++; \
1191
3.10M
    } \
1192
194k
}
vp9dsp_12bpp.c:iadst_idct_16x16_add_c
Line
Count
Source
1158
47.4k
                                                    int16_t *_block, int eob) \
1159
47.4k
{ \
1160
47.4k
    int i, j; \
1161
47.4k
    pixel *dst = (pixel *) _dst; \
1162
47.4k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
47.4k
\
1164
47.4k
    stride /= sizeof(pixel); \
1165
47.4k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
47.4k
\
1180
806k
    for (i = 0; i < sz; i++) \
1181
758k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
47.4k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
806k
    for (i = 0; i < sz; i++) { \
1184
758k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
12.9M
        for (j = 0; j < sz; j++) \
1186
12.1M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
758k
                                            (bits ? \
1188
758k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
758k
                                             out[j])); \
1190
758k
        dst++; \
1191
758k
    } \
1192
47.4k
}
vp9dsp_12bpp.c:idct_iadst_16x16_add_c
Line
Count
Source
1158
26.6k
                                                    int16_t *_block, int eob) \
1159
26.6k
{ \
1160
26.6k
    int i, j; \
1161
26.6k
    pixel *dst = (pixel *) _dst; \
1162
26.6k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
26.6k
\
1164
26.6k
    stride /= sizeof(pixel); \
1165
26.6k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
26.6k
\
1180
453k
    for (i = 0; i < sz; i++) \
1181
427k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
26.6k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
453k
    for (i = 0; i < sz; i++) { \
1184
427k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
7.26M
        for (j = 0; j < sz; j++) \
1186
6.83M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
427k
                                            (bits ? \
1188
427k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
427k
                                             out[j])); \
1190
427k
        dst++; \
1191
427k
    } \
1192
26.6k
}
vp9dsp_12bpp.c:iadst_iadst_16x16_add_c
Line
Count
Source
1158
30.9k
                                                    int16_t *_block, int eob) \
1159
30.9k
{ \
1160
30.9k
    int i, j; \
1161
30.9k
    pixel *dst = (pixel *) _dst; \
1162
30.9k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
30.9k
\
1164
30.9k
    stride /= sizeof(pixel); \
1165
30.9k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
30.9k
\
1180
525k
    for (i = 0; i < sz; i++) \
1181
494k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
30.9k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
525k
    for (i = 0; i < sz; i++) { \
1184
494k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
8.40M
        for (j = 0; j < sz; j++) \
1186
7.91M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
494k
                                            (bits ? \
1188
494k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
494k
                                             out[j])); \
1190
494k
        dst++; \
1191
494k
    } \
1192
30.9k
}
vp9dsp_12bpp.c:idct_idct_32x32_add_c
Line
Count
Source
1158
206k
                                                    int16_t *_block, int eob) \
1159
206k
{ \
1160
206k
    int i, j; \
1161
206k
    pixel *dst = (pixel *) _dst; \
1162
206k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
206k
\
1164
206k
    stride /= sizeof(pixel); \
1165
206k
    if (has_dconly && eob == 1) { \
1166
60.2k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
60.2k
                                            * 11585 + (1 << 13)) >> 14; \
1168
60.2k
        block[0] = 0; \
1169
1.98M
        for (i = 0; i < sz; i++) { \
1170
63.6M
            for (j = 0; j < sz; j++) \
1171
61.7M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
1.92M
                                                (bits ? \
1173
1.92M
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
1.92M
                                                 t)); \
1175
1.92M
            dst++; \
1176
1.92M
        } \
1177
60.2k
        return; \
1178
60.2k
    } \
1179
206k
\
1180
4.81M
    for (i = 0; i < sz; i++) \
1181
4.67M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
145k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
4.81M
    for (i = 0; i < sz; i++) { \
1184
4.67M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
154M
        for (j = 0; j < sz; j++) \
1186
149M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
4.67M
                                            (bits ? \
1188
4.67M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
4.67M
                                             out[j])); \
1190
4.67M
        dst++; \
1191
4.67M
    } \
1192
145k
}
vp9dsp_12bpp.c:iwht_iwht_4x4_add_c
Line
Count
Source
1158
36.7k
                                                    int16_t *_block, int eob) \
1159
36.7k
{ \
1160
36.7k
    int i, j; \
1161
36.7k
    pixel *dst = (pixel *) _dst; \
1162
36.7k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
36.7k
\
1164
36.7k
    stride /= sizeof(pixel); \
1165
36.7k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
36.7k
\
1180
183k
    for (i = 0; i < sz; i++) \
1181
146k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
36.7k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
183k
    for (i = 0; i < sz; i++) { \
1184
146k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
734k
        for (j = 0; j < sz; j++) \
1186
587k
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
146k
                                            (bits ? \
1188
146k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
146k
                                             out[j])); \
1190
146k
        dst++; \
1191
146k
    } \
1192
36.7k
}
vp9dsp_8bpp.c:idct_idct_4x4_add_c
Line
Count
Source
1158
2.17M
                                                    int16_t *_block, int eob) \
1159
2.17M
{ \
1160
2.17M
    int i, j; \
1161
2.17M
    pixel *dst = (pixel *) _dst; \
1162
2.17M
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
2.17M
\
1164
2.17M
    stride /= sizeof(pixel); \
1165
2.17M
    if (has_dconly && eob == 1) { \
1166
309k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
309k
                                            * 11585 + (1 << 13)) >> 14; \
1168
309k
        block[0] = 0; \
1169
1.54M
        for (i = 0; i < sz; i++) { \
1170
6.18M
            for (j = 0; j < sz; j++) \
1171
4.94M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
1.23M
                                                (bits ? \
1173
1.23M
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
1.23M
                                                 t)); \
1175
1.23M
            dst++; \
1176
1.23M
        } \
1177
309k
        return; \
1178
309k
    } \
1179
2.17M
\
1180
9.31M
    for (i = 0; i < sz; i++) \
1181
7.45M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
1.86M
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
9.31M
    for (i = 0; i < sz; i++) { \
1184
7.45M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
37.2M
        for (j = 0; j < sz; j++) \
1186
29.8M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
7.45M
                                            (bits ? \
1188
7.45M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
7.45M
                                             out[j])); \
1190
7.45M
        dst++; \
1191
7.45M
    } \
1192
1.86M
}
vp9dsp_8bpp.c:iadst_idct_4x4_add_c
Line
Count
Source
1158
121k
                                                    int16_t *_block, int eob) \
1159
121k
{ \
1160
121k
    int i, j; \
1161
121k
    pixel *dst = (pixel *) _dst; \
1162
121k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
121k
\
1164
121k
    stride /= sizeof(pixel); \
1165
121k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
121k
\
1180
608k
    for (i = 0; i < sz; i++) \
1181
486k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
121k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
608k
    for (i = 0; i < sz; i++) { \
1184
486k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.43M
        for (j = 0; j < sz; j++) \
1186
1.94M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
486k
                                            (bits ? \
1188
486k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
486k
                                             out[j])); \
1190
486k
        dst++; \
1191
486k
    } \
1192
121k
}
vp9dsp_8bpp.c:idct_iadst_4x4_add_c
Line
Count
Source
1158
62.4k
                                                    int16_t *_block, int eob) \
1159
62.4k
{ \
1160
62.4k
    int i, j; \
1161
62.4k
    pixel *dst = (pixel *) _dst; \
1162
62.4k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
62.4k
\
1164
62.4k
    stride /= sizeof(pixel); \
1165
62.4k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
62.4k
\
1180
312k
    for (i = 0; i < sz; i++) \
1181
249k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
62.4k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
312k
    for (i = 0; i < sz; i++) { \
1184
249k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
1.24M
        for (j = 0; j < sz; j++) \
1186
999k
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
249k
                                            (bits ? \
1188
249k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
249k
                                             out[j])); \
1190
249k
        dst++; \
1191
249k
    } \
1192
62.4k
}
vp9dsp_8bpp.c:iadst_iadst_4x4_add_c
Line
Count
Source
1158
83.9k
                                                    int16_t *_block, int eob) \
1159
83.9k
{ \
1160
83.9k
    int i, j; \
1161
83.9k
    pixel *dst = (pixel *) _dst; \
1162
83.9k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
83.9k
\
1164
83.9k
    stride /= sizeof(pixel); \
1165
83.9k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
83.9k
\
1180
419k
    for (i = 0; i < sz; i++) \
1181
335k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
83.9k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
419k
    for (i = 0; i < sz; i++) { \
1184
335k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
1.67M
        for (j = 0; j < sz; j++) \
1186
1.34M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
335k
                                            (bits ? \
1188
335k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
335k
                                             out[j])); \
1190
335k
        dst++; \
1191
335k
    } \
1192
83.9k
}
vp9dsp_8bpp.c:idct_idct_8x8_add_c
Line
Count
Source
1158
331k
                                                    int16_t *_block, int eob) \
1159
331k
{ \
1160
331k
    int i, j; \
1161
331k
    pixel *dst = (pixel *) _dst; \
1162
331k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
331k
\
1164
331k
    stride /= sizeof(pixel); \
1165
331k
    if (has_dconly && eob == 1) { \
1166
56.8k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
56.8k
                                            * 11585 + (1 << 13)) >> 14; \
1168
56.8k
        block[0] = 0; \
1169
511k
        for (i = 0; i < sz; i++) { \
1170
4.09M
            for (j = 0; j < sz; j++) \
1171
3.64M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
455k
                                                (bits ? \
1173
455k
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
455k
                                                 t)); \
1175
455k
            dst++; \
1176
455k
        } \
1177
56.8k
        return; \
1178
56.8k
    } \
1179
331k
\
1180
2.47M
    for (i = 0; i < sz; i++) \
1181
2.20M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
275k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
2.47M
    for (i = 0; i < sz; i++) { \
1184
2.20M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
19.8M
        for (j = 0; j < sz; j++) \
1186
17.6M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
2.20M
                                            (bits ? \
1188
2.20M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
2.20M
                                             out[j])); \
1190
2.20M
        dst++; \
1191
2.20M
    } \
1192
275k
}
vp9dsp_8bpp.c:iadst_idct_8x8_add_c
Line
Count
Source
1158
52.2k
                                                    int16_t *_block, int eob) \
1159
52.2k
{ \
1160
52.2k
    int i, j; \
1161
52.2k
    pixel *dst = (pixel *) _dst; \
1162
52.2k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
52.2k
\
1164
52.2k
    stride /= sizeof(pixel); \
1165
52.2k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
52.2k
\
1180
470k
    for (i = 0; i < sz; i++) \
1181
418k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
52.2k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
470k
    for (i = 0; i < sz; i++) { \
1184
418k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
3.76M
        for (j = 0; j < sz; j++) \
1186
3.34M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
418k
                                            (bits ? \
1188
418k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
418k
                                             out[j])); \
1190
418k
        dst++; \
1191
418k
    } \
1192
52.2k
}
vp9dsp_8bpp.c:idct_iadst_8x8_add_c
Line
Count
Source
1158
29.1k
                                                    int16_t *_block, int eob) \
1159
29.1k
{ \
1160
29.1k
    int i, j; \
1161
29.1k
    pixel *dst = (pixel *) _dst; \
1162
29.1k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
29.1k
\
1164
29.1k
    stride /= sizeof(pixel); \
1165
29.1k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
29.1k
\
1180
262k
    for (i = 0; i < sz; i++) \
1181
233k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
29.1k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
262k
    for (i = 0; i < sz; i++) { \
1184
233k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.10M
        for (j = 0; j < sz; j++) \
1186
1.86M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
233k
                                            (bits ? \
1188
233k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
233k
                                             out[j])); \
1190
233k
        dst++; \
1191
233k
    } \
1192
29.1k
}
vp9dsp_8bpp.c:iadst_iadst_8x8_add_c
Line
Count
Source
1158
34.7k
                                                    int16_t *_block, int eob) \
1159
34.7k
{ \
1160
34.7k
    int i, j; \
1161
34.7k
    pixel *dst = (pixel *) _dst; \
1162
34.7k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
34.7k
\
1164
34.7k
    stride /= sizeof(pixel); \
1165
34.7k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
34.7k
\
1180
313k
    for (i = 0; i < sz; i++) \
1181
278k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
34.7k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
313k
    for (i = 0; i < sz; i++) { \
1184
278k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.50M
        for (j = 0; j < sz; j++) \
1186
2.22M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
278k
                                            (bits ? \
1188
278k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
278k
                                             out[j])); \
1190
278k
        dst++; \
1191
278k
    } \
1192
34.7k
}
vp9dsp_8bpp.c:idct_idct_16x16_add_c
Line
Count
Source
1158
195k
                                                    int16_t *_block, int eob) \
1159
195k
{ \
1160
195k
    int i, j; \
1161
195k
    pixel *dst = (pixel *) _dst; \
1162
195k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
195k
\
1164
195k
    stride /= sizeof(pixel); \
1165
195k
    if (has_dconly && eob == 1) { \
1166
40.7k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
40.7k
                                            * 11585 + (1 << 13)) >> 14; \
1168
40.7k
        block[0] = 0; \
1169
691k
        for (i = 0; i < sz; i++) { \
1170
11.0M
            for (j = 0; j < sz; j++) \
1171
10.4M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
651k
                                                (bits ? \
1173
651k
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
651k
                                                 t)); \
1175
651k
            dst++; \
1176
651k
        } \
1177
40.7k
        return; \
1178
40.7k
    } \
1179
195k
\
1180
2.63M
    for (i = 0; i < sz; i++) \
1181
2.48M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
155k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
2.63M
    for (i = 0; i < sz; i++) { \
1184
2.48M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
42.2M
        for (j = 0; j < sz; j++) \
1186
39.7M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
2.48M
                                            (bits ? \
1188
2.48M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
2.48M
                                             out[j])); \
1190
2.48M
        dst++; \
1191
2.48M
    } \
1192
155k
}
vp9dsp_8bpp.c:iadst_idct_16x16_add_c
Line
Count
Source
1158
36.3k
                                                    int16_t *_block, int eob) \
1159
36.3k
{ \
1160
36.3k
    int i, j; \
1161
36.3k
    pixel *dst = (pixel *) _dst; \
1162
36.3k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
36.3k
\
1164
36.3k
    stride /= sizeof(pixel); \
1165
36.3k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
36.3k
\
1180
617k
    for (i = 0; i < sz; i++) \
1181
581k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
36.3k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
617k
    for (i = 0; i < sz; i++) { \
1184
581k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
9.88M
        for (j = 0; j < sz; j++) \
1186
9.30M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
581k
                                            (bits ? \
1188
581k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
581k
                                             out[j])); \
1190
581k
        dst++; \
1191
581k
    } \
1192
36.3k
}
vp9dsp_8bpp.c:idct_iadst_16x16_add_c
Line
Count
Source
1158
21.3k
                                                    int16_t *_block, int eob) \
1159
21.3k
{ \
1160
21.3k
    int i, j; \
1161
21.3k
    pixel *dst = (pixel *) _dst; \
1162
21.3k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
21.3k
\
1164
21.3k
    stride /= sizeof(pixel); \
1165
21.3k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
21.3k
\
1180
362k
    for (i = 0; i < sz; i++) \
1181
341k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
21.3k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
362k
    for (i = 0; i < sz; i++) { \
1184
341k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
5.79M
        for (j = 0; j < sz; j++) \
1186
5.45M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
341k
                                            (bits ? \
1188
341k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
341k
                                             out[j])); \
1190
341k
        dst++; \
1191
341k
    } \
1192
21.3k
}
vp9dsp_8bpp.c:iadst_iadst_16x16_add_c
Line
Count
Source
1158
24.5k
                                                    int16_t *_block, int eob) \
1159
24.5k
{ \
1160
24.5k
    int i, j; \
1161
24.5k
    pixel *dst = (pixel *) _dst; \
1162
24.5k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
24.5k
\
1164
24.5k
    stride /= sizeof(pixel); \
1165
24.5k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
24.5k
\
1180
417k
    for (i = 0; i < sz; i++) \
1181
392k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
24.5k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
417k
    for (i = 0; i < sz; i++) { \
1184
392k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
6.68M
        for (j = 0; j < sz; j++) \
1186
6.28M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
392k
                                            (bits ? \
1188
392k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
392k
                                             out[j])); \
1190
392k
        dst++; \
1191
392k
    } \
1192
24.5k
}
vp9dsp_8bpp.c:idct_idct_32x32_add_c
Line
Count
Source
1158
236k
                                                    int16_t *_block, int eob) \
1159
236k
{ \
1160
236k
    int i, j; \
1161
236k
    pixel *dst = (pixel *) _dst; \
1162
236k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
236k
\
1164
236k
    stride /= sizeof(pixel); \
1165
236k
    if (has_dconly && eob == 1) { \
1166
49.5k
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
49.5k
                                            * 11585 + (1 << 13)) >> 14; \
1168
49.5k
        block[0] = 0; \
1169
1.63M
        for (i = 0; i < sz; i++) { \
1170
52.2M
            for (j = 0; j < sz; j++) \
1171
50.7M
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
1.58M
                                                (bits ? \
1173
1.58M
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
1.58M
                                                 t)); \
1175
1.58M
            dst++; \
1176
1.58M
        } \
1177
49.5k
        return; \
1178
49.5k
    } \
1179
236k
\
1180
6.18M
    for (i = 0; i < sz; i++) \
1181
5.99M
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
187k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
6.18M
    for (i = 0; i < sz; i++) { \
1184
5.99M
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
197M
        for (j = 0; j < sz; j++) \
1186
191M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
5.99M
                                            (bits ? \
1188
5.99M
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
5.99M
                                             out[j])); \
1190
5.99M
        dst++; \
1191
5.99M
    } \
1192
187k
}
vp9dsp_8bpp.c:iwht_iwht_4x4_add_c
Line
Count
Source
1158
114k
                                                    int16_t *_block, int eob) \
1159
114k
{ \
1160
114k
    int i, j; \
1161
114k
    pixel *dst = (pixel *) _dst; \
1162
114k
    dctcoef *block = (dctcoef *) _block, tmp[sz * sz], out[sz]; \
1163
114k
\
1164
114k
    stride /= sizeof(pixel); \
1165
114k
    if (has_dconly && eob == 1) { \
1166
0
        const int t  = ((((dctint) block[0] * 11585 + (1 << 13)) >> 14) \
1167
0
                                            * 11585 + (1 << 13)) >> 14; \
1168
0
        block[0] = 0; \
1169
0
        for (i = 0; i < sz; i++) { \
1170
0
            for (j = 0; j < sz; j++) \
1171
0
                dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1172
0
                                                (bits ? \
1173
0
                                                 (int)(t + (1U << (bits - 1))) >> bits : \
1174
0
                                                 t)); \
1175
0
            dst++; \
1176
0
        } \
1177
0
        return; \
1178
0
    } \
1179
114k
\
1180
570k
    for (i = 0; i < sz; i++) \
1181
456k
        type_a##sz##_1d(block + i, sz, tmp + i * sz, 0); \
1182
114k
    memset(block, 0, sz * sz * sizeof(*block)); \
1183
570k
    for (i = 0; i < sz; i++) { \
1184
456k
        type_b##sz##_1d(tmp + i, sz, out, 1); \
1185
2.28M
        for (j = 0; j < sz; j++) \
1186
1.82M
            dst[j * stride] = av_clip_pixel(dst[j * stride] + \
1187
456k
                                            (bits ? \
1188
456k
                                             (int)(out[j] + (1U << (bits - 1))) >> bits : \
1189
456k
                                             out[j])); \
1190
456k
        dst++; \
1191
456k
    } \
1192
114k
}
1193
1194
#define itxfm_wrap(sz, bits) \
1195
itxfm_wrapper(idct,  idct,  sz, bits, 1) \
1196
itxfm_wrapper(iadst, idct,  sz, bits, 0) \
1197
itxfm_wrapper(idct,  iadst, sz, bits, 0) \
1198
itxfm_wrapper(iadst, iadst, sz, bits, 0)
1199
1200
3.66G
#define IN(x) ((dctint) in[(x) * stride])
1201
1202
static av_always_inline void idct4_1d(const dctcoef *in, ptrdiff_t stride,
1203
                                      dctcoef *out, int pass)
1204
56.9M
{
1205
56.9M
    dctint t0, t1, t2, t3;
1206
1207
56.9M
    t0 = ((IN(0) + IN(2)) * 11585 + (1 << 13)) >> 14;
1208
56.9M
    t1 = ((IN(0) - IN(2)) * 11585 + (1 << 13)) >> 14;
1209
56.9M
    t2 = (IN(1) *  6270 - IN(3) * 15137 + (1 << 13)) >> 14;
1210
56.9M
    t3 = (IN(1) * 15137 + IN(3) *  6270 + (1 << 13)) >> 14;
1211
1212
56.9M
    out[0] = t0 + t3;
1213
56.9M
    out[1] = t1 + t2;
1214
56.9M
    out[2] = t1 - t2;
1215
56.9M
    out[3] = t0 - t3;
1216
56.9M
}
vp9dsp_10bpp.c:idct4_1d
Line
Count
Source
1204
17.0M
{
1205
17.0M
    dctint t0, t1, t2, t3;
1206
1207
17.0M
    t0 = ((IN(0) + IN(2)) * 11585 + (1 << 13)) >> 14;
1208
17.0M
    t1 = ((IN(0) - IN(2)) * 11585 + (1 << 13)) >> 14;
1209
17.0M
    t2 = (IN(1) *  6270 - IN(3) * 15137 + (1 << 13)) >> 14;
1210
17.0M
    t3 = (IN(1) * 15137 + IN(3) *  6270 + (1 << 13)) >> 14;
1211
1212
17.0M
    out[0] = t0 + t3;
1213
17.0M
    out[1] = t1 + t2;
1214
17.0M
    out[2] = t1 - t2;
1215
17.0M
    out[3] = t0 - t3;
1216
17.0M
}
vp9dsp_12bpp.c:idct4_1d
Line
Count
Source
1204
24.2M
{
1205
24.2M
    dctint t0, t1, t2, t3;
1206
1207
24.2M
    t0 = ((IN(0) + IN(2)) * 11585 + (1 << 13)) >> 14;
1208
24.2M
    t1 = ((IN(0) - IN(2)) * 11585 + (1 << 13)) >> 14;
1209
24.2M
    t2 = (IN(1) *  6270 - IN(3) * 15137 + (1 << 13)) >> 14;
1210
24.2M
    t3 = (IN(1) * 15137 + IN(3) *  6270 + (1 << 13)) >> 14;
1211
1212
24.2M
    out[0] = t0 + t3;
1213
24.2M
    out[1] = t1 + t2;
1214
24.2M
    out[2] = t1 - t2;
1215
24.2M
    out[3] = t0 - t3;
1216
24.2M
}
vp9dsp_8bpp.c:idct4_1d
Line
Count
Source
1204
15.6M
{
1205
15.6M
    dctint t0, t1, t2, t3;
1206
1207
15.6M
    t0 = ((IN(0) + IN(2)) * 11585 + (1 << 13)) >> 14;
1208
15.6M
    t1 = ((IN(0) - IN(2)) * 11585 + (1 << 13)) >> 14;
1209
15.6M
    t2 = (IN(1) *  6270 - IN(3) * 15137 + (1 << 13)) >> 14;
1210
15.6M
    t3 = (IN(1) * 15137 + IN(3) *  6270 + (1 << 13)) >> 14;
1211
1212
15.6M
    out[0] = t0 + t3;
1213
15.6M
    out[1] = t1 + t2;
1214
15.6M
    out[2] = t1 - t2;
1215
15.6M
    out[3] = t0 - t3;
1216
15.6M
}
1217
1218
static av_always_inline void iadst4_1d(const dctcoef *in, ptrdiff_t stride,
1219
                                       dctcoef *out, int pass)
1220
5.09M
{
1221
5.09M
    dctint t0, t1, t2, t3;
1222
1223
5.09M
    t0 =  5283 * IN(0) + 15212 * IN(2) +  9929 * IN(3);
1224
5.09M
    t1 =  9929 * IN(0) -  5283 * IN(2) - 15212 * IN(3);
1225
5.09M
    t2 = 13377 * (IN(0) - IN(2) + IN(3));
1226
5.09M
    t3 = 13377 * IN(1);
1227
1228
5.09M
    out[0] = (t0 + t3      + (1 << 13)) >> 14;
1229
5.09M
    out[1] = (t1 + t3      + (1 << 13)) >> 14;
1230
5.09M
    out[2] = (t2           + (1 << 13)) >> 14;
1231
5.09M
    out[3] = (t0 + t1 - t3 + (1 << 13)) >> 14;
1232
5.09M
}
vp9dsp_10bpp.c:iadst4_1d
Line
Count
Source
1220
2.12M
{
1221
2.12M
    dctint t0, t1, t2, t3;
1222
1223
2.12M
    t0 =  5283 * IN(0) + 15212 * IN(2) +  9929 * IN(3);
1224
2.12M
    t1 =  9929 * IN(0) -  5283 * IN(2) - 15212 * IN(3);
1225
2.12M
    t2 = 13377 * (IN(0) - IN(2) + IN(3));
1226
2.12M
    t3 = 13377 * IN(1);
1227
1228
2.12M
    out[0] = (t0 + t3      + (1 << 13)) >> 14;
1229
2.12M
    out[1] = (t1 + t3      + (1 << 13)) >> 14;
1230
2.12M
    out[2] = (t2           + (1 << 13)) >> 14;
1231
2.12M
    out[3] = (t0 + t1 - t3 + (1 << 13)) >> 14;
1232
2.12M
}
vp9dsp_12bpp.c:iadst4_1d
Line
Count
Source
1220
1.56M
{
1221
1.56M
    dctint t0, t1, t2, t3;
1222
1223
1.56M
    t0 =  5283 * IN(0) + 15212 * IN(2) +  9929 * IN(3);
1224
1.56M
    t1 =  9929 * IN(0) -  5283 * IN(2) - 15212 * IN(3);
1225
1.56M
    t2 = 13377 * (IN(0) - IN(2) + IN(3));
1226
1.56M
    t3 = 13377 * IN(1);
1227
1228
1.56M
    out[0] = (t0 + t3      + (1 << 13)) >> 14;
1229
1.56M
    out[1] = (t1 + t3      + (1 << 13)) >> 14;
1230
1.56M
    out[2] = (t2           + (1 << 13)) >> 14;
1231
1.56M
    out[3] = (t0 + t1 - t3 + (1 << 13)) >> 14;
1232
1.56M
}
vp9dsp_8bpp.c:iadst4_1d
Line
Count
Source
1220
1.40M
{
1221
1.40M
    dctint t0, t1, t2, t3;
1222
1223
1.40M
    t0 =  5283 * IN(0) + 15212 * IN(2) +  9929 * IN(3);
1224
1.40M
    t1 =  9929 * IN(0) -  5283 * IN(2) - 15212 * IN(3);
1225
1.40M
    t2 = 13377 * (IN(0) - IN(2) + IN(3));
1226
1.40M
    t3 = 13377 * IN(1);
1227
1228
1.40M
    out[0] = (t0 + t3      + (1 << 13)) >> 14;
1229
1.40M
    out[1] = (t1 + t3      + (1 << 13)) >> 14;
1230
1.40M
    out[2] = (t2           + (1 << 13)) >> 14;
1231
1.40M
    out[3] = (t0 + t1 - t3 + (1 << 13)) >> 14;
1232
1.40M
}
1233
1234
itxfm_wrap(4, 4)
1235
1236
static av_always_inline void idct8_1d(const dctcoef *in, ptrdiff_t stride,
1237
                                      dctcoef *out, int pass)
1238
20.6M
{
1239
20.6M
    dctint t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;
1240
1241
20.6M
    t0a = ((IN(0) + IN(4)) * 11585 + (1 << 13)) >> 14;
1242
20.6M
    t1a = ((IN(0) - IN(4)) * 11585 + (1 << 13)) >> 14;
1243
20.6M
    t2a = (IN(2) *  6270 - IN(6) * 15137 + (1 << 13)) >> 14;
1244
20.6M
    t3a = (IN(2) * 15137 + IN(6) *  6270 + (1 << 13)) >> 14;
1245
20.6M
    t4a = (IN(1) *  3196 - IN(7) * 16069 + (1 << 13)) >> 14;
1246
20.6M
    t5a = (IN(5) * 13623 - IN(3) *  9102 + (1 << 13)) >> 14;
1247
20.6M
    t6a = (IN(5) *  9102 + IN(3) * 13623 + (1 << 13)) >> 14;
1248
20.6M
    t7a = (IN(1) * 16069 + IN(7) *  3196 + (1 << 13)) >> 14;
1249
1250
20.6M
    t0  = t0a + t3a;
1251
20.6M
    t1  = t1a + t2a;
1252
20.6M
    t2  = t1a - t2a;
1253
20.6M
    t3  = t0a - t3a;
1254
20.6M
    t4  = t4a + t5a;
1255
20.6M
    t5a = t4a - t5a;
1256
20.6M
    t7  = t7a + t6a;
1257
20.6M
    t6a = t7a - t6a;
1258
1259
20.6M
    t5  = ((t6a - t5a) * 11585 + (1 << 13)) >> 14;
1260
20.6M
    t6  = ((t6a + t5a) * 11585 + (1 << 13)) >> 14;
1261
1262
20.6M
    out[0] = t0 + t7;
1263
20.6M
    out[1] = t1 + t6;
1264
20.6M
    out[2] = t2 + t5;
1265
20.6M
    out[3] = t3 + t4;
1266
20.6M
    out[4] = t3 - t4;
1267
20.6M
    out[5] = t2 - t5;
1268
20.6M
    out[6] = t1 - t6;
1269
20.6M
    out[7] = t0 - t7;
1270
20.6M
}
vp9dsp_10bpp.c:idct8_1d
Line
Count
Source
1238
7.06M
{
1239
7.06M
    dctint t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;
1240
1241
7.06M
    t0a = ((IN(0) + IN(4)) * 11585 + (1 << 13)) >> 14;
1242
7.06M
    t1a = ((IN(0) - IN(4)) * 11585 + (1 << 13)) >> 14;
1243
7.06M
    t2a = (IN(2) *  6270 - IN(6) * 15137 + (1 << 13)) >> 14;
1244
7.06M
    t3a = (IN(2) * 15137 + IN(6) *  6270 + (1 << 13)) >> 14;
1245
7.06M
    t4a = (IN(1) *  3196 - IN(7) * 16069 + (1 << 13)) >> 14;
1246
7.06M
    t5a = (IN(5) * 13623 - IN(3) *  9102 + (1 << 13)) >> 14;
1247
7.06M
    t6a = (IN(5) *  9102 + IN(3) * 13623 + (1 << 13)) >> 14;
1248
7.06M
    t7a = (IN(1) * 16069 + IN(7) *  3196 + (1 << 13)) >> 14;
1249
1250
7.06M
    t0  = t0a + t3a;
1251
7.06M
    t1  = t1a + t2a;
1252
7.06M
    t2  = t1a - t2a;
1253
7.06M
    t3  = t0a - t3a;
1254
7.06M
    t4  = t4a + t5a;
1255
7.06M
    t5a = t4a - t5a;
1256
7.06M
    t7  = t7a + t6a;
1257
7.06M
    t6a = t7a - t6a;
1258
1259
7.06M
    t5  = ((t6a - t5a) * 11585 + (1 << 13)) >> 14;
1260
7.06M
    t6  = ((t6a + t5a) * 11585 + (1 << 13)) >> 14;
1261
1262
7.06M
    out[0] = t0 + t7;
1263
7.06M
    out[1] = t1 + t6;
1264
7.06M
    out[2] = t2 + t5;
1265
7.06M
    out[3] = t3 + t4;
1266
7.06M
    out[4] = t3 - t4;
1267
7.06M
    out[5] = t2 - t5;
1268
7.06M
    out[6] = t1 - t6;
1269
7.06M
    out[7] = t0 - t7;
1270
7.06M
}
vp9dsp_12bpp.c:idct8_1d
Line
Count
Source
1238
8.53M
{
1239
8.53M
    dctint t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;
1240
1241
8.53M
    t0a = ((IN(0) + IN(4)) * 11585 + (1 << 13)) >> 14;
1242
8.53M
    t1a = ((IN(0) - IN(4)) * 11585 + (1 << 13)) >> 14;
1243
8.53M
    t2a = (IN(2) *  6270 - IN(6) * 15137 + (1 << 13)) >> 14;
1244
8.53M
    t3a = (IN(2) * 15137 + IN(6) *  6270 + (1 << 13)) >> 14;
1245
8.53M
    t4a = (IN(1) *  3196 - IN(7) * 16069 + (1 << 13)) >> 14;
1246
8.53M
    t5a = (IN(5) * 13623 - IN(3) *  9102 + (1 << 13)) >> 14;
1247
8.53M
    t6a = (IN(5) *  9102 + IN(3) * 13623 + (1 << 13)) >> 14;
1248
8.53M
    t7a = (IN(1) * 16069 + IN(7) *  3196 + (1 << 13)) >> 14;
1249
1250
8.53M
    t0  = t0a + t3a;
1251
8.53M
    t1  = t1a + t2a;
1252
8.53M
    t2  = t1a - t2a;
1253
8.53M
    t3  = t0a - t3a;
1254
8.53M
    t4  = t4a + t5a;
1255
8.53M
    t5a = t4a - t5a;
1256
8.53M
    t7  = t7a + t6a;
1257
8.53M
    t6a = t7a - t6a;
1258
1259
8.53M
    t5  = ((t6a - t5a) * 11585 + (1 << 13)) >> 14;
1260
8.53M
    t6  = ((t6a + t5a) * 11585 + (1 << 13)) >> 14;
1261
1262
8.53M
    out[0] = t0 + t7;
1263
8.53M
    out[1] = t1 + t6;
1264
8.53M
    out[2] = t2 + t5;
1265
8.53M
    out[3] = t3 + t4;
1266
8.53M
    out[4] = t3 - t4;
1267
8.53M
    out[5] = t2 - t5;
1268
8.53M
    out[6] = t1 - t6;
1269
8.53M
    out[7] = t0 - t7;
1270
8.53M
}
vp9dsp_8bpp.c:idct8_1d
Line
Count
Source
1238
5.05M
{
1239
5.05M
    dctint t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;
1240
1241
5.05M
    t0a = ((IN(0) + IN(4)) * 11585 + (1 << 13)) >> 14;
1242
5.05M
    t1a = ((IN(0) - IN(4)) * 11585 + (1 << 13)) >> 14;
1243
5.05M
    t2a = (IN(2) *  6270 - IN(6) * 15137 + (1 << 13)) >> 14;
1244
5.05M
    t3a = (IN(2) * 15137 + IN(6) *  6270 + (1 << 13)) >> 14;
1245
5.05M
    t4a = (IN(1) *  3196 - IN(7) * 16069 + (1 << 13)) >> 14;
1246
5.05M
    t5a = (IN(5) * 13623 - IN(3) *  9102 + (1 << 13)) >> 14;
1247
5.05M
    t6a = (IN(5) *  9102 + IN(3) * 13623 + (1 << 13)) >> 14;
1248
5.05M
    t7a = (IN(1) * 16069 + IN(7) *  3196 + (1 << 13)) >> 14;
1249
1250
5.05M
    t0  = t0a + t3a;
1251
5.05M
    t1  = t1a + t2a;
1252
5.05M
    t2  = t1a - t2a;
1253
5.05M
    t3  = t0a - t3a;
1254
5.05M
    t4  = t4a + t5a;
1255
5.05M
    t5a = t4a - t5a;
1256
5.05M
    t7  = t7a + t6a;
1257
5.05M
    t6a = t7a - t6a;
1258
1259
5.05M
    t5  = ((t6a - t5a) * 11585 + (1 << 13)) >> 14;
1260
5.05M
    t6  = ((t6a + t5a) * 11585 + (1 << 13)) >> 14;
1261
1262
5.05M
    out[0] = t0 + t7;
1263
5.05M
    out[1] = t1 + t6;
1264
5.05M
    out[2] = t2 + t5;
1265
5.05M
    out[3] = t3 + t4;
1266
5.05M
    out[4] = t3 - t4;
1267
5.05M
    out[5] = t2 - t5;
1268
5.05M
    out[6] = t1 - t6;
1269
5.05M
    out[7] = t0 - t7;
1270
5.05M
}
1271
1272
static av_always_inline void iadst8_1d(const dctcoef *in, ptrdiff_t stride,
1273
                                       dctcoef *out, int pass)
1274
4.09M
{
1275
4.09M
    dctint t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;
1276
1277
4.09M
    t0a = 16305 * IN(7) +  1606 * IN(0);
1278
4.09M
    t1a =  1606 * IN(7) - 16305 * IN(0);
1279
4.09M
    t2a = 14449 * IN(5) +  7723 * IN(2);
1280
4.09M
    t3a =  7723 * IN(5) - 14449 * IN(2);
1281
4.09M
    t4a = 10394 * IN(3) + 12665 * IN(4);
1282
4.09M
    t5a = 12665 * IN(3) - 10394 * IN(4);
1283
4.09M
    t6a =  4756 * IN(1) + 15679 * IN(6);
1284
4.09M
    t7a = 15679 * IN(1) -  4756 * IN(6);
1285
1286
4.09M
    t0 = (t0a + t4a + (1 << 13)) >> 14;
1287
4.09M
    t1 = (t1a + t5a + (1 << 13)) >> 14;
1288
4.09M
    t2 = (t2a + t6a + (1 << 13)) >> 14;
1289
4.09M
    t3 = (t3a + t7a + (1 << 13)) >> 14;
1290
4.09M
    t4 = (t0a - t4a + (1 << 13)) >> 14;
1291
4.09M
    t5 = (t1a - t5a + (1 << 13)) >> 14;
1292
4.09M
    t6 = (t2a - t6a + (1 << 13)) >> 14;
1293
4.09M
    t7 = (t3a - t7a + (1 << 13)) >> 14;
1294
1295
4.09M
    t4a = 15137U * t4 +  6270U * t5;
1296
4.09M
    t5a =  6270U * t4 - 15137U * t5;
1297
4.09M
    t6a = 15137U * t7 -  6270U * t6;
1298
4.09M
    t7a =  6270U * t7 + 15137U * t6;
1299
1300
4.09M
    out[0] =   t0 + t2;
1301
4.09M
    out[7] = -(t1 + t3);
1302
4.09M
    t2     =   t0 - t2;
1303
4.09M
    t3     =   t1 - t3;
1304
1305
4.09M
    out[1] = -((dctint)((1U << 13) + t4a + t6a) >> 14);
1306
4.09M
    out[6] =   (dctint)((1U << 13) + t5a + t7a) >> 14;
1307
4.09M
    t6     =   (dctint)((1U << 13) + t4a - t6a) >> 14;
1308
4.09M
    t7     =   (dctint)((1U << 13) + t5a - t7a) >> 14;
1309
1310
4.09M
    out[3] = -((dctint)((t2 + t3) * 11585U + (1 << 13)) >> 14);
1311
4.09M
    out[4] =   (dctint)((t2 - t3) * 11585U + (1 << 13)) >> 14;
1312
4.09M
    out[2] =   (dctint)((t6 + t7) * 11585U + (1 << 13)) >> 14;
1313
4.09M
    out[5] = -((dctint)((t6 - t7) * 11585U + (1 << 13)) >> 14);
1314
4.09M
}
vp9dsp_10bpp.c:iadst8_1d
Line
Count
Source
1274
1.51M
{
1275
1.51M
    dctint t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;
1276
1277
1.51M
    t0a = 16305 * IN(7) +  1606 * IN(0);
1278
1.51M
    t1a =  1606 * IN(7) - 16305 * IN(0);
1279
1.51M
    t2a = 14449 * IN(5) +  7723 * IN(2);
1280
1.51M
    t3a =  7723 * IN(5) - 14449 * IN(2);
1281
1.51M
    t4a = 10394 * IN(3) + 12665 * IN(4);
1282
1.51M
    t5a = 12665 * IN(3) - 10394 * IN(4);
1283
1.51M
    t6a =  4756 * IN(1) + 15679 * IN(6);
1284
1.51M
    t7a = 15679 * IN(1) -  4756 * IN(6);
1285
1286
1.51M
    t0 = (t0a + t4a + (1 << 13)) >> 14;
1287
1.51M
    t1 = (t1a + t5a + (1 << 13)) >> 14;
1288
1.51M
    t2 = (t2a + t6a + (1 << 13)) >> 14;
1289
1.51M
    t3 = (t3a + t7a + (1 << 13)) >> 14;
1290
1.51M
    t4 = (t0a - t4a + (1 << 13)) >> 14;
1291
1.51M
    t5 = (t1a - t5a + (1 << 13)) >> 14;
1292
1.51M
    t6 = (t2a - t6a + (1 << 13)) >> 14;
1293
1.51M
    t7 = (t3a - t7a + (1 << 13)) >> 14;
1294
1295
1.51M
    t4a = 15137U * t4 +  6270U * t5;
1296
1.51M
    t5a =  6270U * t4 - 15137U * t5;
1297
1.51M
    t6a = 15137U * t7 -  6270U * t6;
1298
1.51M
    t7a =  6270U * t7 + 15137U * t6;
1299
1300
1.51M
    out[0] =   t0 + t2;
1301
1.51M
    out[7] = -(t1 + t3);
1302
1.51M
    t2     =   t0 - t2;
1303
1.51M
    t3     =   t1 - t3;
1304
1305
1.51M
    out[1] = -((dctint)((1U << 13) + t4a + t6a) >> 14);
1306
1.51M
    out[6] =   (dctint)((1U << 13) + t5a + t7a) >> 14;
1307
1.51M
    t6     =   (dctint)((1U << 13) + t4a - t6a) >> 14;
1308
1.51M
    t7     =   (dctint)((1U << 13) + t5a - t7a) >> 14;
1309
1310
1.51M
    out[3] = -((dctint)((t2 + t3) * 11585U + (1 << 13)) >> 14);
1311
1.51M
    out[4] =   (dctint)((t2 - t3) * 11585U + (1 << 13)) >> 14;
1312
1.51M
    out[2] =   (dctint)((t6 + t7) * 11585U + (1 << 13)) >> 14;
1313
1.51M
    out[5] = -((dctint)((t6 - t7) * 11585U + (1 << 13)) >> 14);
1314
1.51M
}
vp9dsp_12bpp.c:iadst8_1d
Line
Count
Source
1274
1.37M
{
1275
1.37M
    dctint t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;
1276
1277
1.37M
    t0a = 16305 * IN(7) +  1606 * IN(0);
1278
1.37M
    t1a =  1606 * IN(7) - 16305 * IN(0);
1279
1.37M
    t2a = 14449 * IN(5) +  7723 * IN(2);
1280
1.37M
    t3a =  7723 * IN(5) - 14449 * IN(2);
1281
1.37M
    t4a = 10394 * IN(3) + 12665 * IN(4);
1282
1.37M
    t5a = 12665 * IN(3) - 10394 * IN(4);
1283
1.37M
    t6a =  4756 * IN(1) + 15679 * IN(6);
1284
1.37M
    t7a = 15679 * IN(1) -  4756 * IN(6);
1285
1286
1.37M
    t0 = (t0a + t4a + (1 << 13)) >> 14;
1287
1.37M
    t1 = (t1a + t5a + (1 << 13)) >> 14;
1288
1.37M
    t2 = (t2a + t6a + (1 << 13)) >> 14;
1289
1.37M
    t3 = (t3a + t7a + (1 << 13)) >> 14;
1290
1.37M
    t4 = (t0a - t4a + (1 << 13)) >> 14;
1291
1.37M
    t5 = (t1a - t5a + (1 << 13)) >> 14;
1292
1.37M
    t6 = (t2a - t6a + (1 << 13)) >> 14;
1293
1.37M
    t7 = (t3a - t7a + (1 << 13)) >> 14;
1294
1295
1.37M
    t4a = 15137U * t4 +  6270U * t5;
1296
1.37M
    t5a =  6270U * t4 - 15137U * t5;
1297
1.37M
    t6a = 15137U * t7 -  6270U * t6;
1298
1.37M
    t7a =  6270U * t7 + 15137U * t6;
1299
1300
1.37M
    out[0] =   t0 + t2;
1301
1.37M
    out[7] = -(t1 + t3);
1302
1.37M
    t2     =   t0 - t2;
1303
1.37M
    t3     =   t1 - t3;
1304
1305
1.37M
    out[1] = -((dctint)((1U << 13) + t4a + t6a) >> 14);
1306
1.37M
    out[6] =   (dctint)((1U << 13) + t5a + t7a) >> 14;
1307
1.37M
    t6     =   (dctint)((1U << 13) + t4a - t6a) >> 14;
1308
1.37M
    t7     =   (dctint)((1U << 13) + t5a - t7a) >> 14;
1309
1310
1.37M
    out[3] = -((dctint)((t2 + t3) * 11585U + (1 << 13)) >> 14);
1311
1.37M
    out[4] =   (dctint)((t2 - t3) * 11585U + (1 << 13)) >> 14;
1312
1.37M
    out[2] =   (dctint)((t6 + t7) * 11585U + (1 << 13)) >> 14;
1313
1.37M
    out[5] = -((dctint)((t6 - t7) * 11585U + (1 << 13)) >> 14);
1314
1.37M
}
vp9dsp_8bpp.c:iadst8_1d
Line
Count
Source
1274
1.20M
{
1275
1.20M
    dctint t0, t0a, t1, t1a, t2, t2a, t3, t3a, t4, t4a, t5, t5a, t6, t6a, t7, t7a;
1276
1277
1.20M
    t0a = 16305 * IN(7) +  1606 * IN(0);
1278
1.20M
    t1a =  1606 * IN(7) - 16305 * IN(0);
1279
1.20M
    t2a = 14449 * IN(5) +  7723 * IN(2);
1280
1.20M
    t3a =  7723 * IN(5) - 14449 * IN(2);
1281
1.20M
    t4a = 10394 * IN(3) + 12665 * IN(4);
1282
1.20M
    t5a = 12665 * IN(3) - 10394 * IN(4);
1283
1.20M
    t6a =  4756 * IN(1) + 15679 * IN(6);
1284
1.20M
    t7a = 15679 * IN(1) -  4756 * IN(6);
1285
1286
1.20M
    t0 = (t0a + t4a + (1 << 13)) >> 14;
1287
1.20M
    t1 = (t1a + t5a + (1 << 13)) >> 14;
1288
1.20M
    t2 = (t2a + t6a + (1 << 13)) >> 14;
1289
1.20M
    t3 = (t3a + t7a + (1 << 13)) >> 14;
1290
1.20M
    t4 = (t0a - t4a + (1 << 13)) >> 14;
1291
1.20M
    t5 = (t1a - t5a + (1 << 13)) >> 14;
1292
1.20M
    t6 = (t2a - t6a + (1 << 13)) >> 14;
1293
1.20M
    t7 = (t3a - t7a + (1 << 13)) >> 14;
1294
1295
1.20M
    t4a = 15137U * t4 +  6270U * t5;
1296
1.20M
    t5a =  6270U * t4 - 15137U * t5;
1297
1.20M
    t6a = 15137U * t7 -  6270U * t6;
1298
1.20M
    t7a =  6270U * t7 + 15137U * t6;
1299
1300
1.20M
    out[0] =   t0 + t2;
1301
1.20M
    out[7] = -(t1 + t3);
1302
1.20M
    t2     =   t0 - t2;
1303
1.20M
    t3     =   t1 - t3;
1304
1305
1.20M
    out[1] = -((dctint)((1U << 13) + t4a + t6a) >> 14);
1306
1.20M
    out[6] =   (dctint)((1U << 13) + t5a + t7a) >> 14;
1307
1.20M
    t6     =   (dctint)((1U << 13) + t4a - t6a) >> 14;
1308
1.20M
    t7     =   (dctint)((1U << 13) + t5a - t7a) >> 14;
1309
1310
1.20M
    out[3] = -((dctint)((t2 + t3) * 11585U + (1 << 13)) >> 14);
1311
1.20M
    out[4] =   (dctint)((t2 - t3) * 11585U + (1 << 13)) >> 14;
1312
1.20M
    out[2] =   (dctint)((t6 + t7) * 11585U + (1 << 13)) >> 14;
1313
1.20M
    out[5] = -((dctint)((t6 - t7) * 11585U + (1 << 13)) >> 14);
1314
1.20M
}
1315
1316
itxfm_wrap(8, 5)
1317
1318
static av_always_inline void idct16_1d(const dctcoef *in, ptrdiff_t stride,
1319
                                       dctcoef *out, int pass)
1320
18.0M
{
1321
18.0M
    dctint t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1322
18.0M
    dctint t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;
1323
18.0M
    dctint t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;
1324
1325
18.0M
    t0a  = (dctint)((IN(0) + IN(8)) * 11585U + (1 << 13)) >> 14;
1326
18.0M
    t1a  = (dctint)((IN(0) - IN(8)) * 11585U + (1 << 13)) >> 14;
1327
18.0M
    t2a  = (dctint)(IN(4)  *  6270U - IN(12) * 15137U + (1 << 13)) >> 14;
1328
18.0M
    t3a  = (dctint)(IN(4)  * 15137U + IN(12) *  6270U + (1 << 13)) >> 14;
1329
18.0M
    t4a  = (dctint)(IN(2)  *  3196U - IN(14) * 16069U + (1 << 13)) >> 14;
1330
18.0M
    t7a  = (dctint)(IN(2)  * 16069U + IN(14) *  3196U + (1 << 13)) >> 14;
1331
18.0M
    t5a  = (dctint)(IN(10) * 13623U - IN(6)  *  9102U + (1 << 13)) >> 14;
1332
18.0M
    t6a  = (dctint)(IN(10) *  9102U + IN(6)  * 13623U + (1 << 13)) >> 14;
1333
18.0M
    t8a  = (dctint)(IN(1)  *  1606U - IN(15) * 16305U + (1 << 13)) >> 14;
1334
18.0M
    t15a = (dctint)(IN(1)  * 16305U + IN(15) *  1606U + (1 << 13)) >> 14;
1335
18.0M
    t9a  = (dctint)(IN(9)  * 12665U - IN(7)  * 10394U + (1 << 13)) >> 14;
1336
18.0M
    t14a = (dctint)(IN(9)  * 10394U + IN(7)  * 12665U + (1 << 13)) >> 14;
1337
18.0M
    t10a = (dctint)(IN(5)  *  7723U - IN(11) * 14449U + (1 << 13)) >> 14;
1338
18.0M
    t13a = (dctint)(IN(5)  * 14449U + IN(11) *  7723U + (1 << 13)) >> 14;
1339
18.0M
    t11a = (dctint)(IN(13) * 15679U - IN(3)  *  4756U + (1 << 13)) >> 14;
1340
18.0M
    t12a = (dctint)(IN(13) *  4756U + IN(3)  * 15679U + (1 << 13)) >> 14;
1341
1342
18.0M
    t0  = t0a  + t3a;
1343
18.0M
    t1  = t1a  + t2a;
1344
18.0M
    t2  = t1a  - t2a;
1345
18.0M
    t3  = t0a  - t3a;
1346
18.0M
    t4  = t4a  + t5a;
1347
18.0M
    t5  = t4a  - t5a;
1348
18.0M
    t6  = t7a  - t6a;
1349
18.0M
    t7  = t7a  + t6a;
1350
18.0M
    t8  = t8a  + t9a;
1351
18.0M
    t9  = t8a  - t9a;
1352
18.0M
    t10 = t11a - t10a;
1353
18.0M
    t11 = t11a + t10a;
1354
18.0M
    t12 = t12a + t13a;
1355
18.0M
    t13 = t12a - t13a;
1356
18.0M
    t14 = t15a - t14a;
1357
18.0M
    t15 = t15a + t14a;
1358
1359
18.0M
    t5a  = (dctint)((t6 - t5) * 11585U + (1 << 13)) >> 14;
1360
18.0M
    t6a  = (dctint)((t6 + t5) * 11585U + (1 << 13)) >> 14;
1361
18.0M
    t9a  = (dctint)(  t14 *  6270U - t9  * 15137U  + (1 << 13)) >> 14;
1362
18.0M
    t14a = (dctint)(  t14 * 15137U + t9  *  6270U  + (1 << 13)) >> 14;
1363
18.0M
    t10a = (dctint)(-(t13 * 15137U + t10 *  6270U) + (1 << 13)) >> 14;
1364
18.0M
    t13a = (dctint)(  t13 *  6270U - t10 * 15137U  + (1 << 13)) >> 14;
1365
1366
18.0M
    t0a  = t0   + t7;
1367
18.0M
    t1a  = t1   + t6a;
1368
18.0M
    t2a  = t2   + t5a;
1369
18.0M
    t3a  = t3   + t4;
1370
18.0M
    t4   = t3   - t4;
1371
18.0M
    t5   = t2   - t5a;
1372
18.0M
    t6   = t1   - t6a;
1373
18.0M
    t7   = t0   - t7;
1374
18.0M
    t8a  = t8   + t11;
1375
18.0M
    t9   = t9a  + t10a;
1376
18.0M
    t10  = t9a  - t10a;
1377
18.0M
    t11a = t8   - t11;
1378
18.0M
    t12a = t15  - t12;
1379
18.0M
    t13  = t14a - t13a;
1380
18.0M
    t14  = t14a + t13a;
1381
18.0M
    t15a = t15  + t12;
1382
1383
18.0M
    t10a = (dctint)((t13  - t10)  * 11585U + (1 << 13)) >> 14;
1384
18.0M
    t13a = (dctint)((t13  + t10)  * 11585U + (1 << 13)) >> 14;
1385
18.0M
    t11  = (dctint)((t12a - t11a) * 11585U + (1 << 13)) >> 14;
1386
18.0M
    t12  = (dctint)((t12a + t11a) * 11585U + (1 << 13)) >> 14;
1387
1388
18.0M
    out[ 0] = t0a + t15a;
1389
18.0M
    out[ 1] = t1a + t14;
1390
18.0M
    out[ 2] = t2a + t13a;
1391
18.0M
    out[ 3] = t3a + t12;
1392
18.0M
    out[ 4] = t4  + t11;
1393
18.0M
    out[ 5] = t5  + t10a;
1394
18.0M
    out[ 6] = t6  + t9;
1395
18.0M
    out[ 7] = t7  + t8a;
1396
18.0M
    out[ 8] = t7  - t8a;
1397
18.0M
    out[ 9] = t6  - t9;
1398
18.0M
    out[10] = t5  - t10a;
1399
18.0M
    out[11] = t4  - t11;
1400
18.0M
    out[12] = t3a - t12;
1401
18.0M
    out[13] = t2a - t13a;
1402
18.0M
    out[14] = t1a - t14;
1403
18.0M
    out[15] = t0a - t15a;
1404
18.0M
}
vp9dsp_10bpp.c:idct16_1d
Line
Count
Source
1320
4.74M
{
1321
4.74M
    dctint t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1322
4.74M
    dctint t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;
1323
4.74M
    dctint t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;
1324
1325
4.74M
    t0a  = (dctint)((IN(0) + IN(8)) * 11585U + (1 << 13)) >> 14;
1326
4.74M
    t1a  = (dctint)((IN(0) - IN(8)) * 11585U + (1 << 13)) >> 14;
1327
4.74M
    t2a  = (dctint)(IN(4)  *  6270U - IN(12) * 15137U + (1 << 13)) >> 14;
1328
4.74M
    t3a  = (dctint)(IN(4)  * 15137U + IN(12) *  6270U + (1 << 13)) >> 14;
1329
4.74M
    t4a  = (dctint)(IN(2)  *  3196U - IN(14) * 16069U + (1 << 13)) >> 14;
1330
4.74M
    t7a  = (dctint)(IN(2)  * 16069U + IN(14) *  3196U + (1 << 13)) >> 14;
1331
4.74M
    t5a  = (dctint)(IN(10) * 13623U - IN(6)  *  9102U + (1 << 13)) >> 14;
1332
4.74M
    t6a  = (dctint)(IN(10) *  9102U + IN(6)  * 13623U + (1 << 13)) >> 14;
1333
4.74M
    t8a  = (dctint)(IN(1)  *  1606U - IN(15) * 16305U + (1 << 13)) >> 14;
1334
4.74M
    t15a = (dctint)(IN(1)  * 16305U + IN(15) *  1606U + (1 << 13)) >> 14;
1335
4.74M
    t9a  = (dctint)(IN(9)  * 12665U - IN(7)  * 10394U + (1 << 13)) >> 14;
1336
4.74M
    t14a = (dctint)(IN(9)  * 10394U + IN(7)  * 12665U + (1 << 13)) >> 14;
1337
4.74M
    t10a = (dctint)(IN(5)  *  7723U - IN(11) * 14449U + (1 << 13)) >> 14;
1338
4.74M
    t13a = (dctint)(IN(5)  * 14449U + IN(11) *  7723U + (1 << 13)) >> 14;
1339
4.74M
    t11a = (dctint)(IN(13) * 15679U - IN(3)  *  4756U + (1 << 13)) >> 14;
1340
4.74M
    t12a = (dctint)(IN(13) *  4756U + IN(3)  * 15679U + (1 << 13)) >> 14;
1341
1342
4.74M
    t0  = t0a  + t3a;
1343
4.74M
    t1  = t1a  + t2a;
1344
4.74M
    t2  = t1a  - t2a;
1345
4.74M
    t3  = t0a  - t3a;
1346
4.74M
    t4  = t4a  + t5a;
1347
4.74M
    t5  = t4a  - t5a;
1348
4.74M
    t6  = t7a  - t6a;
1349
4.74M
    t7  = t7a  + t6a;
1350
4.74M
    t8  = t8a  + t9a;
1351
4.74M
    t9  = t8a  - t9a;
1352
4.74M
    t10 = t11a - t10a;
1353
4.74M
    t11 = t11a + t10a;
1354
4.74M
    t12 = t12a + t13a;
1355
4.74M
    t13 = t12a - t13a;
1356
4.74M
    t14 = t15a - t14a;
1357
4.74M
    t15 = t15a + t14a;
1358
1359
4.74M
    t5a  = (dctint)((t6 - t5) * 11585U + (1 << 13)) >> 14;
1360
4.74M
    t6a  = (dctint)((t6 + t5) * 11585U + (1 << 13)) >> 14;
1361
4.74M
    t9a  = (dctint)(  t14 *  6270U - t9  * 15137U  + (1 << 13)) >> 14;
1362
4.74M
    t14a = (dctint)(  t14 * 15137U + t9  *  6270U  + (1 << 13)) >> 14;
1363
4.74M
    t10a = (dctint)(-(t13 * 15137U + t10 *  6270U) + (1 << 13)) >> 14;
1364
4.74M
    t13a = (dctint)(  t13 *  6270U - t10 * 15137U  + (1 << 13)) >> 14;
1365
1366
4.74M
    t0a  = t0   + t7;
1367
4.74M
    t1a  = t1   + t6a;
1368
4.74M
    t2a  = t2   + t5a;
1369
4.74M
    t3a  = t3   + t4;
1370
4.74M
    t4   = t3   - t4;
1371
4.74M
    t5   = t2   - t5a;
1372
4.74M
    t6   = t1   - t6a;
1373
4.74M
    t7   = t0   - t7;
1374
4.74M
    t8a  = t8   + t11;
1375
4.74M
    t9   = t9a  + t10a;
1376
4.74M
    t10  = t9a  - t10a;
1377
4.74M
    t11a = t8   - t11;
1378
4.74M
    t12a = t15  - t12;
1379
4.74M
    t13  = t14a - t13a;
1380
4.74M
    t14  = t14a + t13a;
1381
4.74M
    t15a = t15  + t12;
1382
1383
4.74M
    t10a = (dctint)((t13  - t10)  * 11585U + (1 << 13)) >> 14;
1384
4.74M
    t13a = (dctint)((t13  + t10)  * 11585U + (1 << 13)) >> 14;
1385
4.74M
    t11  = (dctint)((t12a - t11a) * 11585U + (1 << 13)) >> 14;
1386
4.74M
    t12  = (dctint)((t12a + t11a) * 11585U + (1 << 13)) >> 14;
1387
1388
4.74M
    out[ 0] = t0a + t15a;
1389
4.74M
    out[ 1] = t1a + t14;
1390
4.74M
    out[ 2] = t2a + t13a;
1391
4.74M
    out[ 3] = t3a + t12;
1392
4.74M
    out[ 4] = t4  + t11;
1393
4.74M
    out[ 5] = t5  + t10a;
1394
4.74M
    out[ 6] = t6  + t9;
1395
4.74M
    out[ 7] = t7  + t8a;
1396
4.74M
    out[ 8] = t7  - t8a;
1397
4.74M
    out[ 9] = t6  - t9;
1398
4.74M
    out[10] = t5  - t10a;
1399
4.74M
    out[11] = t4  - t11;
1400
4.74M
    out[12] = t3a - t12;
1401
4.74M
    out[13] = t2a - t13a;
1402
4.74M
    out[14] = t1a - t14;
1403
4.74M
    out[15] = t0a - t15a;
1404
4.74M
}
vp9dsp_12bpp.c:idct16_1d
Line
Count
Source
1320
7.39M
{
1321
7.39M
    dctint t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1322
7.39M
    dctint t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;
1323
7.39M
    dctint t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;
1324
1325
7.39M
    t0a  = (dctint)((IN(0) + IN(8)) * 11585U + (1 << 13)) >> 14;
1326
7.39M
    t1a  = (dctint)((IN(0) - IN(8)) * 11585U + (1 << 13)) >> 14;
1327
7.39M
    t2a  = (dctint)(IN(4)  *  6270U - IN(12) * 15137U + (1 << 13)) >> 14;
1328
7.39M
    t3a  = (dctint)(IN(4)  * 15137U + IN(12) *  6270U + (1 << 13)) >> 14;
1329
7.39M
    t4a  = (dctint)(IN(2)  *  3196U - IN(14) * 16069U + (1 << 13)) >> 14;
1330
7.39M
    t7a  = (dctint)(IN(2)  * 16069U + IN(14) *  3196U + (1 << 13)) >> 14;
1331
7.39M
    t5a  = (dctint)(IN(10) * 13623U - IN(6)  *  9102U + (1 << 13)) >> 14;
1332
7.39M
    t6a  = (dctint)(IN(10) *  9102U + IN(6)  * 13623U + (1 << 13)) >> 14;
1333
7.39M
    t8a  = (dctint)(IN(1)  *  1606U - IN(15) * 16305U + (1 << 13)) >> 14;
1334
7.39M
    t15a = (dctint)(IN(1)  * 16305U + IN(15) *  1606U + (1 << 13)) >> 14;
1335
7.39M
    t9a  = (dctint)(IN(9)  * 12665U - IN(7)  * 10394U + (1 << 13)) >> 14;
1336
7.39M
    t14a = (dctint)(IN(9)  * 10394U + IN(7)  * 12665U + (1 << 13)) >> 14;
1337
7.39M
    t10a = (dctint)(IN(5)  *  7723U - IN(11) * 14449U + (1 << 13)) >> 14;
1338
7.39M
    t13a = (dctint)(IN(5)  * 14449U + IN(11) *  7723U + (1 << 13)) >> 14;
1339
7.39M
    t11a = (dctint)(IN(13) * 15679U - IN(3)  *  4756U + (1 << 13)) >> 14;
1340
7.39M
    t12a = (dctint)(IN(13) *  4756U + IN(3)  * 15679U + (1 << 13)) >> 14;
1341
1342
7.39M
    t0  = t0a  + t3a;
1343
7.39M
    t1  = t1a  + t2a;
1344
7.39M
    t2  = t1a  - t2a;
1345
7.39M
    t3  = t0a  - t3a;
1346
7.39M
    t4  = t4a  + t5a;
1347
7.39M
    t5  = t4a  - t5a;
1348
7.39M
    t6  = t7a  - t6a;
1349
7.39M
    t7  = t7a  + t6a;
1350
7.39M
    t8  = t8a  + t9a;
1351
7.39M
    t9  = t8a  - t9a;
1352
7.39M
    t10 = t11a - t10a;
1353
7.39M
    t11 = t11a + t10a;
1354
7.39M
    t12 = t12a + t13a;
1355
7.39M
    t13 = t12a - t13a;
1356
7.39M
    t14 = t15a - t14a;
1357
7.39M
    t15 = t15a + t14a;
1358
1359
7.39M
    t5a  = (dctint)((t6 - t5) * 11585U + (1 << 13)) >> 14;
1360
7.39M
    t6a  = (dctint)((t6 + t5) * 11585U + (1 << 13)) >> 14;
1361
7.39M
    t9a  = (dctint)(  t14 *  6270U - t9  * 15137U  + (1 << 13)) >> 14;
1362
7.39M
    t14a = (dctint)(  t14 * 15137U + t9  *  6270U  + (1 << 13)) >> 14;
1363
7.39M
    t10a = (dctint)(-(t13 * 15137U + t10 *  6270U) + (1 << 13)) >> 14;
1364
7.39M
    t13a = (dctint)(  t13 *  6270U - t10 * 15137U  + (1 << 13)) >> 14;
1365
1366
7.39M
    t0a  = t0   + t7;
1367
7.39M
    t1a  = t1   + t6a;
1368
7.39M
    t2a  = t2   + t5a;
1369
7.39M
    t3a  = t3   + t4;
1370
7.39M
    t4   = t3   - t4;
1371
7.39M
    t5   = t2   - t5a;
1372
7.39M
    t6   = t1   - t6a;
1373
7.39M
    t7   = t0   - t7;
1374
7.39M
    t8a  = t8   + t11;
1375
7.39M
    t9   = t9a  + t10a;
1376
7.39M
    t10  = t9a  - t10a;
1377
7.39M
    t11a = t8   - t11;
1378
7.39M
    t12a = t15  - t12;
1379
7.39M
    t13  = t14a - t13a;
1380
7.39M
    t14  = t14a + t13a;
1381
7.39M
    t15a = t15  + t12;
1382
1383
7.39M
    t10a = (dctint)((t13  - t10)  * 11585U + (1 << 13)) >> 14;
1384
7.39M
    t13a = (dctint)((t13  + t10)  * 11585U + (1 << 13)) >> 14;
1385
7.39M
    t11  = (dctint)((t12a - t11a) * 11585U + (1 << 13)) >> 14;
1386
7.39M
    t12  = (dctint)((t12a + t11a) * 11585U + (1 << 13)) >> 14;
1387
1388
7.39M
    out[ 0] = t0a + t15a;
1389
7.39M
    out[ 1] = t1a + t14;
1390
7.39M
    out[ 2] = t2a + t13a;
1391
7.39M
    out[ 3] = t3a + t12;
1392
7.39M
    out[ 4] = t4  + t11;
1393
7.39M
    out[ 5] = t5  + t10a;
1394
7.39M
    out[ 6] = t6  + t9;
1395
7.39M
    out[ 7] = t7  + t8a;
1396
7.39M
    out[ 8] = t7  - t8a;
1397
7.39M
    out[ 9] = t6  - t9;
1398
7.39M
    out[10] = t5  - t10a;
1399
7.39M
    out[11] = t4  - t11;
1400
7.39M
    out[12] = t3a - t12;
1401
7.39M
    out[13] = t2a - t13a;
1402
7.39M
    out[14] = t1a - t14;
1403
7.39M
    out[15] = t0a - t15a;
1404
7.39M
}
vp9dsp_8bpp.c:idct16_1d
Line
Count
Source
1320
5.88M
{
1321
5.88M
    dctint t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1322
5.88M
    dctint t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;
1323
5.88M
    dctint t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;
1324
1325
5.88M
    t0a  = (dctint)((IN(0) + IN(8)) * 11585U + (1 << 13)) >> 14;
1326
5.88M
    t1a  = (dctint)((IN(0) - IN(8)) * 11585U + (1 << 13)) >> 14;
1327
5.88M
    t2a  = (dctint)(IN(4)  *  6270U - IN(12) * 15137U + (1 << 13)) >> 14;
1328
5.88M
    t3a  = (dctint)(IN(4)  * 15137U + IN(12) *  6270U + (1 << 13)) >> 14;
1329
5.88M
    t4a  = (dctint)(IN(2)  *  3196U - IN(14) * 16069U + (1 << 13)) >> 14;
1330
5.88M
    t7a  = (dctint)(IN(2)  * 16069U + IN(14) *  3196U + (1 << 13)) >> 14;
1331
5.88M
    t5a  = (dctint)(IN(10) * 13623U - IN(6)  *  9102U + (1 << 13)) >> 14;
1332
5.88M
    t6a  = (dctint)(IN(10) *  9102U + IN(6)  * 13623U + (1 << 13)) >> 14;
1333
5.88M
    t8a  = (dctint)(IN(1)  *  1606U - IN(15) * 16305U + (1 << 13)) >> 14;
1334
5.88M
    t15a = (dctint)(IN(1)  * 16305U + IN(15) *  1606U + (1 << 13)) >> 14;
1335
5.88M
    t9a  = (dctint)(IN(9)  * 12665U - IN(7)  * 10394U + (1 << 13)) >> 14;
1336
5.88M
    t14a = (dctint)(IN(9)  * 10394U + IN(7)  * 12665U + (1 << 13)) >> 14;
1337
5.88M
    t10a = (dctint)(IN(5)  *  7723U - IN(11) * 14449U + (1 << 13)) >> 14;
1338
5.88M
    t13a = (dctint)(IN(5)  * 14449U + IN(11) *  7723U + (1 << 13)) >> 14;
1339
5.88M
    t11a = (dctint)(IN(13) * 15679U - IN(3)  *  4756U + (1 << 13)) >> 14;
1340
5.88M
    t12a = (dctint)(IN(13) *  4756U + IN(3)  * 15679U + (1 << 13)) >> 14;
1341
1342
5.88M
    t0  = t0a  + t3a;
1343
5.88M
    t1  = t1a  + t2a;
1344
5.88M
    t2  = t1a  - t2a;
1345
5.88M
    t3  = t0a  - t3a;
1346
5.88M
    t4  = t4a  + t5a;
1347
5.88M
    t5  = t4a  - t5a;
1348
5.88M
    t6  = t7a  - t6a;
1349
5.88M
    t7  = t7a  + t6a;
1350
5.88M
    t8  = t8a  + t9a;
1351
5.88M
    t9  = t8a  - t9a;
1352
5.88M
    t10 = t11a - t10a;
1353
5.88M
    t11 = t11a + t10a;
1354
5.88M
    t12 = t12a + t13a;
1355
5.88M
    t13 = t12a - t13a;
1356
5.88M
    t14 = t15a - t14a;
1357
5.88M
    t15 = t15a + t14a;
1358
1359
5.88M
    t5a  = (dctint)((t6 - t5) * 11585U + (1 << 13)) >> 14;
1360
5.88M
    t6a  = (dctint)((t6 + t5) * 11585U + (1 << 13)) >> 14;
1361
5.88M
    t9a  = (dctint)(  t14 *  6270U - t9  * 15137U  + (1 << 13)) >> 14;
1362
5.88M
    t14a = (dctint)(  t14 * 15137U + t9  *  6270U  + (1 << 13)) >> 14;
1363
5.88M
    t10a = (dctint)(-(t13 * 15137U + t10 *  6270U) + (1 << 13)) >> 14;
1364
5.88M
    t13a = (dctint)(  t13 *  6270U - t10 * 15137U  + (1 << 13)) >> 14;
1365
1366
5.88M
    t0a  = t0   + t7;
1367
5.88M
    t1a  = t1   + t6a;
1368
5.88M
    t2a  = t2   + t5a;
1369
5.88M
    t3a  = t3   + t4;
1370
5.88M
    t4   = t3   - t4;
1371
5.88M
    t5   = t2   - t5a;
1372
5.88M
    t6   = t1   - t6a;
1373
5.88M
    t7   = t0   - t7;
1374
5.88M
    t8a  = t8   + t11;
1375
5.88M
    t9   = t9a  + t10a;
1376
5.88M
    t10  = t9a  - t10a;
1377
5.88M
    t11a = t8   - t11;
1378
5.88M
    t12a = t15  - t12;
1379
5.88M
    t13  = t14a - t13a;
1380
5.88M
    t14  = t14a + t13a;
1381
5.88M
    t15a = t15  + t12;
1382
1383
5.88M
    t10a = (dctint)((t13  - t10)  * 11585U + (1 << 13)) >> 14;
1384
5.88M
    t13a = (dctint)((t13  + t10)  * 11585U + (1 << 13)) >> 14;
1385
5.88M
    t11  = (dctint)((t12a - t11a) * 11585U + (1 << 13)) >> 14;
1386
5.88M
    t12  = (dctint)((t12a + t11a) * 11585U + (1 << 13)) >> 14;
1387
1388
5.88M
    out[ 0] = t0a + t15a;
1389
5.88M
    out[ 1] = t1a + t14;
1390
5.88M
    out[ 2] = t2a + t13a;
1391
5.88M
    out[ 3] = t3a + t12;
1392
5.88M
    out[ 4] = t4  + t11;
1393
5.88M
    out[ 5] = t5  + t10a;
1394
5.88M
    out[ 6] = t6  + t9;
1395
5.88M
    out[ 7] = t7  + t8a;
1396
5.88M
    out[ 8] = t7  - t8a;
1397
5.88M
    out[ 9] = t6  - t9;
1398
5.88M
    out[10] = t5  - t10a;
1399
5.88M
    out[11] = t4  - t11;
1400
5.88M
    out[12] = t3a - t12;
1401
5.88M
    out[13] = t2a - t13a;
1402
5.88M
    out[14] = t1a - t14;
1403
5.88M
    out[15] = t0a - t15a;
1404
5.88M
}
1405
1406
static av_always_inline void iadst16_1d(const dctcoef *in, ptrdiff_t stride,
1407
                                        dctcoef *out, int pass)
1408
5.14M
{
1409
5.14M
    dctint t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1410
5.14M
    dctint t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;
1411
5.14M
    dctint t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;
1412
1413
5.14M
    t0  = IN(15) * 16364U + IN(0)  *   804U;
1414
5.14M
    t1  = IN(15) *   804U - IN(0)  * 16364U;
1415
5.14M
    t2  = IN(13) * 15893U + IN(2)  *  3981U;
1416
5.14M
    t3  = IN(13) *  3981U - IN(2)  * 15893U;
1417
5.14M
    t4  = IN(11) * 14811U + IN(4)  *  7005U;
1418
5.14M
    t5  = IN(11) *  7005U - IN(4)  * 14811U;
1419
5.14M
    t6  = IN(9)  * 13160U + IN(6)  *  9760U;
1420
5.14M
    t7  = IN(9)  *  9760U - IN(6)  * 13160U;
1421
5.14M
    t8  = IN(7)  * 11003U + IN(8)  * 12140U;
1422
5.14M
    t9  = IN(7)  * 12140U - IN(8)  * 11003U;
1423
5.14M
    t10 = IN(5)  *  8423U + IN(10) * 14053U;
1424
5.14M
    t11 = IN(5)  * 14053U - IN(10) *  8423U;
1425
5.14M
    t12 = IN(3)  *  5520U + IN(12) * 15426U;
1426
5.14M
    t13 = IN(3)  * 15426U - IN(12) *  5520U;
1427
5.14M
    t14 = IN(1)  *  2404U + IN(14) * 16207U;
1428
5.14M
    t15 = IN(1)  * 16207U - IN(14) *  2404U;
1429
1430
5.14M
    t0a  = (dctint)((1U << 13) + t0 + t8 ) >> 14;
1431
5.14M
    t1a  = (dctint)((1U << 13) + t1 + t9 ) >> 14;
1432
5.14M
    t2a  = (dctint)((1U << 13) + t2 + t10) >> 14;
1433
5.14M
    t3a  = (dctint)((1U << 13) + t3 + t11) >> 14;
1434
5.14M
    t4a  = (dctint)((1U << 13) + t4 + t12) >> 14;
1435
5.14M
    t5a  = (dctint)((1U << 13) + t5 + t13) >> 14;
1436
5.14M
    t6a  = (dctint)((1U << 13) + t6 + t14) >> 14;
1437
5.14M
    t7a  = (dctint)((1U << 13) + t7 + t15) >> 14;
1438
5.14M
    t8a  = (dctint)((1U << 13) + t0 - t8 ) >> 14;
1439
5.14M
    t9a  = (dctint)((1U << 13) + t1 - t9 ) >> 14;
1440
5.14M
    t10a = (dctint)((1U << 13) + t2 - t10) >> 14;
1441
5.14M
    t11a = (dctint)((1U << 13) + t3 - t11) >> 14;
1442
5.14M
    t12a = (dctint)((1U << 13) + t4 - t12) >> 14;
1443
5.14M
    t13a = (dctint)((1U << 13) + t5 - t13) >> 14;
1444
5.14M
    t14a = (dctint)((1U << 13) + t6 - t14) >> 14;
1445
5.14M
    t15a = (dctint)((1U << 13) + t7 - t15) >> 14;
1446
1447
5.14M
    t8   = t8a  * 16069U + t9a  *  3196U;
1448
5.14M
    t9   = t8a  *  3196U - t9a  * 16069U;
1449
5.14M
    t10  = t10a *  9102U + t11a * 13623U;
1450
5.14M
    t11  = t10a * 13623U - t11a *  9102U;
1451
5.14M
    t12  = t13a * 16069U - t12a *  3196U;
1452
5.14M
    t13  = t13a *  3196U + t12a * 16069U;
1453
5.14M
    t14  = t15a *  9102U - t14a * 13623U;
1454
5.14M
    t15  = t15a * 13623U + t14a *  9102U;
1455
1456
5.14M
    t0   = t0a + t4a;
1457
5.14M
    t1   = t1a + t5a;
1458
5.14M
    t2   = t2a + t6a;
1459
5.14M
    t3   = t3a + t7a;
1460
5.14M
    t4   = t0a - t4a;
1461
5.14M
    t5   = t1a - t5a;
1462
5.14M
    t6   = t2a - t6a;
1463
5.14M
    t7   = t3a - t7a;
1464
5.14M
    t8a  = (dctint)((1U << 13) + t8  + t12) >> 14;
1465
5.14M
    t9a  = (dctint)((1U << 13) + t9  + t13) >> 14;
1466
5.14M
    t10a = (dctint)((1U << 13) + t10 + t14) >> 14;
1467
5.14M
    t11a = (dctint)((1U << 13) + t11 + t15) >> 14;
1468
5.14M
    t12a = (dctint)((1U << 13) + t8  - t12) >> 14;
1469
5.14M
    t13a = (dctint)((1U << 13) + t9  - t13) >> 14;
1470
5.14M
    t14a = (dctint)((1U << 13) + t10 - t14) >> 14;
1471
5.14M
    t15a = (dctint)((1U << 13) + t11 - t15) >> 14;
1472
1473
5.14M
    t4a  = t4 * 15137U + t5 *  6270U;
1474
5.14M
    t5a  = t4 *  6270U - t5 * 15137U;
1475
5.14M
    t6a  = t7 * 15137U - t6 *  6270U;
1476
5.14M
    t7a  = t7 *  6270U + t6 * 15137U;
1477
5.14M
    t12  = t12a * 15137U + t13a *  6270U;
1478
5.14M
    t13  = t12a *  6270U - t13a * 15137U;
1479
5.14M
    t14  = t15a * 15137U - t14a *  6270U;
1480
5.14M
    t15  = t15a *  6270U + t14a * 15137U;
1481
1482
5.14M
    out[ 0] =   t0 + t2;
1483
5.14M
    out[15] = -(t1 + t3);
1484
5.14M
    t2a     =   t0 - t2;
1485
5.14M
    t3a     =   t1 - t3;
1486
5.14M
    out[ 3] = -((dctint)((1U << 13) + t4a + t6a) >> 14);
1487
5.14M
    out[12] =   (dctint)((1U << 13) + t5a + t7a) >> 14;
1488
5.14M
    t6      =   (dctint)((1U << 13) + t4a - t6a) >> 14;
1489
5.14M
    t7      =   (dctint)((1U << 13) + t5a - t7a) >> 14;
1490
5.14M
    out[ 1] = -(t8a + t10a);
1491
5.14M
    out[14] =   t9a + t11a;
1492
5.14M
    t10     =   t8a - t10a;
1493
5.14M
    t11     =   t9a - t11a;
1494
5.14M
    out[ 2] =   (dctint)((1U << 13) + t12 + t14) >> 14;
1495
5.14M
    out[13] = -((dctint)((1U << 13) + t13 + t15) >> 14);
1496
5.14M
    t14a    =   (dctint)((1U << 13) + t12 - t14) >> 14;
1497
5.14M
    t15a    =   (dctint)((1U << 13) + t13 - t15) >> 14;
1498
1499
5.14M
    out[ 7] = (dctint)(-(t2a  + t3a)  * 11585U  + (1 << 13)) >> 14;
1500
5.14M
    out[ 8] = (dctint)( (t2a  - t3a)  * 11585U  + (1 << 13)) >> 14;
1501
5.14M
    out[ 4] = (dctint)( (t7   + t6)   * 11585U  + (1 << 13)) >> 14;
1502
5.14M
    out[11] = (dctint)( (t7   - t6)   * 11585U  + (1 << 13)) >> 14;
1503
5.14M
    out[ 6] = (dctint)( (t11  + t10)  * 11585U  + (1 << 13)) >> 14;
1504
5.14M
    out[ 9] = (dctint)( (t11  - t10)  * 11585U  + (1 << 13)) >> 14;
1505
5.14M
    out[ 5] = (dctint)(-(t14a + t15a) * 11585U  + (1 << 13)) >> 14;
1506
5.14M
    out[10] = (dctint)( (t14a - t15a) * 11585U  + (1 << 13)) >> 14;
1507
5.14M
}
vp9dsp_10bpp.c:iadst16_1d
Line
Count
Source
1408
1.25M
{
1409
1.25M
    dctint t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1410
1.25M
    dctint t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;
1411
1.25M
    dctint t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;
1412
1413
1.25M
    t0  = IN(15) * 16364U + IN(0)  *   804U;
1414
1.25M
    t1  = IN(15) *   804U - IN(0)  * 16364U;
1415
1.25M
    t2  = IN(13) * 15893U + IN(2)  *  3981U;
1416
1.25M
    t3  = IN(13) *  3981U - IN(2)  * 15893U;
1417
1.25M
    t4  = IN(11) * 14811U + IN(4)  *  7005U;
1418
1.25M
    t5  = IN(11) *  7005U - IN(4)  * 14811U;
1419
1.25M
    t6  = IN(9)  * 13160U + IN(6)  *  9760U;
1420
1.25M
    t7  = IN(9)  *  9760U - IN(6)  * 13160U;
1421
1.25M
    t8  = IN(7)  * 11003U + IN(8)  * 12140U;
1422
1.25M
    t9  = IN(7)  * 12140U - IN(8)  * 11003U;
1423
1.25M
    t10 = IN(5)  *  8423U + IN(10) * 14053U;
1424
1.25M
    t11 = IN(5)  * 14053U - IN(10) *  8423U;
1425
1.25M
    t12 = IN(3)  *  5520U + IN(12) * 15426U;
1426
1.25M
    t13 = IN(3)  * 15426U - IN(12) *  5520U;
1427
1.25M
    t14 = IN(1)  *  2404U + IN(14) * 16207U;
1428
1.25M
    t15 = IN(1)  * 16207U - IN(14) *  2404U;
1429
1430
1.25M
    t0a  = (dctint)((1U << 13) + t0 + t8 ) >> 14;
1431
1.25M
    t1a  = (dctint)((1U << 13) + t1 + t9 ) >> 14;
1432
1.25M
    t2a  = (dctint)((1U << 13) + t2 + t10) >> 14;
1433
1.25M
    t3a  = (dctint)((1U << 13) + t3 + t11) >> 14;
1434
1.25M
    t4a  = (dctint)((1U << 13) + t4 + t12) >> 14;
1435
1.25M
    t5a  = (dctint)((1U << 13) + t5 + t13) >> 14;
1436
1.25M
    t6a  = (dctint)((1U << 13) + t6 + t14) >> 14;
1437
1.25M
    t7a  = (dctint)((1U << 13) + t7 + t15) >> 14;
1438
1.25M
    t8a  = (dctint)((1U << 13) + t0 - t8 ) >> 14;
1439
1.25M
    t9a  = (dctint)((1U << 13) + t1 - t9 ) >> 14;
1440
1.25M
    t10a = (dctint)((1U << 13) + t2 - t10) >> 14;
1441
1.25M
    t11a = (dctint)((1U << 13) + t3 - t11) >> 14;
1442
1.25M
    t12a = (dctint)((1U << 13) + t4 - t12) >> 14;
1443
1.25M
    t13a = (dctint)((1U << 13) + t5 - t13) >> 14;
1444
1.25M
    t14a = (dctint)((1U << 13) + t6 - t14) >> 14;
1445
1.25M
    t15a = (dctint)((1U << 13) + t7 - t15) >> 14;
1446
1447
1.25M
    t8   = t8a  * 16069U + t9a  *  3196U;
1448
1.25M
    t9   = t8a  *  3196U - t9a  * 16069U;
1449
1.25M
    t10  = t10a *  9102U + t11a * 13623U;
1450
1.25M
    t11  = t10a * 13623U - t11a *  9102U;
1451
1.25M
    t12  = t13a * 16069U - t12a *  3196U;
1452
1.25M
    t13  = t13a *  3196U + t12a * 16069U;
1453
1.25M
    t14  = t15a *  9102U - t14a * 13623U;
1454
1.25M
    t15  = t15a * 13623U + t14a *  9102U;
1455
1456
1.25M
    t0   = t0a + t4a;
1457
1.25M
    t1   = t1a + t5a;
1458
1.25M
    t2   = t2a + t6a;
1459
1.25M
    t3   = t3a + t7a;
1460
1.25M
    t4   = t0a - t4a;
1461
1.25M
    t5   = t1a - t5a;
1462
1.25M
    t6   = t2a - t6a;
1463
1.25M
    t7   = t3a - t7a;
1464
1.25M
    t8a  = (dctint)((1U << 13) + t8  + t12) >> 14;
1465
1.25M
    t9a  = (dctint)((1U << 13) + t9  + t13) >> 14;
1466
1.25M
    t10a = (dctint)((1U << 13) + t10 + t14) >> 14;
1467
1.25M
    t11a = (dctint)((1U << 13) + t11 + t15) >> 14;
1468
1.25M
    t12a = (dctint)((1U << 13) + t8  - t12) >> 14;
1469
1.25M
    t13a = (dctint)((1U << 13) + t9  - t13) >> 14;
1470
1.25M
    t14a = (dctint)((1U << 13) + t10 - t14) >> 14;
1471
1.25M
    t15a = (dctint)((1U << 13) + t11 - t15) >> 14;
1472
1473
1.25M
    t4a  = t4 * 15137U + t5 *  6270U;
1474
1.25M
    t5a  = t4 *  6270U - t5 * 15137U;
1475
1.25M
    t6a  = t7 * 15137U - t6 *  6270U;
1476
1.25M
    t7a  = t7 *  6270U + t6 * 15137U;
1477
1.25M
    t12  = t12a * 15137U + t13a *  6270U;
1478
1.25M
    t13  = t12a *  6270U - t13a * 15137U;
1479
1.25M
    t14  = t15a * 15137U - t14a *  6270U;
1480
1.25M
    t15  = t15a *  6270U + t14a * 15137U;
1481
1482
1.25M
    out[ 0] =   t0 + t2;
1483
1.25M
    out[15] = -(t1 + t3);
1484
1.25M
    t2a     =   t0 - t2;
1485
1.25M
    t3a     =   t1 - t3;
1486
1.25M
    out[ 3] = -((dctint)((1U << 13) + t4a + t6a) >> 14);
1487
1.25M
    out[12] =   (dctint)((1U << 13) + t5a + t7a) >> 14;
1488
1.25M
    t6      =   (dctint)((1U << 13) + t4a - t6a) >> 14;
1489
1.25M
    t7      =   (dctint)((1U << 13) + t5a - t7a) >> 14;
1490
1.25M
    out[ 1] = -(t8a + t10a);
1491
1.25M
    out[14] =   t9a + t11a;
1492
1.25M
    t10     =   t8a - t10a;
1493
1.25M
    t11     =   t9a - t11a;
1494
1.25M
    out[ 2] =   (dctint)((1U << 13) + t12 + t14) >> 14;
1495
1.25M
    out[13] = -((dctint)((1U << 13) + t13 + t15) >> 14);
1496
1.25M
    t14a    =   (dctint)((1U << 13) + t12 - t14) >> 14;
1497
1.25M
    t15a    =   (dctint)((1U << 13) + t13 - t15) >> 14;
1498
1499
1.25M
    out[ 7] = (dctint)(-(t2a  + t3a)  * 11585U  + (1 << 13)) >> 14;
1500
1.25M
    out[ 8] = (dctint)( (t2a  - t3a)  * 11585U  + (1 << 13)) >> 14;
1501
1.25M
    out[ 4] = (dctint)( (t7   + t6)   * 11585U  + (1 << 13)) >> 14;
1502
1.25M
    out[11] = (dctint)( (t7   - t6)   * 11585U  + (1 << 13)) >> 14;
1503
1.25M
    out[ 6] = (dctint)( (t11  + t10)  * 11585U  + (1 << 13)) >> 14;
1504
1.25M
    out[ 9] = (dctint)( (t11  - t10)  * 11585U  + (1 << 13)) >> 14;
1505
1.25M
    out[ 5] = (dctint)(-(t14a + t15a) * 11585U  + (1 << 13)) >> 14;
1506
1.25M
    out[10] = (dctint)( (t14a - t15a) * 11585U  + (1 << 13)) >> 14;
1507
1.25M
}
vp9dsp_12bpp.c:iadst16_1d
Line
Count
Source
1408
2.17M
{
1409
2.17M
    dctint t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1410
2.17M
    dctint t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;
1411
2.17M
    dctint t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;
1412
1413
2.17M
    t0  = IN(15) * 16364U + IN(0)  *   804U;
1414
2.17M
    t1  = IN(15) *   804U - IN(0)  * 16364U;
1415
2.17M
    t2  = IN(13) * 15893U + IN(2)  *  3981U;
1416
2.17M
    t3  = IN(13) *  3981U - IN(2)  * 15893U;
1417
2.17M
    t4  = IN(11) * 14811U + IN(4)  *  7005U;
1418
2.17M
    t5  = IN(11) *  7005U - IN(4)  * 14811U;
1419
2.17M
    t6  = IN(9)  * 13160U + IN(6)  *  9760U;
1420
2.17M
    t7  = IN(9)  *  9760U - IN(6)  * 13160U;
1421
2.17M
    t8  = IN(7)  * 11003U + IN(8)  * 12140U;
1422
2.17M
    t9  = IN(7)  * 12140U - IN(8)  * 11003U;
1423
2.17M
    t10 = IN(5)  *  8423U + IN(10) * 14053U;
1424
2.17M
    t11 = IN(5)  * 14053U - IN(10) *  8423U;
1425
2.17M
    t12 = IN(3)  *  5520U + IN(12) * 15426U;
1426
2.17M
    t13 = IN(3)  * 15426U - IN(12) *  5520U;
1427
2.17M
    t14 = IN(1)  *  2404U + IN(14) * 16207U;
1428
2.17M
    t15 = IN(1)  * 16207U - IN(14) *  2404U;
1429
1430
2.17M
    t0a  = (dctint)((1U << 13) + t0 + t8 ) >> 14;
1431
2.17M
    t1a  = (dctint)((1U << 13) + t1 + t9 ) >> 14;
1432
2.17M
    t2a  = (dctint)((1U << 13) + t2 + t10) >> 14;
1433
2.17M
    t3a  = (dctint)((1U << 13) + t3 + t11) >> 14;
1434
2.17M
    t4a  = (dctint)((1U << 13) + t4 + t12) >> 14;
1435
2.17M
    t5a  = (dctint)((1U << 13) + t5 + t13) >> 14;
1436
2.17M
    t6a  = (dctint)((1U << 13) + t6 + t14) >> 14;
1437
2.17M
    t7a  = (dctint)((1U << 13) + t7 + t15) >> 14;
1438
2.17M
    t8a  = (dctint)((1U << 13) + t0 - t8 ) >> 14;
1439
2.17M
    t9a  = (dctint)((1U << 13) + t1 - t9 ) >> 14;
1440
2.17M
    t10a = (dctint)((1U << 13) + t2 - t10) >> 14;
1441
2.17M
    t11a = (dctint)((1U << 13) + t3 - t11) >> 14;
1442
2.17M
    t12a = (dctint)((1U << 13) + t4 - t12) >> 14;
1443
2.17M
    t13a = (dctint)((1U << 13) + t5 - t13) >> 14;
1444
2.17M
    t14a = (dctint)((1U << 13) + t6 - t14) >> 14;
1445
2.17M
    t15a = (dctint)((1U << 13) + t7 - t15) >> 14;
1446
1447
2.17M
    t8   = t8a  * 16069U + t9a  *  3196U;
1448
2.17M
    t9   = t8a  *  3196U - t9a  * 16069U;
1449
2.17M
    t10  = t10a *  9102U + t11a * 13623U;
1450
2.17M
    t11  = t10a * 13623U - t11a *  9102U;
1451
2.17M
    t12  = t13a * 16069U - t12a *  3196U;
1452
2.17M
    t13  = t13a *  3196U + t12a * 16069U;
1453
2.17M
    t14  = t15a *  9102U - t14a * 13623U;
1454
2.17M
    t15  = t15a * 13623U + t14a *  9102U;
1455
1456
2.17M
    t0   = t0a + t4a;
1457
2.17M
    t1   = t1a + t5a;
1458
2.17M
    t2   = t2a + t6a;
1459
2.17M
    t3   = t3a + t7a;
1460
2.17M
    t4   = t0a - t4a;
1461
2.17M
    t5   = t1a - t5a;
1462
2.17M
    t6   = t2a - t6a;
1463
2.17M
    t7   = t3a - t7a;
1464
2.17M
    t8a  = (dctint)((1U << 13) + t8  + t12) >> 14;
1465
2.17M
    t9a  = (dctint)((1U << 13) + t9  + t13) >> 14;
1466
2.17M
    t10a = (dctint)((1U << 13) + t10 + t14) >> 14;
1467
2.17M
    t11a = (dctint)((1U << 13) + t11 + t15) >> 14;
1468
2.17M
    t12a = (dctint)((1U << 13) + t8  - t12) >> 14;
1469
2.17M
    t13a = (dctint)((1U << 13) + t9  - t13) >> 14;
1470
2.17M
    t14a = (dctint)((1U << 13) + t10 - t14) >> 14;
1471
2.17M
    t15a = (dctint)((1U << 13) + t11 - t15) >> 14;
1472
1473
2.17M
    t4a  = t4 * 15137U + t5 *  6270U;
1474
2.17M
    t5a  = t4 *  6270U - t5 * 15137U;
1475
2.17M
    t6a  = t7 * 15137U - t6 *  6270U;
1476
2.17M
    t7a  = t7 *  6270U + t6 * 15137U;
1477
2.17M
    t12  = t12a * 15137U + t13a *  6270U;
1478
2.17M
    t13  = t12a *  6270U - t13a * 15137U;
1479
2.17M
    t14  = t15a * 15137U - t14a *  6270U;
1480
2.17M
    t15  = t15a *  6270U + t14a * 15137U;
1481
1482
2.17M
    out[ 0] =   t0 + t2;
1483
2.17M
    out[15] = -(t1 + t3);
1484
2.17M
    t2a     =   t0 - t2;
1485
2.17M
    t3a     =   t1 - t3;
1486
2.17M
    out[ 3] = -((dctint)((1U << 13) + t4a + t6a) >> 14);
1487
2.17M
    out[12] =   (dctint)((1U << 13) + t5a + t7a) >> 14;
1488
2.17M
    t6      =   (dctint)((1U << 13) + t4a - t6a) >> 14;
1489
2.17M
    t7      =   (dctint)((1U << 13) + t5a - t7a) >> 14;
1490
2.17M
    out[ 1] = -(t8a + t10a);
1491
2.17M
    out[14] =   t9a + t11a;
1492
2.17M
    t10     =   t8a - t10a;
1493
2.17M
    t11     =   t9a - t11a;
1494
2.17M
    out[ 2] =   (dctint)((1U << 13) + t12 + t14) >> 14;
1495
2.17M
    out[13] = -((dctint)((1U << 13) + t13 + t15) >> 14);
1496
2.17M
    t14a    =   (dctint)((1U << 13) + t12 - t14) >> 14;
1497
2.17M
    t15a    =   (dctint)((1U << 13) + t13 - t15) >> 14;
1498
1499
2.17M
    out[ 7] = (dctint)(-(t2a  + t3a)  * 11585U  + (1 << 13)) >> 14;
1500
2.17M
    out[ 8] = (dctint)( (t2a  - t3a)  * 11585U  + (1 << 13)) >> 14;
1501
2.17M
    out[ 4] = (dctint)( (t7   + t6)   * 11585U  + (1 << 13)) >> 14;
1502
2.17M
    out[11] = (dctint)( (t7   - t6)   * 11585U  + (1 << 13)) >> 14;
1503
2.17M
    out[ 6] = (dctint)( (t11  + t10)  * 11585U  + (1 << 13)) >> 14;
1504
2.17M
    out[ 9] = (dctint)( (t11  - t10)  * 11585U  + (1 << 13)) >> 14;
1505
2.17M
    out[ 5] = (dctint)(-(t14a + t15a) * 11585U  + (1 << 13)) >> 14;
1506
2.17M
    out[10] = (dctint)( (t14a - t15a) * 11585U  + (1 << 13)) >> 14;
1507
2.17M
}
vp9dsp_8bpp.c:iadst16_1d
Line
Count
Source
1408
1.70M
{
1409
1.70M
    dctint t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15;
1410
1.70M
    dctint t0a, t1a, t2a, t3a, t4a, t5a, t6a, t7a;
1411
1.70M
    dctint t8a, t9a, t10a, t11a, t12a, t13a, t14a, t15a;
1412
1413
1.70M
    t0  = IN(15) * 16364U + IN(0)  *   804U;
1414
1.70M
    t1  = IN(15) *   804U - IN(0)  * 16364U;
1415
1.70M
    t2  = IN(13) * 15893U + IN(2)  *  3981U;
1416
1.70M
    t3  = IN(13) *  3981U - IN(2)  * 15893U;
1417
1.70M
    t4  = IN(11) * 14811U + IN(4)  *  7005U;
1418
1.70M
    t5  = IN(11) *  7005U - IN(4)  * 14811U;
1419
1.70M
    t6  = IN(9)  * 13160U + IN(6)  *  9760U;
1420
1.70M
    t7  = IN(9)  *  9760U - IN(6)  * 13160U;
1421
1.70M
    t8  = IN(7)  * 11003U + IN(8)  * 12140U;
1422
1.70M
    t9  = IN(7)  * 12140U - IN(8)  * 11003U;
1423
1.70M
    t10 = IN(5)  *  8423U + IN(10) * 14053U;
1424
1.70M
    t11 = IN(5)  * 14053U - IN(10) *  8423U;
1425
1.70M
    t12 = IN(3)  *  5520U + IN(12) * 15426U;
1426
1.70M
    t13 = IN(3)  * 15426U - IN(12) *  5520U;
1427
1.70M
    t14 = IN(1)  *  2404U + IN(14) * 16207U;
1428
1.70M
    t15 = IN(1)  * 16207U - IN(14) *  2404U;
1429
1430
1.70M
    t0a  = (dctint)((1U << 13) + t0 + t8 ) >> 14;
1431
1.70M
    t1a  = (dctint)((1U << 13) + t1 + t9 ) >> 14;
1432
1.70M
    t2a  = (dctint)((1U << 13) + t2 + t10) >> 14;
1433
1.70M
    t3a  = (dctint)((1U << 13) + t3 + t11) >> 14;
1434
1.70M
    t4a  = (dctint)((1U << 13) + t4 + t12) >> 14;
1435
1.70M
    t5a  = (dctint)((1U << 13) + t5 + t13) >> 14;
1436
1.70M
    t6a  = (dctint)((1U << 13) + t6 + t14) >> 14;
1437
1.70M
    t7a  = (dctint)((1U << 13) + t7 + t15) >> 14;
1438
1.70M
    t8a  = (dctint)((1U << 13) + t0 - t8 ) >> 14;
1439
1.70M
    t9a  = (dctint)((1U << 13) + t1 - t9 ) >> 14;
1440
1.70M
    t10a = (dctint)((1U << 13) + t2 - t10) >> 14;
1441
1.70M
    t11a = (dctint)((1U << 13) + t3 - t11) >> 14;
1442
1.70M
    t12a = (dctint)((1U << 13) + t4 - t12) >> 14;
1443
1.70M
    t13a = (dctint)((1U << 13) + t5 - t13) >> 14;
1444
1.70M
    t14a = (dctint)((1U << 13) + t6 - t14) >> 14;
1445
1.70M
    t15a = (dctint)((1U << 13) + t7 - t15) >> 14;
1446
1447
1.70M
    t8   = t8a  * 16069U + t9a  *  3196U;
1448
1.70M
    t9   = t8a  *  3196U - t9a  * 16069U;
1449
1.70M
    t10  = t10a *  9102U + t11a * 13623U;
1450
1.70M
    t11  = t10a * 13623U - t11a *  9102U;
1451
1.70M
    t12  = t13a * 16069U - t12a *  3196U;
1452
1.70M
    t13  = t13a *  3196U + t12a * 16069U;
1453
1.70M
    t14  = t15a *  9102U - t14a * 13623U;
1454
1.70M
    t15  = t15a * 13623U + t14a *  9102U;
1455
1456
1.70M
    t0   = t0a + t4a;
1457
1.70M
    t1   = t1a + t5a;
1458
1.70M
    t2   = t2a + t6a;
1459
1.70M
    t3   = t3a + t7a;
1460
1.70M
    t4   = t0a - t4a;
1461
1.70M
    t5   = t1a - t5a;
1462
1.70M
    t6   = t2a - t6a;
1463
1.70M
    t7   = t3a - t7a;
1464
1.70M
    t8a  = (dctint)((1U << 13) + t8  + t12) >> 14;
1465
1.70M
    t9a  = (dctint)((1U << 13) + t9  + t13) >> 14;
1466
1.70M
    t10a = (dctint)((1U << 13) + t10 + t14) >> 14;
1467
1.70M
    t11a = (dctint)((1U << 13) + t11 + t15) >> 14;
1468
1.70M
    t12a = (dctint)((1U << 13) + t8  - t12) >> 14;
1469
1.70M
    t13a = (dctint)((1U << 13) + t9  - t13) >> 14;
1470
1.70M
    t14a = (dctint)((1U << 13) + t10 - t14) >> 14;
1471
1.70M
    t15a = (dctint)((1U << 13) + t11 - t15) >> 14;
1472
1473
1.70M
    t4a  = t4 * 15137U + t5 *  6270U;
1474
1.70M
    t5a  = t4 *  6270U - t5 * 15137U;
1475
1.70M
    t6a  = t7 * 15137U - t6 *  6270U;
1476
1.70M
    t7a  = t7 *  6270U + t6 * 15137U;
1477
1.70M
    t12  = t12a * 15137U + t13a *  6270U;
1478
1.70M
    t13  = t12a *  6270U - t13a * 15137U;
1479
1.70M
    t14  = t15a * 15137U - t14a *  6270U;
1480
1.70M
    t15  = t15a *  6270U + t14a * 15137U;
1481
1482
1.70M
    out[ 0] =   t0 + t2;
1483
1.70M
    out[15] = -(t1 + t3);
1484
1.70M
    t2a     =   t0 - t2;
1485
1.70M
    t3a     =   t1 - t3;
1486
1.70M
    out[ 3] = -((dctint)((1U << 13) + t4a + t6a) >> 14);
1487
1.70M
    out[12] =   (dctint)((1U << 13) + t5a + t7a) >> 14;
1488
1.70M
    t6      =   (dctint)((1U << 13) + t4a - t6a) >> 14;
1489
1.70M
    t7      =   (dctint)((1U << 13) + t5a - t7a) >> 14;
1490
1.70M
    out[ 1] = -(t8a + t10a);
1491
1.70M
    out[14] =   t9a + t11a;
1492
1.70M
    t10     =   t8a - t10a;
1493
1.70M
    t11     =   t9a - t11a;
1494
1.70M
    out[ 2] =   (dctint)((1U << 13) + t12 + t14) >> 14;
1495
1.70M
    out[13] = -((dctint)((1U << 13) + t13 + t15) >> 14);
1496
1.70M
    t14a    =   (dctint)((1U << 13) + t12 - t14) >> 14;
1497
1.70M
    t15a    =   (dctint)((1U << 13) + t13 - t15) >> 14;
1498
1499
1.70M
    out[ 7] = (dctint)(-(t2a  + t3a)  * 11585U  + (1 << 13)) >> 14;
1500
1.70M
    out[ 8] = (dctint)( (t2a  - t3a)  * 11585U  + (1 << 13)) >> 14;
1501
1.70M
    out[ 4] = (dctint)( (t7   + t6)   * 11585U  + (1 << 13)) >> 14;
1502
1.70M
    out[11] = (dctint)( (t7   - t6)   * 11585U  + (1 << 13)) >> 14;
1503
1.70M
    out[ 6] = (dctint)( (t11  + t10)  * 11585U  + (1 << 13)) >> 14;
1504
1.70M
    out[ 9] = (dctint)( (t11  - t10)  * 11585U  + (1 << 13)) >> 14;
1505
1.70M
    out[ 5] = (dctint)(-(t14a + t15a) * 11585U  + (1 << 13)) >> 14;
1506
1.70M
    out[10] = (dctint)( (t14a - t15a) * 11585U  + (1 << 13)) >> 14;
1507
1.70M
}
1508
1509
itxfm_wrap(16, 6)
1510
1511
static av_always_inline void idct32_1d(const dctcoef *in, ptrdiff_t stride,
1512
                                       dctcoef *out, int pass)
1513
31.4M
{
1514
31.4M
    dctint t0a  = (dctint)((IN(0) + IN(16)) * 11585U         + (1 << 13)) >> 14;
1515
31.4M
    dctint t1a  = (dctint)((IN(0) - IN(16)) * 11585U         + (1 << 13)) >> 14;
1516
31.4M
    dctint t2a  = (dctint)(IN( 8) *  6270U - IN(24) * 15137U + (1 << 13)) >> 14;
1517
31.4M
    dctint t3a  = (dctint)(IN( 8) * 15137U + IN(24) *  6270U + (1 << 13)) >> 14;
1518
31.4M
    dctint t4a  = (dctint)(IN( 4) *  3196U - IN(28) * 16069U + (1 << 13)) >> 14;
1519
31.4M
    dctint t7a  = (dctint)(IN( 4) * 16069U + IN(28) *  3196U + (1 << 13)) >> 14;
1520
31.4M
    dctint t5a  = (dctint)(IN(20) * 13623U - IN(12) *  9102U + (1 << 13)) >> 14;
1521
31.4M
    dctint t6a  = (dctint)(IN(20) *  9102U + IN(12) * 13623U + (1 << 13)) >> 14;
1522
31.4M
    dctint t8a  = (dctint)(IN( 2) *  1606U - IN(30) * 16305U + (1 << 13)) >> 14;
1523
31.4M
    dctint t15a = (dctint)(IN( 2) * 16305U + IN(30) *  1606U + (1 << 13)) >> 14;
1524
31.4M
    dctint t9a  = (dctint)(IN(18) * 12665U - IN(14) * 10394U + (1 << 13)) >> 14;
1525
31.4M
    dctint t14a = (dctint)(IN(18) * 10394U + IN(14) * 12665U + (1 << 13)) >> 14;
1526
31.4M
    dctint t10a = (dctint)(IN(10) *  7723U - IN(22) * 14449U + (1 << 13)) >> 14;
1527
31.4M
    dctint t13a = (dctint)(IN(10) * 14449U + IN(22) *  7723U + (1 << 13)) >> 14;
1528
31.4M
    dctint t11a = (dctint)(IN(26) * 15679U - IN( 6) *  4756U + (1 << 13)) >> 14;
1529
31.4M
    dctint t12a = (dctint)(IN(26) *  4756U + IN( 6) * 15679U + (1 << 13)) >> 14;
1530
31.4M
    dctint t16a = (dctint)(IN( 1) *   804U - IN(31) * 16364U + (1 << 13)) >> 14;
1531
31.4M
    dctint t31a = (dctint)(IN( 1) * 16364U + IN(31) *   804U + (1 << 13)) >> 14;
1532
31.4M
    dctint t17a = (dctint)(IN(17) * 12140U - IN(15) * 11003U + (1 << 13)) >> 14;
1533
31.4M
    dctint t30a = (dctint)(IN(17) * 11003U + IN(15) * 12140U + (1 << 13)) >> 14;
1534
31.4M
    dctint t18a = (dctint)(IN( 9) *  7005U - IN(23) * 14811U + (1 << 13)) >> 14;
1535
31.4M
    dctint t29a = (dctint)(IN( 9) * 14811U + IN(23) *  7005U + (1 << 13)) >> 14;
1536
31.4M
    dctint t19a = (dctint)(IN(25) * 15426U - IN( 7) *  5520U + (1 << 13)) >> 14;
1537
31.4M
    dctint t28a = (dctint)(IN(25) *  5520U + IN( 7) * 15426U + (1 << 13)) >> 14;
1538
31.4M
    dctint t20a = (dctint)(IN( 5) *  3981U - IN(27) * 15893U + (1 << 13)) >> 14;
1539
31.4M
    dctint t27a = (dctint)(IN( 5) * 15893U + IN(27) *  3981U + (1 << 13)) >> 14;
1540
31.4M
    dctint t21a = (dctint)(IN(21) * 14053U - IN(11) *  8423U + (1 << 13)) >> 14;
1541
31.4M
    dctint t26a = (dctint)(IN(21) *  8423U + IN(11) * 14053U + (1 << 13)) >> 14;
1542
31.4M
    dctint t22a = (dctint)(IN(13) *  9760U - IN(19) * 13160U + (1 << 13)) >> 14;
1543
31.4M
    dctint t25a = (dctint)(IN(13) * 13160U + IN(19) *  9760U + (1 << 13)) >> 14;
1544
31.4M
    dctint t23a = (dctint)(IN(29) * 16207U - IN( 3) *  2404U + (1 << 13)) >> 14;
1545
31.4M
    dctint t24a = (dctint)(IN(29) *  2404U + IN( 3) * 16207U + (1 << 13)) >> 14;
1546
1547
31.4M
    dctint t0  = t0a  + t3a;
1548
31.4M
    dctint t1  = t1a  + t2a;
1549
31.4M
    dctint t2  = t1a  - t2a;
1550
31.4M
    dctint t3  = t0a  - t3a;
1551
31.4M
    dctint t4  = t4a  + t5a;
1552
31.4M
    dctint t5  = t4a  - t5a;
1553
31.4M
    dctint t6  = t7a  - t6a;
1554
31.4M
    dctint t7  = t7a  + t6a;
1555
31.4M
    dctint t8  = t8a  + t9a;
1556
31.4M
    dctint t9  = t8a  - t9a;
1557
31.4M
    dctint t10 = t11a - t10a;
1558
31.4M
    dctint t11 = t11a + t10a;
1559
31.4M
    dctint t12 = t12a + t13a;
1560
31.4M
    dctint t13 = t12a - t13a;
1561
31.4M
    dctint t14 = t15a - t14a;
1562
31.4M
    dctint t15 = t15a + t14a;
1563
31.4M
    dctint t16 = t16a + t17a;
1564
31.4M
    dctint t17 = t16a - t17a;
1565
31.4M
    dctint t18 = t19a - t18a;
1566
31.4M
    dctint t19 = t19a + t18a;
1567
31.4M
    dctint t20 = t20a + t21a;
1568
31.4M
    dctint t21 = t20a - t21a;
1569
31.4M
    dctint t22 = t23a - t22a;
1570
31.4M
    dctint t23 = t23a + t22a;
1571
31.4M
    dctint t24 = t24a + t25a;
1572
31.4M
    dctint t25 = t24a - t25a;
1573
31.4M
    dctint t26 = t27a - t26a;
1574
31.4M
    dctint t27 = t27a + t26a;
1575
31.4M
    dctint t28 = t28a + t29a;
1576
31.4M
    dctint t29 = t28a - t29a;
1577
31.4M
    dctint t30 = t31a - t30a;
1578
31.4M
    dctint t31 = t31a + t30a;
1579
1580
31.4M
    t5a  = (dctint)((t6 - t5) * 11585U             + (1 << 13)) >> 14;
1581
31.4M
    t6a  = (dctint)((t6 + t5) * 11585U             + (1 << 13)) >> 14;
1582
31.4M
    t9a  = (dctint)(  t14 *  6270U - t9  * 15137U  + (1 << 13)) >> 14;
1583
31.4M
    t14a = (dctint)(  t14 * 15137U + t9  *  6270U  + (1 << 13)) >> 14;
1584
31.4M
    t10a = (dctint)(-(t13 * 15137U + t10 *  6270U) + (1 << 13)) >> 14;
1585
31.4M
    t13a = (dctint)(  t13 *  6270U - t10 * 15137U  + (1 << 13)) >> 14;
1586
31.4M
    t17a = (dctint)(  t30 *  3196U - t17 * 16069U  + (1 << 13)) >> 14;
1587
31.4M
    t30a = (dctint)(  t30 * 16069U + t17 *  3196U  + (1 << 13)) >> 14;
1588
31.4M
    t18a = (dctint)(-(t29 * 16069U + t18 *  3196U) + (1 << 13)) >> 14;
1589
31.4M
    t29a = (dctint)(  t29 *  3196U - t18 * 16069U  + (1 << 13)) >> 14;
1590
31.4M
    t21a = (dctint)(  t26 * 13623U - t21 *  9102U  + (1 << 13)) >> 14;
1591
31.4M
    t26a = (dctint)(  t26 *  9102U + t21 * 13623U  + (1 << 13)) >> 14;
1592
31.4M
    t22a = (dctint)(-(t25 *  9102U + t22 * 13623U) + (1 << 13)) >> 14;
1593
31.4M
    t25a = (dctint)(  t25 * 13623U - t22 *  9102U  + (1 << 13)) >> 14;
1594
1595
31.4M
    t0a  = t0   + t7;
1596
31.4M
    t1a  = t1   + t6a;
1597
31.4M
    t2a  = t2   + t5a;
1598
31.4M
    t3a  = t3   + t4;
1599
31.4M
    t4a  = t3   - t4;
1600
31.4M
    t5   = t2   - t5a;
1601
31.4M
    t6   = t1   - t6a;
1602
31.4M
    t7a  = t0   - t7;
1603
31.4M
    t8a  = t8   + t11;
1604
31.4M
    t9   = t9a  + t10a;
1605
31.4M
    t10  = t9a  - t10a;
1606
31.4M
    t11a = t8   - t11;
1607
31.4M
    t12a = t15  - t12;
1608
31.4M
    t13  = t14a - t13a;
1609
31.4M
    t14  = t14a + t13a;
1610
31.4M
    t15a = t15  + t12;
1611
31.4M
    t16a = t16  + t19;
1612
31.4M
    t17  = t17a + t18a;
1613
31.4M
    t18  = t17a - t18a;
1614
31.4M
    t19a = t16  - t19;
1615
31.4M
    t20a = t23  - t20;
1616
31.4M
    t21  = t22a - t21a;
1617
31.4M
    t22  = t22a + t21a;
1618
31.4M
    t23a = t23  + t20;
1619
31.4M
    t24a = t24  + t27;
1620
31.4M
    t25  = t25a + t26a;
1621
31.4M
    t26  = t25a - t26a;
1622
31.4M
    t27a = t24  - t27;
1623
31.4M
    t28a = t31  - t28;
1624
31.4M
    t29  = t30a - t29a;
1625
31.4M
    t30  = t30a + t29a;
1626
31.4M
    t31a = t31  + t28;
1627
1628
31.4M
    t10a = (dctint)((t13  - t10)  * 11585U           + (1 << 13)) >> 14;
1629
31.4M
    t13a = (dctint)((t13  + t10)  * 11585U           + (1 << 13)) >> 14;
1630
31.4M
    t11  = (dctint)((t12a - t11a) * 11585U           + (1 << 13)) >> 14;
1631
31.4M
    t12  = (dctint)((t12a + t11a) * 11585U           + (1 << 13)) >> 14;
1632
31.4M
    t18a = (dctint)(  t29  *  6270U - t18  * 15137U  + (1 << 13)) >> 14;
1633
31.4M
    t29a = (dctint)(  t29  * 15137U + t18  *  6270U  + (1 << 13)) >> 14;
1634
31.4M
    t19  = (dctint)(  t28a *  6270U - t19a * 15137U  + (1 << 13)) >> 14;
1635
31.4M
    t28  = (dctint)(  t28a * 15137U + t19a *  6270U  + (1 << 13)) >> 14;
1636
31.4M
    t20  = (dctint)(-(t27a * 15137U + t20a *  6270U) + (1 << 13)) >> 14;
1637
31.4M
    t27  = (dctint)(  t27a *  6270U - t20a * 15137U  + (1 << 13)) >> 14;
1638
31.4M
    t21a = (dctint)(-(t26  * 15137U + t21  *  6270U) + (1 << 13)) >> 14;
1639
31.4M
    t26a = (dctint)(  t26  *  6270U - t21  * 15137U  + (1 << 13)) >> 14;
1640
1641
31.4M
    t0   = t0a + t15a;
1642
31.4M
    t1   = t1a + t14;
1643
31.4M
    t2   = t2a + t13a;
1644
31.4M
    t3   = t3a + t12;
1645
31.4M
    t4   = t4a + t11;
1646
31.4M
    t5a  = t5  + t10a;
1647
31.4M
    t6a  = t6  + t9;
1648
31.4M
    t7   = t7a + t8a;
1649
31.4M
    t8   = t7a - t8a;
1650
31.4M
    t9a  = t6  - t9;
1651
31.4M
    t10  = t5  - t10a;
1652
31.4M
    t11a = t4a - t11;
1653
31.4M
    t12a = t3a - t12;
1654
31.4M
    t13  = t2a - t13a;
1655
31.4M
    t14a = t1a - t14;
1656
31.4M
    t15  = t0a - t15a;
1657
31.4M
    t16  = t16a + t23a;
1658
31.4M
    t17a = t17  + t22;
1659
31.4M
    t18  = t18a + t21a;
1660
31.4M
    t19a = t19  + t20;
1661
31.4M
    t20a = t19  - t20;
1662
31.4M
    t21  = t18a - t21a;
1663
31.4M
    t22a = t17  - t22;
1664
31.4M
    t23  = t16a - t23a;
1665
31.4M
    t24  = t31a - t24a;
1666
31.4M
    t25a = t30  - t25;
1667
31.4M
    t26  = t29a - t26a;
1668
31.4M
    t27a = t28  - t27;
1669
31.4M
    t28a = t28  + t27;
1670
31.4M
    t29  = t29a + t26a;
1671
31.4M
    t30a = t30  + t25;
1672
31.4M
    t31  = t31a + t24a;
1673
1674
31.4M
    t20  = (dctint)((t27a - t20a) * 11585U + (1 << 13)) >> 14;
1675
31.4M
    t27  = (dctint)((t27a + t20a) * 11585U + (1 << 13)) >> 14;
1676
31.4M
    t21a = (dctint)((t26  - t21 ) * 11585U + (1 << 13)) >> 14;
1677
31.4M
    t26a = (dctint)((t26  + t21 ) * 11585U + (1 << 13)) >> 14;
1678
31.4M
    t22  = (dctint)((t25a - t22a) * 11585U + (1 << 13)) >> 14;
1679
31.4M
    t25  = (dctint)((t25a + t22a) * 11585U + (1 << 13)) >> 14;
1680
31.4M
    t23a = (dctint)((t24  - t23 ) * 11585U + (1 << 13)) >> 14;
1681
31.4M
    t24a = (dctint)((t24  + t23 ) * 11585U + (1 << 13)) >> 14;
1682
1683
31.4M
    out[ 0] = t0   + t31;
1684
31.4M
    out[ 1] = t1   + t30a;
1685
31.4M
    out[ 2] = t2   + t29;
1686
31.4M
    out[ 3] = t3   + t28a;
1687
31.4M
    out[ 4] = t4   + t27;
1688
31.4M
    out[ 5] = t5a  + t26a;
1689
31.4M
    out[ 6] = t6a  + t25;
1690
31.4M
    out[ 7] = t7   + t24a;
1691
31.4M
    out[ 8] = t8   + t23a;
1692
31.4M
    out[ 9] = t9a  + t22;
1693
31.4M
    out[10] = t10  + t21a;
1694
31.4M
    out[11] = t11a + t20;
1695
31.4M
    out[12] = t12a + t19a;
1696
31.4M
    out[13] = t13  + t18;
1697
31.4M
    out[14] = t14a + t17a;
1698
31.4M
    out[15] = t15  + t16;
1699
31.4M
    out[16] = t15  - t16;
1700
31.4M
    out[17] = t14a - t17a;
1701
31.4M
    out[18] = t13  - t18;
1702
31.4M
    out[19] = t12a - t19a;
1703
31.4M
    out[20] = t11a - t20;
1704
31.4M
    out[21] = t10  - t21a;
1705
31.4M
    out[22] = t9a  - t22;
1706
31.4M
    out[23] = t8   - t23a;
1707
31.4M
    out[24] = t7   - t24a;
1708
31.4M
    out[25] = t6a  - t25;
1709
31.4M
    out[26] = t5a  - t26a;
1710
31.4M
    out[27] = t4   - t27;
1711
31.4M
    out[28] = t3   - t28a;
1712
31.4M
    out[29] = t2   - t29;
1713
31.4M
    out[30] = t1   - t30a;
1714
31.4M
    out[31] = t0   - t31;
1715
31.4M
}
vp9dsp_10bpp.c:idct32_1d
Line
Count
Source
1513
10.1M
{
1514
10.1M
    dctint t0a  = (dctint)((IN(0) + IN(16)) * 11585U         + (1 << 13)) >> 14;
1515
10.1M
    dctint t1a  = (dctint)((IN(0) - IN(16)) * 11585U         + (1 << 13)) >> 14;
1516
10.1M
    dctint t2a  = (dctint)(IN( 8) *  6270U - IN(24) * 15137U + (1 << 13)) >> 14;
1517
10.1M
    dctint t3a  = (dctint)(IN( 8) * 15137U + IN(24) *  6270U + (1 << 13)) >> 14;
1518
10.1M
    dctint t4a  = (dctint)(IN( 4) *  3196U - IN(28) * 16069U + (1 << 13)) >> 14;
1519
10.1M
    dctint t7a  = (dctint)(IN( 4) * 16069U + IN(28) *  3196U + (1 << 13)) >> 14;
1520
10.1M
    dctint t5a  = (dctint)(IN(20) * 13623U - IN(12) *  9102U + (1 << 13)) >> 14;
1521
10.1M
    dctint t6a  = (dctint)(IN(20) *  9102U + IN(12) * 13623U + (1 << 13)) >> 14;
1522
10.1M
    dctint t8a  = (dctint)(IN( 2) *  1606U - IN(30) * 16305U + (1 << 13)) >> 14;
1523
10.1M
    dctint t15a = (dctint)(IN( 2) * 16305U + IN(30) *  1606U + (1 << 13)) >> 14;
1524
10.1M
    dctint t9a  = (dctint)(IN(18) * 12665U - IN(14) * 10394U + (1 << 13)) >> 14;
1525
10.1M
    dctint t14a = (dctint)(IN(18) * 10394U + IN(14) * 12665U + (1 << 13)) >> 14;
1526
10.1M
    dctint t10a = (dctint)(IN(10) *  7723U - IN(22) * 14449U + (1 << 13)) >> 14;
1527
10.1M
    dctint t13a = (dctint)(IN(10) * 14449U + IN(22) *  7723U + (1 << 13)) >> 14;
1528
10.1M
    dctint t11a = (dctint)(IN(26) * 15679U - IN( 6) *  4756U + (1 << 13)) >> 14;
1529
10.1M
    dctint t12a = (dctint)(IN(26) *  4756U + IN( 6) * 15679U + (1 << 13)) >> 14;
1530
10.1M
    dctint t16a = (dctint)(IN( 1) *   804U - IN(31) * 16364U + (1 << 13)) >> 14;
1531
10.1M
    dctint t31a = (dctint)(IN( 1) * 16364U + IN(31) *   804U + (1 << 13)) >> 14;
1532
10.1M
    dctint t17a = (dctint)(IN(17) * 12140U - IN(15) * 11003U + (1 << 13)) >> 14;
1533
10.1M
    dctint t30a = (dctint)(IN(17) * 11003U + IN(15) * 12140U + (1 << 13)) >> 14;
1534
10.1M
    dctint t18a = (dctint)(IN( 9) *  7005U - IN(23) * 14811U + (1 << 13)) >> 14;
1535
10.1M
    dctint t29a = (dctint)(IN( 9) * 14811U + IN(23) *  7005U + (1 << 13)) >> 14;
1536
10.1M
    dctint t19a = (dctint)(IN(25) * 15426U - IN( 7) *  5520U + (1 << 13)) >> 14;
1537
10.1M
    dctint t28a = (dctint)(IN(25) *  5520U + IN( 7) * 15426U + (1 << 13)) >> 14;
1538
10.1M
    dctint t20a = (dctint)(IN( 5) *  3981U - IN(27) * 15893U + (1 << 13)) >> 14;
1539
10.1M
    dctint t27a = (dctint)(IN( 5) * 15893U + IN(27) *  3981U + (1 << 13)) >> 14;
1540
10.1M
    dctint t21a = (dctint)(IN(21) * 14053U - IN(11) *  8423U + (1 << 13)) >> 14;
1541
10.1M
    dctint t26a = (dctint)(IN(21) *  8423U + IN(11) * 14053U + (1 << 13)) >> 14;
1542
10.1M
    dctint t22a = (dctint)(IN(13) *  9760U - IN(19) * 13160U + (1 << 13)) >> 14;
1543
10.1M
    dctint t25a = (dctint)(IN(13) * 13160U + IN(19) *  9760U + (1 << 13)) >> 14;
1544
10.1M
    dctint t23a = (dctint)(IN(29) * 16207U - IN( 3) *  2404U + (1 << 13)) >> 14;
1545
10.1M
    dctint t24a = (dctint)(IN(29) *  2404U + IN( 3) * 16207U + (1 << 13)) >> 14;
1546
1547
10.1M
    dctint t0  = t0a  + t3a;
1548
10.1M
    dctint t1  = t1a  + t2a;
1549
10.1M
    dctint t2  = t1a  - t2a;
1550
10.1M
    dctint t3  = t0a  - t3a;
1551
10.1M
    dctint t4  = t4a  + t5a;
1552
10.1M
    dctint t5  = t4a  - t5a;
1553
10.1M
    dctint t6  = t7a  - t6a;
1554
10.1M
    dctint t7  = t7a  + t6a;
1555
10.1M
    dctint t8  = t8a  + t9a;
1556
10.1M
    dctint t9  = t8a  - t9a;
1557
10.1M
    dctint t10 = t11a - t10a;
1558
10.1M
    dctint t11 = t11a + t10a;
1559
10.1M
    dctint t12 = t12a + t13a;
1560
10.1M
    dctint t13 = t12a - t13a;
1561
10.1M
    dctint t14 = t15a - t14a;
1562
10.1M
    dctint t15 = t15a + t14a;
1563
10.1M
    dctint t16 = t16a + t17a;
1564
10.1M
    dctint t17 = t16a - t17a;
1565
10.1M
    dctint t18 = t19a - t18a;
1566
10.1M
    dctint t19 = t19a + t18a;
1567
10.1M
    dctint t20 = t20a + t21a;
1568
10.1M
    dctint t21 = t20a - t21a;
1569
10.1M
    dctint t22 = t23a - t22a;
1570
10.1M
    dctint t23 = t23a + t22a;
1571
10.1M
    dctint t24 = t24a + t25a;
1572
10.1M
    dctint t25 = t24a - t25a;
1573
10.1M
    dctint t26 = t27a - t26a;
1574
10.1M
    dctint t27 = t27a + t26a;
1575
10.1M
    dctint t28 = t28a + t29a;
1576
10.1M
    dctint t29 = t28a - t29a;
1577
10.1M
    dctint t30 = t31a - t30a;
1578
10.1M
    dctint t31 = t31a + t30a;
1579
1580
10.1M
    t5a  = (dctint)((t6 - t5) * 11585U             + (1 << 13)) >> 14;
1581
10.1M
    t6a  = (dctint)((t6 + t5) * 11585U             + (1 << 13)) >> 14;
1582
10.1M
    t9a  = (dctint)(  t14 *  6270U - t9  * 15137U  + (1 << 13)) >> 14;
1583
10.1M
    t14a = (dctint)(  t14 * 15137U + t9  *  6270U  + (1 << 13)) >> 14;
1584
10.1M
    t10a = (dctint)(-(t13 * 15137U + t10 *  6270U) + (1 << 13)) >> 14;
1585
10.1M
    t13a = (dctint)(  t13 *  6270U - t10 * 15137U  + (1 << 13)) >> 14;
1586
10.1M
    t17a = (dctint)(  t30 *  3196U - t17 * 16069U  + (1 << 13)) >> 14;
1587
10.1M
    t30a = (dctint)(  t30 * 16069U + t17 *  3196U  + (1 << 13)) >> 14;
1588
10.1M
    t18a = (dctint)(-(t29 * 16069U + t18 *  3196U) + (1 << 13)) >> 14;
1589
10.1M
    t29a = (dctint)(  t29 *  3196U - t18 * 16069U  + (1 << 13)) >> 14;
1590
10.1M
    t21a = (dctint)(  t26 * 13623U - t21 *  9102U  + (1 << 13)) >> 14;
1591
10.1M
    t26a = (dctint)(  t26 *  9102U + t21 * 13623U  + (1 << 13)) >> 14;
1592
10.1M
    t22a = (dctint)(-(t25 *  9102U + t22 * 13623U) + (1 << 13)) >> 14;
1593
10.1M
    t25a = (dctint)(  t25 * 13623U - t22 *  9102U  + (1 << 13)) >> 14;
1594
1595
10.1M
    t0a  = t0   + t7;
1596
10.1M
    t1a  = t1   + t6a;
1597
10.1M
    t2a  = t2   + t5a;
1598
10.1M
    t3a  = t3   + t4;
1599
10.1M
    t4a  = t3   - t4;
1600
10.1M
    t5   = t2   - t5a;
1601
10.1M
    t6   = t1   - t6a;
1602
10.1M
    t7a  = t0   - t7;
1603
10.1M
    t8a  = t8   + t11;
1604
10.1M
    t9   = t9a  + t10a;
1605
10.1M
    t10  = t9a  - t10a;
1606
10.1M
    t11a = t8   - t11;
1607
10.1M
    t12a = t15  - t12;
1608
10.1M
    t13  = t14a - t13a;
1609
10.1M
    t14  = t14a + t13a;
1610
10.1M
    t15a = t15  + t12;
1611
10.1M
    t16a = t16  + t19;
1612
10.1M
    t17  = t17a + t18a;
1613
10.1M
    t18  = t17a - t18a;
1614
10.1M
    t19a = t16  - t19;
1615
10.1M
    t20a = t23  - t20;
1616
10.1M
    t21  = t22a - t21a;
1617
10.1M
    t22  = t22a + t21a;
1618
10.1M
    t23a = t23  + t20;
1619
10.1M
    t24a = t24  + t27;
1620
10.1M
    t25  = t25a + t26a;
1621
10.1M
    t26  = t25a - t26a;
1622
10.1M
    t27a = t24  - t27;
1623
10.1M
    t28a = t31  - t28;
1624
10.1M
    t29  = t30a - t29a;
1625
10.1M
    t30  = t30a + t29a;
1626
10.1M
    t31a = t31  + t28;
1627
1628
10.1M
    t10a = (dctint)((t13  - t10)  * 11585U           + (1 << 13)) >> 14;
1629
10.1M
    t13a = (dctint)((t13  + t10)  * 11585U           + (1 << 13)) >> 14;
1630
10.1M
    t11  = (dctint)((t12a - t11a) * 11585U           + (1 << 13)) >> 14;
1631
10.1M
    t12  = (dctint)((t12a + t11a) * 11585U           + (1 << 13)) >> 14;
1632
10.1M
    t18a = (dctint)(  t29  *  6270U - t18  * 15137U  + (1 << 13)) >> 14;
1633
10.1M
    t29a = (dctint)(  t29  * 15137U + t18  *  6270U  + (1 << 13)) >> 14;
1634
10.1M
    t19  = (dctint)(  t28a *  6270U - t19a * 15137U  + (1 << 13)) >> 14;
1635
10.1M
    t28  = (dctint)(  t28a * 15137U + t19a *  6270U  + (1 << 13)) >> 14;
1636
10.1M
    t20  = (dctint)(-(t27a * 15137U + t20a *  6270U) + (1 << 13)) >> 14;
1637
10.1M
    t27  = (dctint)(  t27a *  6270U - t20a * 15137U  + (1 << 13)) >> 14;
1638
10.1M
    t21a = (dctint)(-(t26  * 15137U + t21  *  6270U) + (1 << 13)) >> 14;
1639
10.1M
    t26a = (dctint)(  t26  *  6270U - t21  * 15137U  + (1 << 13)) >> 14;
1640
1641
10.1M
    t0   = t0a + t15a;
1642
10.1M
    t1   = t1a + t14;
1643
10.1M
    t2   = t2a + t13a;
1644
10.1M
    t3   = t3a + t12;
1645
10.1M
    t4   = t4a + t11;
1646
10.1M
    t5a  = t5  + t10a;
1647
10.1M
    t6a  = t6  + t9;
1648
10.1M
    t7   = t7a + t8a;
1649
10.1M
    t8   = t7a - t8a;
1650
10.1M
    t9a  = t6  - t9;
1651
10.1M
    t10  = t5  - t10a;
1652
10.1M
    t11a = t4a - t11;
1653
10.1M
    t12a = t3a - t12;
1654
10.1M
    t13  = t2a - t13a;
1655
10.1M
    t14a = t1a - t14;
1656
10.1M
    t15  = t0a - t15a;
1657
10.1M
    t16  = t16a + t23a;
1658
10.1M
    t17a = t17  + t22;
1659
10.1M
    t18  = t18a + t21a;
1660
10.1M
    t19a = t19  + t20;
1661
10.1M
    t20a = t19  - t20;
1662
10.1M
    t21  = t18a - t21a;
1663
10.1M
    t22a = t17  - t22;
1664
10.1M
    t23  = t16a - t23a;
1665
10.1M
    t24  = t31a - t24a;
1666
10.1M
    t25a = t30  - t25;
1667
10.1M
    t26  = t29a - t26a;
1668
10.1M
    t27a = t28  - t27;
1669
10.1M
    t28a = t28  + t27;
1670
10.1M
    t29  = t29a + t26a;
1671
10.1M
    t30a = t30  + t25;
1672
10.1M
    t31  = t31a + t24a;
1673
1674
10.1M
    t20  = (dctint)((t27a - t20a) * 11585U + (1 << 13)) >> 14;
1675
10.1M
    t27  = (dctint)((t27a + t20a) * 11585U + (1 << 13)) >> 14;
1676
10.1M
    t21a = (dctint)((t26  - t21 ) * 11585U + (1 << 13)) >> 14;
1677
10.1M
    t26a = (dctint)((t26  + t21 ) * 11585U + (1 << 13)) >> 14;
1678
10.1M
    t22  = (dctint)((t25a - t22a) * 11585U + (1 << 13)) >> 14;
1679
10.1M
    t25  = (dctint)((t25a + t22a) * 11585U + (1 << 13)) >> 14;
1680
10.1M
    t23a = (dctint)((t24  - t23 ) * 11585U + (1 << 13)) >> 14;
1681
10.1M
    t24a = (dctint)((t24  + t23 ) * 11585U + (1 << 13)) >> 14;
1682
1683
10.1M
    out[ 0] = t0   + t31;
1684
10.1M
    out[ 1] = t1   + t30a;
1685
10.1M
    out[ 2] = t2   + t29;
1686
10.1M
    out[ 3] = t3   + t28a;
1687
10.1M
    out[ 4] = t4   + t27;
1688
10.1M
    out[ 5] = t5a  + t26a;
1689
10.1M
    out[ 6] = t6a  + t25;
1690
10.1M
    out[ 7] = t7   + t24a;
1691
10.1M
    out[ 8] = t8   + t23a;
1692
10.1M
    out[ 9] = t9a  + t22;
1693
10.1M
    out[10] = t10  + t21a;
1694
10.1M
    out[11] = t11a + t20;
1695
10.1M
    out[12] = t12a + t19a;
1696
10.1M
    out[13] = t13  + t18;
1697
10.1M
    out[14] = t14a + t17a;
1698
10.1M
    out[15] = t15  + t16;
1699
10.1M
    out[16] = t15  - t16;
1700
10.1M
    out[17] = t14a - t17a;
1701
10.1M
    out[18] = t13  - t18;
1702
10.1M
    out[19] = t12a - t19a;
1703
10.1M
    out[20] = t11a - t20;
1704
10.1M
    out[21] = t10  - t21a;
1705
10.1M
    out[22] = t9a  - t22;
1706
10.1M
    out[23] = t8   - t23a;
1707
10.1M
    out[24] = t7   - t24a;
1708
10.1M
    out[25] = t6a  - t25;
1709
10.1M
    out[26] = t5a  - t26a;
1710
10.1M
    out[27] = t4   - t27;
1711
10.1M
    out[28] = t3   - t28a;
1712
10.1M
    out[29] = t2   - t29;
1713
10.1M
    out[30] = t1   - t30a;
1714
10.1M
    out[31] = t0   - t31;
1715
10.1M
}
vp9dsp_12bpp.c:idct32_1d
Line
Count
Source
1513
9.34M
{
1514
9.34M
    dctint t0a  = (dctint)((IN(0) + IN(16)) * 11585U         + (1 << 13)) >> 14;
1515
9.34M
    dctint t1a  = (dctint)((IN(0) - IN(16)) * 11585U         + (1 << 13)) >> 14;
1516
9.34M
    dctint t2a  = (dctint)(IN( 8) *  6270U - IN(24) * 15137U + (1 << 13)) >> 14;
1517
9.34M
    dctint t3a  = (dctint)(IN( 8) * 15137U + IN(24) *  6270U + (1 << 13)) >> 14;
1518
9.34M
    dctint t4a  = (dctint)(IN( 4) *  3196U - IN(28) * 16069U + (1 << 13)) >> 14;
1519
9.34M
    dctint t7a  = (dctint)(IN( 4) * 16069U + IN(28) *  3196U + (1 << 13)) >> 14;
1520
9.34M
    dctint t5a  = (dctint)(IN(20) * 13623U - IN(12) *  9102U + (1 << 13)) >> 14;
1521
9.34M
    dctint t6a  = (dctint)(IN(20) *  9102U + IN(12) * 13623U + (1 << 13)) >> 14;
1522
9.34M
    dctint t8a  = (dctint)(IN( 2) *  1606U - IN(30) * 16305U + (1 << 13)) >> 14;
1523
9.34M
    dctint t15a = (dctint)(IN( 2) * 16305U + IN(30) *  1606U + (1 << 13)) >> 14;
1524
9.34M
    dctint t9a  = (dctint)(IN(18) * 12665U - IN(14) * 10394U + (1 << 13)) >> 14;
1525
9.34M
    dctint t14a = (dctint)(IN(18) * 10394U + IN(14) * 12665U + (1 << 13)) >> 14;
1526
9.34M
    dctint t10a = (dctint)(IN(10) *  7723U - IN(22) * 14449U + (1 << 13)) >> 14;
1527
9.34M
    dctint t13a = (dctint)(IN(10) * 14449U + IN(22) *  7723U + (1 << 13)) >> 14;
1528
9.34M
    dctint t11a = (dctint)(IN(26) * 15679U - IN( 6) *  4756U + (1 << 13)) >> 14;
1529
9.34M
    dctint t12a = (dctint)(IN(26) *  4756U + IN( 6) * 15679U + (1 << 13)) >> 14;
1530
9.34M
    dctint t16a = (dctint)(IN( 1) *   804U - IN(31) * 16364U + (1 << 13)) >> 14;
1531
9.34M
    dctint t31a = (dctint)(IN( 1) * 16364U + IN(31) *   804U + (1 << 13)) >> 14;
1532
9.34M
    dctint t17a = (dctint)(IN(17) * 12140U - IN(15) * 11003U + (1 << 13)) >> 14;
1533
9.34M
    dctint t30a = (dctint)(IN(17) * 11003U + IN(15) * 12140U + (1 << 13)) >> 14;
1534
9.34M
    dctint t18a = (dctint)(IN( 9) *  7005U - IN(23) * 14811U + (1 << 13)) >> 14;
1535
9.34M
    dctint t29a = (dctint)(IN( 9) * 14811U + IN(23) *  7005U + (1 << 13)) >> 14;
1536
9.34M
    dctint t19a = (dctint)(IN(25) * 15426U - IN( 7) *  5520U + (1 << 13)) >> 14;
1537
9.34M
    dctint t28a = (dctint)(IN(25) *  5520U + IN( 7) * 15426U + (1 << 13)) >> 14;
1538
9.34M
    dctint t20a = (dctint)(IN( 5) *  3981U - IN(27) * 15893U + (1 << 13)) >> 14;
1539
9.34M
    dctint t27a = (dctint)(IN( 5) * 15893U + IN(27) *  3981U + (1 << 13)) >> 14;
1540
9.34M
    dctint t21a = (dctint)(IN(21) * 14053U - IN(11) *  8423U + (1 << 13)) >> 14;
1541
9.34M
    dctint t26a = (dctint)(IN(21) *  8423U + IN(11) * 14053U + (1 << 13)) >> 14;
1542
9.34M
    dctint t22a = (dctint)(IN(13) *  9760U - IN(19) * 13160U + (1 << 13)) >> 14;
1543
9.34M
    dctint t25a = (dctint)(IN(13) * 13160U + IN(19) *  9760U + (1 << 13)) >> 14;
1544
9.34M
    dctint t23a = (dctint)(IN(29) * 16207U - IN( 3) *  2404U + (1 << 13)) >> 14;
1545
9.34M
    dctint t24a = (dctint)(IN(29) *  2404U + IN( 3) * 16207U + (1 << 13)) >> 14;
1546
1547
9.34M
    dctint t0  = t0a  + t3a;
1548
9.34M
    dctint t1  = t1a  + t2a;
1549
9.34M
    dctint t2  = t1a  - t2a;
1550
9.34M
    dctint t3  = t0a  - t3a;
1551
9.34M
    dctint t4  = t4a  + t5a;
1552
9.34M
    dctint t5  = t4a  - t5a;
1553
9.34M
    dctint t6  = t7a  - t6a;
1554
9.34M
    dctint t7  = t7a  + t6a;
1555
9.34M
    dctint t8  = t8a  + t9a;
1556
9.34M
    dctint t9  = t8a  - t9a;
1557
9.34M
    dctint t10 = t11a - t10a;
1558
9.34M
    dctint t11 = t11a + t10a;
1559
9.34M
    dctint t12 = t12a + t13a;
1560
9.34M
    dctint t13 = t12a - t13a;
1561
9.34M
    dctint t14 = t15a - t14a;
1562
9.34M
    dctint t15 = t15a + t14a;
1563
9.34M
    dctint t16 = t16a + t17a;
1564
9.34M
    dctint t17 = t16a - t17a;
1565
9.34M
    dctint t18 = t19a - t18a;
1566
9.34M
    dctint t19 = t19a + t18a;
1567
9.34M
    dctint t20 = t20a + t21a;
1568
9.34M
    dctint t21 = t20a - t21a;
1569
9.34M
    dctint t22 = t23a - t22a;
1570
9.34M
    dctint t23 = t23a + t22a;
1571
9.34M
    dctint t24 = t24a + t25a;
1572
9.34M
    dctint t25 = t24a - t25a;
1573
9.34M
    dctint t26 = t27a - t26a;
1574
9.34M
    dctint t27 = t27a + t26a;
1575
9.34M
    dctint t28 = t28a + t29a;
1576
9.34M
    dctint t29 = t28a - t29a;
1577
9.34M
    dctint t30 = t31a - t30a;
1578
9.34M
    dctint t31 = t31a + t30a;
1579
1580
9.34M
    t5a  = (dctint)((t6 - t5) * 11585U             + (1 << 13)) >> 14;
1581
9.34M
    t6a  = (dctint)((t6 + t5) * 11585U             + (1 << 13)) >> 14;
1582
9.34M
    t9a  = (dctint)(  t14 *  6270U - t9  * 15137U  + (1 << 13)) >> 14;
1583
9.34M
    t14a = (dctint)(  t14 * 15137U + t9  *  6270U  + (1 << 13)) >> 14;
1584
9.34M
    t10a = (dctint)(-(t13 * 15137U + t10 *  6270U) + (1 << 13)) >> 14;
1585
9.34M
    t13a = (dctint)(  t13 *  6270U - t10 * 15137U  + (1 << 13)) >> 14;
1586
9.34M
    t17a = (dctint)(  t30 *  3196U - t17 * 16069U  + (1 << 13)) >> 14;
1587
9.34M
    t30a = (dctint)(  t30 * 16069U + t17 *  3196U  + (1 << 13)) >> 14;
1588
9.34M
    t18a = (dctint)(-(t29 * 16069U + t18 *  3196U) + (1 << 13)) >> 14;
1589
9.34M
    t29a = (dctint)(  t29 *  3196U - t18 * 16069U  + (1 << 13)) >> 14;
1590
9.34M
    t21a = (dctint)(  t26 * 13623U - t21 *  9102U  + (1 << 13)) >> 14;
1591
9.34M
    t26a = (dctint)(  t26 *  9102U + t21 * 13623U  + (1 << 13)) >> 14;
1592
9.34M
    t22a = (dctint)(-(t25 *  9102U + t22 * 13623U) + (1 << 13)) >> 14;
1593
9.34M
    t25a = (dctint)(  t25 * 13623U - t22 *  9102U  + (1 << 13)) >> 14;
1594
1595
9.34M
    t0a  = t0   + t7;
1596
9.34M
    t1a  = t1   + t6a;
1597
9.34M
    t2a  = t2   + t5a;
1598
9.34M
    t3a  = t3   + t4;
1599
9.34M
    t4a  = t3   - t4;
1600
9.34M
    t5   = t2   - t5a;
1601
9.34M
    t6   = t1   - t6a;
1602
9.34M
    t7a  = t0   - t7;
1603
9.34M
    t8a  = t8   + t11;
1604
9.34M
    t9   = t9a  + t10a;
1605
9.34M
    t10  = t9a  - t10a;
1606
9.34M
    t11a = t8   - t11;
1607
9.34M
    t12a = t15  - t12;
1608
9.34M
    t13  = t14a - t13a;
1609
9.34M
    t14  = t14a + t13a;
1610
9.34M
    t15a = t15  + t12;
1611
9.34M
    t16a = t16  + t19;
1612
9.34M
    t17  = t17a + t18a;
1613
9.34M
    t18  = t17a - t18a;
1614
9.34M
    t19a = t16  - t19;
1615
9.34M
    t20a = t23  - t20;
1616
9.34M
    t21  = t22a - t21a;
1617
9.34M
    t22  = t22a + t21a;
1618
9.34M
    t23a = t23  + t20;
1619
9.34M
    t24a = t24  + t27;
1620
9.34M
    t25  = t25a + t26a;
1621
9.34M
    t26  = t25a - t26a;
1622
9.34M
    t27a = t24  - t27;
1623
9.34M
    t28a = t31  - t28;
1624
9.34M
    t29  = t30a - t29a;
1625
9.34M
    t30  = t30a + t29a;
1626
9.34M
    t31a = t31  + t28;
1627
1628
9.34M
    t10a = (dctint)((t13  - t10)  * 11585U           + (1 << 13)) >> 14;
1629
9.34M
    t13a = (dctint)((t13  + t10)  * 11585U           + (1 << 13)) >> 14;
1630
9.34M
    t11  = (dctint)((t12a - t11a) * 11585U           + (1 << 13)) >> 14;
1631
9.34M
    t12  = (dctint)((t12a + t11a) * 11585U           + (1 << 13)) >> 14;
1632
9.34M
    t18a = (dctint)(  t29  *  6270U - t18  * 15137U  + (1 << 13)) >> 14;
1633
9.34M
    t29a = (dctint)(  t29  * 15137U + t18  *  6270U  + (1 << 13)) >> 14;
1634
9.34M
    t19  = (dctint)(  t28a *  6270U - t19a * 15137U  + (1 << 13)) >> 14;
1635
9.34M
    t28  = (dctint)(  t28a * 15137U + t19a *  6270U  + (1 << 13)) >> 14;
1636
9.34M
    t20  = (dctint)(-(t27a * 15137U + t20a *  6270U) + (1 << 13)) >> 14;
1637
9.34M
    t27  = (dctint)(  t27a *  6270U - t20a * 15137U  + (1 << 13)) >> 14;
1638
9.34M
    t21a = (dctint)(-(t26  * 15137U + t21  *  6270U) + (1 << 13)) >> 14;
1639
9.34M
    t26a = (dctint)(  t26  *  6270U - t21  * 15137U  + (1 << 13)) >> 14;
1640
1641
9.34M
    t0   = t0a + t15a;
1642
9.34M
    t1   = t1a + t14;
1643
9.34M
    t2   = t2a + t13a;
1644
9.34M
    t3   = t3a + t12;
1645
9.34M
    t4   = t4a + t11;
1646
9.34M
    t5a  = t5  + t10a;
1647
9.34M
    t6a  = t6  + t9;
1648
9.34M
    t7   = t7a + t8a;
1649
9.34M
    t8   = t7a - t8a;
1650
9.34M
    t9a  = t6  - t9;
1651
9.34M
    t10  = t5  - t10a;
1652
9.34M
    t11a = t4a - t11;
1653
9.34M
    t12a = t3a - t12;
1654
9.34M
    t13  = t2a - t13a;
1655
9.34M
    t14a = t1a - t14;
1656
9.34M
    t15  = t0a - t15a;
1657
9.34M
    t16  = t16a + t23a;
1658
9.34M
    t17a = t17  + t22;
1659
9.34M
    t18  = t18a + t21a;
1660
9.34M
    t19a = t19  + t20;
1661
9.34M
    t20a = t19  - t20;
1662
9.34M
    t21  = t18a - t21a;
1663
9.34M
    t22a = t17  - t22;
1664
9.34M
    t23  = t16a - t23a;
1665
9.34M
    t24  = t31a - t24a;
1666
9.34M
    t25a = t30  - t25;
1667
9.34M
    t26  = t29a - t26a;
1668
9.34M
    t27a = t28  - t27;
1669
9.34M
    t28a = t28  + t27;
1670
9.34M
    t29  = t29a + t26a;
1671
9.34M
    t30a = t30  + t25;
1672
9.34M
    t31  = t31a + t24a;
1673
1674
9.34M
    t20  = (dctint)((t27a - t20a) * 11585U + (1 << 13)) >> 14;
1675
9.34M
    t27  = (dctint)((t27a + t20a) * 11585U + (1 << 13)) >> 14;
1676
9.34M
    t21a = (dctint)((t26  - t21 ) * 11585U + (1 << 13)) >> 14;
1677
9.34M
    t26a = (dctint)((t26  + t21 ) * 11585U + (1 << 13)) >> 14;
1678
9.34M
    t22  = (dctint)((t25a - t22a) * 11585U + (1 << 13)) >> 14;
1679
9.34M
    t25  = (dctint)((t25a + t22a) * 11585U + (1 << 13)) >> 14;
1680
9.34M
    t23a = (dctint)((t24  - t23 ) * 11585U + (1 << 13)) >> 14;
1681
9.34M
    t24a = (dctint)((t24  + t23 ) * 11585U + (1 << 13)) >> 14;
1682
1683
9.34M
    out[ 0] = t0   + t31;
1684
9.34M
    out[ 1] = t1   + t30a;
1685
9.34M
    out[ 2] = t2   + t29;
1686
9.34M
    out[ 3] = t3   + t28a;
1687
9.34M
    out[ 4] = t4   + t27;
1688
9.34M
    out[ 5] = t5a  + t26a;
1689
9.34M
    out[ 6] = t6a  + t25;
1690
9.34M
    out[ 7] = t7   + t24a;
1691
9.34M
    out[ 8] = t8   + t23a;
1692
9.34M
    out[ 9] = t9a  + t22;
1693
9.34M
    out[10] = t10  + t21a;
1694
9.34M
    out[11] = t11a + t20;
1695
9.34M
    out[12] = t12a + t19a;
1696
9.34M
    out[13] = t13  + t18;
1697
9.34M
    out[14] = t14a + t17a;
1698
9.34M
    out[15] = t15  + t16;
1699
9.34M
    out[16] = t15  - t16;
1700
9.34M
    out[17] = t14a - t17a;
1701
9.34M
    out[18] = t13  - t18;
1702
9.34M
    out[19] = t12a - t19a;
1703
9.34M
    out[20] = t11a - t20;
1704
9.34M
    out[21] = t10  - t21a;
1705
9.34M
    out[22] = t9a  - t22;
1706
9.34M
    out[23] = t8   - t23a;
1707
9.34M
    out[24] = t7   - t24a;
1708
9.34M
    out[25] = t6a  - t25;
1709
9.34M
    out[26] = t5a  - t26a;
1710
9.34M
    out[27] = t4   - t27;
1711
9.34M
    out[28] = t3   - t28a;
1712
9.34M
    out[29] = t2   - t29;
1713
9.34M
    out[30] = t1   - t30a;
1714
9.34M
    out[31] = t0   - t31;
1715
9.34M
}
vp9dsp_8bpp.c:idct32_1d
Line
Count
Source
1513
11.9M
{
1514
11.9M
    dctint t0a  = (dctint)((IN(0) + IN(16)) * 11585U         + (1 << 13)) >> 14;
1515
11.9M
    dctint t1a  = (dctint)((IN(0) - IN(16)) * 11585U         + (1 << 13)) >> 14;
1516
11.9M
    dctint t2a  = (dctint)(IN( 8) *  6270U - IN(24) * 15137U + (1 << 13)) >> 14;
1517
11.9M
    dctint t3a  = (dctint)(IN( 8) * 15137U + IN(24) *  6270U + (1 << 13)) >> 14;
1518
11.9M
    dctint t4a  = (dctint)(IN( 4) *  3196U - IN(28) * 16069U + (1 << 13)) >> 14;
1519
11.9M
    dctint t7a  = (dctint)(IN( 4) * 16069U + IN(28) *  3196U + (1 << 13)) >> 14;
1520
11.9M
    dctint t5a  = (dctint)(IN(20) * 13623U - IN(12) *  9102U + (1 << 13)) >> 14;
1521
11.9M
    dctint t6a  = (dctint)(IN(20) *  9102U + IN(12) * 13623U + (1 << 13)) >> 14;
1522
11.9M
    dctint t8a  = (dctint)(IN( 2) *  1606U - IN(30) * 16305U + (1 << 13)) >> 14;
1523
11.9M
    dctint t15a = (dctint)(IN( 2) * 16305U + IN(30) *  1606U + (1 << 13)) >> 14;
1524
11.9M
    dctint t9a  = (dctint)(IN(18) * 12665U - IN(14) * 10394U + (1 << 13)) >> 14;
1525
11.9M
    dctint t14a = (dctint)(IN(18) * 10394U + IN(14) * 12665U + (1 << 13)) >> 14;
1526
11.9M
    dctint t10a = (dctint)(IN(10) *  7723U - IN(22) * 14449U + (1 << 13)) >> 14;
1527
11.9M
    dctint t13a = (dctint)(IN(10) * 14449U + IN(22) *  7723U + (1 << 13)) >> 14;
1528
11.9M
    dctint t11a = (dctint)(IN(26) * 15679U - IN( 6) *  4756U + (1 << 13)) >> 14;
1529
11.9M
    dctint t12a = (dctint)(IN(26) *  4756U + IN( 6) * 15679U + (1 << 13)) >> 14;
1530
11.9M
    dctint t16a = (dctint)(IN( 1) *   804U - IN(31) * 16364U + (1 << 13)) >> 14;
1531
11.9M
    dctint t31a = (dctint)(IN( 1) * 16364U + IN(31) *   804U + (1 << 13)) >> 14;
1532
11.9M
    dctint t17a = (dctint)(IN(17) * 12140U - IN(15) * 11003U + (1 << 13)) >> 14;
1533
11.9M
    dctint t30a = (dctint)(IN(17) * 11003U + IN(15) * 12140U + (1 << 13)) >> 14;
1534
11.9M
    dctint t18a = (dctint)(IN( 9) *  7005U - IN(23) * 14811U + (1 << 13)) >> 14;
1535
11.9M
    dctint t29a = (dctint)(IN( 9) * 14811U + IN(23) *  7005U + (1 << 13)) >> 14;
1536
11.9M
    dctint t19a = (dctint)(IN(25) * 15426U - IN( 7) *  5520U + (1 << 13)) >> 14;
1537
11.9M
    dctint t28a = (dctint)(IN(25) *  5520U + IN( 7) * 15426U + (1 << 13)) >> 14;
1538
11.9M
    dctint t20a = (dctint)(IN( 5) *  3981U - IN(27) * 15893U + (1 << 13)) >> 14;
1539
11.9M
    dctint t27a = (dctint)(IN( 5) * 15893U + IN(27) *  3981U + (1 << 13)) >> 14;
1540
11.9M
    dctint t21a = (dctint)(IN(21) * 14053U - IN(11) *  8423U + (1 << 13)) >> 14;
1541
11.9M
    dctint t26a = (dctint)(IN(21) *  8423U + IN(11) * 14053U + (1 << 13)) >> 14;
1542
11.9M
    dctint t22a = (dctint)(IN(13) *  9760U - IN(19) * 13160U + (1 << 13)) >> 14;
1543
11.9M
    dctint t25a = (dctint)(IN(13) * 13160U + IN(19) *  9760U + (1 << 13)) >> 14;
1544
11.9M
    dctint t23a = (dctint)(IN(29) * 16207U - IN( 3) *  2404U + (1 << 13)) >> 14;
1545
11.9M
    dctint t24a = (dctint)(IN(29) *  2404U + IN( 3) * 16207U + (1 << 13)) >> 14;
1546
1547
11.9M
    dctint t0  = t0a  + t3a;
1548
11.9M
    dctint t1  = t1a  + t2a;
1549
11.9M
    dctint t2  = t1a  - t2a;
1550
11.9M
    dctint t3  = t0a  - t3a;
1551
11.9M
    dctint t4  = t4a  + t5a;
1552
11.9M
    dctint t5  = t4a  - t5a;
1553
11.9M
    dctint t6  = t7a  - t6a;
1554
11.9M
    dctint t7  = t7a  + t6a;
1555
11.9M
    dctint t8  = t8a  + t9a;
1556
11.9M
    dctint t9  = t8a  - t9a;
1557
11.9M
    dctint t10 = t11a - t10a;
1558
11.9M
    dctint t11 = t11a + t10a;
1559
11.9M
    dctint t12 = t12a + t13a;
1560
11.9M
    dctint t13 = t12a - t13a;
1561
11.9M
    dctint t14 = t15a - t14a;
1562
11.9M
    dctint t15 = t15a + t14a;
1563
11.9M
    dctint t16 = t16a + t17a;
1564
11.9M
    dctint t17 = t16a - t17a;
1565
11.9M
    dctint t18 = t19a - t18a;
1566
11.9M
    dctint t19 = t19a + t18a;
1567
11.9M
    dctint t20 = t20a + t21a;
1568
11.9M
    dctint t21 = t20a - t21a;
1569
11.9M
    dctint t22 = t23a - t22a;
1570
11.9M
    dctint t23 = t23a + t22a;
1571
11.9M
    dctint t24 = t24a + t25a;
1572
11.9M
    dctint t25 = t24a - t25a;
1573
11.9M
    dctint t26 = t27a - t26a;
1574
11.9M
    dctint t27 = t27a + t26a;
1575
11.9M
    dctint t28 = t28a + t29a;
1576
11.9M
    dctint t29 = t28a - t29a;
1577
11.9M
    dctint t30 = t31a - t30a;
1578
11.9M
    dctint t31 = t31a + t30a;
1579
1580
11.9M
    t5a  = (dctint)((t6 - t5) * 11585U             + (1 << 13)) >> 14;
1581
11.9M
    t6a  = (dctint)((t6 + t5) * 11585U             + (1 << 13)) >> 14;
1582
11.9M
    t9a  = (dctint)(  t14 *  6270U - t9  * 15137U  + (1 << 13)) >> 14;
1583
11.9M
    t14a = (dctint)(  t14 * 15137U + t9  *  6270U  + (1 << 13)) >> 14;
1584
11.9M
    t10a = (dctint)(-(t13 * 15137U + t10 *  6270U) + (1 << 13)) >> 14;
1585
11.9M
    t13a = (dctint)(  t13 *  6270U - t10 * 15137U  + (1 << 13)) >> 14;
1586
11.9M
    t17a = (dctint)(  t30 *  3196U - t17 * 16069U  + (1 << 13)) >> 14;
1587
11.9M
    t30a = (dctint)(  t30 * 16069U + t17 *  3196U  + (1 << 13)) >> 14;
1588
11.9M
    t18a = (dctint)(-(t29 * 16069U + t18 *  3196U) + (1 << 13)) >> 14;
1589
11.9M
    t29a = (dctint)(  t29 *  3196U - t18 * 16069U  + (1 << 13)) >> 14;
1590
11.9M
    t21a = (dctint)(  t26 * 13623U - t21 *  9102U  + (1 << 13)) >> 14;
1591
11.9M
    t26a = (dctint)(  t26 *  9102U + t21 * 13623U  + (1 << 13)) >> 14;
1592
11.9M
    t22a = (dctint)(-(t25 *  9102U + t22 * 13623U) + (1 << 13)) >> 14;
1593
11.9M
    t25a = (dctint)(  t25 * 13623U - t22 *  9102U  + (1 << 13)) >> 14;
1594
1595
11.9M
    t0a  = t0   + t7;
1596
11.9M
    t1a  = t1   + t6a;
1597
11.9M
    t2a  = t2   + t5a;
1598
11.9M
    t3a  = t3   + t4;
1599
11.9M
    t4a  = t3   - t4;
1600
11.9M
    t5   = t2   - t5a;
1601
11.9M
    t6   = t1   - t6a;
1602
11.9M
    t7a  = t0   - t7;
1603
11.9M
    t8a  = t8   + t11;
1604
11.9M
    t9   = t9a  + t10a;
1605
11.9M
    t10  = t9a  - t10a;
1606
11.9M
    t11a = t8   - t11;
1607
11.9M
    t12a = t15  - t12;
1608
11.9M
    t13  = t14a - t13a;
1609
11.9M
    t14  = t14a + t13a;
1610
11.9M
    t15a = t15  + t12;
1611
11.9M
    t16a = t16  + t19;
1612
11.9M
    t17  = t17a + t18a;
1613
11.9M
    t18  = t17a - t18a;
1614
11.9M
    t19a = t16  - t19;
1615
11.9M
    t20a = t23  - t20;
1616
11.9M
    t21  = t22a - t21a;
1617
11.9M
    t22  = t22a + t21a;
1618
11.9M
    t23a = t23  + t20;
1619
11.9M
    t24a = t24  + t27;
1620
11.9M
    t25  = t25a + t26a;
1621
11.9M
    t26  = t25a - t26a;
1622
11.9M
    t27a = t24  - t27;
1623
11.9M
    t28a = t31  - t28;
1624
11.9M
    t29  = t30a - t29a;
1625
11.9M
    t30  = t30a + t29a;
1626
11.9M
    t31a = t31  + t28;
1627
1628
11.9M
    t10a = (dctint)((t13  - t10)  * 11585U           + (1 << 13)) >> 14;
1629
11.9M
    t13a = (dctint)((t13  + t10)  * 11585U           + (1 << 13)) >> 14;
1630
11.9M
    t11  = (dctint)((t12a - t11a) * 11585U           + (1 << 13)) >> 14;
1631
11.9M
    t12  = (dctint)((t12a + t11a) * 11585U           + (1 << 13)) >> 14;
1632
11.9M
    t18a = (dctint)(  t29  *  6270U - t18  * 15137U  + (1 << 13)) >> 14;
1633
11.9M
    t29a = (dctint)(  t29  * 15137U + t18  *  6270U  + (1 << 13)) >> 14;
1634
11.9M
    t19  = (dctint)(  t28a *  6270U - t19a * 15137U  + (1 << 13)) >> 14;
1635
11.9M
    t28  = (dctint)(  t28a * 15137U + t19a *  6270U  + (1 << 13)) >> 14;
1636
11.9M
    t20  = (dctint)(-(t27a * 15137U + t20a *  6270U) + (1 << 13)) >> 14;
1637
11.9M
    t27  = (dctint)(  t27a *  6270U - t20a * 15137U  + (1 << 13)) >> 14;
1638
11.9M
    t21a = (dctint)(-(t26  * 15137U + t21  *  6270U) + (1 << 13)) >> 14;
1639
11.9M
    t26a = (dctint)(  t26  *  6270U - t21  * 15137U  + (1 << 13)) >> 14;
1640
1641
11.9M
    t0   = t0a + t15a;
1642
11.9M
    t1   = t1a + t14;
1643
11.9M
    t2   = t2a + t13a;
1644
11.9M
    t3   = t3a + t12;
1645
11.9M
    t4   = t4a + t11;
1646
11.9M
    t5a  = t5  + t10a;
1647
11.9M
    t6a  = t6  + t9;
1648
11.9M
    t7   = t7a + t8a;
1649
11.9M
    t8   = t7a - t8a;
1650
11.9M
    t9a  = t6  - t9;
1651
11.9M
    t10  = t5  - t10a;
1652
11.9M
    t11a = t4a - t11;
1653
11.9M
    t12a = t3a - t12;
1654
11.9M
    t13  = t2a - t13a;
1655
11.9M
    t14a = t1a - t14;
1656
11.9M
    t15  = t0a - t15a;
1657
11.9M
    t16  = t16a + t23a;
1658
11.9M
    t17a = t17  + t22;
1659
11.9M
    t18  = t18a + t21a;
1660
11.9M
    t19a = t19  + t20;
1661
11.9M
    t20a = t19  - t20;
1662
11.9M
    t21  = t18a - t21a;
1663
11.9M
    t22a = t17  - t22;
1664
11.9M
    t23  = t16a - t23a;
1665
11.9M
    t24  = t31a - t24a;
1666
11.9M
    t25a = t30  - t25;
1667
11.9M
    t26  = t29a - t26a;
1668
11.9M
    t27a = t28  - t27;
1669
11.9M
    t28a = t28  + t27;
1670
11.9M
    t29  = t29a + t26a;
1671
11.9M
    t30a = t30  + t25;
1672
11.9M
    t31  = t31a + t24a;
1673
1674
11.9M
    t20  = (dctint)((t27a - t20a) * 11585U + (1 << 13)) >> 14;
1675
11.9M
    t27  = (dctint)((t27a + t20a) * 11585U + (1 << 13)) >> 14;
1676
11.9M
    t21a = (dctint)((t26  - t21 ) * 11585U + (1 << 13)) >> 14;
1677
11.9M
    t26a = (dctint)((t26  + t21 ) * 11585U + (1 << 13)) >> 14;
1678
11.9M
    t22  = (dctint)((t25a - t22a) * 11585U + (1 << 13)) >> 14;
1679
11.9M
    t25  = (dctint)((t25a + t22a) * 11585U + (1 << 13)) >> 14;
1680
11.9M
    t23a = (dctint)((t24  - t23 ) * 11585U + (1 << 13)) >> 14;
1681
11.9M
    t24a = (dctint)((t24  + t23 ) * 11585U + (1 << 13)) >> 14;
1682
1683
11.9M
    out[ 0] = t0   + t31;
1684
11.9M
    out[ 1] = t1   + t30a;
1685
11.9M
    out[ 2] = t2   + t29;
1686
11.9M
    out[ 3] = t3   + t28a;
1687
11.9M
    out[ 4] = t4   + t27;
1688
11.9M
    out[ 5] = t5a  + t26a;
1689
11.9M
    out[ 6] = t6a  + t25;
1690
11.9M
    out[ 7] = t7   + t24a;
1691
11.9M
    out[ 8] = t8   + t23a;
1692
11.9M
    out[ 9] = t9a  + t22;
1693
11.9M
    out[10] = t10  + t21a;
1694
11.9M
    out[11] = t11a + t20;
1695
11.9M
    out[12] = t12a + t19a;
1696
11.9M
    out[13] = t13  + t18;
1697
11.9M
    out[14] = t14a + t17a;
1698
11.9M
    out[15] = t15  + t16;
1699
11.9M
    out[16] = t15  - t16;
1700
11.9M
    out[17] = t14a - t17a;
1701
11.9M
    out[18] = t13  - t18;
1702
11.9M
    out[19] = t12a - t19a;
1703
11.9M
    out[20] = t11a - t20;
1704
11.9M
    out[21] = t10  - t21a;
1705
11.9M
    out[22] = t9a  - t22;
1706
11.9M
    out[23] = t8   - t23a;
1707
11.9M
    out[24] = t7   - t24a;
1708
11.9M
    out[25] = t6a  - t25;
1709
11.9M
    out[26] = t5a  - t26a;
1710
11.9M
    out[27] = t4   - t27;
1711
11.9M
    out[28] = t3   - t28a;
1712
11.9M
    out[29] = t2   - t29;
1713
11.9M
    out[30] = t1   - t30a;
1714
11.9M
    out[31] = t0   - t31;
1715
11.9M
}
1716
1717
itxfm_wrapper(idct, idct, 32, 6, 1)
1718
1719
static av_always_inline void iwht4_1d(const dctcoef *in, ptrdiff_t stride,
1720
                                      dctcoef *out, int pass)
1721
1.40M
{
1722
1.40M
    int t0, t1, t2, t3, t4;
1723
1724
1.40M
    if (pass == 0) {
1725
704k
        t0 = IN(0) >> 2;
1726
704k
        t1 = IN(3) >> 2;
1727
704k
        t2 = IN(1) >> 2;
1728
704k
        t3 = IN(2) >> 2;
1729
704k
    } else {
1730
704k
        t0 = IN(0);
1731
704k
        t1 = IN(3);
1732
704k
        t2 = IN(1);
1733
704k
        t3 = IN(2);
1734
704k
    }
1735
1736
1.40M
    t0 += t2;
1737
1.40M
    t3 -= t1;
1738
1.40M
    t4 = (t0 - t3) >> 1;
1739
1.40M
    t1 = t4 - t1;
1740
1.40M
    t2 = t4 - t2;
1741
1.40M
    t0 -= t1;
1742
1.40M
    t3 += t2;
1743
1744
1.40M
    out[0] = t0;
1745
1.40M
    out[1] = t1;
1746
1.40M
    out[2] = t2;
1747
1.40M
    out[3] = t3;
1748
1.40M
}
vp9dsp_10bpp.c:iwht4_1d
Line
Count
Source
1721
202k
{
1722
202k
    int t0, t1, t2, t3, t4;
1723
1724
202k
    if (pass == 0) {
1725
101k
        t0 = IN(0) >> 2;
1726
101k
        t1 = IN(3) >> 2;
1727
101k
        t2 = IN(1) >> 2;
1728
101k
        t3 = IN(2) >> 2;
1729
101k
    } else {
1730
101k
        t0 = IN(0);
1731
101k
        t1 = IN(3);
1732
101k
        t2 = IN(1);
1733
101k
        t3 = IN(2);
1734
101k
    }
1735
1736
202k
    t0 += t2;
1737
202k
    t3 -= t1;
1738
202k
    t4 = (t0 - t3) >> 1;
1739
202k
    t1 = t4 - t1;
1740
202k
    t2 = t4 - t2;
1741
202k
    t0 -= t1;
1742
202k
    t3 += t2;
1743
1744
202k
    out[0] = t0;
1745
202k
    out[1] = t1;
1746
202k
    out[2] = t2;
1747
202k
    out[3] = t3;
1748
202k
}
vp9dsp_12bpp.c:iwht4_1d
Line
Count
Source
1721
293k
{
1722
293k
    int t0, t1, t2, t3, t4;
1723
1724
293k
    if (pass == 0) {
1725
146k
        t0 = IN(0) >> 2;
1726
146k
        t1 = IN(3) >> 2;
1727
146k
        t2 = IN(1) >> 2;
1728
146k
        t3 = IN(2) >> 2;
1729
146k
    } else {
1730
146k
        t0 = IN(0);
1731
146k
        t1 = IN(3);
1732
146k
        t2 = IN(1);
1733
146k
        t3 = IN(2);
1734
146k
    }
1735
1736
293k
    t0 += t2;
1737
293k
    t3 -= t1;
1738
293k
    t4 = (t0 - t3) >> 1;
1739
293k
    t1 = t4 - t1;
1740
293k
    t2 = t4 - t2;
1741
293k
    t0 -= t1;
1742
293k
    t3 += t2;
1743
1744
293k
    out[0] = t0;
1745
293k
    out[1] = t1;
1746
293k
    out[2] = t2;
1747
293k
    out[3] = t3;
1748
293k
}
vp9dsp_8bpp.c:iwht4_1d
Line
Count
Source
1721
913k
{
1722
913k
    int t0, t1, t2, t3, t4;
1723
1724
913k
    if (pass == 0) {
1725
456k
        t0 = IN(0) >> 2;
1726
456k
        t1 = IN(3) >> 2;
1727
456k
        t2 = IN(1) >> 2;
1728
456k
        t3 = IN(2) >> 2;
1729
456k
    } else {
1730
456k
        t0 = IN(0);
1731
456k
        t1 = IN(3);
1732
456k
        t2 = IN(1);
1733
456k
        t3 = IN(2);
1734
456k
    }
1735
1736
913k
    t0 += t2;
1737
913k
    t3 -= t1;
1738
913k
    t4 = (t0 - t3) >> 1;
1739
913k
    t1 = t4 - t1;
1740
913k
    t2 = t4 - t2;
1741
913k
    t0 -= t1;
1742
913k
    t3 += t2;
1743
1744
913k
    out[0] = t0;
1745
913k
    out[1] = t1;
1746
913k
    out[2] = t2;
1747
913k
    out[3] = t3;
1748
913k
}
1749
1750
itxfm_wrapper(iwht, iwht, 4, 0, 0)
1751
1752
#undef IN
1753
#undef itxfm_wrapper
1754
#undef itxfm_wrap
1755
1756
static av_cold void vp9dsp_itxfm_init(VP9DSPContext *dsp)
1757
15.2k
{
1758
15.2k
#define init_itxfm(tx, sz) \
1759
45.7k
    dsp->itxfm_add[tx][DCT_DCT]   = idct_idct_##sz##_add_c; \
1760
45.7k
    dsp->itxfm_add[tx][DCT_ADST]  = iadst_idct_##sz##_add_c; \
1761
45.7k
    dsp->itxfm_add[tx][ADST_DCT]  = idct_iadst_##sz##_add_c; \
1762
45.7k
    dsp->itxfm_add[tx][ADST_ADST] = iadst_iadst_##sz##_add_c
1763
1764
15.2k
#define init_idct(tx, nm) \
1765
30.5k
    dsp->itxfm_add[tx][DCT_DCT]   = \
1766
30.5k
    dsp->itxfm_add[tx][ADST_DCT]  = \
1767
30.5k
    dsp->itxfm_add[tx][DCT_ADST]  = \
1768
30.5k
    dsp->itxfm_add[tx][ADST_ADST] = nm##_add_c
1769
1770
15.2k
    init_itxfm(TX_4X4,   4x4);
1771
15.2k
    init_itxfm(TX_8X8,   8x8);
1772
15.2k
    init_itxfm(TX_16X16, 16x16);
1773
15.2k
    init_idct(TX_32X32,  idct_idct_32x32);
1774
15.2k
    init_idct(4 /* lossless */, iwht_iwht_4x4);
1775
1776
15.2k
#undef init_itxfm
1777
15.2k
#undef init_idct
1778
15.2k
}
vp9dsp_10bpp.c:vp9dsp_itxfm_init
Line
Count
Source
1757
4.10k
{
1758
4.10k
#define init_itxfm(tx, sz) \
1759
4.10k
    dsp->itxfm_add[tx][DCT_DCT]   = idct_idct_##sz##_add_c; \
1760
4.10k
    dsp->itxfm_add[tx][DCT_ADST]  = iadst_idct_##sz##_add_c; \
1761
4.10k
    dsp->itxfm_add[tx][ADST_DCT]  = idct_iadst_##sz##_add_c; \
1762
4.10k
    dsp->itxfm_add[tx][ADST_ADST] = iadst_iadst_##sz##_add_c
1763
1764
4.10k
#define init_idct(tx, nm) \
1765
4.10k
    dsp->itxfm_add[tx][DCT_DCT]   = \
1766
4.10k
    dsp->itxfm_add[tx][ADST_DCT]  = \
1767
4.10k
    dsp->itxfm_add[tx][DCT_ADST]  = \
1768
4.10k
    dsp->itxfm_add[tx][ADST_ADST] = nm##_add_c
1769
1770
4.10k
    init_itxfm(TX_4X4,   4x4);
1771
4.10k
    init_itxfm(TX_8X8,   8x8);
1772
4.10k
    init_itxfm(TX_16X16, 16x16);
1773
4.10k
    init_idct(TX_32X32,  idct_idct_32x32);
1774
4.10k
    init_idct(4 /* lossless */, iwht_iwht_4x4);
1775
1776
4.10k
#undef init_itxfm
1777
4.10k
#undef init_idct
1778
4.10k
}
vp9dsp_12bpp.c:vp9dsp_itxfm_init
Line
Count
Source
1757
4.57k
{
1758
4.57k
#define init_itxfm(tx, sz) \
1759
4.57k
    dsp->itxfm_add[tx][DCT_DCT]   = idct_idct_##sz##_add_c; \
1760
4.57k
    dsp->itxfm_add[tx][DCT_ADST]  = iadst_idct_##sz##_add_c; \
1761
4.57k
    dsp->itxfm_add[tx][ADST_DCT]  = idct_iadst_##sz##_add_c; \
1762
4.57k
    dsp->itxfm_add[tx][ADST_ADST] = iadst_iadst_##sz##_add_c
1763
1764
4.57k
#define init_idct(tx, nm) \
1765
4.57k
    dsp->itxfm_add[tx][DCT_DCT]   = \
1766
4.57k
    dsp->itxfm_add[tx][ADST_DCT]  = \
1767
4.57k
    dsp->itxfm_add[tx][DCT_ADST]  = \
1768
4.57k
    dsp->itxfm_add[tx][ADST_ADST] = nm##_add_c
1769
1770
4.57k
    init_itxfm(TX_4X4,   4x4);
1771
4.57k
    init_itxfm(TX_8X8,   8x8);
1772
4.57k
    init_itxfm(TX_16X16, 16x16);
1773
4.57k
    init_idct(TX_32X32,  idct_idct_32x32);
1774
4.57k
    init_idct(4 /* lossless */, iwht_iwht_4x4);
1775
1776
4.57k
#undef init_itxfm
1777
4.57k
#undef init_idct
1778
4.57k
}
vp9dsp_8bpp.c:vp9dsp_itxfm_init
Line
Count
Source
1757
6.58k
{
1758
6.58k
#define init_itxfm(tx, sz) \
1759
6.58k
    dsp->itxfm_add[tx][DCT_DCT]   = idct_idct_##sz##_add_c; \
1760
6.58k
    dsp->itxfm_add[tx][DCT_ADST]  = iadst_idct_##sz##_add_c; \
1761
6.58k
    dsp->itxfm_add[tx][ADST_DCT]  = idct_iadst_##sz##_add_c; \
1762
6.58k
    dsp->itxfm_add[tx][ADST_ADST] = iadst_iadst_##sz##_add_c
1763
1764
6.58k
#define init_idct(tx, nm) \
1765
6.58k
    dsp->itxfm_add[tx][DCT_DCT]   = \
1766
6.58k
    dsp->itxfm_add[tx][ADST_DCT]  = \
1767
6.58k
    dsp->itxfm_add[tx][DCT_ADST]  = \
1768
6.58k
    dsp->itxfm_add[tx][ADST_ADST] = nm##_add_c
1769
1770
6.58k
    init_itxfm(TX_4X4,   4x4);
1771
6.58k
    init_itxfm(TX_8X8,   8x8);
1772
6.58k
    init_itxfm(TX_16X16, 16x16);
1773
6.58k
    init_idct(TX_32X32,  idct_idct_32x32);
1774
6.58k
    init_idct(4 /* lossless */, iwht_iwht_4x4);
1775
1776
6.58k
#undef init_itxfm
1777
6.58k
#undef init_idct
1778
6.58k
}
1779
1780
static av_always_inline void loop_filter(pixel *dst, int E, int I, int H,
1781
                                         ptrdiff_t stridea, ptrdiff_t strideb,
1782
                                         int wd)
1783
467M
{
1784
467M
    int i, F = 1 << (BIT_DEPTH - 8);
1785
1786
467M
    E <<= (BIT_DEPTH - 8);
1787
467M
    I <<= (BIT_DEPTH - 8);
1788
467M
    H <<= (BIT_DEPTH - 8);
1789
4.20G
    for (i = 0; i < 8; i++, dst += stridea) {
1790
3.73G
        int p7, p6, p5, p4;
1791
3.73G
        int p3 = dst[strideb * -4], p2 = dst[strideb * -3];
1792
3.73G
        int p1 = dst[strideb * -2], p0 = dst[strideb * -1];
1793
3.73G
        int q0 = dst[strideb * +0], q1 = dst[strideb * +1];
1794
3.73G
        int q2 = dst[strideb * +2], q3 = dst[strideb * +3];
1795
3.73G
        int q4, q5, q6, q7;
1796
3.73G
        int fm = FFABS(p3 - p2) <= I && FFABS(p2 - p1) <= I &&
1797
3.66G
                 FFABS(p1 - p0) <= I && FFABS(q1 - q0) <= I &&
1798
3.62G
                 FFABS(q2 - q1) <= I && FFABS(q3 - q2) <= I &&
1799
3.61G
                 FFABS(p0 - q0) * 2 + (FFABS(p1 - q1) >> 1) <= E;
1800
3.73G
        int flat8out, flat8in;
1801
1802
3.73G
        if (!fm)
1803
160M
            continue;
1804
1805
3.57G
        if (wd >= 16) {
1806
310M
            p7 = dst[strideb * -8];
1807
310M
            p6 = dst[strideb * -7];
1808
310M
            p5 = dst[strideb * -6];
1809
310M
            p4 = dst[strideb * -5];
1810
310M
            q4 = dst[strideb * +4];
1811
310M
            q5 = dst[strideb * +5];
1812
310M
            q6 = dst[strideb * +6];
1813
310M
            q7 = dst[strideb * +7];
1814
1815
310M
            flat8out = FFABS(p7 - p0) <= F && FFABS(p6 - p0) <= F &&
1816
292M
                       FFABS(p5 - p0) <= F && FFABS(p4 - p0) <= F &&
1817
292M
                       FFABS(q4 - q0) <= F && FFABS(q5 - q0) <= F &&
1818
284M
                       FFABS(q6 - q0) <= F && FFABS(q7 - q0) <= F;
1819
310M
        }
1820
1821
3.57G
        if (wd >= 8)
1822
971M
            flat8in = FFABS(p3 - p0) <= F && FFABS(p2 - p0) <= F &&
1823
923M
                      FFABS(p1 - p0) <= F && FFABS(q1 - q0) <= F &&
1824
914M
                      FFABS(q2 - q0) <= F && FFABS(q3 - q0) <= F;
1825
1826
3.57G
        if (wd >= 16 && flat8out && flat8in) {
1827
282M
            dst[strideb * -7] = (p7 + p7 + p7 + p7 + p7 + p7 + p7 + p6 * 2 +
1828
282M
                                 p5 + p4 + p3 + p2 + p1 + p0 + q0 + 8) >> 4;
1829
282M
            dst[strideb * -6] = (p7 + p7 + p7 + p7 + p7 + p7 + p6 + p5 * 2 +
1830
282M
                                 p4 + p3 + p2 + p1 + p0 + q0 + q1 + 8) >> 4;
1831
282M
            dst[strideb * -5] = (p7 + p7 + p7 + p7 + p7 + p6 + p5 + p4 * 2 +
1832
282M
                                 p3 + p2 + p1 + p0 + q0 + q1 + q2 + 8) >> 4;
1833
282M
            dst[strideb * -4] = (p7 + p7 + p7 + p7 + p6 + p5 + p4 + p3 * 2 +
1834
282M
                                 p2 + p1 + p0 + q0 + q1 + q2 + q3 + 8) >> 4;
1835
282M
            dst[strideb * -3] = (p7 + p7 + p7 + p6 + p5 + p4 + p3 + p2 * 2 +
1836
282M
                                 p1 + p0 + q0 + q1 + q2 + q3 + q4 + 8) >> 4;
1837
282M
            dst[strideb * -2] = (p7 + p7 + p6 + p5 + p4 + p3 + p2 + p1 * 2 +
1838
282M
                                 p0 + q0 + q1 + q2 + q3 + q4 + q5 + 8) >> 4;
1839
282M
            dst[strideb * -1] = (p7 + p6 + p5 + p4 + p3 + p2 + p1 + p0 * 2 +
1840
282M
                                 q0 + q1 + q2 + q3 + q4 + q5 + q6 + 8) >> 4;
1841
282M
            dst[strideb * +0] = (p6 + p5 + p4 + p3 + p2 + p1 + p0 + q0 * 2 +
1842
282M
                                 q1 + q2 + q3 + q4 + q5 + q6 + q7 + 8) >> 4;
1843
282M
            dst[strideb * +1] = (p5 + p4 + p3 + p2 + p1 + p0 + q0 + q1 * 2 +
1844
282M
                                 q2 + q3 + q4 + q5 + q6 + q7 + q7 + 8) >> 4;
1845
282M
            dst[strideb * +2] = (p4 + p3 + p2 + p1 + p0 + q0 + q1 + q2 * 2 +
1846
282M
                                 q3 + q4 + q5 + q6 + q7 + q7 + q7 + 8) >> 4;
1847
282M
            dst[strideb * +3] = (p3 + p2 + p1 + p0 + q0 + q1 + q2 + q3 * 2 +
1848
282M
                                 q4 + q5 + q6 + q7 + q7 + q7 + q7 + 8) >> 4;
1849
282M
            dst[strideb * +4] = (p2 + p1 + p0 + q0 + q1 + q2 + q3 + q4 * 2 +
1850
282M
                                 q5 + q6 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1851
282M
            dst[strideb * +5] = (p1 + p0 + q0 + q1 + q2 + q3 + q4 + q5 * 2 +
1852
282M
                                 q6 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1853
282M
            dst[strideb * +6] = (p0 + q0 + q1 + q2 + q3 + q4 + q5 + q6 * 2 +
1854
282M
                                 q7 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1855
3.29G
        } else if (wd >= 8 && flat8in) {
1856
622M
            dst[strideb * -3] = (p3 + p3 + p3 + 2 * p2 + p1 + p0 + q0 + 4) >> 3;
1857
622M
            dst[strideb * -2] = (p3 + p3 + p2 + 2 * p1 + p0 + q0 + q1 + 4) >> 3;
1858
622M
            dst[strideb * -1] = (p3 + p2 + p1 + 2 * p0 + q0 + q1 + q2 + 4) >> 3;
1859
622M
            dst[strideb * +0] = (p2 + p1 + p0 + 2 * q0 + q1 + q2 + q3 + 4) >> 3;
1860
622M
            dst[strideb * +1] = (p1 + p0 + q0 + 2 * q1 + q2 + q3 + q3 + 4) >> 3;
1861
622M
            dst[strideb * +2] = (p0 + q0 + q1 + 2 * q2 + q3 + q3 + q3 + 4) >> 3;
1862
2.67G
        } else {
1863
2.67G
            int hev = FFABS(p1 - p0) > H || FFABS(q1 - q0) > H;
1864
1865
2.67G
            if (hev) {
1866
79.7M
                int f = av_clip_intp2(p1 - q1, BIT_DEPTH - 1), f1, f2;
1867
79.7M
                f = av_clip_intp2(3 * (q0 - p0) + f, BIT_DEPTH - 1);
1868
1869
79.7M
                f1 = FFMIN(f + 4, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1870
79.7M
                f2 = FFMIN(f + 3, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1871
1872
79.7M
                dst[strideb * -1] = av_clip_pixel(p0 + f2);
1873
79.7M
                dst[strideb * +0] = av_clip_pixel(q0 - f1);
1874
2.59G
            } else {
1875
2.59G
                int f = av_clip_intp2(3 * (q0 - p0), BIT_DEPTH - 1), f1, f2;
1876
1877
2.59G
                f1 = FFMIN(f + 4, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1878
2.59G
                f2 = FFMIN(f + 3, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1879
1880
2.59G
                dst[strideb * -1] = av_clip_pixel(p0 + f2);
1881
2.59G
                dst[strideb * +0] = av_clip_pixel(q0 - f1);
1882
1883
2.59G
                f = (f1 + 1) >> 1;
1884
2.59G
                dst[strideb * -2] = av_clip_pixel(p1 + f);
1885
2.59G
                dst[strideb * +1] = av_clip_pixel(q1 - f);
1886
2.59G
            }
1887
2.67G
        }
1888
3.57G
    }
1889
467M
}
vp9dsp_10bpp.c:loop_filter
Line
Count
Source
1783
86.6M
{
1784
86.6M
    int i, F = 1 << (BIT_DEPTH - 8);
1785
1786
86.6M
    E <<= (BIT_DEPTH - 8);
1787
86.6M
    I <<= (BIT_DEPTH - 8);
1788
86.6M
    H <<= (BIT_DEPTH - 8);
1789
779M
    for (i = 0; i < 8; i++, dst += stridea) {
1790
692M
        int p7, p6, p5, p4;
1791
692M
        int p3 = dst[strideb * -4], p2 = dst[strideb * -3];
1792
692M
        int p1 = dst[strideb * -2], p0 = dst[strideb * -1];
1793
692M
        int q0 = dst[strideb * +0], q1 = dst[strideb * +1];
1794
692M
        int q2 = dst[strideb * +2], q3 = dst[strideb * +3];
1795
692M
        int q4, q5, q6, q7;
1796
692M
        int fm = FFABS(p3 - p2) <= I && FFABS(p2 - p1) <= I &&
1797
672M
                 FFABS(p1 - p0) <= I && FFABS(q1 - q0) <= I &&
1798
660M
                 FFABS(q2 - q1) <= I && FFABS(q3 - q2) <= I &&
1799
654M
                 FFABS(p0 - q0) * 2 + (FFABS(p1 - q1) >> 1) <= E;
1800
692M
        int flat8out, flat8in;
1801
1802
692M
        if (!fm)
1803
51.6M
            continue;
1804
1805
641M
        if (wd >= 16) {
1806
78.1M
            p7 = dst[strideb * -8];
1807
78.1M
            p6 = dst[strideb * -7];
1808
78.1M
            p5 = dst[strideb * -6];
1809
78.1M
            p4 = dst[strideb * -5];
1810
78.1M
            q4 = dst[strideb * +4];
1811
78.1M
            q5 = dst[strideb * +5];
1812
78.1M
            q6 = dst[strideb * +6];
1813
78.1M
            q7 = dst[strideb * +7];
1814
1815
78.1M
            flat8out = FFABS(p7 - p0) <= F && FFABS(p6 - p0) <= F &&
1816
71.9M
                       FFABS(p5 - p0) <= F && FFABS(p4 - p0) <= F &&
1817
71.8M
                       FFABS(q4 - q0) <= F && FFABS(q5 - q0) <= F &&
1818
69.2M
                       FFABS(q6 - q0) <= F && FFABS(q7 - q0) <= F;
1819
78.1M
        }
1820
1821
641M
        if (wd >= 8)
1822
207M
            flat8in = FFABS(p3 - p0) <= F && FFABS(p2 - p0) <= F &&
1823
195M
                      FFABS(p1 - p0) <= F && FFABS(q1 - q0) <= F &&
1824
192M
                      FFABS(q2 - q0) <= F && FFABS(q3 - q0) <= F;
1825
1826
641M
        if (wd >= 16 && flat8out && flat8in) {
1827
68.8M
            dst[strideb * -7] = (p7 + p7 + p7 + p7 + p7 + p7 + p7 + p6 * 2 +
1828
68.8M
                                 p5 + p4 + p3 + p2 + p1 + p0 + q0 + 8) >> 4;
1829
68.8M
            dst[strideb * -6] = (p7 + p7 + p7 + p7 + p7 + p7 + p6 + p5 * 2 +
1830
68.8M
                                 p4 + p3 + p2 + p1 + p0 + q0 + q1 + 8) >> 4;
1831
68.8M
            dst[strideb * -5] = (p7 + p7 + p7 + p7 + p7 + p6 + p5 + p4 * 2 +
1832
68.8M
                                 p3 + p2 + p1 + p0 + q0 + q1 + q2 + 8) >> 4;
1833
68.8M
            dst[strideb * -4] = (p7 + p7 + p7 + p7 + p6 + p5 + p4 + p3 * 2 +
1834
68.8M
                                 p2 + p1 + p0 + q0 + q1 + q2 + q3 + 8) >> 4;
1835
68.8M
            dst[strideb * -3] = (p7 + p7 + p7 + p6 + p5 + p4 + p3 + p2 * 2 +
1836
68.8M
                                 p1 + p0 + q0 + q1 + q2 + q3 + q4 + 8) >> 4;
1837
68.8M
            dst[strideb * -2] = (p7 + p7 + p6 + p5 + p4 + p3 + p2 + p1 * 2 +
1838
68.8M
                                 p0 + q0 + q1 + q2 + q3 + q4 + q5 + 8) >> 4;
1839
68.8M
            dst[strideb * -1] = (p7 + p6 + p5 + p4 + p3 + p2 + p1 + p0 * 2 +
1840
68.8M
                                 q0 + q1 + q2 + q3 + q4 + q5 + q6 + 8) >> 4;
1841
68.8M
            dst[strideb * +0] = (p6 + p5 + p4 + p3 + p2 + p1 + p0 + q0 * 2 +
1842
68.8M
                                 q1 + q2 + q3 + q4 + q5 + q6 + q7 + 8) >> 4;
1843
68.8M
            dst[strideb * +1] = (p5 + p4 + p3 + p2 + p1 + p0 + q0 + q1 * 2 +
1844
68.8M
                                 q2 + q3 + q4 + q5 + q6 + q7 + q7 + 8) >> 4;
1845
68.8M
            dst[strideb * +2] = (p4 + p3 + p2 + p1 + p0 + q0 + q1 + q2 * 2 +
1846
68.8M
                                 q3 + q4 + q5 + q6 + q7 + q7 + q7 + 8) >> 4;
1847
68.8M
            dst[strideb * +3] = (p3 + p2 + p1 + p0 + q0 + q1 + q2 + q3 * 2 +
1848
68.8M
                                 q4 + q5 + q6 + q7 + q7 + q7 + q7 + 8) >> 4;
1849
68.8M
            dst[strideb * +4] = (p2 + p1 + p0 + q0 + q1 + q2 + q3 + q4 * 2 +
1850
68.8M
                                 q5 + q6 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1851
68.8M
            dst[strideb * +5] = (p1 + p0 + q0 + q1 + q2 + q3 + q4 + q5 * 2 +
1852
68.8M
                                 q6 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1853
68.8M
            dst[strideb * +6] = (p0 + q0 + q1 + q2 + q3 + q4 + q5 + q6 * 2 +
1854
68.8M
                                 q7 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1855
572M
        } else if (wd >= 8 && flat8in) {
1856
121M
            dst[strideb * -3] = (p3 + p3 + p3 + 2 * p2 + p1 + p0 + q0 + 4) >> 3;
1857
121M
            dst[strideb * -2] = (p3 + p3 + p2 + 2 * p1 + p0 + q0 + q1 + 4) >> 3;
1858
121M
            dst[strideb * -1] = (p3 + p2 + p1 + 2 * p0 + q0 + q1 + q2 + 4) >> 3;
1859
121M
            dst[strideb * +0] = (p2 + p1 + p0 + 2 * q0 + q1 + q2 + q3 + 4) >> 3;
1860
121M
            dst[strideb * +1] = (p1 + p0 + q0 + 2 * q1 + q2 + q3 + q3 + 4) >> 3;
1861
121M
            dst[strideb * +2] = (p0 + q0 + q1 + 2 * q2 + q3 + q3 + q3 + 4) >> 3;
1862
450M
        } else {
1863
450M
            int hev = FFABS(p1 - p0) > H || FFABS(q1 - q0) > H;
1864
1865
450M
            if (hev) {
1866
18.4M
                int f = av_clip_intp2(p1 - q1, BIT_DEPTH - 1), f1, f2;
1867
18.4M
                f = av_clip_intp2(3 * (q0 - p0) + f, BIT_DEPTH - 1);
1868
1869
18.4M
                f1 = FFMIN(f + 4, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1870
18.4M
                f2 = FFMIN(f + 3, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1871
1872
18.4M
                dst[strideb * -1] = av_clip_pixel(p0 + f2);
1873
18.4M
                dst[strideb * +0] = av_clip_pixel(q0 - f1);
1874
432M
            } else {
1875
432M
                int f = av_clip_intp2(3 * (q0 - p0), BIT_DEPTH - 1), f1, f2;
1876
1877
432M
                f1 = FFMIN(f + 4, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1878
432M
                f2 = FFMIN(f + 3, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1879
1880
432M
                dst[strideb * -1] = av_clip_pixel(p0 + f2);
1881
432M
                dst[strideb * +0] = av_clip_pixel(q0 - f1);
1882
1883
432M
                f = (f1 + 1) >> 1;
1884
432M
                dst[strideb * -2] = av_clip_pixel(p1 + f);
1885
432M
                dst[strideb * +1] = av_clip_pixel(q1 - f);
1886
432M
            }
1887
450M
        }
1888
641M
    }
1889
86.6M
}
vp9dsp_12bpp.c:loop_filter
Line
Count
Source
1783
237M
{
1784
237M
    int i, F = 1 << (BIT_DEPTH - 8);
1785
1786
237M
    E <<= (BIT_DEPTH - 8);
1787
237M
    I <<= (BIT_DEPTH - 8);
1788
237M
    H <<= (BIT_DEPTH - 8);
1789
2.13G
    for (i = 0; i < 8; i++, dst += stridea) {
1790
1.89G
        int p7, p6, p5, p4;
1791
1.89G
        int p3 = dst[strideb * -4], p2 = dst[strideb * -3];
1792
1.89G
        int p1 = dst[strideb * -2], p0 = dst[strideb * -1];
1793
1.89G
        int q0 = dst[strideb * +0], q1 = dst[strideb * +1];
1794
1.89G
        int q2 = dst[strideb * +2], q3 = dst[strideb * +3];
1795
1.89G
        int q4, q5, q6, q7;
1796
1.89G
        int fm = FFABS(p3 - p2) <= I && FFABS(p2 - p1) <= I &&
1797
1.85G
                 FFABS(p1 - p0) <= I && FFABS(q1 - q0) <= I &&
1798
1.83G
                 FFABS(q2 - q1) <= I && FFABS(q3 - q2) <= I &&
1799
1.82G
                 FFABS(p0 - q0) * 2 + (FFABS(p1 - q1) >> 1) <= E;
1800
1.89G
        int flat8out, flat8in;
1801
1802
1.89G
        if (!fm)
1803
82.0M
            continue;
1804
1805
1.81G
        if (wd >= 16) {
1806
76.7M
            p7 = dst[strideb * -8];
1807
76.7M
            p6 = dst[strideb * -7];
1808
76.7M
            p5 = dst[strideb * -6];
1809
76.7M
            p4 = dst[strideb * -5];
1810
76.7M
            q4 = dst[strideb * +4];
1811
76.7M
            q5 = dst[strideb * +5];
1812
76.7M
            q6 = dst[strideb * +6];
1813
76.7M
            q7 = dst[strideb * +7];
1814
1815
76.7M
            flat8out = FFABS(p7 - p0) <= F && FFABS(p6 - p0) <= F &&
1816
71.5M
                       FFABS(p5 - p0) <= F && FFABS(p4 - p0) <= F &&
1817
71.4M
                       FFABS(q4 - q0) <= F && FFABS(q5 - q0) <= F &&
1818
69.1M
                       FFABS(q6 - q0) <= F && FFABS(q7 - q0) <= F;
1819
76.7M
        }
1820
1821
1.81G
        if (wd >= 8)
1822
401M
            flat8in = FFABS(p3 - p0) <= F && FFABS(p2 - p0) <= F &&
1823
373M
                      FFABS(p1 - p0) <= F && FFABS(q1 - q0) <= F &&
1824
369M
                      FFABS(q2 - q0) <= F && FFABS(q3 - q0) <= F;
1825
1826
1.81G
        if (wd >= 16 && flat8out && flat8in) {
1827
68.5M
            dst[strideb * -7] = (p7 + p7 + p7 + p7 + p7 + p7 + p7 + p6 * 2 +
1828
68.5M
                                 p5 + p4 + p3 + p2 + p1 + p0 + q0 + 8) >> 4;
1829
68.5M
            dst[strideb * -6] = (p7 + p7 + p7 + p7 + p7 + p7 + p6 + p5 * 2 +
1830
68.5M
                                 p4 + p3 + p2 + p1 + p0 + q0 + q1 + 8) >> 4;
1831
68.5M
            dst[strideb * -5] = (p7 + p7 + p7 + p7 + p7 + p6 + p5 + p4 * 2 +
1832
68.5M
                                 p3 + p2 + p1 + p0 + q0 + q1 + q2 + 8) >> 4;
1833
68.5M
            dst[strideb * -4] = (p7 + p7 + p7 + p7 + p6 + p5 + p4 + p3 * 2 +
1834
68.5M
                                 p2 + p1 + p0 + q0 + q1 + q2 + q3 + 8) >> 4;
1835
68.5M
            dst[strideb * -3] = (p7 + p7 + p7 + p6 + p5 + p4 + p3 + p2 * 2 +
1836
68.5M
                                 p1 + p0 + q0 + q1 + q2 + q3 + q4 + 8) >> 4;
1837
68.5M
            dst[strideb * -2] = (p7 + p7 + p6 + p5 + p4 + p3 + p2 + p1 * 2 +
1838
68.5M
                                 p0 + q0 + q1 + q2 + q3 + q4 + q5 + 8) >> 4;
1839
68.5M
            dst[strideb * -1] = (p7 + p6 + p5 + p4 + p3 + p2 + p1 + p0 * 2 +
1840
68.5M
                                 q0 + q1 + q2 + q3 + q4 + q5 + q6 + 8) >> 4;
1841
68.5M
            dst[strideb * +0] = (p6 + p5 + p4 + p3 + p2 + p1 + p0 + q0 * 2 +
1842
68.5M
                                 q1 + q2 + q3 + q4 + q5 + q6 + q7 + 8) >> 4;
1843
68.5M
            dst[strideb * +1] = (p5 + p4 + p3 + p2 + p1 + p0 + q0 + q1 * 2 +
1844
68.5M
                                 q2 + q3 + q4 + q5 + q6 + q7 + q7 + 8) >> 4;
1845
68.5M
            dst[strideb * +2] = (p4 + p3 + p2 + p1 + p0 + q0 + q1 + q2 * 2 +
1846
68.5M
                                 q3 + q4 + q5 + q6 + q7 + q7 + q7 + 8) >> 4;
1847
68.5M
            dst[strideb * +3] = (p3 + p2 + p1 + p0 + q0 + q1 + q2 + q3 * 2 +
1848
68.5M
                                 q4 + q5 + q6 + q7 + q7 + q7 + q7 + 8) >> 4;
1849
68.5M
            dst[strideb * +4] = (p2 + p1 + p0 + q0 + q1 + q2 + q3 + q4 * 2 +
1850
68.5M
                                 q5 + q6 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1851
68.5M
            dst[strideb * +5] = (p1 + p0 + q0 + q1 + q2 + q3 + q4 + q5 * 2 +
1852
68.5M
                                 q6 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1853
68.5M
            dst[strideb * +6] = (p0 + q0 + q1 + q2 + q3 + q4 + q5 + q6 * 2 +
1854
68.5M
                                 q7 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1855
1.74G
        } else if (wd >= 8 && flat8in) {
1856
296M
            dst[strideb * -3] = (p3 + p3 + p3 + 2 * p2 + p1 + p0 + q0 + 4) >> 3;
1857
296M
            dst[strideb * -2] = (p3 + p3 + p2 + 2 * p1 + p0 + q0 + q1 + 4) >> 3;
1858
296M
            dst[strideb * -1] = (p3 + p2 + p1 + 2 * p0 + q0 + q1 + q2 + 4) >> 3;
1859
296M
            dst[strideb * +0] = (p2 + p1 + p0 + 2 * q0 + q1 + q2 + q3 + 4) >> 3;
1860
296M
            dst[strideb * +1] = (p1 + p0 + q0 + 2 * q1 + q2 + q3 + q3 + 4) >> 3;
1861
296M
            dst[strideb * +2] = (p0 + q0 + q1 + 2 * q2 + q3 + q3 + q3 + 4) >> 3;
1862
1.44G
        } else {
1863
1.44G
            int hev = FFABS(p1 - p0) > H || FFABS(q1 - q0) > H;
1864
1865
1.44G
            if (hev) {
1866
50.5M
                int f = av_clip_intp2(p1 - q1, BIT_DEPTH - 1), f1, f2;
1867
50.5M
                f = av_clip_intp2(3 * (q0 - p0) + f, BIT_DEPTH - 1);
1868
1869
50.5M
                f1 = FFMIN(f + 4, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1870
50.5M
                f2 = FFMIN(f + 3, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1871
1872
50.5M
                dst[strideb * -1] = av_clip_pixel(p0 + f2);
1873
50.5M
                dst[strideb * +0] = av_clip_pixel(q0 - f1);
1874
1.39G
            } else {
1875
1.39G
                int f = av_clip_intp2(3 * (q0 - p0), BIT_DEPTH - 1), f1, f2;
1876
1877
1.39G
                f1 = FFMIN(f + 4, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1878
1.39G
                f2 = FFMIN(f + 3, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1879
1880
1.39G
                dst[strideb * -1] = av_clip_pixel(p0 + f2);
1881
1.39G
                dst[strideb * +0] = av_clip_pixel(q0 - f1);
1882
1883
1.39G
                f = (f1 + 1) >> 1;
1884
1.39G
                dst[strideb * -2] = av_clip_pixel(p1 + f);
1885
1.39G
                dst[strideb * +1] = av_clip_pixel(q1 - f);
1886
1.39G
            }
1887
1.44G
        }
1888
1.81G
    }
1889
237M
}
vp9dsp_8bpp.c:loop_filter
Line
Count
Source
1783
143M
{
1784
143M
    int i, F = 1 << (BIT_DEPTH - 8);
1785
1786
143M
    E <<= (BIT_DEPTH - 8);
1787
143M
    I <<= (BIT_DEPTH - 8);
1788
143M
    H <<= (BIT_DEPTH - 8);
1789
1.29G
    for (i = 0; i < 8; i++, dst += stridea) {
1790
1.15G
        int p7, p6, p5, p4;
1791
1.15G
        int p3 = dst[strideb * -4], p2 = dst[strideb * -3];
1792
1.15G
        int p1 = dst[strideb * -2], p0 = dst[strideb * -1];
1793
1.15G
        int q0 = dst[strideb * +0], q1 = dst[strideb * +1];
1794
1.15G
        int q2 = dst[strideb * +2], q3 = dst[strideb * +3];
1795
1.15G
        int q4, q5, q6, q7;
1796
1.15G
        int fm = FFABS(p3 - p2) <= I && FFABS(p2 - p1) <= I &&
1797
1.13G
                 FFABS(p1 - p0) <= I && FFABS(q1 - q0) <= I &&
1798
1.13G
                 FFABS(q2 - q1) <= I && FFABS(q3 - q2) <= I &&
1799
1.12G
                 FFABS(p0 - q0) * 2 + (FFABS(p1 - q1) >> 1) <= E;
1800
1.15G
        int flat8out, flat8in;
1801
1802
1.15G
        if (!fm)
1803
27.1M
            continue;
1804
1805
1.12G
        if (wd >= 16) {
1806
155M
            p7 = dst[strideb * -8];
1807
155M
            p6 = dst[strideb * -7];
1808
155M
            p5 = dst[strideb * -6];
1809
155M
            p4 = dst[strideb * -5];
1810
155M
            q4 = dst[strideb * +4];
1811
155M
            q5 = dst[strideb * +5];
1812
155M
            q6 = dst[strideb * +6];
1813
155M
            q7 = dst[strideb * +7];
1814
1815
155M
            flat8out = FFABS(p7 - p0) <= F && FFABS(p6 - p0) <= F &&
1816
149M
                       FFABS(p5 - p0) <= F && FFABS(p4 - p0) <= F &&
1817
148M
                       FFABS(q4 - q0) <= F && FFABS(q5 - q0) <= F &&
1818
145M
                       FFABS(q6 - q0) <= F && FFABS(q7 - q0) <= F;
1819
155M
        }
1820
1821
1.12G
        if (wd >= 8)
1822
362M
            flat8in = FFABS(p3 - p0) <= F && FFABS(p2 - p0) <= F &&
1823
354M
                      FFABS(p1 - p0) <= F && FFABS(q1 - q0) <= F &&
1824
352M
                      FFABS(q2 - q0) <= F && FFABS(q3 - q0) <= F;
1825
1826
1.12G
        if (wd >= 16 && flat8out && flat8in) {
1827
145M
            dst[strideb * -7] = (p7 + p7 + p7 + p7 + p7 + p7 + p7 + p6 * 2 +
1828
145M
                                 p5 + p4 + p3 + p2 + p1 + p0 + q0 + 8) >> 4;
1829
145M
            dst[strideb * -6] = (p7 + p7 + p7 + p7 + p7 + p7 + p6 + p5 * 2 +
1830
145M
                                 p4 + p3 + p2 + p1 + p0 + q0 + q1 + 8) >> 4;
1831
145M
            dst[strideb * -5] = (p7 + p7 + p7 + p7 + p7 + p6 + p5 + p4 * 2 +
1832
145M
                                 p3 + p2 + p1 + p0 + q0 + q1 + q2 + 8) >> 4;
1833
145M
            dst[strideb * -4] = (p7 + p7 + p7 + p7 + p6 + p5 + p4 + p3 * 2 +
1834
145M
                                 p2 + p1 + p0 + q0 + q1 + q2 + q3 + 8) >> 4;
1835
145M
            dst[strideb * -3] = (p7 + p7 + p7 + p6 + p5 + p4 + p3 + p2 * 2 +
1836
145M
                                 p1 + p0 + q0 + q1 + q2 + q3 + q4 + 8) >> 4;
1837
145M
            dst[strideb * -2] = (p7 + p7 + p6 + p5 + p4 + p3 + p2 + p1 * 2 +
1838
145M
                                 p0 + q0 + q1 + q2 + q3 + q4 + q5 + 8) >> 4;
1839
145M
            dst[strideb * -1] = (p7 + p6 + p5 + p4 + p3 + p2 + p1 + p0 * 2 +
1840
145M
                                 q0 + q1 + q2 + q3 + q4 + q5 + q6 + 8) >> 4;
1841
145M
            dst[strideb * +0] = (p6 + p5 + p4 + p3 + p2 + p1 + p0 + q0 * 2 +
1842
145M
                                 q1 + q2 + q3 + q4 + q5 + q6 + q7 + 8) >> 4;
1843
145M
            dst[strideb * +1] = (p5 + p4 + p3 + p2 + p1 + p0 + q0 + q1 * 2 +
1844
145M
                                 q2 + q3 + q4 + q5 + q6 + q7 + q7 + 8) >> 4;
1845
145M
            dst[strideb * +2] = (p4 + p3 + p2 + p1 + p0 + q0 + q1 + q2 * 2 +
1846
145M
                                 q3 + q4 + q5 + q6 + q7 + q7 + q7 + 8) >> 4;
1847
145M
            dst[strideb * +3] = (p3 + p2 + p1 + p0 + q0 + q1 + q2 + q3 * 2 +
1848
145M
                                 q4 + q5 + q6 + q7 + q7 + q7 + q7 + 8) >> 4;
1849
145M
            dst[strideb * +4] = (p2 + p1 + p0 + q0 + q1 + q2 + q3 + q4 * 2 +
1850
145M
                                 q5 + q6 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1851
145M
            dst[strideb * +5] = (p1 + p0 + q0 + q1 + q2 + q3 + q4 + q5 * 2 +
1852
145M
                                 q6 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1853
145M
            dst[strideb * +6] = (p0 + q0 + q1 + q2 + q3 + q4 + q5 + q6 * 2 +
1854
145M
                                 q7 + q7 + q7 + q7 + q7 + q7 + q7 + 8) >> 4;
1855
977M
        } else if (wd >= 8 && flat8in) {
1856
204M
            dst[strideb * -3] = (p3 + p3 + p3 + 2 * p2 + p1 + p0 + q0 + 4) >> 3;
1857
204M
            dst[strideb * -2] = (p3 + p3 + p2 + 2 * p1 + p0 + q0 + q1 + 4) >> 3;
1858
204M
            dst[strideb * -1] = (p3 + p2 + p1 + 2 * p0 + q0 + q1 + q2 + 4) >> 3;
1859
204M
            dst[strideb * +0] = (p2 + p1 + p0 + 2 * q0 + q1 + q2 + q3 + 4) >> 3;
1860
204M
            dst[strideb * +1] = (p1 + p0 + q0 + 2 * q1 + q2 + q3 + q3 + 4) >> 3;
1861
204M
            dst[strideb * +2] = (p0 + q0 + q1 + 2 * q2 + q3 + q3 + q3 + 4) >> 3;
1862
773M
        } else {
1863
773M
            int hev = FFABS(p1 - p0) > H || FFABS(q1 - q0) > H;
1864
1865
773M
            if (hev) {
1866
10.7M
                int f = av_clip_intp2(p1 - q1, BIT_DEPTH - 1), f1, f2;
1867
10.7M
                f = av_clip_intp2(3 * (q0 - p0) + f, BIT_DEPTH - 1);
1868
1869
10.7M
                f1 = FFMIN(f + 4, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1870
10.7M
                f2 = FFMIN(f + 3, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1871
1872
10.7M
                dst[strideb * -1] = av_clip_pixel(p0 + f2);
1873
10.7M
                dst[strideb * +0] = av_clip_pixel(q0 - f1);
1874
762M
            } else {
1875
762M
                int f = av_clip_intp2(3 * (q0 - p0), BIT_DEPTH - 1), f1, f2;
1876
1877
762M
                f1 = FFMIN(f + 4, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1878
762M
                f2 = FFMIN(f + 3, (1 << (BIT_DEPTH - 1)) - 1) >> 3;
1879
1880
762M
                dst[strideb * -1] = av_clip_pixel(p0 + f2);
1881
762M
                dst[strideb * +0] = av_clip_pixel(q0 - f1);
1882
1883
762M
                f = (f1 + 1) >> 1;
1884
762M
                dst[strideb * -2] = av_clip_pixel(p1 + f);
1885
762M
                dst[strideb * +1] = av_clip_pixel(q1 - f);
1886
762M
            }
1887
773M
        }
1888
1.12G
    }
1889
143M
}
1890
1891
#define lf_8_fn(dir, wd, stridea, strideb) \
1892
static void loop_filter_##dir##_##wd##_8_c(uint8_t *_dst, \
1893
                                           ptrdiff_t stride, \
1894
467M
                                           int E, int I, int H) \
1895
467M
{ \
1896
467M
    pixel *dst = (pixel *) _dst; \
1897
467M
    stride /= sizeof(pixel); \
1898
467M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
467M
}
vp9dsp_10bpp.c:loop_filter_h_4_8_c
Line
Count
Source
1894
28.2M
                                           int E, int I, int H) \
1895
28.2M
{ \
1896
28.2M
    pixel *dst = (pixel *) _dst; \
1897
28.2M
    stride /= sizeof(pixel); \
1898
28.2M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
28.2M
}
vp9dsp_10bpp.c:loop_filter_v_4_8_c
Line
Count
Source
1894
28.9M
                                           int E, int I, int H) \
1895
28.9M
{ \
1896
28.9M
    pixel *dst = (pixel *) _dst; \
1897
28.9M
    stride /= sizeof(pixel); \
1898
28.9M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
28.9M
}
vp9dsp_10bpp.c:loop_filter_h_8_8_c
Line
Count
Source
1894
8.57M
                                           int E, int I, int H) \
1895
8.57M
{ \
1896
8.57M
    pixel *dst = (pixel *) _dst; \
1897
8.57M
    stride /= sizeof(pixel); \
1898
8.57M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
8.57M
}
vp9dsp_10bpp.c:loop_filter_v_8_8_c
Line
Count
Source
1894
9.32M
                                           int E, int I, int H) \
1895
9.32M
{ \
1896
9.32M
    pixel *dst = (pixel *) _dst; \
1897
9.32M
    stride /= sizeof(pixel); \
1898
9.32M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
9.32M
}
vp9dsp_10bpp.c:loop_filter_h_16_8_c
Line
Count
Source
1894
5.21M
                                           int E, int I, int H) \
1895
5.21M
{ \
1896
5.21M
    pixel *dst = (pixel *) _dst; \
1897
5.21M
    stride /= sizeof(pixel); \
1898
5.21M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
5.21M
}
vp9dsp_10bpp.c:loop_filter_v_16_8_c
Line
Count
Source
1894
6.28M
                                           int E, int I, int H) \
1895
6.28M
{ \
1896
6.28M
    pixel *dst = (pixel *) _dst; \
1897
6.28M
    stride /= sizeof(pixel); \
1898
6.28M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
6.28M
}
vp9dsp_12bpp.c:loop_filter_h_4_8_c
Line
Count
Source
1894
89.3M
                                           int E, int I, int H) \
1895
89.3M
{ \
1896
89.3M
    pixel *dst = (pixel *) _dst; \
1897
89.3M
    stride /= sizeof(pixel); \
1898
89.3M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
89.3M
}
vp9dsp_12bpp.c:loop_filter_v_4_8_c
Line
Count
Source
1894
92.8M
                                           int E, int I, int H) \
1895
92.8M
{ \
1896
92.8M
    pixel *dst = (pixel *) _dst; \
1897
92.8M
    stride /= sizeof(pixel); \
1898
92.8M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
92.8M
}
vp9dsp_12bpp.c:loop_filter_h_8_8_c
Line
Count
Source
1894
20.3M
                                           int E, int I, int H) \
1895
20.3M
{ \
1896
20.3M
    pixel *dst = (pixel *) _dst; \
1897
20.3M
    stride /= sizeof(pixel); \
1898
20.3M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
20.3M
}
vp9dsp_12bpp.c:loop_filter_v_8_8_c
Line
Count
Source
1894
22.6M
                                           int E, int I, int H) \
1895
22.6M
{ \
1896
22.6M
    pixel *dst = (pixel *) _dst; \
1897
22.6M
    stride /= sizeof(pixel); \
1898
22.6M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
22.6M
}
vp9dsp_12bpp.c:loop_filter_h_16_8_c
Line
Count
Source
1894
5.69M
                                           int E, int I, int H) \
1895
5.69M
{ \
1896
5.69M
    pixel *dst = (pixel *) _dst; \
1897
5.69M
    stride /= sizeof(pixel); \
1898
5.69M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
5.69M
}
vp9dsp_12bpp.c:loop_filter_v_16_8_c
Line
Count
Source
1894
6.11M
                                           int E, int I, int H) \
1895
6.11M
{ \
1896
6.11M
    pixel *dst = (pixel *) _dst; \
1897
6.11M
    stride /= sizeof(pixel); \
1898
6.11M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
6.11M
}
vp9dsp_8bpp.c:loop_filter_h_4_8_c
Line
Count
Source
1894
50.2M
                                           int E, int I, int H) \
1895
50.2M
{ \
1896
50.2M
    pixel *dst = (pixel *) _dst; \
1897
50.2M
    stride /= sizeof(pixel); \
1898
50.2M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
50.2M
}
vp9dsp_8bpp.c:loop_filter_v_4_8_c
Line
Count
Source
1894
46.2M
                                           int E, int I, int H) \
1895
46.2M
{ \
1896
46.2M
    pixel *dst = (pixel *) _dst; \
1897
46.2M
    stride /= sizeof(pixel); \
1898
46.2M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
46.2M
}
vp9dsp_8bpp.c:loop_filter_h_8_8_c
Line
Count
Source
1894
14.6M
                                           int E, int I, int H) \
1895
14.6M
{ \
1896
14.6M
    pixel *dst = (pixel *) _dst; \
1897
14.6M
    stride /= sizeof(pixel); \
1898
14.6M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
14.6M
}
vp9dsp_8bpp.c:loop_filter_v_8_8_c
Line
Count
Source
1894
12.2M
                                           int E, int I, int H) \
1895
12.2M
{ \
1896
12.2M
    pixel *dst = (pixel *) _dst; \
1897
12.2M
    stride /= sizeof(pixel); \
1898
12.2M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
12.2M
}
vp9dsp_8bpp.c:loop_filter_h_16_8_c
Line
Count
Source
1894
10.4M
                                           int E, int I, int H) \
1895
10.4M
{ \
1896
10.4M
    pixel *dst = (pixel *) _dst; \
1897
10.4M
    stride /= sizeof(pixel); \
1898
10.4M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
10.4M
}
vp9dsp_8bpp.c:loop_filter_v_16_8_c
Line
Count
Source
1894
9.88M
                                           int E, int I, int H) \
1895
9.88M
{ \
1896
9.88M
    pixel *dst = (pixel *) _dst; \
1897
9.88M
    stride /= sizeof(pixel); \
1898
9.88M
    loop_filter(dst, E, I, H, stridea, strideb, wd); \
1899
9.88M
}
1900
1901
#define lf_8_fns(wd) \
1902
lf_8_fn(h, wd, stride, 1) \
1903
lf_8_fn(v, wd, 1, stride)
1904
1905
lf_8_fns(4)
1906
lf_8_fns(8)
1907
lf_8_fns(16)
1908
1909
#undef lf_8_fn
1910
#undef lf_8_fns
1911
1912
#define lf_16_fn(dir, stridea) \
1913
static void loop_filter_##dir##_16_16_c(uint8_t *dst, \
1914
                                        ptrdiff_t stride, \
1915
20.7M
                                        int E, int I, int H) \
1916
20.7M
{ \
1917
20.7M
    loop_filter_##dir##_16_8_c(dst, stride, E, I, H); \
1918
20.7M
    loop_filter_##dir##_16_8_c(dst + 8 * stridea, stride, E, I, H); \
1919
20.7M
}
vp9dsp_10bpp.c:loop_filter_h_16_16_c
Line
Count
Source
1915
2.58M
                                        int E, int I, int H) \
1916
2.58M
{ \
1917
2.58M
    loop_filter_##dir##_16_8_c(dst, stride, E, I, H); \
1918
2.58M
    loop_filter_##dir##_16_8_c(dst + 8 * stridea, stride, E, I, H); \
1919
2.58M
}
vp9dsp_10bpp.c:loop_filter_v_16_16_c
Line
Count
Source
1915
2.73M
                                        int E, int I, int H) \
1916
2.73M
{ \
1917
2.73M
    loop_filter_##dir##_16_8_c(dst, stride, E, I, H); \
1918
2.73M
    loop_filter_##dir##_16_8_c(dst + 8 * stridea, stride, E, I, H); \
1919
2.73M
}
vp9dsp_12bpp.c:loop_filter_h_16_16_c
Line
Count
Source
1915
2.76M
                                        int E, int I, int H) \
1916
2.76M
{ \
1917
2.76M
    loop_filter_##dir##_16_8_c(dst, stride, E, I, H); \
1918
2.76M
    loop_filter_##dir##_16_8_c(dst + 8 * stridea, stride, E, I, H); \
1919
2.76M
}
vp9dsp_12bpp.c:loop_filter_v_16_16_c
Line
Count
Source
1915
2.90M
                                        int E, int I, int H) \
1916
2.90M
{ \
1917
2.90M
    loop_filter_##dir##_16_8_c(dst, stride, E, I, H); \
1918
2.90M
    loop_filter_##dir##_16_8_c(dst + 8 * stridea, stride, E, I, H); \
1919
2.90M
}
vp9dsp_8bpp.c:loop_filter_h_16_16_c
Line
Count
Source
1915
5.08M
                                        int E, int I, int H) \
1916
5.08M
{ \
1917
5.08M
    loop_filter_##dir##_16_8_c(dst, stride, E, I, H); \
1918
5.08M
    loop_filter_##dir##_16_8_c(dst + 8 * stridea, stride, E, I, H); \
1919
5.08M
}
vp9dsp_8bpp.c:loop_filter_v_16_16_c
Line
Count
Source
1915
4.67M
                                        int E, int I, int H) \
1916
4.67M
{ \
1917
4.67M
    loop_filter_##dir##_16_8_c(dst, stride, E, I, H); \
1918
4.67M
    loop_filter_##dir##_16_8_c(dst + 8 * stridea, stride, E, I, H); \
1919
4.67M
}
1920
1921
lf_16_fn(h, stride)
1922
lf_16_fn(v, sizeof(pixel))
1923
1924
#undef lf_16_fn
1925
1926
#define lf_mix_fn(dir, wd1, wd2, stridea) \
1927
static void loop_filter_##dir##_##wd1##wd2##_16_c(uint8_t *dst, \
1928
                                                  ptrdiff_t stride, \
1929
181M
                                                  int E, int I, int H) \
1930
181M
{ \
1931
181M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
181M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
181M
}
vp9dsp_10bpp.c:loop_filter_h_44_16_c
Line
Count
Source
1929
12.5M
                                                  int E, int I, int H) \
1930
12.5M
{ \
1931
12.5M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
12.5M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
12.5M
}
vp9dsp_10bpp.c:loop_filter_v_44_16_c
Line
Count
Source
1929
11.3M
                                                  int E, int I, int H) \
1930
11.3M
{ \
1931
11.3M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
11.3M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
11.3M
}
vp9dsp_10bpp.c:loop_filter_h_48_16_c
Line
Count
Source
1929
135k
                                                  int E, int I, int H) \
1930
135k
{ \
1931
135k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
135k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
135k
}
vp9dsp_10bpp.c:loop_filter_v_48_16_c
Line
Count
Source
1929
167k
                                                  int E, int I, int H) \
1930
167k
{ \
1931
167k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
167k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
167k
}
vp9dsp_10bpp.c:loop_filter_h_84_16_c
Line
Count
Source
1929
151k
                                                  int E, int I, int H) \
1930
151k
{ \
1931
151k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
151k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
151k
}
vp9dsp_10bpp.c:loop_filter_v_84_16_c
Line
Count
Source
1929
198k
                                                  int E, int I, int H) \
1930
198k
{ \
1931
198k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
198k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
198k
}
vp9dsp_10bpp.c:loop_filter_h_88_16_c
Line
Count
Source
1929
3.89M
                                                  int E, int I, int H) \
1930
3.89M
{ \
1931
3.89M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
3.89M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
3.89M
}
vp9dsp_10bpp.c:loop_filter_v_88_16_c
Line
Count
Source
1929
3.36M
                                                  int E, int I, int H) \
1930
3.36M
{ \
1931
3.36M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
3.36M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
3.36M
}
vp9dsp_12bpp.c:loop_filter_h_44_16_c
Line
Count
Source
1929
40.4M
                                                  int E, int I, int H) \
1930
40.4M
{ \
1931
40.4M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
40.4M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
40.4M
}
vp9dsp_12bpp.c:loop_filter_v_44_16_c
Line
Count
Source
1929
38.9M
                                                  int E, int I, int H) \
1930
38.9M
{ \
1931
38.9M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
38.9M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
38.9M
}
vp9dsp_12bpp.c:loop_filter_h_48_16_c
Line
Count
Source
1929
88.7k
                                                  int E, int I, int H) \
1930
88.7k
{ \
1931
88.7k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
88.7k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
88.7k
}
vp9dsp_12bpp.c:loop_filter_v_48_16_c
Line
Count
Source
1929
113k
                                                  int E, int I, int H) \
1930
113k
{ \
1931
113k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
113k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
113k
}
vp9dsp_12bpp.c:loop_filter_h_84_16_c
Line
Count
Source
1929
99.0k
                                                  int E, int I, int H) \
1930
99.0k
{ \
1931
99.0k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
99.0k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
99.0k
}
vp9dsp_12bpp.c:loop_filter_v_84_16_c
Line
Count
Source
1929
171k
                                                  int E, int I, int H) \
1930
171k
{ \
1931
171k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
171k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
171k
}
vp9dsp_12bpp.c:loop_filter_h_88_16_c
Line
Count
Source
1929
9.51M
                                                  int E, int I, int H) \
1930
9.51M
{ \
1931
9.51M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
9.51M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
9.51M
}
vp9dsp_12bpp.c:loop_filter_v_88_16_c
Line
Count
Source
1929
9.35M
                                                  int E, int I, int H) \
1930
9.35M
{ \
1931
9.35M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
9.35M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
9.35M
}
vp9dsp_8bpp.c:loop_filter_h_44_16_c
Line
Count
Source
1929
18.8M
                                                  int E, int I, int H) \
1930
18.8M
{ \
1931
18.8M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
18.8M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
18.8M
}
vp9dsp_8bpp.c:loop_filter_v_44_16_c
Line
Count
Source
1929
20.6M
                                                  int E, int I, int H) \
1930
20.6M
{ \
1931
20.6M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
20.6M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
20.6M
}
vp9dsp_8bpp.c:loop_filter_h_48_16_c
Line
Count
Source
1929
248k
                                                  int E, int I, int H) \
1930
248k
{ \
1931
248k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
248k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
248k
}
vp9dsp_8bpp.c:loop_filter_v_48_16_c
Line
Count
Source
1929
177k
                                                  int E, int I, int H) \
1930
177k
{ \
1931
177k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
177k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
177k
}
vp9dsp_8bpp.c:loop_filter_h_84_16_c
Line
Count
Source
1929
263k
                                                  int E, int I, int H) \
1930
263k
{ \
1931
263k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
263k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
263k
}
vp9dsp_8bpp.c:loop_filter_v_84_16_c
Line
Count
Source
1929
190k
                                                  int E, int I, int H) \
1930
190k
{ \
1931
190k
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
190k
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
190k
}
vp9dsp_8bpp.c:loop_filter_h_88_16_c
Line
Count
Source
1929
5.75M
                                                  int E, int I, int H) \
1930
5.75M
{ \
1931
5.75M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
5.75M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
5.75M
}
vp9dsp_8bpp.c:loop_filter_v_88_16_c
Line
Count
Source
1929
5.07M
                                                  int E, int I, int H) \
1930
5.07M
{ \
1931
5.07M
    loop_filter_##dir##_##wd1##_8_c(dst, stride, E & 0xff, I & 0xff, H & 0xff); \
1932
5.07M
    loop_filter_##dir##_##wd2##_8_c(dst + 8 * stridea, stride, E >> 8, I >> 8, H >> 8); \
1933
5.07M
}
1934
1935
#define lf_mix_fns(wd1, wd2) \
1936
lf_mix_fn(h, wd1, wd2, stride) \
1937
lf_mix_fn(v, wd1, wd2, sizeof(pixel))
1938
1939
lf_mix_fns(4, 4)
1940
lf_mix_fns(4, 8)
1941
lf_mix_fns(8, 4)
1942
lf_mix_fns(8, 8)
1943
1944
#undef lf_mix_fn
1945
#undef lf_mix_fns
1946
1947
static av_cold void vp9dsp_loopfilter_init(VP9DSPContext *dsp)
1948
15.2k
{
1949
15.2k
    dsp->loop_filter_8[0][0] = loop_filter_h_4_8_c;
1950
15.2k
    dsp->loop_filter_8[0][1] = loop_filter_v_4_8_c;
1951
15.2k
    dsp->loop_filter_8[1][0] = loop_filter_h_8_8_c;
1952
15.2k
    dsp->loop_filter_8[1][1] = loop_filter_v_8_8_c;
1953
15.2k
    dsp->loop_filter_8[2][0] = loop_filter_h_16_8_c;
1954
15.2k
    dsp->loop_filter_8[2][1] = loop_filter_v_16_8_c;
1955
1956
15.2k
    dsp->loop_filter_16[0] = loop_filter_h_16_16_c;
1957
15.2k
    dsp->loop_filter_16[1] = loop_filter_v_16_16_c;
1958
1959
15.2k
    dsp->loop_filter_mix2[0][0][0] = loop_filter_h_44_16_c;
1960
15.2k
    dsp->loop_filter_mix2[0][0][1] = loop_filter_v_44_16_c;
1961
15.2k
    dsp->loop_filter_mix2[0][1][0] = loop_filter_h_48_16_c;
1962
15.2k
    dsp->loop_filter_mix2[0][1][1] = loop_filter_v_48_16_c;
1963
15.2k
    dsp->loop_filter_mix2[1][0][0] = loop_filter_h_84_16_c;
1964
15.2k
    dsp->loop_filter_mix2[1][0][1] = loop_filter_v_84_16_c;
1965
15.2k
    dsp->loop_filter_mix2[1][1][0] = loop_filter_h_88_16_c;
1966
15.2k
    dsp->loop_filter_mix2[1][1][1] = loop_filter_v_88_16_c;
1967
15.2k
}
vp9dsp_10bpp.c:vp9dsp_loopfilter_init
Line
Count
Source
1948
4.10k
{
1949
4.10k
    dsp->loop_filter_8[0][0] = loop_filter_h_4_8_c;
1950
4.10k
    dsp->loop_filter_8[0][1] = loop_filter_v_4_8_c;
1951
4.10k
    dsp->loop_filter_8[1][0] = loop_filter_h_8_8_c;
1952
4.10k
    dsp->loop_filter_8[1][1] = loop_filter_v_8_8_c;
1953
4.10k
    dsp->loop_filter_8[2][0] = loop_filter_h_16_8_c;
1954
4.10k
    dsp->loop_filter_8[2][1] = loop_filter_v_16_8_c;
1955
1956
4.10k
    dsp->loop_filter_16[0] = loop_filter_h_16_16_c;
1957
4.10k
    dsp->loop_filter_16[1] = loop_filter_v_16_16_c;
1958
1959
4.10k
    dsp->loop_filter_mix2[0][0][0] = loop_filter_h_44_16_c;
1960
4.10k
    dsp->loop_filter_mix2[0][0][1] = loop_filter_v_44_16_c;
1961
4.10k
    dsp->loop_filter_mix2[0][1][0] = loop_filter_h_48_16_c;
1962
4.10k
    dsp->loop_filter_mix2[0][1][1] = loop_filter_v_48_16_c;
1963
4.10k
    dsp->loop_filter_mix2[1][0][0] = loop_filter_h_84_16_c;
1964
4.10k
    dsp->loop_filter_mix2[1][0][1] = loop_filter_v_84_16_c;
1965
4.10k
    dsp->loop_filter_mix2[1][1][0] = loop_filter_h_88_16_c;
1966
4.10k
    dsp->loop_filter_mix2[1][1][1] = loop_filter_v_88_16_c;
1967
4.10k
}
vp9dsp_12bpp.c:vp9dsp_loopfilter_init
Line
Count
Source
1948
4.57k
{
1949
4.57k
    dsp->loop_filter_8[0][0] = loop_filter_h_4_8_c;
1950
4.57k
    dsp->loop_filter_8[0][1] = loop_filter_v_4_8_c;
1951
4.57k
    dsp->loop_filter_8[1][0] = loop_filter_h_8_8_c;
1952
4.57k
    dsp->loop_filter_8[1][1] = loop_filter_v_8_8_c;
1953
4.57k
    dsp->loop_filter_8[2][0] = loop_filter_h_16_8_c;
1954
4.57k
    dsp->loop_filter_8[2][1] = loop_filter_v_16_8_c;
1955
1956
4.57k
    dsp->loop_filter_16[0] = loop_filter_h_16_16_c;
1957
4.57k
    dsp->loop_filter_16[1] = loop_filter_v_16_16_c;
1958
1959
4.57k
    dsp->loop_filter_mix2[0][0][0] = loop_filter_h_44_16_c;
1960
4.57k
    dsp->loop_filter_mix2[0][0][1] = loop_filter_v_44_16_c;
1961
4.57k
    dsp->loop_filter_mix2[0][1][0] = loop_filter_h_48_16_c;
1962
4.57k
    dsp->loop_filter_mix2[0][1][1] = loop_filter_v_48_16_c;
1963
4.57k
    dsp->loop_filter_mix2[1][0][0] = loop_filter_h_84_16_c;
1964
4.57k
    dsp->loop_filter_mix2[1][0][1] = loop_filter_v_84_16_c;
1965
4.57k
    dsp->loop_filter_mix2[1][1][0] = loop_filter_h_88_16_c;
1966
4.57k
    dsp->loop_filter_mix2[1][1][1] = loop_filter_v_88_16_c;
1967
4.57k
}
vp9dsp_8bpp.c:vp9dsp_loopfilter_init
Line
Count
Source
1948
6.58k
{
1949
6.58k
    dsp->loop_filter_8[0][0] = loop_filter_h_4_8_c;
1950
6.58k
    dsp->loop_filter_8[0][1] = loop_filter_v_4_8_c;
1951
6.58k
    dsp->loop_filter_8[1][0] = loop_filter_h_8_8_c;
1952
6.58k
    dsp->loop_filter_8[1][1] = loop_filter_v_8_8_c;
1953
6.58k
    dsp->loop_filter_8[2][0] = loop_filter_h_16_8_c;
1954
6.58k
    dsp->loop_filter_8[2][1] = loop_filter_v_16_8_c;
1955
1956
6.58k
    dsp->loop_filter_16[0] = loop_filter_h_16_16_c;
1957
6.58k
    dsp->loop_filter_16[1] = loop_filter_v_16_16_c;
1958
1959
6.58k
    dsp->loop_filter_mix2[0][0][0] = loop_filter_h_44_16_c;
1960
6.58k
    dsp->loop_filter_mix2[0][0][1] = loop_filter_v_44_16_c;
1961
6.58k
    dsp->loop_filter_mix2[0][1][0] = loop_filter_h_48_16_c;
1962
6.58k
    dsp->loop_filter_mix2[0][1][1] = loop_filter_v_48_16_c;
1963
6.58k
    dsp->loop_filter_mix2[1][0][0] = loop_filter_h_84_16_c;
1964
6.58k
    dsp->loop_filter_mix2[1][0][1] = loop_filter_v_84_16_c;
1965
6.58k
    dsp->loop_filter_mix2[1][1][0] = loop_filter_h_88_16_c;
1966
6.58k
    dsp->loop_filter_mix2[1][1][1] = loop_filter_v_88_16_c;
1967
6.58k
}
1968
1969
#if BIT_DEPTH != 12
1970
1971
static av_always_inline void copy_c(uint8_t *restrict dst, ptrdiff_t dst_stride,
1972
                                    const uint8_t *restrict src,
1973
                                    ptrdiff_t src_stride, int w, int h)
1974
47.8M
{
1975
502M
    do {
1976
502M
        memcpy(dst, src, w * sizeof(pixel));
1977
1978
502M
        dst += dst_stride;
1979
502M
        src += src_stride;
1980
502M
    } while (--h);
1981
47.8M
}
vp9dsp_10bpp.c:copy_c
Line
Count
Source
1974
35.8M
{
1975
361M
    do {
1976
361M
        memcpy(dst, src, w * sizeof(pixel));
1977
1978
361M
        dst += dst_stride;
1979
361M
        src += src_stride;
1980
361M
    } while (--h);
1981
35.8M
}
vp9dsp_8bpp.c:copy_c
Line
Count
Source
1974
12.0M
{
1975
141M
    do {
1976
141M
        memcpy(dst, src, w * sizeof(pixel));
1977
1978
141M
        dst += dst_stride;
1979
141M
        src += src_stride;
1980
141M
    } while (--h);
1981
12.0M
}
1982
1983
static av_always_inline void avg_c(uint8_t *restrict _dst, ptrdiff_t dst_stride,
1984
                                   const uint8_t *restrict _src,
1985
                                   ptrdiff_t src_stride, int w, int h)
1986
18.4M
{
1987
18.4M
    pixel *dst = (pixel *) _dst;
1988
18.4M
    const pixel *src = (const pixel *) _src;
1989
1990
18.4M
    dst_stride /= sizeof(pixel);
1991
18.4M
    src_stride /= sizeof(pixel);
1992
146M
    do {
1993
146M
        int x;
1994
1995
704M
        for (x = 0; x < w; x += 4)
1996
557M
            AV_WN4PA(&dst[x], rnd_avg_pixel4(AV_RN4PA(&dst[x]), AV_RN4P(&src[x])));
1997
1998
146M
        dst += dst_stride;
1999
146M
        src += src_stride;
2000
146M
    } while (--h);
2001
18.4M
}
vp9dsp_10bpp.c:avg_c
Line
Count
Source
1986
14.1M
{
1987
14.1M
    pixel *dst = (pixel *) _dst;
1988
14.1M
    const pixel *src = (const pixel *) _src;
1989
1990
14.1M
    dst_stride /= sizeof(pixel);
1991
14.1M
    src_stride /= sizeof(pixel);
1992
107M
    do {
1993
107M
        int x;
1994
1995
451M
        for (x = 0; x < w; x += 4)
1996
344M
            AV_WN4PA(&dst[x], rnd_avg_pixel4(AV_RN4PA(&dst[x]), AV_RN4P(&src[x])));
1997
1998
107M
        dst += dst_stride;
1999
107M
        src += src_stride;
2000
107M
    } while (--h);
2001
14.1M
}
vp9dsp_8bpp.c:avg_c
Line
Count
Source
1986
4.30M
{
1987
4.30M
    pixel *dst = (pixel *) _dst;
1988
4.30M
    const pixel *src = (const pixel *) _src;
1989
1990
4.30M
    dst_stride /= sizeof(pixel);
1991
4.30M
    src_stride /= sizeof(pixel);
1992
39.7M
    do {
1993
39.7M
        int x;
1994
1995
252M
        for (x = 0; x < w; x += 4)
1996
212M
            AV_WN4PA(&dst[x], rnd_avg_pixel4(AV_RN4PA(&dst[x]), AV_RN4P(&src[x])));
1997
1998
39.7M
        dst += dst_stride;
1999
39.7M
        src += src_stride;
2000
39.7M
    } while (--h);
2001
4.30M
}
2002
2003
#define fpel_fn(type, sz) \
2004
static void type##sz##_c(uint8_t *dst, ptrdiff_t dst_stride, \
2005
                         const uint8_t *src, ptrdiff_t src_stride, \
2006
66.3M
                         int h, int mx, int my) \
2007
66.3M
{ \
2008
66.3M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
66.3M
}
vp9dsp_10bpp.c:copy64_c
Line
Count
Source
2006
976k
                         int h, int mx, int my) \
2007
976k
{ \
2008
976k
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
976k
}
vp9dsp_10bpp.c:avg64_c
Line
Count
Source
2006
113k
                         int h, int mx, int my) \
2007
113k
{ \
2008
113k
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
113k
}
vp9dsp_10bpp.c:copy32_c
Line
Count
Source
2006
1.61M
                         int h, int mx, int my) \
2007
1.61M
{ \
2008
1.61M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
1.61M
}
vp9dsp_10bpp.c:avg32_c
Line
Count
Source
2006
321k
                         int h, int mx, int my) \
2007
321k
{ \
2008
321k
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
321k
}
vp9dsp_10bpp.c:copy16_c
Line
Count
Source
2006
2.06M
                         int h, int mx, int my) \
2007
2.06M
{ \
2008
2.06M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
2.06M
}
vp9dsp_10bpp.c:avg16_c
Line
Count
Source
2006
796k
                         int h, int mx, int my) \
2007
796k
{ \
2008
796k
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
796k
}
vp9dsp_10bpp.c:copy8_c
Line
Count
Source
2006
15.3M
                         int h, int mx, int my) \
2007
15.3M
{ \
2008
15.3M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
15.3M
}
vp9dsp_10bpp.c:avg8_c
Line
Count
Source
2006
6.39M
                         int h, int mx, int my) \
2007
6.39M
{ \
2008
6.39M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
6.39M
}
vp9dsp_10bpp.c:copy4_c
Line
Count
Source
2006
15.8M
                         int h, int mx, int my) \
2007
15.8M
{ \
2008
15.8M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
15.8M
}
vp9dsp_10bpp.c:avg4_c
Line
Count
Source
2006
6.55M
                         int h, int mx, int my) \
2007
6.55M
{ \
2008
6.55M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
6.55M
}
vp9dsp_8bpp.c:copy64_c
Line
Count
Source
2006
1.77M
                         int h, int mx, int my) \
2007
1.77M
{ \
2008
1.77M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
1.77M
}
vp9dsp_8bpp.c:avg64_c
Line
Count
Source
2006
145k
                         int h, int mx, int my) \
2007
145k
{ \
2008
145k
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
145k
}
vp9dsp_8bpp.c:copy32_c
Line
Count
Source
2006
2.24M
                         int h, int mx, int my) \
2007
2.24M
{ \
2008
2.24M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
2.24M
}
vp9dsp_8bpp.c:avg32_c
Line
Count
Source
2006
314k
                         int h, int mx, int my) \
2007
314k
{ \
2008
314k
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
314k
}
vp9dsp_8bpp.c:copy16_c
Line
Count
Source
2006
1.54M
                         int h, int mx, int my) \
2007
1.54M
{ \
2008
1.54M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
1.54M
}
vp9dsp_8bpp.c:avg16_c
Line
Count
Source
2006
650k
                         int h, int mx, int my) \
2007
650k
{ \
2008
650k
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
650k
}
vp9dsp_8bpp.c:copy8_c
Line
Count
Source
2006
2.81M
                         int h, int mx, int my) \
2007
2.81M
{ \
2008
2.81M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
2.81M
}
vp9dsp_8bpp.c:avg8_c
Line
Count
Source
2006
1.25M
                         int h, int mx, int my) \
2007
1.25M
{ \
2008
1.25M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
1.25M
}
vp9dsp_8bpp.c:copy4_c
Line
Count
Source
2006
3.61M
                         int h, int mx, int my) \
2007
3.61M
{ \
2008
3.61M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
3.61M
}
vp9dsp_8bpp.c:avg4_c
Line
Count
Source
2006
1.93M
                         int h, int mx, int my) \
2007
1.93M
{ \
2008
1.93M
    type##_c(dst, dst_stride, src, src_stride, sz, h); \
2009
1.93M
}
2010
2011
#define copy_avg_fn(sz) \
2012
fpel_fn(copy, sz) \
2013
fpel_fn(avg,  sz)
2014
2015
copy_avg_fn(64)
2016
copy_avg_fn(32)
2017
copy_avg_fn(16)
2018
copy_avg_fn(8)
2019
copy_avg_fn(4)
2020
2021
#undef fpel_fn
2022
#undef copy_avg_fn
2023
2024
#endif /* BIT_DEPTH != 12 */
2025
2026
#define FILTER_8TAP(src, x, F, stride) \
2027
9.37G
    av_clip_pixel((F[0] * src[x + -3 * stride] + \
2028
8.45G
                   F[1] * src[x + -2 * stride] + \
2029
8.45G
                   F[2] * src[x + -1 * stride] + \
2030
8.45G
                   F[3] * src[x + +0 * stride] + \
2031
8.45G
                   F[4] * src[x + +1 * stride] + \
2032
8.45G
                   F[5] * src[x + +2 * stride] + \
2033
8.45G
                   F[6] * src[x + +3 * stride] + \
2034
8.45G
                   F[7] * src[x + +4 * stride] + 64) >> 7)
2035
2036
static av_always_inline void do_8tap_1d_c(uint8_t *_dst, ptrdiff_t dst_stride,
2037
                                          const uint8_t *_src, ptrdiff_t src_stride,
2038
                                          int w, int h, ptrdiff_t ds,
2039
                                          const int16_t *filter, int avg)
2040
6.79M
{
2041
6.79M
    pixel *dst = (pixel *) _dst;
2042
6.79M
    const pixel *src = (const pixel *) _src;
2043
2044
6.79M
    dst_stride /= sizeof(pixel);
2045
6.79M
    src_stride /= sizeof(pixel);
2046
61.3M
    do {
2047
61.3M
        int x;
2048
2049
975M
        for (x = 0; x < w; x++)
2050
913M
            if (avg) {
2051
403M
                dst[x] = (dst[x] + FILTER_8TAP(src, x, filter, ds) + 1) >> 1;
2052
509M
            } else {
2053
509M
                dst[x] = FILTER_8TAP(src, x, filter, ds);
2054
509M
            }
2055
2056
61.3M
        dst += dst_stride;
2057
61.3M
        src += src_stride;
2058
61.3M
    } while (--h);
2059
6.79M
}
vp9dsp_10bpp.c:do_8tap_1d_c
Line
Count
Source
2040
2.17M
{
2041
2.17M
    pixel *dst = (pixel *) _dst;
2042
2.17M
    const pixel *src = (const pixel *) _src;
2043
2044
2.17M
    dst_stride /= sizeof(pixel);
2045
2.17M
    src_stride /= sizeof(pixel);
2046
20.1M
    do {
2047
20.1M
        int x;
2048
2049
349M
        for (x = 0; x < w; x++)
2050
329M
            if (avg) {
2051
153M
                dst[x] = (dst[x] + FILTER_8TAP(src, x, filter, ds) + 1) >> 1;
2052
175M
            } else {
2053
175M
                dst[x] = FILTER_8TAP(src, x, filter, ds);
2054
175M
            }
2055
2056
20.1M
        dst += dst_stride;
2057
20.1M
        src += src_stride;
2058
20.1M
    } while (--h);
2059
2.17M
}
vp9dsp_12bpp.c:do_8tap_1d_c
Line
Count
Source
2040
2.19M
{
2041
2.19M
    pixel *dst = (pixel *) _dst;
2042
2.19M
    const pixel *src = (const pixel *) _src;
2043
2044
2.19M
    dst_stride /= sizeof(pixel);
2045
2.19M
    src_stride /= sizeof(pixel);
2046
24.0M
    do {
2047
24.0M
        int x;
2048
2049
384M
        for (x = 0; x < w; x++)
2050
360M
            if (avg) {
2051
166M
                dst[x] = (dst[x] + FILTER_8TAP(src, x, filter, ds) + 1) >> 1;
2052
193M
            } else {
2053
193M
                dst[x] = FILTER_8TAP(src, x, filter, ds);
2054
193M
            }
2055
2056
24.0M
        dst += dst_stride;
2057
24.0M
        src += src_stride;
2058
24.0M
    } while (--h);
2059
2.19M
}
vp9dsp_8bpp.c:do_8tap_1d_c
Line
Count
Source
2040
2.42M
{
2041
2.42M
    pixel *dst = (pixel *) _dst;
2042
2.42M
    const pixel *src = (const pixel *) _src;
2043
2044
2.42M
    dst_stride /= sizeof(pixel);
2045
2.42M
    src_stride /= sizeof(pixel);
2046
17.1M
    do {
2047
17.1M
        int x;
2048
2049
241M
        for (x = 0; x < w; x++)
2050
223M
            if (avg) {
2051
83.6M
                dst[x] = (dst[x] + FILTER_8TAP(src, x, filter, ds) + 1) >> 1;
2052
140M
            } else {
2053
140M
                dst[x] = FILTER_8TAP(src, x, filter, ds);
2054
140M
            }
2055
2056
17.1M
        dst += dst_stride;
2057
17.1M
        src += src_stride;
2058
17.1M
    } while (--h);
2059
2.42M
}
2060
2061
#define filter_8tap_1d_fn(opn, opa, dir, ds) \
2062
static av_noinline void opn##_8tap_1d_##dir##_c(uint8_t *dst, ptrdiff_t dst_stride, \
2063
                                                const uint8_t *src, ptrdiff_t src_stride, \
2064
6.79M
                                                int w, int h, const int16_t *filter) \
2065
6.79M
{ \
2066
6.79M
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
6.79M
}
vp9dsp_10bpp.c:put_8tap_1d_v_c
Line
Count
Source
2064
738k
                                                int w, int h, const int16_t *filter) \
2065
738k
{ \
2066
738k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
738k
}
vp9dsp_10bpp.c:put_8tap_1d_h_c
Line
Count
Source
2064
406k
                                                int w, int h, const int16_t *filter) \
2065
406k
{ \
2066
406k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
406k
}
vp9dsp_10bpp.c:avg_8tap_1d_v_c
Line
Count
Source
2064
675k
                                                int w, int h, const int16_t *filter) \
2065
675k
{ \
2066
675k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
675k
}
vp9dsp_10bpp.c:avg_8tap_1d_h_c
Line
Count
Source
2064
350k
                                                int w, int h, const int16_t *filter) \
2065
350k
{ \
2066
350k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
350k
}
vp9dsp_12bpp.c:put_8tap_1d_v_c
Line
Count
Source
2064
679k
                                                int w, int h, const int16_t *filter) \
2065
679k
{ \
2066
679k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
679k
}
vp9dsp_12bpp.c:put_8tap_1d_h_c
Line
Count
Source
2064
510k
                                                int w, int h, const int16_t *filter) \
2065
510k
{ \
2066
510k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
510k
}
vp9dsp_12bpp.c:avg_8tap_1d_v_c
Line
Count
Source
2064
597k
                                                int w, int h, const int16_t *filter) \
2065
597k
{ \
2066
597k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
597k
}
vp9dsp_12bpp.c:avg_8tap_1d_h_c
Line
Count
Source
2064
409k
                                                int w, int h, const int16_t *filter) \
2065
409k
{ \
2066
409k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
409k
}
vp9dsp_8bpp.c:put_8tap_1d_v_c
Line
Count
Source
2064
681k
                                                int w, int h, const int16_t *filter) \
2065
681k
{ \
2066
681k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
681k
}
vp9dsp_8bpp.c:put_8tap_1d_h_c
Line
Count
Source
2064
632k
                                                int w, int h, const int16_t *filter) \
2065
632k
{ \
2066
632k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
632k
}
vp9dsp_8bpp.c:avg_8tap_1d_v_c
Line
Count
Source
2064
629k
                                                int w, int h, const int16_t *filter) \
2065
629k
{ \
2066
629k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
629k
}
vp9dsp_8bpp.c:avg_8tap_1d_h_c
Line
Count
Source
2064
484k
                                                int w, int h, const int16_t *filter) \
2065
484k
{ \
2066
484k
    do_8tap_1d_c(dst, dst_stride, src, src_stride, w, h, ds, filter, opa); \
2067
484k
}
2068
2069
filter_8tap_1d_fn(put, 0, v, src_stride / sizeof(pixel))
2070
filter_8tap_1d_fn(put, 0, h, 1)
2071
filter_8tap_1d_fn(avg, 1, v, src_stride / sizeof(pixel))
2072
filter_8tap_1d_fn(avg, 1, h, 1)
2073
2074
#undef filter_8tap_1d_fn
2075
2076
static av_always_inline void do_8tap_2d_c(uint8_t *_dst, ptrdiff_t dst_stride,
2077
                                          const uint8_t *_src, ptrdiff_t src_stride,
2078
                                          int w, int h, const int16_t *filterx,
2079
                                          const int16_t *filtery, int avg)
2080
6.65M
{
2081
6.65M
    int tmp_h = h + 7;
2082
6.65M
    pixel tmp[64 * 71], *tmp_ptr = tmp;
2083
6.65M
    pixel *dst = (pixel *) _dst;
2084
6.65M
    const pixel *src = (const pixel *) _src;
2085
2086
6.65M
    dst_stride /= sizeof(pixel);
2087
6.65M
    src_stride /= sizeof(pixel);
2088
6.65M
    src -= src_stride * 3;
2089
100M
    do {
2090
100M
        int x;
2091
2092
1.11G
        for (x = 0; x < w; x++)
2093
1.01G
            tmp_ptr[x] = FILTER_8TAP(src, x, filterx, 1);
2094
2095
100M
        tmp_ptr += 64;
2096
100M
        src += src_stride;
2097
100M
    } while (--tmp_h);
2098
2099
6.65M
    tmp_ptr = tmp + 64 * 3;
2100
53.4M
    do {
2101
53.4M
        int x;
2102
2103
721M
        for (x = 0; x < w; x++)
2104
667M
            if (avg) {
2105
276M
                dst[x] = (dst[x] + FILTER_8TAP(tmp_ptr, x, filtery, 64) + 1) >> 1;
2106
391M
            } else {
2107
391M
                dst[x] = FILTER_8TAP(tmp_ptr, x, filtery, 64);
2108
391M
            }
2109
2110
53.4M
        tmp_ptr += 64;
2111
53.4M
        dst += dst_stride;
2112
53.4M
    } while (--h);
2113
6.65M
}
vp9dsp_10bpp.c:do_8tap_2d_c
Line
Count
Source
2080
2.12M
{
2081
2.12M
    int tmp_h = h + 7;
2082
2.12M
    pixel tmp[64 * 71], *tmp_ptr = tmp;
2083
2.12M
    pixel *dst = (pixel *) _dst;
2084
2.12M
    const pixel *src = (const pixel *) _src;
2085
2086
2.12M
    dst_stride /= sizeof(pixel);
2087
2.12M
    src_stride /= sizeof(pixel);
2088
2.12M
    src -= src_stride * 3;
2089
31.6M
    do {
2090
31.6M
        int x;
2091
2092
379M
        for (x = 0; x < w; x++)
2093
348M
            tmp_ptr[x] = FILTER_8TAP(src, x, filterx, 1);
2094
2095
31.6M
        tmp_ptr += 64;
2096
31.6M
        src += src_stride;
2097
31.6M
    } while (--tmp_h);
2098
2099
2.12M
    tmp_ptr = tmp + 64 * 3;
2100
16.7M
    do {
2101
16.7M
        int x;
2102
2103
240M
        for (x = 0; x < w; x++)
2104
224M
            if (avg) {
2105
104M
                dst[x] = (dst[x] + FILTER_8TAP(tmp_ptr, x, filtery, 64) + 1) >> 1;
2106
119M
            } else {
2107
119M
                dst[x] = FILTER_8TAP(tmp_ptr, x, filtery, 64);
2108
119M
            }
2109
2110
16.7M
        tmp_ptr += 64;
2111
16.7M
        dst += dst_stride;
2112
16.7M
    } while (--h);
2113
2.12M
}
vp9dsp_12bpp.c:do_8tap_2d_c
Line
Count
Source
2080
2.29M
{
2081
2.29M
    int tmp_h = h + 7;
2082
2.29M
    pixel tmp[64 * 71], *tmp_ptr = tmp;
2083
2.29M
    pixel *dst = (pixel *) _dst;
2084
2.29M
    const pixel *src = (const pixel *) _src;
2085
2086
2.29M
    dst_stride /= sizeof(pixel);
2087
2.29M
    src_stride /= sizeof(pixel);
2088
2.29M
    src -= src_stride * 3;
2089
37.9M
    do {
2090
37.9M
        int x;
2091
2092
422M
        for (x = 0; x < w; x++)
2093
385M
            tmp_ptr[x] = FILTER_8TAP(src, x, filterx, 1);
2094
2095
37.9M
        tmp_ptr += 64;
2096
37.9M
        src += src_stride;
2097
37.9M
    } while (--tmp_h);
2098
2099
2.29M
    tmp_ptr = tmp + 64 * 3;
2100
21.8M
    do {
2101
21.8M
        int x;
2102
2103
285M
        for (x = 0; x < w; x++)
2104
263M
            if (avg) {
2105
118M
                dst[x] = (dst[x] + FILTER_8TAP(tmp_ptr, x, filtery, 64) + 1) >> 1;
2106
144M
            } else {
2107
144M
                dst[x] = FILTER_8TAP(tmp_ptr, x, filtery, 64);
2108
144M
            }
2109
2110
21.8M
        tmp_ptr += 64;
2111
21.8M
        dst += dst_stride;
2112
21.8M
    } while (--h);
2113
2.29M
}
vp9dsp_8bpp.c:do_8tap_2d_c
Line
Count
Source
2080
2.24M
{
2081
2.24M
    int tmp_h = h + 7;
2082
2.24M
    pixel tmp[64 * 71], *tmp_ptr = tmp;
2083
2.24M
    pixel *dst = (pixel *) _dst;
2084
2.24M
    const pixel *src = (const pixel *) _src;
2085
2086
2.24M
    dst_stride /= sizeof(pixel);
2087
2.24M
    src_stride /= sizeof(pixel);
2088
2.24M
    src -= src_stride * 3;
2089
30.5M
    do {
2090
30.5M
        int x;
2091
2092
314M
        for (x = 0; x < w; x++)
2093
284M
            tmp_ptr[x] = FILTER_8TAP(src, x, filterx, 1);
2094
2095
30.5M
        tmp_ptr += 64;
2096
30.5M
        src += src_stride;
2097
30.5M
    } while (--tmp_h);
2098
2099
2.24M
    tmp_ptr = tmp + 64 * 3;
2100
14.8M
    do {
2101
14.8M
        int x;
2102
2103
194M
        for (x = 0; x < w; x++)
2104
179M
            if (avg) {
2105
53.2M
                dst[x] = (dst[x] + FILTER_8TAP(tmp_ptr, x, filtery, 64) + 1) >> 1;
2106
126M
            } else {
2107
126M
                dst[x] = FILTER_8TAP(tmp_ptr, x, filtery, 64);
2108
126M
            }
2109
2110
14.8M
        tmp_ptr += 64;
2111
14.8M
        dst += dst_stride;
2112
14.8M
    } while (--h);
2113
2.24M
}
2114
2115
#define filter_8tap_2d_fn(opn, opa) \
2116
static av_noinline void opn##_8tap_2d_hv_c(uint8_t *dst, ptrdiff_t dst_stride, \
2117
                                           const uint8_t *src, ptrdiff_t src_stride, \
2118
                                           int w, int h, const int16_t *filterx, \
2119
6.65M
                                           const int16_t *filtery) \
2120
6.65M
{ \
2121
6.65M
    do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, opa); \
2122
6.65M
}
vp9dsp_10bpp.c:put_8tap_2d_hv_c
Line
Count
Source
2119
1.08M
                                           const int16_t *filtery) \
2120
1.08M
{ \
2121
1.08M
    do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, opa); \
2122
1.08M
}
vp9dsp_10bpp.c:avg_8tap_2d_hv_c
Line
Count
Source
2119
1.04M
                                           const int16_t *filtery) \
2120
1.04M
{ \
2121
1.04M
    do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, opa); \
2122
1.04M
}
vp9dsp_12bpp.c:put_8tap_2d_hv_c
Line
Count
Source
2119
1.22M
                                           const int16_t *filtery) \
2120
1.22M
{ \
2121
1.22M
    do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, opa); \
2122
1.22M
}
vp9dsp_12bpp.c:avg_8tap_2d_hv_c
Line
Count
Source
2119
1.06M
                                           const int16_t *filtery) \
2120
1.06M
{ \
2121
1.06M
    do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, opa); \
2122
1.06M
}
vp9dsp_8bpp.c:put_8tap_2d_hv_c
Line
Count
Source
2119
1.23M
                                           const int16_t *filtery) \
2120
1.23M
{ \
2121
1.23M
    do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, opa); \
2122
1.23M
}
vp9dsp_8bpp.c:avg_8tap_2d_hv_c
Line
Count
Source
2119
1.00M
                                           const int16_t *filtery) \
2120
1.00M
{ \
2121
1.00M
    do_8tap_2d_c(dst, dst_stride, src, src_stride, w, h, filterx, filtery, opa); \
2122
1.00M
}
2123
2124
filter_8tap_2d_fn(put, 0)
2125
filter_8tap_2d_fn(avg, 1)
2126
2127
#undef filter_8tap_2d_fn
2128
2129
#define filter_fn_1d(sz, dir, dir_m, type, type_idx, avg) \
2130
static void avg##_8tap_##type##_##sz##dir##_c(uint8_t *dst, ptrdiff_t dst_stride, \
2131
                                              const uint8_t *src, ptrdiff_t src_stride, \
2132
6.79M
                                              int h, int mx, int my) \
2133
6.79M
{ \
2134
6.79M
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
6.79M
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
6.79M
}
vp9dsp_10bpp.c:put_8tap_smooth_64v_c
Line
Count
Source
2132
1.40k
                                              int h, int mx, int my) \
2133
1.40k
{ \
2134
1.40k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.40k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.40k
}
vp9dsp_10bpp.c:put_8tap_regular_64v_c
Line
Count
Source
2132
2.12k
                                              int h, int mx, int my) \
2133
2.12k
{ \
2134
2.12k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.12k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.12k
}
vp9dsp_10bpp.c:put_8tap_sharp_64v_c
Line
Count
Source
2132
543
                                              int h, int mx, int my) \
2133
543
{ \
2134
543
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
543
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
543
}
vp9dsp_10bpp.c:put_8tap_smooth_32v_c
Line
Count
Source
2132
10.5k
                                              int h, int mx, int my) \
2133
10.5k
{ \
2134
10.5k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
10.5k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
10.5k
}
vp9dsp_10bpp.c:put_8tap_regular_32v_c
Line
Count
Source
2132
34.3k
                                              int h, int mx, int my) \
2133
34.3k
{ \
2134
34.3k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
34.3k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
34.3k
}
vp9dsp_10bpp.c:put_8tap_sharp_32v_c
Line
Count
Source
2132
9.24k
                                              int h, int mx, int my) \
2133
9.24k
{ \
2134
9.24k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
9.24k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
9.24k
}
vp9dsp_10bpp.c:put_8tap_smooth_16v_c
Line
Count
Source
2132
11.2k
                                              int h, int mx, int my) \
2133
11.2k
{ \
2134
11.2k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
11.2k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
11.2k
}
vp9dsp_10bpp.c:put_8tap_regular_16v_c
Line
Count
Source
2132
36.6k
                                              int h, int mx, int my) \
2133
36.6k
{ \
2134
36.6k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
36.6k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
36.6k
}
vp9dsp_10bpp.c:put_8tap_sharp_16v_c
Line
Count
Source
2132
9.81k
                                              int h, int mx, int my) \
2133
9.81k
{ \
2134
9.81k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
9.81k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
9.81k
}
vp9dsp_10bpp.c:put_8tap_smooth_8v_c
Line
Count
Source
2132
85.7k
                                              int h, int mx, int my) \
2133
85.7k
{ \
2134
85.7k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
85.7k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
85.7k
}
vp9dsp_10bpp.c:put_8tap_regular_8v_c
Line
Count
Source
2132
255k
                                              int h, int mx, int my) \
2133
255k
{ \
2134
255k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
255k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
255k
}
vp9dsp_10bpp.c:put_8tap_sharp_8v_c
Line
Count
Source
2132
68.8k
                                              int h, int mx, int my) \
2133
68.8k
{ \
2134
68.8k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
68.8k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
68.8k
}
vp9dsp_10bpp.c:put_8tap_smooth_4v_c
Line
Count
Source
2132
61.7k
                                              int h, int mx, int my) \
2133
61.7k
{ \
2134
61.7k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
61.7k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
61.7k
}
vp9dsp_10bpp.c:put_8tap_regular_4v_c
Line
Count
Source
2132
106k
                                              int h, int mx, int my) \
2133
106k
{ \
2134
106k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
106k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
106k
}
vp9dsp_10bpp.c:put_8tap_sharp_4v_c
Line
Count
Source
2132
44.1k
                                              int h, int mx, int my) \
2133
44.1k
{ \
2134
44.1k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
44.1k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
44.1k
}
vp9dsp_10bpp.c:put_8tap_smooth_64h_c
Line
Count
Source
2132
2.46k
                                              int h, int mx, int my) \
2133
2.46k
{ \
2134
2.46k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.46k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.46k
}
vp9dsp_10bpp.c:put_8tap_regular_64h_c
Line
Count
Source
2132
2.49k
                                              int h, int mx, int my) \
2133
2.49k
{ \
2134
2.49k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.49k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.49k
}
vp9dsp_10bpp.c:put_8tap_sharp_64h_c
Line
Count
Source
2132
434
                                              int h, int mx, int my) \
2133
434
{ \
2134
434
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
434
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
434
}
vp9dsp_10bpp.c:put_8tap_smooth_32h_c
Line
Count
Source
2132
3.85k
                                              int h, int mx, int my) \
2133
3.85k
{ \
2134
3.85k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
3.85k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
3.85k
}
vp9dsp_10bpp.c:put_8tap_regular_32h_c
Line
Count
Source
2132
9.47k
                                              int h, int mx, int my) \
2133
9.47k
{ \
2134
9.47k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
9.47k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
9.47k
}
vp9dsp_10bpp.c:put_8tap_sharp_32h_c
Line
Count
Source
2132
1.94k
                                              int h, int mx, int my) \
2133
1.94k
{ \
2134
1.94k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.94k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.94k
}
vp9dsp_10bpp.c:put_8tap_smooth_16h_c
Line
Count
Source
2132
5.96k
                                              int h, int mx, int my) \
2133
5.96k
{ \
2134
5.96k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.96k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.96k
}
vp9dsp_10bpp.c:put_8tap_regular_16h_c
Line
Count
Source
2132
19.9k
                                              int h, int mx, int my) \
2133
19.9k
{ \
2134
19.9k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
19.9k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
19.9k
}
vp9dsp_10bpp.c:put_8tap_sharp_16h_c
Line
Count
Source
2132
3.83k
                                              int h, int mx, int my) \
2133
3.83k
{ \
2134
3.83k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
3.83k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
3.83k
}
vp9dsp_10bpp.c:put_8tap_smooth_8h_c
Line
Count
Source
2132
48.5k
                                              int h, int mx, int my) \
2133
48.5k
{ \
2134
48.5k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
48.5k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
48.5k
}
vp9dsp_10bpp.c:put_8tap_regular_8h_c
Line
Count
Source
2132
133k
                                              int h, int mx, int my) \
2133
133k
{ \
2134
133k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
133k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
133k
}
vp9dsp_10bpp.c:put_8tap_sharp_8h_c
Line
Count
Source
2132
30.3k
                                              int h, int mx, int my) \
2133
30.3k
{ \
2134
30.3k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
30.3k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
30.3k
}
vp9dsp_10bpp.c:put_8tap_smooth_4h_c
Line
Count
Source
2132
46.0k
                                              int h, int mx, int my) \
2133
46.0k
{ \
2134
46.0k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
46.0k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
46.0k
}
vp9dsp_10bpp.c:put_8tap_regular_4h_c
Line
Count
Source
2132
70.4k
                                              int h, int mx, int my) \
2133
70.4k
{ \
2134
70.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
70.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
70.4k
}
vp9dsp_10bpp.c:put_8tap_sharp_4h_c
Line
Count
Source
2132
27.1k
                                              int h, int mx, int my) \
2133
27.1k
{ \
2134
27.1k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
27.1k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
27.1k
}
vp9dsp_10bpp.c:avg_8tap_smooth_64v_c
Line
Count
Source
2132
1.12k
                                              int h, int mx, int my) \
2133
1.12k
{ \
2134
1.12k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.12k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.12k
}
vp9dsp_10bpp.c:avg_8tap_regular_64v_c
Line
Count
Source
2132
1.53k
                                              int h, int mx, int my) \
2133
1.53k
{ \
2134
1.53k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.53k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.53k
}
vp9dsp_10bpp.c:avg_8tap_sharp_64v_c
Line
Count
Source
2132
279
                                              int h, int mx, int my) \
2133
279
{ \
2134
279
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
279
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
279
}
vp9dsp_10bpp.c:avg_8tap_smooth_32v_c
Line
Count
Source
2132
10.8k
                                              int h, int mx, int my) \
2133
10.8k
{ \
2134
10.8k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
10.8k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
10.8k
}
vp9dsp_10bpp.c:avg_8tap_regular_32v_c
Line
Count
Source
2132
31.0k
                                              int h, int mx, int my) \
2133
31.0k
{ \
2134
31.0k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
31.0k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
31.0k
}
vp9dsp_10bpp.c:avg_8tap_sharp_32v_c
Line
Count
Source
2132
9.25k
                                              int h, int mx, int my) \
2133
9.25k
{ \
2134
9.25k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
9.25k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
9.25k
}
vp9dsp_10bpp.c:avg_8tap_smooth_16v_c
Line
Count
Source
2132
10.4k
                                              int h, int mx, int my) \
2133
10.4k
{ \
2134
10.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
10.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
10.4k
}
vp9dsp_10bpp.c:avg_8tap_regular_16v_c
Line
Count
Source
2132
31.5k
                                              int h, int mx, int my) \
2133
31.5k
{ \
2134
31.5k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
31.5k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
31.5k
}
vp9dsp_10bpp.c:avg_8tap_sharp_16v_c
Line
Count
Source
2132
8.87k
                                              int h, int mx, int my) \
2133
8.87k
{ \
2134
8.87k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
8.87k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
8.87k
}
vp9dsp_10bpp.c:avg_8tap_smooth_8v_c
Line
Count
Source
2132
82.2k
                                              int h, int mx, int my) \
2133
82.2k
{ \
2134
82.2k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
82.2k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
82.2k
}
vp9dsp_10bpp.c:avg_8tap_regular_8v_c
Line
Count
Source
2132
226k
                                              int h, int mx, int my) \
2133
226k
{ \
2134
226k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
226k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
226k
}
vp9dsp_10bpp.c:avg_8tap_sharp_8v_c
Line
Count
Source
2132
64.6k
                                              int h, int mx, int my) \
2133
64.6k
{ \
2134
64.6k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
64.6k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
64.6k
}
vp9dsp_10bpp.c:avg_8tap_smooth_4v_c
Line
Count
Source
2132
48.5k
                                              int h, int mx, int my) \
2133
48.5k
{ \
2134
48.5k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
48.5k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
48.5k
}
vp9dsp_10bpp.c:avg_8tap_regular_4v_c
Line
Count
Source
2132
103k
                                              int h, int mx, int my) \
2133
103k
{ \
2134
103k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
103k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
103k
}
vp9dsp_10bpp.c:avg_8tap_sharp_4v_c
Line
Count
Source
2132
45.1k
                                              int h, int mx, int my) \
2133
45.1k
{ \
2134
45.1k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
45.1k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
45.1k
}
vp9dsp_10bpp.c:avg_8tap_smooth_64h_c
Line
Count
Source
2132
668
                                              int h, int mx, int my) \
2133
668
{ \
2134
668
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
668
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
668
}
vp9dsp_10bpp.c:avg_8tap_regular_64h_c
Line
Count
Source
2132
842
                                              int h, int mx, int my) \
2133
842
{ \
2134
842
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
842
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
842
}
vp9dsp_10bpp.c:avg_8tap_sharp_64h_c
Line
Count
Source
2132
250
                                              int h, int mx, int my) \
2133
250
{ \
2134
250
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
250
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
250
}
vp9dsp_10bpp.c:avg_8tap_smooth_32h_c
Line
Count
Source
2132
1.69k
                                              int h, int mx, int my) \
2133
1.69k
{ \
2134
1.69k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.69k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.69k
}
vp9dsp_10bpp.c:avg_8tap_regular_32h_c
Line
Count
Source
2132
5.05k
                                              int h, int mx, int my) \
2133
5.05k
{ \
2134
5.05k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.05k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.05k
}
vp9dsp_10bpp.c:avg_8tap_sharp_32h_c
Line
Count
Source
2132
1.50k
                                              int h, int mx, int my) \
2133
1.50k
{ \
2134
1.50k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.50k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.50k
}
vp9dsp_10bpp.c:avg_8tap_smooth_16h_c
Line
Count
Source
2132
5.01k
                                              int h, int mx, int my) \
2133
5.01k
{ \
2134
5.01k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.01k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.01k
}
vp9dsp_10bpp.c:avg_8tap_regular_16h_c
Line
Count
Source
2132
13.4k
                                              int h, int mx, int my) \
2133
13.4k
{ \
2134
13.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
13.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
13.4k
}
vp9dsp_10bpp.c:avg_8tap_sharp_16h_c
Line
Count
Source
2132
3.57k
                                              int h, int mx, int my) \
2133
3.57k
{ \
2134
3.57k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
3.57k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
3.57k
}
vp9dsp_10bpp.c:avg_8tap_smooth_8h_c
Line
Count
Source
2132
42.7k
                                              int h, int mx, int my) \
2133
42.7k
{ \
2134
42.7k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
42.7k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
42.7k
}
vp9dsp_10bpp.c:avg_8tap_regular_8h_c
Line
Count
Source
2132
108k
                                              int h, int mx, int my) \
2133
108k
{ \
2134
108k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
108k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
108k
}
vp9dsp_10bpp.c:avg_8tap_sharp_8h_c
Line
Count
Source
2132
29.8k
                                              int h, int mx, int my) \
2133
29.8k
{ \
2134
29.8k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
29.8k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
29.8k
}
vp9dsp_10bpp.c:avg_8tap_smooth_4h_c
Line
Count
Source
2132
40.8k
                                              int h, int mx, int my) \
2133
40.8k
{ \
2134
40.8k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
40.8k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
40.8k
}
vp9dsp_10bpp.c:avg_8tap_regular_4h_c
Line
Count
Source
2132
68.7k
                                              int h, int mx, int my) \
2133
68.7k
{ \
2134
68.7k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
68.7k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
68.7k
}
vp9dsp_10bpp.c:avg_8tap_sharp_4h_c
Line
Count
Source
2132
28.0k
                                              int h, int mx, int my) \
2133
28.0k
{ \
2134
28.0k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
28.0k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
28.0k
}
vp9dsp_12bpp.c:put_8tap_smooth_64v_c
Line
Count
Source
2132
2.68k
                                              int h, int mx, int my) \
2133
2.68k
{ \
2134
2.68k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.68k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.68k
}
vp9dsp_12bpp.c:put_8tap_regular_64v_c
Line
Count
Source
2132
4.47k
                                              int h, int mx, int my) \
2133
4.47k
{ \
2134
4.47k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
4.47k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
4.47k
}
vp9dsp_12bpp.c:put_8tap_sharp_64v_c
Line
Count
Source
2132
1.61k
                                              int h, int mx, int my) \
2133
1.61k
{ \
2134
1.61k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.61k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.61k
}
vp9dsp_12bpp.c:put_8tap_smooth_32v_c
Line
Count
Source
2132
7.35k
                                              int h, int mx, int my) \
2133
7.35k
{ \
2134
7.35k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
7.35k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
7.35k
}
vp9dsp_12bpp.c:put_8tap_regular_32v_c
Line
Count
Source
2132
19.9k
                                              int h, int mx, int my) \
2133
19.9k
{ \
2134
19.9k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
19.9k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
19.9k
}
vp9dsp_12bpp.c:put_8tap_sharp_32v_c
Line
Count
Source
2132
6.04k
                                              int h, int mx, int my) \
2133
6.04k
{ \
2134
6.04k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
6.04k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
6.04k
}
vp9dsp_12bpp.c:put_8tap_smooth_16v_c
Line
Count
Source
2132
13.7k
                                              int h, int mx, int my) \
2133
13.7k
{ \
2134
13.7k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
13.7k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
13.7k
}
vp9dsp_12bpp.c:put_8tap_regular_16v_c
Line
Count
Source
2132
35.3k
                                              int h, int mx, int my) \
2133
35.3k
{ \
2134
35.3k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
35.3k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
35.3k
}
vp9dsp_12bpp.c:put_8tap_sharp_16v_c
Line
Count
Source
2132
10.9k
                                              int h, int mx, int my) \
2133
10.9k
{ \
2134
10.9k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
10.9k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
10.9k
}
vp9dsp_12bpp.c:put_8tap_smooth_8v_c
Line
Count
Source
2132
64.0k
                                              int h, int mx, int my) \
2133
64.0k
{ \
2134
64.0k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
64.0k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
64.0k
}
vp9dsp_12bpp.c:put_8tap_regular_8v_c
Line
Count
Source
2132
173k
                                              int h, int mx, int my) \
2133
173k
{ \
2134
173k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
173k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
173k
}
vp9dsp_12bpp.c:put_8tap_sharp_8v_c
Line
Count
Source
2132
55.4k
                                              int h, int mx, int my) \
2133
55.4k
{ \
2134
55.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
55.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
55.4k
}
vp9dsp_12bpp.c:put_8tap_smooth_4v_c
Line
Count
Source
2132
63.1k
                                              int h, int mx, int my) \
2133
63.1k
{ \
2134
63.1k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
63.1k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
63.1k
}
vp9dsp_12bpp.c:put_8tap_regular_4v_c
Line
Count
Source
2132
143k
                                              int h, int mx, int my) \
2133
143k
{ \
2134
143k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
143k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
143k
}
vp9dsp_12bpp.c:put_8tap_sharp_4v_c
Line
Count
Source
2132
77.7k
                                              int h, int mx, int my) \
2133
77.7k
{ \
2134
77.7k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
77.7k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
77.7k
}
vp9dsp_12bpp.c:put_8tap_smooth_64h_c
Line
Count
Source
2132
1.99k
                                              int h, int mx, int my) \
2133
1.99k
{ \
2134
1.99k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.99k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.99k
}
vp9dsp_12bpp.c:put_8tap_regular_64h_c
Line
Count
Source
2132
3.29k
                                              int h, int mx, int my) \
2133
3.29k
{ \
2134
3.29k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
3.29k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
3.29k
}
vp9dsp_12bpp.c:put_8tap_sharp_64h_c
Line
Count
Source
2132
1.29k
                                              int h, int mx, int my) \
2133
1.29k
{ \
2134
1.29k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.29k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.29k
}
vp9dsp_12bpp.c:put_8tap_smooth_32h_c
Line
Count
Source
2132
4.83k
                                              int h, int mx, int my) \
2133
4.83k
{ \
2134
4.83k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
4.83k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
4.83k
}
vp9dsp_12bpp.c:put_8tap_regular_32h_c
Line
Count
Source
2132
13.6k
                                              int h, int mx, int my) \
2133
13.6k
{ \
2134
13.6k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
13.6k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
13.6k
}
vp9dsp_12bpp.c:put_8tap_sharp_32h_c
Line
Count
Source
2132
2.29k
                                              int h, int mx, int my) \
2133
2.29k
{ \
2134
2.29k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.29k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.29k
}
vp9dsp_12bpp.c:put_8tap_smooth_16h_c
Line
Count
Source
2132
8.65k
                                              int h, int mx, int my) \
2133
8.65k
{ \
2134
8.65k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
8.65k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
8.65k
}
vp9dsp_12bpp.c:put_8tap_regular_16h_c
Line
Count
Source
2132
26.5k
                                              int h, int mx, int my) \
2133
26.5k
{ \
2134
26.5k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
26.5k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
26.5k
}
vp9dsp_12bpp.c:put_8tap_sharp_16h_c
Line
Count
Source
2132
5.61k
                                              int h, int mx, int my) \
2133
5.61k
{ \
2134
5.61k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.61k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.61k
}
vp9dsp_12bpp.c:put_8tap_smooth_8h_c
Line
Count
Source
2132
41.4k
                                              int h, int mx, int my) \
2133
41.4k
{ \
2134
41.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
41.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
41.4k
}
vp9dsp_12bpp.c:put_8tap_regular_8h_c
Line
Count
Source
2132
118k
                                              int h, int mx, int my) \
2133
118k
{ \
2134
118k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
118k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
118k
}
vp9dsp_12bpp.c:put_8tap_sharp_8h_c
Line
Count
Source
2132
32.5k
                                              int h, int mx, int my) \
2133
32.5k
{ \
2134
32.5k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
32.5k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
32.5k
}
vp9dsp_12bpp.c:put_8tap_smooth_4h_c
Line
Count
Source
2132
56.6k
                                              int h, int mx, int my) \
2133
56.6k
{ \
2134
56.6k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
56.6k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
56.6k
}
vp9dsp_12bpp.c:put_8tap_regular_4h_c
Line
Count
Source
2132
131k
                                              int h, int mx, int my) \
2133
131k
{ \
2134
131k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
131k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
131k
}
vp9dsp_12bpp.c:put_8tap_sharp_4h_c
Line
Count
Source
2132
62.0k
                                              int h, int mx, int my) \
2133
62.0k
{ \
2134
62.0k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
62.0k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
62.0k
}
vp9dsp_12bpp.c:avg_8tap_smooth_64v_c
Line
Count
Source
2132
1.33k
                                              int h, int mx, int my) \
2133
1.33k
{ \
2134
1.33k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.33k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.33k
}
vp9dsp_12bpp.c:avg_8tap_regular_64v_c
Line
Count
Source
2132
3.09k
                                              int h, int mx, int my) \
2133
3.09k
{ \
2134
3.09k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
3.09k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
3.09k
}
vp9dsp_12bpp.c:avg_8tap_sharp_64v_c
Line
Count
Source
2132
1.59k
                                              int h, int mx, int my) \
2133
1.59k
{ \
2134
1.59k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.59k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.59k
}
vp9dsp_12bpp.c:avg_8tap_smooth_32v_c
Line
Count
Source
2132
5.74k
                                              int h, int mx, int my) \
2133
5.74k
{ \
2134
5.74k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.74k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.74k
}
vp9dsp_12bpp.c:avg_8tap_regular_32v_c
Line
Count
Source
2132
16.6k
                                              int h, int mx, int my) \
2133
16.6k
{ \
2134
16.6k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
16.6k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
16.6k
}
vp9dsp_12bpp.c:avg_8tap_sharp_32v_c
Line
Count
Source
2132
5.09k
                                              int h, int mx, int my) \
2133
5.09k
{ \
2134
5.09k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.09k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.09k
}
vp9dsp_12bpp.c:avg_8tap_smooth_16v_c
Line
Count
Source
2132
10.3k
                                              int h, int mx, int my) \
2133
10.3k
{ \
2134
10.3k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
10.3k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
10.3k
}
vp9dsp_12bpp.c:avg_8tap_regular_16v_c
Line
Count
Source
2132
30.2k
                                              int h, int mx, int my) \
2133
30.2k
{ \
2134
30.2k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
30.2k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
30.2k
}
vp9dsp_12bpp.c:avg_8tap_sharp_16v_c
Line
Count
Source
2132
9.46k
                                              int h, int mx, int my) \
2133
9.46k
{ \
2134
9.46k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
9.46k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
9.46k
}
vp9dsp_12bpp.c:avg_8tap_smooth_8v_c
Line
Count
Source
2132
56.4k
                                              int h, int mx, int my) \
2133
56.4k
{ \
2134
56.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
56.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
56.4k
}
vp9dsp_12bpp.c:avg_8tap_regular_8v_c
Line
Count
Source
2132
152k
                                              int h, int mx, int my) \
2133
152k
{ \
2134
152k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
152k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
152k
}
vp9dsp_12bpp.c:avg_8tap_sharp_8v_c
Line
Count
Source
2132
48.5k
                                              int h, int mx, int my) \
2133
48.5k
{ \
2134
48.5k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
48.5k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
48.5k
}
vp9dsp_12bpp.c:avg_8tap_smooth_4v_c
Line
Count
Source
2132
52.3k
                                              int h, int mx, int my) \
2133
52.3k
{ \
2134
52.3k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
52.3k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
52.3k
}
vp9dsp_12bpp.c:avg_8tap_regular_4v_c
Line
Count
Source
2132
136k
                                              int h, int mx, int my) \
2133
136k
{ \
2134
136k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
136k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
136k
}
vp9dsp_12bpp.c:avg_8tap_sharp_4v_c
Line
Count
Source
2132
67.1k
                                              int h, int mx, int my) \
2133
67.1k
{ \
2134
67.1k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
67.1k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
67.1k
}
vp9dsp_12bpp.c:avg_8tap_smooth_64h_c
Line
Count
Source
2132
1.02k
                                              int h, int mx, int my) \
2133
1.02k
{ \
2134
1.02k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.02k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.02k
}
vp9dsp_12bpp.c:avg_8tap_regular_64h_c
Line
Count
Source
2132
2.10k
                                              int h, int mx, int my) \
2133
2.10k
{ \
2134
2.10k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.10k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.10k
}
vp9dsp_12bpp.c:avg_8tap_sharp_64h_c
Line
Count
Source
2132
1.78k
                                              int h, int mx, int my) \
2133
1.78k
{ \
2134
1.78k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.78k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.78k
}
vp9dsp_12bpp.c:avg_8tap_smooth_32h_c
Line
Count
Source
2132
1.75k
                                              int h, int mx, int my) \
2133
1.75k
{ \
2134
1.75k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.75k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.75k
}
vp9dsp_12bpp.c:avg_8tap_regular_32h_c
Line
Count
Source
2132
5.63k
                                              int h, int mx, int my) \
2133
5.63k
{ \
2134
5.63k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.63k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.63k
}
vp9dsp_12bpp.c:avg_8tap_sharp_32h_c
Line
Count
Source
2132
1.56k
                                              int h, int mx, int my) \
2133
1.56k
{ \
2134
1.56k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.56k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.56k
}
vp9dsp_12bpp.c:avg_8tap_smooth_16h_c
Line
Count
Source
2132
5.68k
                                              int h, int mx, int my) \
2133
5.68k
{ \
2134
5.68k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.68k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.68k
}
vp9dsp_12bpp.c:avg_8tap_regular_16h_c
Line
Count
Source
2132
15.2k
                                              int h, int mx, int my) \
2133
15.2k
{ \
2134
15.2k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
15.2k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
15.2k
}
vp9dsp_12bpp.c:avg_8tap_sharp_16h_c
Line
Count
Source
2132
4.59k
                                              int h, int mx, int my) \
2133
4.59k
{ \
2134
4.59k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
4.59k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
4.59k
}
vp9dsp_12bpp.c:avg_8tap_smooth_8h_c
Line
Count
Source
2132
33.6k
                                              int h, int mx, int my) \
2133
33.6k
{ \
2134
33.6k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
33.6k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
33.6k
}
vp9dsp_12bpp.c:avg_8tap_regular_8h_c
Line
Count
Source
2132
87.2k
                                              int h, int mx, int my) \
2133
87.2k
{ \
2134
87.2k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
87.2k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
87.2k
}
vp9dsp_12bpp.c:avg_8tap_sharp_8h_c
Line
Count
Source
2132
26.0k
                                              int h, int mx, int my) \
2133
26.0k
{ \
2134
26.0k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
26.0k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
26.0k
}
vp9dsp_12bpp.c:avg_8tap_smooth_4h_c
Line
Count
Source
2132
48.0k
                                              int h, int mx, int my) \
2133
48.0k
{ \
2134
48.0k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
48.0k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
48.0k
}
vp9dsp_12bpp.c:avg_8tap_regular_4h_c
Line
Count
Source
2132
119k
                                              int h, int mx, int my) \
2133
119k
{ \
2134
119k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
119k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
119k
}
vp9dsp_12bpp.c:avg_8tap_sharp_4h_c
Line
Count
Source
2132
55.3k
                                              int h, int mx, int my) \
2133
55.3k
{ \
2134
55.3k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
55.3k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
55.3k
}
vp9dsp_8bpp.c:put_8tap_smooth_64v_c
Line
Count
Source
2132
1.54k
                                              int h, int mx, int my) \
2133
1.54k
{ \
2134
1.54k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.54k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.54k
}
vp9dsp_8bpp.c:put_8tap_regular_64v_c
Line
Count
Source
2132
4.57k
                                              int h, int mx, int my) \
2133
4.57k
{ \
2134
4.57k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
4.57k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
4.57k
}
vp9dsp_8bpp.c:put_8tap_sharp_64v_c
Line
Count
Source
2132
1.35k
                                              int h, int mx, int my) \
2133
1.35k
{ \
2134
1.35k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.35k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.35k
}
vp9dsp_8bpp.c:put_8tap_smooth_32v_c
Line
Count
Source
2132
4.33k
                                              int h, int mx, int my) \
2133
4.33k
{ \
2134
4.33k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
4.33k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
4.33k
}
vp9dsp_8bpp.c:put_8tap_regular_32v_c
Line
Count
Source
2132
13.1k
                                              int h, int mx, int my) \
2133
13.1k
{ \
2134
13.1k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
13.1k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
13.1k
}
vp9dsp_8bpp.c:put_8tap_sharp_32v_c
Line
Count
Source
2132
3.59k
                                              int h, int mx, int my) \
2133
3.59k
{ \
2134
3.59k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
3.59k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
3.59k
}
vp9dsp_8bpp.c:put_8tap_smooth_16v_c
Line
Count
Source
2132
4.65k
                                              int h, int mx, int my) \
2133
4.65k
{ \
2134
4.65k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
4.65k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
4.65k
}
vp9dsp_8bpp.c:put_8tap_regular_16v_c
Line
Count
Source
2132
30.4k
                                              int h, int mx, int my) \
2133
30.4k
{ \
2134
30.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
30.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
30.4k
}
vp9dsp_8bpp.c:put_8tap_sharp_16v_c
Line
Count
Source
2132
5.01k
                                              int h, int mx, int my) \
2133
5.01k
{ \
2134
5.01k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.01k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.01k
}
vp9dsp_8bpp.c:put_8tap_smooth_8v_c
Line
Count
Source
2132
21.4k
                                              int h, int mx, int my) \
2133
21.4k
{ \
2134
21.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
21.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
21.4k
}
vp9dsp_8bpp.c:put_8tap_regular_8v_c
Line
Count
Source
2132
153k
                                              int h, int mx, int my) \
2133
153k
{ \
2134
153k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
153k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
153k
}
vp9dsp_8bpp.c:put_8tap_sharp_8v_c
Line
Count
Source
2132
23.8k
                                              int h, int mx, int my) \
2133
23.8k
{ \
2134
23.8k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
23.8k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
23.8k
}
vp9dsp_8bpp.c:put_8tap_smooth_4v_c
Line
Count
Source
2132
41.2k
                                              int h, int mx, int my) \
2133
41.2k
{ \
2134
41.2k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
41.2k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
41.2k
}
vp9dsp_8bpp.c:put_8tap_regular_4v_c
Line
Count
Source
2132
307k
                                              int h, int mx, int my) \
2133
307k
{ \
2134
307k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
307k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
307k
}
vp9dsp_8bpp.c:put_8tap_sharp_4v_c
Line
Count
Source
2132
65.2k
                                              int h, int mx, int my) \
2133
65.2k
{ \
2134
65.2k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
65.2k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
65.2k
}
vp9dsp_8bpp.c:put_8tap_smooth_64h_c
Line
Count
Source
2132
2.75k
                                              int h, int mx, int my) \
2133
2.75k
{ \
2134
2.75k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.75k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.75k
}
vp9dsp_8bpp.c:put_8tap_regular_64h_c
Line
Count
Source
2132
6.16k
                                              int h, int mx, int my) \
2133
6.16k
{ \
2134
6.16k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
6.16k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
6.16k
}
vp9dsp_8bpp.c:put_8tap_sharp_64h_c
Line
Count
Source
2132
1.96k
                                              int h, int mx, int my) \
2133
1.96k
{ \
2134
1.96k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.96k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.96k
}
vp9dsp_8bpp.c:put_8tap_smooth_32h_c
Line
Count
Source
2132
5.22k
                                              int h, int mx, int my) \
2133
5.22k
{ \
2134
5.22k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
5.22k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
5.22k
}
vp9dsp_8bpp.c:put_8tap_regular_32h_c
Line
Count
Source
2132
13.6k
                                              int h, int mx, int my) \
2133
13.6k
{ \
2134
13.6k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
13.6k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
13.6k
}
vp9dsp_8bpp.c:put_8tap_sharp_32h_c
Line
Count
Source
2132
4.29k
                                              int h, int mx, int my) \
2133
4.29k
{ \
2134
4.29k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
4.29k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
4.29k
}
vp9dsp_8bpp.c:put_8tap_smooth_16h_c
Line
Count
Source
2132
6.29k
                                              int h, int mx, int my) \
2133
6.29k
{ \
2134
6.29k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
6.29k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
6.29k
}
vp9dsp_8bpp.c:put_8tap_regular_16h_c
Line
Count
Source
2132
23.1k
                                              int h, int mx, int my) \
2133
23.1k
{ \
2134
23.1k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
23.1k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
23.1k
}
vp9dsp_8bpp.c:put_8tap_sharp_16h_c
Line
Count
Source
2132
4.19k
                                              int h, int mx, int my) \
2133
4.19k
{ \
2134
4.19k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
4.19k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
4.19k
}
vp9dsp_8bpp.c:put_8tap_smooth_8h_c
Line
Count
Source
2132
26.0k
                                              int h, int mx, int my) \
2133
26.0k
{ \
2134
26.0k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
26.0k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
26.0k
}
vp9dsp_8bpp.c:put_8tap_regular_8h_c
Line
Count
Source
2132
113k
                                              int h, int mx, int my) \
2133
113k
{ \
2134
113k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
113k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
113k
}
vp9dsp_8bpp.c:put_8tap_sharp_8h_c
Line
Count
Source
2132
23.8k
                                              int h, int mx, int my) \
2133
23.8k
{ \
2134
23.8k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
23.8k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
23.8k
}
vp9dsp_8bpp.c:put_8tap_smooth_4h_c
Line
Count
Source
2132
43.4k
                                              int h, int mx, int my) \
2133
43.4k
{ \
2134
43.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
43.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
43.4k
}
vp9dsp_8bpp.c:put_8tap_regular_4h_c
Line
Count
Source
2132
277k
                                              int h, int mx, int my) \
2133
277k
{ \
2134
277k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
277k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
277k
}
vp9dsp_8bpp.c:put_8tap_sharp_4h_c
Line
Count
Source
2132
81.0k
                                              int h, int mx, int my) \
2133
81.0k
{ \
2134
81.0k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
81.0k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
81.0k
}
vp9dsp_8bpp.c:avg_8tap_smooth_64v_c
Line
Count
Source
2132
516
                                              int h, int mx, int my) \
2133
516
{ \
2134
516
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
516
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
516
}
vp9dsp_8bpp.c:avg_8tap_regular_64v_c
Line
Count
Source
2132
1.04k
                                              int h, int mx, int my) \
2133
1.04k
{ \
2134
1.04k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.04k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.04k
}
vp9dsp_8bpp.c:avg_8tap_sharp_64v_c
Line
Count
Source
2132
2.97k
                                              int h, int mx, int my) \
2133
2.97k
{ \
2134
2.97k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.97k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.97k
}
vp9dsp_8bpp.c:avg_8tap_smooth_32v_c
Line
Count
Source
2132
952
                                              int h, int mx, int my) \
2133
952
{ \
2134
952
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
952
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
952
}
vp9dsp_8bpp.c:avg_8tap_regular_32v_c
Line
Count
Source
2132
7.55k
                                              int h, int mx, int my) \
2133
7.55k
{ \
2134
7.55k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
7.55k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
7.55k
}
vp9dsp_8bpp.c:avg_8tap_sharp_32v_c
Line
Count
Source
2132
1.57k
                                              int h, int mx, int my) \
2133
1.57k
{ \
2134
1.57k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.57k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.57k
}
vp9dsp_8bpp.c:avg_8tap_smooth_16v_c
Line
Count
Source
2132
2.59k
                                              int h, int mx, int my) \
2133
2.59k
{ \
2134
2.59k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.59k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.59k
}
vp9dsp_8bpp.c:avg_8tap_regular_16v_c
Line
Count
Source
2132
22.8k
                                              int h, int mx, int my) \
2133
22.8k
{ \
2134
22.8k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
22.8k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
22.8k
}
vp9dsp_8bpp.c:avg_8tap_sharp_16v_c
Line
Count
Source
2132
2.15k
                                              int h, int mx, int my) \
2133
2.15k
{ \
2134
2.15k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.15k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.15k
}
vp9dsp_8bpp.c:avg_8tap_smooth_8v_c
Line
Count
Source
2132
14.7k
                                              int h, int mx, int my) \
2133
14.7k
{ \
2134
14.7k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
14.7k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
14.7k
}
vp9dsp_8bpp.c:avg_8tap_regular_8v_c
Line
Count
Source
2132
98.1k
                                              int h, int mx, int my) \
2133
98.1k
{ \
2134
98.1k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
98.1k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
98.1k
}
vp9dsp_8bpp.c:avg_8tap_sharp_8v_c
Line
Count
Source
2132
12.6k
                                              int h, int mx, int my) \
2133
12.6k
{ \
2134
12.6k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
12.6k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
12.6k
}
vp9dsp_8bpp.c:avg_8tap_smooth_4v_c
Line
Count
Source
2132
58.3k
                                              int h, int mx, int my) \
2133
58.3k
{ \
2134
58.3k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
58.3k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
58.3k
}
vp9dsp_8bpp.c:avg_8tap_regular_4v_c
Line
Count
Source
2132
337k
                                              int h, int mx, int my) \
2133
337k
{ \
2134
337k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
337k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
337k
}
vp9dsp_8bpp.c:avg_8tap_sharp_4v_c
Line
Count
Source
2132
65.8k
                                              int h, int mx, int my) \
2133
65.8k
{ \
2134
65.8k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
65.8k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
65.8k
}
vp9dsp_8bpp.c:avg_8tap_smooth_64h_c
Line
Count
Source
2132
530
                                              int h, int mx, int my) \
2133
530
{ \
2134
530
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
530
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
530
}
vp9dsp_8bpp.c:avg_8tap_regular_64h_c
Line
Count
Source
2132
1.08k
                                              int h, int mx, int my) \
2133
1.08k
{ \
2134
1.08k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.08k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.08k
}
vp9dsp_8bpp.c:avg_8tap_sharp_64h_c
Line
Count
Source
2132
4.00k
                                              int h, int mx, int my) \
2133
4.00k
{ \
2134
4.00k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
4.00k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
4.00k
}
vp9dsp_8bpp.c:avg_8tap_smooth_32h_c
Line
Count
Source
2132
1.12k
                                              int h, int mx, int my) \
2133
1.12k
{ \
2134
1.12k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.12k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.12k
}
vp9dsp_8bpp.c:avg_8tap_regular_32h_c
Line
Count
Source
2132
3.12k
                                              int h, int mx, int my) \
2133
3.12k
{ \
2134
3.12k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
3.12k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
3.12k
}
vp9dsp_8bpp.c:avg_8tap_sharp_32h_c
Line
Count
Source
2132
1.41k
                                              int h, int mx, int my) \
2133
1.41k
{ \
2134
1.41k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.41k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.41k
}
vp9dsp_8bpp.c:avg_8tap_smooth_16h_c
Line
Count
Source
2132
2.89k
                                              int h, int mx, int my) \
2133
2.89k
{ \
2134
2.89k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
2.89k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
2.89k
}
vp9dsp_8bpp.c:avg_8tap_regular_16h_c
Line
Count
Source
2132
7.68k
                                              int h, int mx, int my) \
2133
7.68k
{ \
2134
7.68k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
7.68k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
7.68k
}
vp9dsp_8bpp.c:avg_8tap_sharp_16h_c
Line
Count
Source
2132
1.74k
                                              int h, int mx, int my) \
2133
1.74k
{ \
2134
1.74k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
1.74k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
1.74k
}
vp9dsp_8bpp.c:avg_8tap_smooth_8h_c
Line
Count
Source
2132
15.6k
                                              int h, int mx, int my) \
2133
15.6k
{ \
2134
15.6k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
15.6k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
15.6k
}
vp9dsp_8bpp.c:avg_8tap_regular_8h_c
Line
Count
Source
2132
50.9k
                                              int h, int mx, int my) \
2133
50.9k
{ \
2134
50.9k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
50.9k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
50.9k
}
vp9dsp_8bpp.c:avg_8tap_sharp_8h_c
Line
Count
Source
2132
11.7k
                                              int h, int mx, int my) \
2133
11.7k
{ \
2134
11.7k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
11.7k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
11.7k
}
vp9dsp_8bpp.c:avg_8tap_smooth_4h_c
Line
Count
Source
2132
57.4k
                                              int h, int mx, int my) \
2133
57.4k
{ \
2134
57.4k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
57.4k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
57.4k
}
vp9dsp_8bpp.c:avg_8tap_regular_4h_c
Line
Count
Source
2132
238k
                                              int h, int mx, int my) \
2133
238k
{ \
2134
238k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
238k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
238k
}
vp9dsp_8bpp.c:avg_8tap_sharp_4h_c
Line
Count
Source
2132
86.3k
                                              int h, int mx, int my) \
2133
86.3k
{ \
2134
86.3k
    avg##_8tap_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, \
2135
86.3k
                            ff_vp9_subpel_filters[type_idx][dir_m]); \
2136
86.3k
}
2137
2138
#define filter_fn_2d(sz, type, type_idx, avg) \
2139
static void avg##_8tap_##type##_##sz##hv_c(uint8_t *dst, ptrdiff_t dst_stride, \
2140
                                           const uint8_t *src, ptrdiff_t src_stride, \
2141
6.65M
                                           int h, int mx, int my) \
2142
6.65M
{ \
2143
6.65M
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
6.65M
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
6.65M
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
6.65M
}
vp9dsp_10bpp.c:put_8tap_smooth_64hv_c
Line
Count
Source
2141
3.92k
                                           int h, int mx, int my) \
2142
3.92k
{ \
2143
3.92k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
3.92k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
3.92k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
3.92k
}
vp9dsp_10bpp.c:put_8tap_regular_64hv_c
Line
Count
Source
2141
3.57k
                                           int h, int mx, int my) \
2142
3.57k
{ \
2143
3.57k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
3.57k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
3.57k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
3.57k
}
vp9dsp_10bpp.c:put_8tap_sharp_64hv_c
Line
Count
Source
2141
655
                                           int h, int mx, int my) \
2142
655
{ \
2143
655
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
655
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
655
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
655
}
vp9dsp_10bpp.c:put_8tap_smooth_32hv_c
Line
Count
Source
2141
8.76k
                                           int h, int mx, int my) \
2142
8.76k
{ \
2143
8.76k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
8.76k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
8.76k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
8.76k
}
vp9dsp_10bpp.c:put_8tap_regular_32hv_c
Line
Count
Source
2141
22.5k
                                           int h, int mx, int my) \
2142
22.5k
{ \
2143
22.5k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
22.5k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
22.5k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
22.5k
}
vp9dsp_10bpp.c:put_8tap_sharp_32hv_c
Line
Count
Source
2141
4.44k
                                           int h, int mx, int my) \
2142
4.44k
{ \
2143
4.44k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
4.44k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
4.44k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
4.44k
}
vp9dsp_10bpp.c:put_8tap_smooth_16hv_c
Line
Count
Source
2141
15.9k
                                           int h, int mx, int my) \
2142
15.9k
{ \
2143
15.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
15.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
15.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
15.9k
}
vp9dsp_10bpp.c:put_8tap_regular_16hv_c
Line
Count
Source
2141
50.8k
                                           int h, int mx, int my) \
2142
50.8k
{ \
2143
50.8k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
50.8k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
50.8k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
50.8k
}
vp9dsp_10bpp.c:put_8tap_sharp_16hv_c
Line
Count
Source
2141
11.9k
                                           int h, int mx, int my) \
2142
11.9k
{ \
2143
11.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
11.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
11.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
11.9k
}
vp9dsp_10bpp.c:put_8tap_smooth_8hv_c
Line
Count
Source
2141
138k
                                           int h, int mx, int my) \
2142
138k
{ \
2143
138k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
138k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
138k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
138k
}
vp9dsp_10bpp.c:put_8tap_regular_8hv_c
Line
Count
Source
2141
390k
                                           int h, int mx, int my) \
2142
390k
{ \
2143
390k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
390k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
390k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
390k
}
vp9dsp_10bpp.c:put_8tap_sharp_8hv_c
Line
Count
Source
2141
99.8k
                                           int h, int mx, int my) \
2142
99.8k
{ \
2143
99.8k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
99.8k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
99.8k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
99.8k
}
vp9dsp_10bpp.c:put_8tap_smooth_4hv_c
Line
Count
Source
2141
93.1k
                                           int h, int mx, int my) \
2142
93.1k
{ \
2143
93.1k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
93.1k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
93.1k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
93.1k
}
vp9dsp_10bpp.c:put_8tap_regular_4hv_c
Line
Count
Source
2141
170k
                                           int h, int mx, int my) \
2142
170k
{ \
2143
170k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
170k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
170k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
170k
}
vp9dsp_10bpp.c:put_8tap_sharp_4hv_c
Line
Count
Source
2141
66.3k
                                           int h, int mx, int my) \
2142
66.3k
{ \
2143
66.3k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
66.3k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
66.3k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
66.3k
}
vp9dsp_10bpp.c:avg_8tap_smooth_64hv_c
Line
Count
Source
2141
3.74k
                                           int h, int mx, int my) \
2142
3.74k
{ \
2143
3.74k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
3.74k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
3.74k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
3.74k
}
vp9dsp_10bpp.c:avg_8tap_regular_64hv_c
Line
Count
Source
2141
1.53k
                                           int h, int mx, int my) \
2142
1.53k
{ \
2143
1.53k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
1.53k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
1.53k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
1.53k
}
vp9dsp_10bpp.c:avg_8tap_sharp_64hv_c
Line
Count
Source
2141
373
                                           int h, int mx, int my) \
2142
373
{ \
2143
373
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
373
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
373
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
373
}
vp9dsp_10bpp.c:avg_8tap_smooth_32hv_c
Line
Count
Source
2141
4.62k
                                           int h, int mx, int my) \
2142
4.62k
{ \
2143
4.62k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
4.62k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
4.62k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
4.62k
}
vp9dsp_10bpp.c:avg_8tap_regular_32hv_c
Line
Count
Source
2141
15.1k
                                           int h, int mx, int my) \
2142
15.1k
{ \
2143
15.1k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
15.1k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
15.1k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
15.1k
}
vp9dsp_10bpp.c:avg_8tap_sharp_32hv_c
Line
Count
Source
2141
4.38k
                                           int h, int mx, int my) \
2142
4.38k
{ \
2143
4.38k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
4.38k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
4.38k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
4.38k
}
vp9dsp_10bpp.c:avg_8tap_smooth_16hv_c
Line
Count
Source
2141
14.6k
                                           int h, int mx, int my) \
2142
14.6k
{ \
2143
14.6k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
14.6k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
14.6k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
14.6k
}
vp9dsp_10bpp.c:avg_8tap_regular_16hv_c
Line
Count
Source
2141
42.5k
                                           int h, int mx, int my) \
2142
42.5k
{ \
2143
42.5k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
42.5k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
42.5k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
42.5k
}
vp9dsp_10bpp.c:avg_8tap_sharp_16hv_c
Line
Count
Source
2141
11.9k
                                           int h, int mx, int my) \
2142
11.9k
{ \
2143
11.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
11.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
11.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
11.9k
}
vp9dsp_10bpp.c:avg_8tap_smooth_8hv_c
Line
Count
Source
2141
138k
                                           int h, int mx, int my) \
2142
138k
{ \
2143
138k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
138k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
138k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
138k
}
vp9dsp_10bpp.c:avg_8tap_regular_8hv_c
Line
Count
Source
2141
368k
                                           int h, int mx, int my) \
2142
368k
{ \
2143
368k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
368k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
368k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
368k
}
vp9dsp_10bpp.c:avg_8tap_sharp_8hv_c
Line
Count
Source
2141
101k
                                           int h, int mx, int my) \
2142
101k
{ \
2143
101k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
101k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
101k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
101k
}
vp9dsp_10bpp.c:avg_8tap_smooth_4hv_c
Line
Count
Source
2141
77.9k
                                           int h, int mx, int my) \
2142
77.9k
{ \
2143
77.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
77.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
77.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
77.9k
}
vp9dsp_10bpp.c:avg_8tap_regular_4hv_c
Line
Count
Source
2141
189k
                                           int h, int mx, int my) \
2142
189k
{ \
2143
189k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
189k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
189k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
189k
}
vp9dsp_10bpp.c:avg_8tap_sharp_4hv_c
Line
Count
Source
2141
68.2k
                                           int h, int mx, int my) \
2142
68.2k
{ \
2143
68.2k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
68.2k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
68.2k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
68.2k
}
vp9dsp_12bpp.c:put_8tap_smooth_64hv_c
Line
Count
Source
2141
4.83k
                                           int h, int mx, int my) \
2142
4.83k
{ \
2143
4.83k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
4.83k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
4.83k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
4.83k
}
vp9dsp_12bpp.c:put_8tap_regular_64hv_c
Line
Count
Source
2141
5.18k
                                           int h, int mx, int my) \
2142
5.18k
{ \
2143
5.18k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
5.18k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
5.18k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
5.18k
}
vp9dsp_12bpp.c:put_8tap_sharp_64hv_c
Line
Count
Source
2141
1.76k
                                           int h, int mx, int my) \
2142
1.76k
{ \
2143
1.76k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
1.76k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
1.76k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
1.76k
}
vp9dsp_12bpp.c:put_8tap_smooth_32hv_c
Line
Count
Source
2141
9.44k
                                           int h, int mx, int my) \
2142
9.44k
{ \
2143
9.44k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
9.44k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
9.44k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
9.44k
}
vp9dsp_12bpp.c:put_8tap_regular_32hv_c
Line
Count
Source
2141
20.0k
                                           int h, int mx, int my) \
2142
20.0k
{ \
2143
20.0k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
20.0k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
20.0k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
20.0k
}
vp9dsp_12bpp.c:put_8tap_sharp_32hv_c
Line
Count
Source
2141
6.33k
                                           int h, int mx, int my) \
2142
6.33k
{ \
2143
6.33k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
6.33k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
6.33k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
6.33k
}
vp9dsp_12bpp.c:put_8tap_smooth_16hv_c
Line
Count
Source
2141
16.8k
                                           int h, int mx, int my) \
2142
16.8k
{ \
2143
16.8k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
16.8k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
16.8k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
16.8k
}
vp9dsp_12bpp.c:put_8tap_regular_16hv_c
Line
Count
Source
2141
57.1k
                                           int h, int mx, int my) \
2142
57.1k
{ \
2143
57.1k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
57.1k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
57.1k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
57.1k
}
vp9dsp_12bpp.c:put_8tap_sharp_16hv_c
Line
Count
Source
2141
15.5k
                                           int h, int mx, int my) \
2142
15.5k
{ \
2143
15.5k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
15.5k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
15.5k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
15.5k
}
vp9dsp_12bpp.c:put_8tap_smooth_8hv_c
Line
Count
Source
2141
108k
                                           int h, int mx, int my) \
2142
108k
{ \
2143
108k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
108k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
108k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
108k
}
vp9dsp_12bpp.c:put_8tap_regular_8hv_c
Line
Count
Source
2141
292k
                                           int h, int mx, int my) \
2142
292k
{ \
2143
292k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
292k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
292k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
292k
}
vp9dsp_12bpp.c:put_8tap_sharp_8hv_c
Line
Count
Source
2141
78.9k
                                           int h, int mx, int my) \
2142
78.9k
{ \
2143
78.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
78.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
78.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
78.9k
}
vp9dsp_12bpp.c:put_8tap_smooth_4hv_c
Line
Count
Source
2141
136k
                                           int h, int mx, int my) \
2142
136k
{ \
2143
136k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
136k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
136k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
136k
}
vp9dsp_12bpp.c:put_8tap_regular_4hv_c
Line
Count
Source
2141
342k
                                           int h, int mx, int my) \
2142
342k
{ \
2143
342k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
342k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
342k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
342k
}
vp9dsp_12bpp.c:put_8tap_sharp_4hv_c
Line
Count
Source
2141
133k
                                           int h, int mx, int my) \
2142
133k
{ \
2143
133k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
133k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
133k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
133k
}
vp9dsp_12bpp.c:avg_8tap_smooth_64hv_c
Line
Count
Source
2141
2.46k
                                           int h, int mx, int my) \
2142
2.46k
{ \
2143
2.46k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
2.46k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
2.46k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
2.46k
}
vp9dsp_12bpp.c:avg_8tap_regular_64hv_c
Line
Count
Source
2141
3.62k
                                           int h, int mx, int my) \
2142
3.62k
{ \
2143
3.62k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
3.62k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
3.62k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
3.62k
}
vp9dsp_12bpp.c:avg_8tap_sharp_64hv_c
Line
Count
Source
2141
1.17k
                                           int h, int mx, int my) \
2142
1.17k
{ \
2143
1.17k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
1.17k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
1.17k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
1.17k
}
vp9dsp_12bpp.c:avg_8tap_smooth_32hv_c
Line
Count
Source
2141
5.44k
                                           int h, int mx, int my) \
2142
5.44k
{ \
2143
5.44k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
5.44k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
5.44k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
5.44k
}
vp9dsp_12bpp.c:avg_8tap_regular_32hv_c
Line
Count
Source
2141
11.9k
                                           int h, int mx, int my) \
2142
11.9k
{ \
2143
11.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
11.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
11.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
11.9k
}
vp9dsp_12bpp.c:avg_8tap_sharp_32hv_c
Line
Count
Source
2141
3.55k
                                           int h, int mx, int my) \
2142
3.55k
{ \
2143
3.55k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
3.55k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
3.55k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
3.55k
}
vp9dsp_12bpp.c:avg_8tap_smooth_16hv_c
Line
Count
Source
2141
14.0k
                                           int h, int mx, int my) \
2142
14.0k
{ \
2143
14.0k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
14.0k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
14.0k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
14.0k
}
vp9dsp_12bpp.c:avg_8tap_regular_16hv_c
Line
Count
Source
2141
40.9k
                                           int h, int mx, int my) \
2142
40.9k
{ \
2143
40.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
40.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
40.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
40.9k
}
vp9dsp_12bpp.c:avg_8tap_sharp_16hv_c
Line
Count
Source
2141
11.8k
                                           int h, int mx, int my) \
2142
11.8k
{ \
2143
11.8k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
11.8k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
11.8k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
11.8k
}
vp9dsp_12bpp.c:avg_8tap_smooth_8hv_c
Line
Count
Source
2141
91.4k
                                           int h, int mx, int my) \
2142
91.4k
{ \
2143
91.4k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
91.4k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
91.4k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
91.4k
}
vp9dsp_12bpp.c:avg_8tap_regular_8hv_c
Line
Count
Source
2141
250k
                                           int h, int mx, int my) \
2142
250k
{ \
2143
250k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
250k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
250k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
250k
}
vp9dsp_12bpp.c:avg_8tap_sharp_8hv_c
Line
Count
Source
2141
72.6k
                                           int h, int mx, int my) \
2142
72.6k
{ \
2143
72.6k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
72.6k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
72.6k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
72.6k
}
vp9dsp_12bpp.c:avg_8tap_smooth_4hv_c
Line
Count
Source
2141
121k
                                           int h, int mx, int my) \
2142
121k
{ \
2143
121k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
121k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
121k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
121k
}
vp9dsp_12bpp.c:avg_8tap_regular_4hv_c
Line
Count
Source
2141
320k
                                           int h, int mx, int my) \
2142
320k
{ \
2143
320k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
320k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
320k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
320k
}
vp9dsp_12bpp.c:avg_8tap_sharp_4hv_c
Line
Count
Source
2141
112k
                                           int h, int mx, int my) \
2142
112k
{ \
2143
112k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
112k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
112k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
112k
}
vp9dsp_8bpp.c:put_8tap_smooth_64hv_c
Line
Count
Source
2141
4.59k
                                           int h, int mx, int my) \
2142
4.59k
{ \
2143
4.59k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
4.59k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
4.59k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
4.59k
}
vp9dsp_8bpp.c:put_8tap_regular_64hv_c
Line
Count
Source
2141
10.3k
                                           int h, int mx, int my) \
2142
10.3k
{ \
2143
10.3k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
10.3k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
10.3k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
10.3k
}
vp9dsp_8bpp.c:put_8tap_sharp_64hv_c
Line
Count
Source
2141
2.77k
                                           int h, int mx, int my) \
2142
2.77k
{ \
2143
2.77k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
2.77k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
2.77k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
2.77k
}
vp9dsp_8bpp.c:put_8tap_smooth_32hv_c
Line
Count
Source
2141
8.33k
                                           int h, int mx, int my) \
2142
8.33k
{ \
2143
8.33k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
8.33k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
8.33k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
8.33k
}
vp9dsp_8bpp.c:put_8tap_regular_32hv_c
Line
Count
Source
2141
27.8k
                                           int h, int mx, int my) \
2142
27.8k
{ \
2143
27.8k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
27.8k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
27.8k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
27.8k
}
vp9dsp_8bpp.c:put_8tap_sharp_32hv_c
Line
Count
Source
2141
4.97k
                                           int h, int mx, int my) \
2142
4.97k
{ \
2143
4.97k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
4.97k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
4.97k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
4.97k
}
vp9dsp_8bpp.c:put_8tap_smooth_16hv_c
Line
Count
Source
2141
14.1k
                                           int h, int mx, int my) \
2142
14.1k
{ \
2143
14.1k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
14.1k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
14.1k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
14.1k
}
vp9dsp_8bpp.c:put_8tap_regular_16hv_c
Line
Count
Source
2141
51.3k
                                           int h, int mx, int my) \
2142
51.3k
{ \
2143
51.3k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
51.3k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
51.3k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
51.3k
}
vp9dsp_8bpp.c:put_8tap_sharp_16hv_c
Line
Count
Source
2141
7.48k
                                           int h, int mx, int my) \
2142
7.48k
{ \
2143
7.48k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
7.48k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
7.48k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
7.48k
}
vp9dsp_8bpp.c:put_8tap_smooth_8hv_c
Line
Count
Source
2141
46.9k
                                           int h, int mx, int my) \
2142
46.9k
{ \
2143
46.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
46.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
46.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
46.9k
}
vp9dsp_8bpp.c:put_8tap_regular_8hv_c
Line
Count
Source
2141
231k
                                           int h, int mx, int my) \
2142
231k
{ \
2143
231k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
231k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
231k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
231k
}
vp9dsp_8bpp.c:put_8tap_sharp_8hv_c
Line
Count
Source
2141
38.7k
                                           int h, int mx, int my) \
2142
38.7k
{ \
2143
38.7k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
38.7k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
38.7k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
38.7k
}
vp9dsp_8bpp.c:put_8tap_smooth_4hv_c
Line
Count
Source
2141
98.9k
                                           int h, int mx, int my) \
2142
98.9k
{ \
2143
98.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
98.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
98.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
98.9k
}
vp9dsp_8bpp.c:put_8tap_regular_4hv_c
Line
Count
Source
2141
575k
                                           int h, int mx, int my) \
2142
575k
{ \
2143
575k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
575k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
575k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
575k
}
vp9dsp_8bpp.c:put_8tap_sharp_4hv_c
Line
Count
Source
2141
111k
                                           int h, int mx, int my) \
2142
111k
{ \
2143
111k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
111k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
111k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
111k
}
vp9dsp_8bpp.c:avg_8tap_smooth_64hv_c
Line
Count
Source
2141
881
                                           int h, int mx, int my) \
2142
881
{ \
2143
881
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
881
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
881
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
881
}
vp9dsp_8bpp.c:avg_8tap_regular_64hv_c
Line
Count
Source
2141
1.51k
                                           int h, int mx, int my) \
2142
1.51k
{ \
2143
1.51k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
1.51k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
1.51k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
1.51k
}
vp9dsp_8bpp.c:avg_8tap_sharp_64hv_c
Line
Count
Source
2141
1.59k
                                           int h, int mx, int my) \
2142
1.59k
{ \
2143
1.59k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
1.59k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
1.59k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
1.59k
}
vp9dsp_8bpp.c:avg_8tap_smooth_32hv_c
Line
Count
Source
2141
1.36k
                                           int h, int mx, int my) \
2142
1.36k
{ \
2143
1.36k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
1.36k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
1.36k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
1.36k
}
vp9dsp_8bpp.c:avg_8tap_regular_32hv_c
Line
Count
Source
2141
8.68k
                                           int h, int mx, int my) \
2142
8.68k
{ \
2143
8.68k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
8.68k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
8.68k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
8.68k
}
vp9dsp_8bpp.c:avg_8tap_sharp_32hv_c
Line
Count
Source
2141
1.79k
                                           int h, int mx, int my) \
2142
1.79k
{ \
2143
1.79k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
1.79k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
1.79k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
1.79k
}
vp9dsp_8bpp.c:avg_8tap_smooth_16hv_c
Line
Count
Source
2141
3.42k
                                           int h, int mx, int my) \
2142
3.42k
{ \
2143
3.42k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
3.42k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
3.42k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
3.42k
}
vp9dsp_8bpp.c:avg_8tap_regular_16hv_c
Line
Count
Source
2141
18.8k
                                           int h, int mx, int my) \
2142
18.8k
{ \
2143
18.8k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
18.8k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
18.8k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
18.8k
}
vp9dsp_8bpp.c:avg_8tap_sharp_16hv_c
Line
Count
Source
2141
4.41k
                                           int h, int mx, int my) \
2142
4.41k
{ \
2143
4.41k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
4.41k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
4.41k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
4.41k
}
vp9dsp_8bpp.c:avg_8tap_smooth_8hv_c
Line
Count
Source
2141
22.9k
                                           int h, int mx, int my) \
2142
22.9k
{ \
2143
22.9k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
22.9k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
22.9k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
22.9k
}
vp9dsp_8bpp.c:avg_8tap_regular_8hv_c
Line
Count
Source
2141
135k
                                           int h, int mx, int my) \
2142
135k
{ \
2143
135k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
135k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
135k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
135k
}
vp9dsp_8bpp.c:avg_8tap_sharp_8hv_c
Line
Count
Source
2141
19.2k
                                           int h, int mx, int my) \
2142
19.2k
{ \
2143
19.2k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
19.2k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
19.2k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
19.2k
}
vp9dsp_8bpp.c:avg_8tap_smooth_4hv_c
Line
Count
Source
2141
101k
                                           int h, int mx, int my) \
2142
101k
{ \
2143
101k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
101k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
101k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
101k
}
vp9dsp_8bpp.c:avg_8tap_regular_4hv_c
Line
Count
Source
2141
569k
                                           int h, int mx, int my) \
2142
569k
{ \
2143
569k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
569k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
569k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
569k
}
vp9dsp_8bpp.c:avg_8tap_sharp_4hv_c
Line
Count
Source
2141
113k
                                           int h, int mx, int my) \
2142
113k
{ \
2143
113k
    avg##_8tap_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, \
2144
113k
                       ff_vp9_subpel_filters[type_idx][mx], \
2145
113k
                       ff_vp9_subpel_filters[type_idx][my]); \
2146
113k
}
2147
2148
#if BIT_DEPTH != 12
2149
2150
#define FILTER_BILIN(src, x, mxy, stride) \
2151
2.94G
    (src[x] + ((mxy * (src[x + stride] - src[x]) + 8) >> 4))
2152
2153
static av_always_inline void do_bilin_1d_c(uint8_t *_dst, ptrdiff_t dst_stride,
2154
                                           const uint8_t *_src, ptrdiff_t src_stride,
2155
                                           int w, int h, ptrdiff_t ds, int mxy, int avg)
2156
10.3M
{
2157
10.3M
    pixel *dst = (pixel *) _dst;
2158
10.3M
    const pixel *src = (const pixel *) _src;
2159
2160
10.3M
    dst_stride /= sizeof(pixel);
2161
10.3M
    src_stride /= sizeof(pixel);
2162
52.5M
    do {
2163
52.5M
        int x;
2164
2165
438M
        for (x = 0; x < w; x++)
2166
385M
            if (avg) {
2167
128M
                dst[x] = (dst[x] + FILTER_BILIN(src, x, mxy, ds) + 1) >> 1;
2168
257M
            } else {
2169
257M
                dst[x] = FILTER_BILIN(src, x, mxy, ds);
2170
257M
            }
2171
2172
52.5M
        dst += dst_stride;
2173
52.5M
        src += src_stride;
2174
52.5M
    } while (--h);
2175
10.3M
}
vp9dsp_10bpp.c:do_bilin_1d_c
Line
Count
Source
2156
9.03M
{
2157
9.03M
    pixel *dst = (pixel *) _dst;
2158
9.03M
    const pixel *src = (const pixel *) _src;
2159
2160
9.03M
    dst_stride /= sizeof(pixel);
2161
9.03M
    src_stride /= sizeof(pixel);
2162
45.0M
    do {
2163
45.0M
        int x;
2164
2165
355M
        for (x = 0; x < w; x++)
2166
310M
            if (avg) {
2167
107M
                dst[x] = (dst[x] + FILTER_BILIN(src, x, mxy, ds) + 1) >> 1;
2168
203M
            } else {
2169
203M
                dst[x] = FILTER_BILIN(src, x, mxy, ds);
2170
203M
            }
2171
2172
45.0M
        dst += dst_stride;
2173
45.0M
        src += src_stride;
2174
45.0M
    } while (--h);
2175
9.03M
}
vp9dsp_8bpp.c:do_bilin_1d_c
Line
Count
Source
2156
1.32M
{
2157
1.32M
    pixel *dst = (pixel *) _dst;
2158
1.32M
    const pixel *src = (const pixel *) _src;
2159
2160
1.32M
    dst_stride /= sizeof(pixel);
2161
1.32M
    src_stride /= sizeof(pixel);
2162
7.58M
    do {
2163
7.58M
        int x;
2164
2165
82.6M
        for (x = 0; x < w; x++)
2166
75.0M
            if (avg) {
2167
20.8M
                dst[x] = (dst[x] + FILTER_BILIN(src, x, mxy, ds) + 1) >> 1;
2168
54.2M
            } else {
2169
54.2M
                dst[x] = FILTER_BILIN(src, x, mxy, ds);
2170
54.2M
            }
2171
2172
7.58M
        dst += dst_stride;
2173
7.58M
        src += src_stride;
2174
7.58M
    } while (--h);
2175
1.32M
}
2176
2177
#define bilin_1d_fn(opn, opa, dir, ds) \
2178
static av_noinline void opn##_bilin_1d_##dir##_c(uint8_t *dst, ptrdiff_t dst_stride, \
2179
                                                 const uint8_t *src, ptrdiff_t src_stride, \
2180
10.3M
                                                 int w, int h, int mxy) \
2181
10.3M
{ \
2182
10.3M
    do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
2183
10.3M
}
vp9dsp_10bpp.c:put_bilin_1d_v_c
Line
Count
Source
2180
2.92M
                                                 int w, int h, int mxy) \
2181
2.92M
{ \
2182
2.92M
    do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
2183
2.92M
}
vp9dsp_10bpp.c:put_bilin_1d_h_c
Line
Count
Source
2180
3.24M
                                                 int w, int h, int mxy) \
2181
3.24M
{ \
2182
3.24M
    do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
2183
3.24M
}
vp9dsp_10bpp.c:avg_bilin_1d_v_c
Line
Count
Source
2180
1.34M
                                                 int w, int h, int mxy) \
2181
1.34M
{ \
2182
1.34M
    do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
2183
1.34M
}
vp9dsp_10bpp.c:avg_bilin_1d_h_c
Line
Count
Source
2180
1.52M
                                                 int w, int h, int mxy) \
2181
1.52M
{ \
2182
1.52M
    do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
2183
1.52M
}
vp9dsp_8bpp.c:put_bilin_1d_v_c
Line
Count
Source
2180
455k
                                                 int w, int h, int mxy) \
2181
455k
{ \
2182
455k
    do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
2183
455k
}
vp9dsp_8bpp.c:put_bilin_1d_h_c
Line
Count
Source
2180
506k
                                                 int w, int h, int mxy) \
2181
506k
{ \
2182
506k
    do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
2183
506k
}
vp9dsp_8bpp.c:avg_bilin_1d_v_c
Line
Count
Source
2180
185k
                                                 int w, int h, int mxy) \
2181
185k
{ \
2182
185k
    do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
2183
185k
}
vp9dsp_8bpp.c:avg_bilin_1d_h_c
Line
Count
Source
2180
175k
                                                 int w, int h, int mxy) \
2181
175k
{ \
2182
175k
    do_bilin_1d_c(dst, dst_stride, src, src_stride, w, h, ds, mxy, opa); \
2183
175k
}
2184
2185
bilin_1d_fn(put, 0, v, src_stride / sizeof(pixel))
2186
bilin_1d_fn(put, 0, h, 1)
2187
bilin_1d_fn(avg, 1, v, src_stride / sizeof(pixel))
2188
bilin_1d_fn(avg, 1, h, 1)
2189
2190
#undef bilin_1d_fn
2191
2192
static av_always_inline void do_bilin_2d_c(uint8_t *_dst, ptrdiff_t dst_stride,
2193
                                           const uint8_t *_src, ptrdiff_t src_stride,
2194
                                           int w, int h, int mx, int my, int avg)
2195
8.39M
{
2196
8.39M
    pixel tmp[64 * 65], *tmp_ptr = tmp;
2197
8.39M
    int tmp_h = h + 1;
2198
8.39M
    pixel *dst = (pixel *) _dst;
2199
8.39M
    const pixel *src = (const pixel *) _src;
2200
2201
8.39M
    dst_stride /= sizeof(pixel);
2202
8.39M
    src_stride /= sizeof(pixel);
2203
52.0M
    do {
2204
52.0M
        int x;
2205
2206
414M
        for (x = 0; x < w; x++)
2207
362M
            tmp_ptr[x] = FILTER_BILIN(src, x, mx, 1);
2208
2209
52.0M
        tmp_ptr += 64;
2210
52.0M
        src += src_stride;
2211
52.0M
    } while (--tmp_h);
2212
2213
8.39M
    tmp_ptr = tmp;
2214
43.6M
    do {
2215
43.6M
        int x;
2216
2217
361M
        for (x = 0; x < w; x++)
2218
317M
            if (avg) {
2219
113M
                dst[x] = (dst[x] + FILTER_BILIN(tmp_ptr, x, my, 64) + 1) >> 1;
2220
204M
            } else {
2221
204M
                dst[x] = FILTER_BILIN(tmp_ptr, x, my, 64);
2222
204M
            }
2223
2224
43.6M
        tmp_ptr += 64;
2225
43.6M
        dst += dst_stride;
2226
43.6M
    } while (--h);
2227
8.39M
}
vp9dsp_10bpp.c:do_bilin_2d_c
Line
Count
Source
2195
7.13M
{
2196
7.13M
    pixel tmp[64 * 65], *tmp_ptr = tmp;
2197
7.13M
    int tmp_h = h + 1;
2198
7.13M
    pixel *dst = (pixel *) _dst;
2199
7.13M
    const pixel *src = (const pixel *) _src;
2200
2201
7.13M
    dst_stride /= sizeof(pixel);
2202
7.13M
    src_stride /= sizeof(pixel);
2203
43.8M
    do {
2204
43.8M
        int x;
2205
2206
343M
        for (x = 0; x < w; x++)
2207
300M
            tmp_ptr[x] = FILTER_BILIN(src, x, mx, 1);
2208
2209
43.8M
        tmp_ptr += 64;
2210
43.8M
        src += src_stride;
2211
43.8M
    } while (--tmp_h);
2212
2213
7.13M
    tmp_ptr = tmp;
2214
36.7M
    do {
2215
36.7M
        int x;
2216
2217
299M
        for (x = 0; x < w; x++)
2218
262M
            if (avg) {
2219
96.8M
                dst[x] = (dst[x] + FILTER_BILIN(tmp_ptr, x, my, 64) + 1) >> 1;
2220
165M
            } else {
2221
165M
                dst[x] = FILTER_BILIN(tmp_ptr, x, my, 64);
2222
165M
            }
2223
2224
36.7M
        tmp_ptr += 64;
2225
36.7M
        dst += dst_stride;
2226
36.7M
    } while (--h);
2227
7.13M
}
vp9dsp_8bpp.c:do_bilin_2d_c
Line
Count
Source
2195
1.25M
{
2196
1.25M
    pixel tmp[64 * 65], *tmp_ptr = tmp;
2197
1.25M
    int tmp_h = h + 1;
2198
1.25M
    pixel *dst = (pixel *) _dst;
2199
1.25M
    const pixel *src = (const pixel *) _src;
2200
2201
1.25M
    dst_stride /= sizeof(pixel);
2202
1.25M
    src_stride /= sizeof(pixel);
2203
8.12M
    do {
2204
8.12M
        int x;
2205
2206
70.5M
        for (x = 0; x < w; x++)
2207
62.3M
            tmp_ptr[x] = FILTER_BILIN(src, x, mx, 1);
2208
2209
8.12M
        tmp_ptr += 64;
2210
8.12M
        src += src_stride;
2211
8.12M
    } while (--tmp_h);
2212
2213
1.25M
    tmp_ptr = tmp;
2214
6.86M
    do {
2215
6.86M
        int x;
2216
2217
62.0M
        for (x = 0; x < w; x++)
2218
55.2M
            if (avg) {
2219
16.1M
                dst[x] = (dst[x] + FILTER_BILIN(tmp_ptr, x, my, 64) + 1) >> 1;
2220
39.0M
            } else {
2221
39.0M
                dst[x] = FILTER_BILIN(tmp_ptr, x, my, 64);
2222
39.0M
            }
2223
2224
6.86M
        tmp_ptr += 64;
2225
6.86M
        dst += dst_stride;
2226
6.86M
    } while (--h);
2227
1.25M
}
2228
2229
#define bilin_2d_fn(opn, opa) \
2230
static av_noinline void opn##_bilin_2d_hv_c(uint8_t *dst, ptrdiff_t dst_stride, \
2231
                                            const uint8_t *src, ptrdiff_t src_stride, \
2232
8.39M
                                            int w, int h, int mx, int my) \
2233
8.39M
{ \
2234
8.39M
    do_bilin_2d_c(dst, dst_stride, src, src_stride, w, h, mx, my, opa); \
2235
8.39M
}
vp9dsp_10bpp.c:put_bilin_2d_hv_c
Line
Count
Source
2232
4.70M
                                            int w, int h, int mx, int my) \
2233
4.70M
{ \
2234
4.70M
    do_bilin_2d_c(dst, dst_stride, src, src_stride, w, h, mx, my, opa); \
2235
4.70M
}
vp9dsp_10bpp.c:avg_bilin_2d_hv_c
Line
Count
Source
2232
2.42M
                                            int w, int h, int mx, int my) \
2233
2.42M
{ \
2234
2.42M
    do_bilin_2d_c(dst, dst_stride, src, src_stride, w, h, mx, my, opa); \
2235
2.42M
}
vp9dsp_8bpp.c:put_bilin_2d_hv_c
Line
Count
Source
2232
895k
                                            int w, int h, int mx, int my) \
2233
895k
{ \
2234
895k
    do_bilin_2d_c(dst, dst_stride, src, src_stride, w, h, mx, my, opa); \
2235
895k
}
vp9dsp_8bpp.c:avg_bilin_2d_hv_c
Line
Count
Source
2232
364k
                                            int w, int h, int mx, int my) \
2233
364k
{ \
2234
364k
    do_bilin_2d_c(dst, dst_stride, src, src_stride, w, h, mx, my, opa); \
2235
364k
}
2236
2237
bilin_2d_fn(put, 0)
2238
bilin_2d_fn(avg, 1)
2239
2240
#undef bilin_2d_fn
2241
2242
#define bilinf_fn_1d(sz, dir, dir_m, avg) \
2243
static void avg##_bilin_##sz##dir##_c(uint8_t *dst, ptrdiff_t dst_stride, \
2244
                                      const uint8_t *src, ptrdiff_t src_stride, \
2245
10.3M
                                      int h, int mx, int my) \
2246
10.3M
{ \
2247
10.3M
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
10.3M
}
vp9dsp_10bpp.c:put_bilin_64v_c
Line
Count
Source
2245
2.86k
                                      int h, int mx, int my) \
2246
2.86k
{ \
2247
2.86k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
2.86k
}
vp9dsp_10bpp.c:put_bilin_32v_c
Line
Count
Source
2245
15.9k
                                      int h, int mx, int my) \
2246
15.9k
{ \
2247
15.9k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
15.9k
}
vp9dsp_10bpp.c:put_bilin_16v_c
Line
Count
Source
2245
31.7k
                                      int h, int mx, int my) \
2246
31.7k
{ \
2247
31.7k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
31.7k
}
vp9dsp_10bpp.c:put_bilin_8v_c
Line
Count
Source
2245
579k
                                      int h, int mx, int my) \
2246
579k
{ \
2247
579k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
579k
}
vp9dsp_10bpp.c:put_bilin_4v_c
Line
Count
Source
2245
2.29M
                                      int h, int mx, int my) \
2246
2.29M
{ \
2247
2.29M
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
2.29M
}
vp9dsp_10bpp.c:put_bilin_64h_c
Line
Count
Source
2245
3.21k
                                      int h, int mx, int my) \
2246
3.21k
{ \
2247
3.21k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
3.21k
}
vp9dsp_10bpp.c:put_bilin_32h_c
Line
Count
Source
2245
15.6k
                                      int h, int mx, int my) \
2246
15.6k
{ \
2247
15.6k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
15.6k
}
vp9dsp_10bpp.c:put_bilin_16h_c
Line
Count
Source
2245
33.1k
                                      int h, int mx, int my) \
2246
33.1k
{ \
2247
33.1k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
33.1k
}
vp9dsp_10bpp.c:put_bilin_8h_c
Line
Count
Source
2245
599k
                                      int h, int mx, int my) \
2246
599k
{ \
2247
599k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
599k
}
vp9dsp_10bpp.c:put_bilin_4h_c
Line
Count
Source
2245
2.58M
                                      int h, int mx, int my) \
2246
2.58M
{ \
2247
2.58M
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
2.58M
}
vp9dsp_10bpp.c:avg_bilin_64v_c
Line
Count
Source
2245
1.78k
                                      int h, int mx, int my) \
2246
1.78k
{ \
2247
1.78k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
1.78k
}
vp9dsp_10bpp.c:avg_bilin_32v_c
Line
Count
Source
2245
8.89k
                                      int h, int mx, int my) \
2246
8.89k
{ \
2247
8.89k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
8.89k
}
vp9dsp_10bpp.c:avg_bilin_16v_c
Line
Count
Source
2245
21.6k
                                      int h, int mx, int my) \
2246
21.6k
{ \
2247
21.6k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
21.6k
}
vp9dsp_10bpp.c:avg_bilin_8v_c
Line
Count
Source
2245
317k
                                      int h, int mx, int my) \
2246
317k
{ \
2247
317k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
317k
}
vp9dsp_10bpp.c:avg_bilin_4v_c
Line
Count
Source
2245
991k
                                      int h, int mx, int my) \
2246
991k
{ \
2247
991k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
991k
}
vp9dsp_10bpp.c:avg_bilin_64h_c
Line
Count
Source
2245
1.72k
                                      int h, int mx, int my) \
2246
1.72k
{ \
2247
1.72k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
1.72k
}
vp9dsp_10bpp.c:avg_bilin_32h_c
Line
Count
Source
2245
8.77k
                                      int h, int mx, int my) \
2246
8.77k
{ \
2247
8.77k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
8.77k
}
vp9dsp_10bpp.c:avg_bilin_16h_c
Line
Count
Source
2245
20.6k
                                      int h, int mx, int my) \
2246
20.6k
{ \
2247
20.6k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
20.6k
}
vp9dsp_10bpp.c:avg_bilin_8h_c
Line
Count
Source
2245
364k
                                      int h, int mx, int my) \
2246
364k
{ \
2247
364k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
364k
}
vp9dsp_10bpp.c:avg_bilin_4h_c
Line
Count
Source
2245
1.13M
                                      int h, int mx, int my) \
2246
1.13M
{ \
2247
1.13M
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
1.13M
}
vp9dsp_8bpp.c:put_bilin_64v_c
Line
Count
Source
2245
2.55k
                                      int h, int mx, int my) \
2246
2.55k
{ \
2247
2.55k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
2.55k
}
vp9dsp_8bpp.c:put_bilin_32v_c
Line
Count
Source
2245
5.09k
                                      int h, int mx, int my) \
2246
5.09k
{ \
2247
5.09k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
5.09k
}
vp9dsp_8bpp.c:put_bilin_16v_c
Line
Count
Source
2245
9.62k
                                      int h, int mx, int my) \
2246
9.62k
{ \
2247
9.62k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
9.62k
}
vp9dsp_8bpp.c:put_bilin_8v_c
Line
Count
Source
2245
93.7k
                                      int h, int mx, int my) \
2246
93.7k
{ \
2247
93.7k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
93.7k
}
vp9dsp_8bpp.c:put_bilin_4v_c
Line
Count
Source
2245
344k
                                      int h, int mx, int my) \
2246
344k
{ \
2247
344k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
344k
}
vp9dsp_8bpp.c:put_bilin_64h_c
Line
Count
Source
2245
5.20k
                                      int h, int mx, int my) \
2246
5.20k
{ \
2247
5.20k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
5.20k
}
vp9dsp_8bpp.c:put_bilin_32h_c
Line
Count
Source
2245
9.16k
                                      int h, int mx, int my) \
2246
9.16k
{ \
2247
9.16k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
9.16k
}
vp9dsp_8bpp.c:put_bilin_16h_c
Line
Count
Source
2245
10.8k
                                      int h, int mx, int my) \
2246
10.8k
{ \
2247
10.8k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
10.8k
}
vp9dsp_8bpp.c:put_bilin_8h_c
Line
Count
Source
2245
109k
                                      int h, int mx, int my) \
2246
109k
{ \
2247
109k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
109k
}
vp9dsp_8bpp.c:put_bilin_4h_c
Line
Count
Source
2245
371k
                                      int h, int mx, int my) \
2246
371k
{ \
2247
371k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
371k
}
vp9dsp_8bpp.c:avg_bilin_64v_c
Line
Count
Source
2245
1.43k
                                      int h, int mx, int my) \
2246
1.43k
{ \
2247
1.43k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
1.43k
}
vp9dsp_8bpp.c:avg_bilin_32v_c
Line
Count
Source
2245
2.81k
                                      int h, int mx, int my) \
2246
2.81k
{ \
2247
2.81k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
2.81k
}
vp9dsp_8bpp.c:avg_bilin_16v_c
Line
Count
Source
2245
5.70k
                                      int h, int mx, int my) \
2246
5.70k
{ \
2247
5.70k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
5.70k
}
vp9dsp_8bpp.c:avg_bilin_8v_c
Line
Count
Source
2245
43.0k
                                      int h, int mx, int my) \
2246
43.0k
{ \
2247
43.0k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
43.0k
}
vp9dsp_8bpp.c:avg_bilin_4v_c
Line
Count
Source
2245
132k
                                      int h, int mx, int my) \
2246
132k
{ \
2247
132k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
132k
}
vp9dsp_8bpp.c:avg_bilin_64h_c
Line
Count
Source
2245
1.23k
                                      int h, int mx, int my) \
2246
1.23k
{ \
2247
1.23k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
1.23k
}
vp9dsp_8bpp.c:avg_bilin_32h_c
Line
Count
Source
2245
2.66k
                                      int h, int mx, int my) \
2246
2.66k
{ \
2247
2.66k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
2.66k
}
vp9dsp_8bpp.c:avg_bilin_16h_c
Line
Count
Source
2245
6.08k
                                      int h, int mx, int my) \
2246
6.08k
{ \
2247
6.08k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
6.08k
}
vp9dsp_8bpp.c:avg_bilin_8h_c
Line
Count
Source
2245
41.6k
                                      int h, int mx, int my) \
2246
41.6k
{ \
2247
41.6k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
41.6k
}
vp9dsp_8bpp.c:avg_bilin_4h_c
Line
Count
Source
2245
123k
                                      int h, int mx, int my) \
2246
123k
{ \
2247
123k
    avg##_bilin_1d_##dir##_c(dst, dst_stride, src, src_stride, sz, h, dir_m); \
2248
123k
}
2249
2250
#define bilinf_fn_2d(sz, avg) \
2251
static void avg##_bilin_##sz##hv_c(uint8_t *dst, ptrdiff_t dst_stride, \
2252
                                   const uint8_t *src, ptrdiff_t src_stride, \
2253
8.39M
                                   int h, int mx, int my) \
2254
8.39M
{ \
2255
8.39M
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
8.39M
}
vp9dsp_10bpp.c:put_bilin_64hv_c
Line
Count
Source
2253
4.62k
                                   int h, int mx, int my) \
2254
4.62k
{ \
2255
4.62k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
4.62k
}
vp9dsp_10bpp.c:put_bilin_32hv_c
Line
Count
Source
2253
29.3k
                                   int h, int mx, int my) \
2254
29.3k
{ \
2255
29.3k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
29.3k
}
vp9dsp_10bpp.c:put_bilin_16hv_c
Line
Count
Source
2253
75.2k
                                   int h, int mx, int my) \
2254
75.2k
{ \
2255
75.2k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
75.2k
}
vp9dsp_10bpp.c:put_bilin_8hv_c
Line
Count
Source
2253
910k
                                   int h, int mx, int my) \
2254
910k
{ \
2255
910k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
910k
}
vp9dsp_10bpp.c:put_bilin_4hv_c
Line
Count
Source
2253
3.68M
                                   int h, int mx, int my) \
2254
3.68M
{ \
2255
3.68M
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
3.68M
}
vp9dsp_10bpp.c:avg_bilin_64hv_c
Line
Count
Source
2253
2.71k
                                   int h, int mx, int my) \
2254
2.71k
{ \
2255
2.71k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
2.71k
}
vp9dsp_10bpp.c:avg_bilin_32hv_c
Line
Count
Source
2253
19.5k
                                   int h, int mx, int my) \
2254
19.5k
{ \
2255
19.5k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
19.5k
}
vp9dsp_10bpp.c:avg_bilin_16hv_c
Line
Count
Source
2253
49.2k
                                   int h, int mx, int my) \
2254
49.2k
{ \
2255
49.2k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
49.2k
}
vp9dsp_10bpp.c:avg_bilin_8hv_c
Line
Count
Source
2253
571k
                                   int h, int mx, int my) \
2254
571k
{ \
2255
571k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
571k
}
vp9dsp_10bpp.c:avg_bilin_4hv_c
Line
Count
Source
2253
1.78M
                                   int h, int mx, int my) \
2254
1.78M
{ \
2255
1.78M
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
1.78M
}
vp9dsp_8bpp.c:put_bilin_64hv_c
Line
Count
Source
2253
3.23k
                                   int h, int mx, int my) \
2254
3.23k
{ \
2255
3.23k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
3.23k
}
vp9dsp_8bpp.c:put_bilin_32hv_c
Line
Count
Source
2253
10.3k
                                   int h, int mx, int my) \
2254
10.3k
{ \
2255
10.3k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
10.3k
}
vp9dsp_8bpp.c:put_bilin_16hv_c
Line
Count
Source
2253
22.2k
                                   int h, int mx, int my) \
2254
22.2k
{ \
2255
22.2k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
22.2k
}
vp9dsp_8bpp.c:put_bilin_8hv_c
Line
Count
Source
2253
168k
                                   int h, int mx, int my) \
2254
168k
{ \
2255
168k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
168k
}
vp9dsp_8bpp.c:put_bilin_4hv_c
Line
Count
Source
2253
690k
                                   int h, int mx, int my) \
2254
690k
{ \
2255
690k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
690k
}
vp9dsp_8bpp.c:avg_bilin_64hv_c
Line
Count
Source
2253
892
                                   int h, int mx, int my) \
2254
892
{ \
2255
892
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
892
}
vp9dsp_8bpp.c:avg_bilin_32hv_c
Line
Count
Source
2253
4.79k
                                   int h, int mx, int my) \
2254
4.79k
{ \
2255
4.79k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
4.79k
}
vp9dsp_8bpp.c:avg_bilin_16hv_c
Line
Count
Source
2253
13.5k
                                   int h, int mx, int my) \
2254
13.5k
{ \
2255
13.5k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
13.5k
}
vp9dsp_8bpp.c:avg_bilin_8hv_c
Line
Count
Source
2253
85.2k
                                   int h, int mx, int my) \
2254
85.2k
{ \
2255
85.2k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
85.2k
}
vp9dsp_8bpp.c:avg_bilin_4hv_c
Line
Count
Source
2253
260k
                                   int h, int mx, int my) \
2254
260k
{ \
2255
260k
    avg##_bilin_2d_hv_c(dst, dst_stride, src, src_stride, sz, h, mx, my); \
2256
260k
}
2257
2258
#else
2259
2260
#define bilinf_fn_1d(a, b, c, d)
2261
#define bilinf_fn_2d(a, b)
2262
2263
#endif
2264
2265
#define filter_fn(sz, avg) \
2266
filter_fn_1d(sz, h, mx, regular, FILTER_8TAP_REGULAR, avg) \
2267
filter_fn_1d(sz, v, my, regular, FILTER_8TAP_REGULAR, avg) \
2268
filter_fn_2d(sz,        regular, FILTER_8TAP_REGULAR, avg) \
2269
filter_fn_1d(sz, h, mx, smooth,  FILTER_8TAP_SMOOTH,  avg) \
2270
filter_fn_1d(sz, v, my, smooth,  FILTER_8TAP_SMOOTH,  avg) \
2271
filter_fn_2d(sz,        smooth,  FILTER_8TAP_SMOOTH,  avg) \
2272
filter_fn_1d(sz, h, mx, sharp,   FILTER_8TAP_SHARP,   avg) \
2273
filter_fn_1d(sz, v, my, sharp,   FILTER_8TAP_SHARP,   avg) \
2274
filter_fn_2d(sz,        sharp,   FILTER_8TAP_SHARP,   avg) \
2275
bilinf_fn_1d(sz, h, mx,                               avg) \
2276
bilinf_fn_1d(sz, v, my,                               avg) \
2277
bilinf_fn_2d(sz,                                      avg)
2278
2279
#define filter_fn_set(avg) \
2280
filter_fn(64, avg) \
2281
filter_fn(32, avg) \
2282
filter_fn(16, avg) \
2283
filter_fn(8,  avg) \
2284
filter_fn(4,  avg)
2285
2286
filter_fn_set(put)
2287
filter_fn_set(avg)
2288
2289
#undef filter_fn
2290
#undef filter_fn_set
2291
#undef filter_fn_1d
2292
#undef filter_fn_2d
2293
#undef bilinf_fn_1d
2294
#undef bilinf_fn_2d
2295
2296
#if BIT_DEPTH != 8
2297
void ff_vp9dsp_mc_init_10(VP9DSPContext *dsp);
2298
#endif
2299
#if BIT_DEPTH != 10
2300
static
2301
#endif
2302
av_cold void FUNC(ff_vp9dsp_mc_init)(VP9DSPContext *dsp)
2303
19.8k
{
2304
#if BIT_DEPTH == 12
2305
    ff_vp9dsp_mc_init_10(dsp);
2306
#else /* BIT_DEPTH == 12 */
2307
2308
#define init_fpel(idx1, idx2, sz, type) \
2309
152k
    dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][0][0] = type##sz##_c; \
2310
152k
    dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][0][0] = type##sz##_c; \
2311
152k
    dsp->mc[idx1][FILTER_8TAP_SHARP  ][idx2][0][0] = type##sz##_c; \
2312
152k
    dsp->mc[idx1][FILTER_BILINEAR    ][idx2][0][0] = type##sz##_c
2313
2314
#define init_copy_avg(idx, sz) \
2315
76.2k
    init_fpel(idx, 0, sz, copy); \
2316
76.2k
    init_fpel(idx, 1, sz, avg)
2317
2318
15.2k
    init_copy_avg(0, 64);
2319
15.2k
    init_copy_avg(1, 32);
2320
15.2k
    init_copy_avg(2, 16);
2321
15.2k
    init_copy_avg(3,  8);
2322
15.2k
    init_copy_avg(4,  4);
2323
2324
#undef init_copy_avg
2325
#undef init_fpel
2326
2327
#endif /* BIT_DEPTH == 12 */
2328
2329
19.8k
#define init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type) \
2330
594k
    dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][idxh][idxv] = type##_8tap_smooth_##sz##dir##_c; \
2331
594k
    dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][idxh][idxv] = type##_8tap_regular_##sz##dir##_c; \
2332
594k
    dsp->mc[idx1][FILTER_8TAP_SHARP  ][idx2][idxh][idxv] = type##_8tap_sharp_##sz##dir##_c
2333
2334
#if BIT_DEPTH == 12
2335
137k
#define init_subpel1 init_subpel1_bd_aware
2336
#else
2337
#define init_subpel1(idx1, idx2, idxh, idxv, sz, dir, type) \
2338
457k
    init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type); \
2339
457k
    dsp->mc[idx1][FILTER_BILINEAR    ][idx2][idxh][idxv] = type##_bilin_##sz##dir##_c
2340
#endif
2341
2342
19.8k
#define init_subpel2(idx, idxh, idxv, dir, type) \
2343
118k
    init_subpel1(0, idx, idxh, idxv, 64, dir, type); \
2344
118k
    init_subpel1(1, idx, idxh, idxv, 32, dir, type); \
2345
118k
    init_subpel1(2, idx, idxh, idxv, 16, dir, type); \
2346
118k
    init_subpel1(3, idx, idxh, idxv,  8, dir, type); \
2347
118k
    init_subpel1(4, idx, idxh, idxv,  4, dir, type)
2348
2349
19.8k
#define init_subpel3(idx, type) \
2350
39.6k
    init_subpel2(idx, 1, 1, hv, type); \
2351
39.6k
    init_subpel2(idx, 0, 1, v, type); \
2352
39.6k
    init_subpel2(idx, 1, 0, h, type)
2353
2354
19.8k
    init_subpel3(0, put);
2355
19.8k
    init_subpel3(1, avg);
2356
2357
19.8k
#undef init_subpel1
2358
19.8k
#undef init_subpel2
2359
19.8k
#undef init_subpel3
2360
19.8k
#undef init_subpel1_bd_aware
2361
19.8k
}
ff_vp9dsp_mc_init_10
Line
Count
Source
2303
8.67k
{
2304
#if BIT_DEPTH == 12
2305
    ff_vp9dsp_mc_init_10(dsp);
2306
#else /* BIT_DEPTH == 12 */
2307
2308
8.67k
#define init_fpel(idx1, idx2, sz, type) \
2309
8.67k
    dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][0][0] = type##sz##_c; \
2310
8.67k
    dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][0][0] = type##sz##_c; \
2311
8.67k
    dsp->mc[idx1][FILTER_8TAP_SHARP  ][idx2][0][0] = type##sz##_c; \
2312
8.67k
    dsp->mc[idx1][FILTER_BILINEAR    ][idx2][0][0] = type##sz##_c
2313
2314
8.67k
#define init_copy_avg(idx, sz) \
2315
8.67k
    init_fpel(idx, 0, sz, copy); \
2316
8.67k
    init_fpel(idx, 1, sz, avg)
2317
2318
8.67k
    init_copy_avg(0, 64);
2319
8.67k
    init_copy_avg(1, 32);
2320
8.67k
    init_copy_avg(2, 16);
2321
8.67k
    init_copy_avg(3,  8);
2322
8.67k
    init_copy_avg(4,  4);
2323
2324
8.67k
#undef init_copy_avg
2325
8.67k
#undef init_fpel
2326
2327
8.67k
#endif /* BIT_DEPTH == 12 */
2328
2329
8.67k
#define init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type) \
2330
8.67k
    dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][idxh][idxv] = type##_8tap_smooth_##sz##dir##_c; \
2331
8.67k
    dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][idxh][idxv] = type##_8tap_regular_##sz##dir##_c; \
2332
8.67k
    dsp->mc[idx1][FILTER_8TAP_SHARP  ][idx2][idxh][idxv] = type##_8tap_sharp_##sz##dir##_c
2333
2334
#if BIT_DEPTH == 12
2335
#define init_subpel1 init_subpel1_bd_aware
2336
#else
2337
8.67k
#define init_subpel1(idx1, idx2, idxh, idxv, sz, dir, type) \
2338
8.67k
    init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type); \
2339
8.67k
    dsp->mc[idx1][FILTER_BILINEAR    ][idx2][idxh][idxv] = type##_bilin_##sz##dir##_c
2340
8.67k
#endif
2341
2342
8.67k
#define init_subpel2(idx, idxh, idxv, dir, type) \
2343
8.67k
    init_subpel1(0, idx, idxh, idxv, 64, dir, type); \
2344
8.67k
    init_subpel1(1, idx, idxh, idxv, 32, dir, type); \
2345
8.67k
    init_subpel1(2, idx, idxh, idxv, 16, dir, type); \
2346
8.67k
    init_subpel1(3, idx, idxh, idxv,  8, dir, type); \
2347
8.67k
    init_subpel1(4, idx, idxh, idxv,  4, dir, type)
2348
2349
8.67k
#define init_subpel3(idx, type) \
2350
8.67k
    init_subpel2(idx, 1, 1, hv, type); \
2351
8.67k
    init_subpel2(idx, 0, 1, v, type); \
2352
8.67k
    init_subpel2(idx, 1, 0, h, type)
2353
2354
8.67k
    init_subpel3(0, put);
2355
8.67k
    init_subpel3(1, avg);
2356
2357
8.67k
#undef init_subpel1
2358
8.67k
#undef init_subpel2
2359
8.67k
#undef init_subpel3
2360
8.67k
#undef init_subpel1_bd_aware
2361
8.67k
}
vp9dsp_12bpp.c:ff_vp9dsp_mc_init_12
Line
Count
Source
2303
4.57k
{
2304
4.57k
#if BIT_DEPTH == 12
2305
4.57k
    ff_vp9dsp_mc_init_10(dsp);
2306
#else /* BIT_DEPTH == 12 */
2307
2308
#define init_fpel(idx1, idx2, sz, type) \
2309
    dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][0][0] = type##sz##_c; \
2310
    dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][0][0] = type##sz##_c; \
2311
    dsp->mc[idx1][FILTER_8TAP_SHARP  ][idx2][0][0] = type##sz##_c; \
2312
    dsp->mc[idx1][FILTER_BILINEAR    ][idx2][0][0] = type##sz##_c
2313
2314
#define init_copy_avg(idx, sz) \
2315
    init_fpel(idx, 0, sz, copy); \
2316
    init_fpel(idx, 1, sz, avg)
2317
2318
    init_copy_avg(0, 64);
2319
    init_copy_avg(1, 32);
2320
    init_copy_avg(2, 16);
2321
    init_copy_avg(3,  8);
2322
    init_copy_avg(4,  4);
2323
2324
#undef init_copy_avg
2325
#undef init_fpel
2326
2327
#endif /* BIT_DEPTH == 12 */
2328
2329
4.57k
#define init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type) \
2330
4.57k
    dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][idxh][idxv] = type##_8tap_smooth_##sz##dir##_c; \
2331
4.57k
    dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][idxh][idxv] = type##_8tap_regular_##sz##dir##_c; \
2332
4.57k
    dsp->mc[idx1][FILTER_8TAP_SHARP  ][idx2][idxh][idxv] = type##_8tap_sharp_##sz##dir##_c
2333
2334
4.57k
#if BIT_DEPTH == 12
2335
4.57k
#define init_subpel1 init_subpel1_bd_aware
2336
#else
2337
#define init_subpel1(idx1, idx2, idxh, idxv, sz, dir, type) \
2338
    init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type); \
2339
    dsp->mc[idx1][FILTER_BILINEAR    ][idx2][idxh][idxv] = type##_bilin_##sz##dir##_c
2340
#endif
2341
2342
4.57k
#define init_subpel2(idx, idxh, idxv, dir, type) \
2343
4.57k
    init_subpel1(0, idx, idxh, idxv, 64, dir, type); \
2344
4.57k
    init_subpel1(1, idx, idxh, idxv, 32, dir, type); \
2345
4.57k
    init_subpel1(2, idx, idxh, idxv, 16, dir, type); \
2346
4.57k
    init_subpel1(3, idx, idxh, idxv,  8, dir, type); \
2347
4.57k
    init_subpel1(4, idx, idxh, idxv,  4, dir, type)
2348
2349
4.57k
#define init_subpel3(idx, type) \
2350
4.57k
    init_subpel2(idx, 1, 1, hv, type); \
2351
4.57k
    init_subpel2(idx, 0, 1, v, type); \
2352
4.57k
    init_subpel2(idx, 1, 0, h, type)
2353
2354
4.57k
    init_subpel3(0, put);
2355
4.57k
    init_subpel3(1, avg);
2356
2357
4.57k
#undef init_subpel1
2358
4.57k
#undef init_subpel2
2359
4.57k
#undef init_subpel3
2360
4.57k
#undef init_subpel1_bd_aware
2361
4.57k
}
vp9dsp_8bpp.c:ff_vp9dsp_mc_init_8
Line
Count
Source
2303
6.58k
{
2304
#if BIT_DEPTH == 12
2305
    ff_vp9dsp_mc_init_10(dsp);
2306
#else /* BIT_DEPTH == 12 */
2307
2308
6.58k
#define init_fpel(idx1, idx2, sz, type) \
2309
6.58k
    dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][0][0] = type##sz##_c; \
2310
6.58k
    dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][0][0] = type##sz##_c; \
2311
6.58k
    dsp->mc[idx1][FILTER_8TAP_SHARP  ][idx2][0][0] = type##sz##_c; \
2312
6.58k
    dsp->mc[idx1][FILTER_BILINEAR    ][idx2][0][0] = type##sz##_c
2313
2314
6.58k
#define init_copy_avg(idx, sz) \
2315
6.58k
    init_fpel(idx, 0, sz, copy); \
2316
6.58k
    init_fpel(idx, 1, sz, avg)
2317
2318
6.58k
    init_copy_avg(0, 64);
2319
6.58k
    init_copy_avg(1, 32);
2320
6.58k
    init_copy_avg(2, 16);
2321
6.58k
    init_copy_avg(3,  8);
2322
6.58k
    init_copy_avg(4,  4);
2323
2324
6.58k
#undef init_copy_avg
2325
6.58k
#undef init_fpel
2326
2327
6.58k
#endif /* BIT_DEPTH == 12 */
2328
2329
6.58k
#define init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type) \
2330
6.58k
    dsp->mc[idx1][FILTER_8TAP_SMOOTH ][idx2][idxh][idxv] = type##_8tap_smooth_##sz##dir##_c; \
2331
6.58k
    dsp->mc[idx1][FILTER_8TAP_REGULAR][idx2][idxh][idxv] = type##_8tap_regular_##sz##dir##_c; \
2332
6.58k
    dsp->mc[idx1][FILTER_8TAP_SHARP  ][idx2][idxh][idxv] = type##_8tap_sharp_##sz##dir##_c
2333
2334
#if BIT_DEPTH == 12
2335
#define init_subpel1 init_subpel1_bd_aware
2336
#else
2337
6.58k
#define init_subpel1(idx1, idx2, idxh, idxv, sz, dir, type) \
2338
6.58k
    init_subpel1_bd_aware(idx1, idx2, idxh, idxv, sz, dir, type); \
2339
6.58k
    dsp->mc[idx1][FILTER_BILINEAR    ][idx2][idxh][idxv] = type##_bilin_##sz##dir##_c
2340
6.58k
#endif
2341
2342
6.58k
#define init_subpel2(idx, idxh, idxv, dir, type) \
2343
6.58k
    init_subpel1(0, idx, idxh, idxv, 64, dir, type); \
2344
6.58k
    init_subpel1(1, idx, idxh, idxv, 32, dir, type); \
2345
6.58k
    init_subpel1(2, idx, idxh, idxv, 16, dir, type); \
2346
6.58k
    init_subpel1(3, idx, idxh, idxv,  8, dir, type); \
2347
6.58k
    init_subpel1(4, idx, idxh, idxv,  4, dir, type)
2348
2349
6.58k
#define init_subpel3(idx, type) \
2350
6.58k
    init_subpel2(idx, 1, 1, hv, type); \
2351
6.58k
    init_subpel2(idx, 0, 1, v, type); \
2352
6.58k
    init_subpel2(idx, 1, 0, h, type)
2353
2354
6.58k
    init_subpel3(0, put);
2355
6.58k
    init_subpel3(1, avg);
2356
2357
6.58k
#undef init_subpel1
2358
6.58k
#undef init_subpel2
2359
6.58k
#undef init_subpel3
2360
6.58k
#undef init_subpel1_bd_aware
2361
6.58k
}
2362
2363
static av_always_inline void do_scaled_8tap_c(uint8_t *_dst, ptrdiff_t dst_stride,
2364
                                              const uint8_t *_src, ptrdiff_t src_stride,
2365
                                              int w, int h, int mx, int my,
2366
                                              int dx, int dy, int avg,
2367
                                              const int16_t (*filters)[8])
2368
17.6M
{
2369
17.6M
    int tmp_h = (((h - 1) * dy + my) >> 4) + 8;
2370
17.6M
    pixel tmp[64 * 135], *tmp_ptr = tmp;
2371
17.6M
    pixel *dst = (pixel *) _dst;
2372
17.6M
    const pixel *src = (const pixel *) _src;
2373
2374
17.6M
    dst_stride /= sizeof(pixel);
2375
17.6M
    src_stride /= sizeof(pixel);
2376
17.6M
    src -= src_stride * 3;
2377
202M
    do {
2378
202M
        int x;
2379
202M
        int imx = mx, ioff = 0;
2380
2381
3.18G
        for (x = 0; x < w; x++) {
2382
2.98G
            tmp_ptr[x] = FILTER_8TAP(src, ioff, filters[imx], 1);
2383
2.98G
            imx += dx;
2384
2.98G
            ioff += imx >> 4;
2385
2.98G
            imx &= 0xf;
2386
2.98G
        }
2387
2388
202M
        tmp_ptr += 64;
2389
202M
        src += src_stride;
2390
202M
    } while (--tmp_h);
2391
2392
17.6M
    tmp_ptr = tmp + 64 * 3;
2393
166M
    do {
2394
166M
        int x;
2395
166M
        const int16_t *filter = filters[my];
2396
2397
3.95G
        for (x = 0; x < w; x++)
2398
3.79G
            if (avg) {
2399
1.16G
                dst[x] = (dst[x] + FILTER_8TAP(tmp_ptr, x, filter, 64) + 1) >> 1;
2400
2.62G
            } else {
2401
2.62G
                dst[x] = FILTER_8TAP(tmp_ptr, x, filter, 64);
2402
2.62G
            }
2403
2404
166M
        my += dy;
2405
166M
        tmp_ptr += (my >> 4) * 64;
2406
166M
        my &= 0xf;
2407
166M
        dst += dst_stride;
2408
166M
    } while (--h);
2409
17.6M
}
vp9dsp_10bpp.c:do_scaled_8tap_c
Line
Count
Source
2368
2.95M
{
2369
2.95M
    int tmp_h = (((h - 1) * dy + my) >> 4) + 8;
2370
2.95M
    pixel tmp[64 * 135], *tmp_ptr = tmp;
2371
2.95M
    pixel *dst = (pixel *) _dst;
2372
2.95M
    const pixel *src = (const pixel *) _src;
2373
2374
2.95M
    dst_stride /= sizeof(pixel);
2375
2.95M
    src_stride /= sizeof(pixel);
2376
2.95M
    src -= src_stride * 3;
2377
28.2M
    do {
2378
28.2M
        int x;
2379
28.2M
        int imx = mx, ioff = 0;
2380
2381
425M
        for (x = 0; x < w; x++) {
2382
397M
            tmp_ptr[x] = FILTER_8TAP(src, ioff, filters[imx], 1);
2383
397M
            imx += dx;
2384
397M
            ioff += imx >> 4;
2385
397M
            imx &= 0xf;
2386
397M
        }
2387
2388
28.2M
        tmp_ptr += 64;
2389
28.2M
        src += src_stride;
2390
28.2M
    } while (--tmp_h);
2391
2392
2.95M
    tmp_ptr = tmp + 64 * 3;
2393
31.6M
    do {
2394
31.6M
        int x;
2395
31.6M
        const int16_t *filter = filters[my];
2396
2397
816M
        for (x = 0; x < w; x++)
2398
784M
            if (avg) {
2399
205M
                dst[x] = (dst[x] + FILTER_8TAP(tmp_ptr, x, filter, 64) + 1) >> 1;
2400
578M
            } else {
2401
578M
                dst[x] = FILTER_8TAP(tmp_ptr, x, filter, 64);
2402
578M
            }
2403
2404
31.6M
        my += dy;
2405
31.6M
        tmp_ptr += (my >> 4) * 64;
2406
31.6M
        my &= 0xf;
2407
31.6M
        dst += dst_stride;
2408
31.6M
    } while (--h);
2409
2.95M
}
vp9dsp_12bpp.c:do_scaled_8tap_c
Line
Count
Source
2368
2.93M
{
2369
2.93M
    int tmp_h = (((h - 1) * dy + my) >> 4) + 8;
2370
2.93M
    pixel tmp[64 * 135], *tmp_ptr = tmp;
2371
2.93M
    pixel *dst = (pixel *) _dst;
2372
2.93M
    const pixel *src = (const pixel *) _src;
2373
2374
2.93M
    dst_stride /= sizeof(pixel);
2375
2.93M
    src_stride /= sizeof(pixel);
2376
2.93M
    src -= src_stride * 3;
2377
33.1M
    do {
2378
33.1M
        int x;
2379
33.1M
        int imx = mx, ioff = 0;
2380
2381
507M
        for (x = 0; x < w; x++) {
2382
474M
            tmp_ptr[x] = FILTER_8TAP(src, ioff, filters[imx], 1);
2383
474M
            imx += dx;
2384
474M
            ioff += imx >> 4;
2385
474M
            imx &= 0xf;
2386
474M
        }
2387
2388
33.1M
        tmp_ptr += 64;
2389
33.1M
        src += src_stride;
2390
33.1M
    } while (--tmp_h);
2391
2392
2.93M
    tmp_ptr = tmp + 64 * 3;
2393
32.9M
    do {
2394
32.9M
        int x;
2395
32.9M
        const int16_t *filter = filters[my];
2396
2397
827M
        for (x = 0; x < w; x++)
2398
794M
            if (avg) {
2399
256M
                dst[x] = (dst[x] + FILTER_8TAP(tmp_ptr, x, filter, 64) + 1) >> 1;
2400
537M
            } else {
2401
537M
                dst[x] = FILTER_8TAP(tmp_ptr, x, filter, 64);
2402
537M
            }
2403
2404
32.9M
        my += dy;
2405
32.9M
        tmp_ptr += (my >> 4) * 64;
2406
32.9M
        my &= 0xf;
2407
32.9M
        dst += dst_stride;
2408
32.9M
    } while (--h);
2409
2.93M
}
vp9dsp_8bpp.c:do_scaled_8tap_c
Line
Count
Source
2368
11.7M
{
2369
11.7M
    int tmp_h = (((h - 1) * dy + my) >> 4) + 8;
2370
11.7M
    pixel tmp[64 * 135], *tmp_ptr = tmp;
2371
11.7M
    pixel *dst = (pixel *) _dst;
2372
11.7M
    const pixel *src = (const pixel *) _src;
2373
2374
11.7M
    dst_stride /= sizeof(pixel);
2375
11.7M
    src_stride /= sizeof(pixel);
2376
11.7M
    src -= src_stride * 3;
2377
140M
    do {
2378
140M
        int x;
2379
140M
        int imx = mx, ioff = 0;
2380
2381
2.25G
        for (x = 0; x < w; x++) {
2382
2.11G
            tmp_ptr[x] = FILTER_8TAP(src, ioff, filters[imx], 1);
2383
2.11G
            imx += dx;
2384
2.11G
            ioff += imx >> 4;
2385
2.11G
            imx &= 0xf;
2386
2.11G
        }
2387
2388
140M
        tmp_ptr += 64;
2389
140M
        src += src_stride;
2390
140M
    } while (--tmp_h);
2391
2392
11.7M
    tmp_ptr = tmp + 64 * 3;
2393
101M
    do {
2394
101M
        int x;
2395
101M
        const int16_t *filter = filters[my];
2396
2397
2.31G
        for (x = 0; x < w; x++)
2398
2.21G
            if (avg) {
2399
706M
                dst[x] = (dst[x] + FILTER_8TAP(tmp_ptr, x, filter, 64) + 1) >> 1;
2400
1.50G
            } else {
2401
1.50G
                dst[x] = FILTER_8TAP(tmp_ptr, x, filter, 64);
2402
1.50G
            }
2403
2404
101M
        my += dy;
2405
101M
        tmp_ptr += (my >> 4) * 64;
2406
101M
        my &= 0xf;
2407
101M
        dst += dst_stride;
2408
101M
    } while (--h);
2409
11.7M
}
2410
2411
#define scaled_filter_8tap_fn(opn, opa) \
2412
static av_noinline void opn##_scaled_8tap_c(uint8_t *dst, ptrdiff_t dst_stride, \
2413
                                            const uint8_t *src, ptrdiff_t src_stride, \
2414
                                            int w, int h, int mx, int my, int dx, int dy, \
2415
17.6M
                                            const int16_t (*filters)[8]) \
2416
17.6M
{ \
2417
17.6M
    do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, \
2418
17.6M
                     opa, filters); \
2419
17.6M
}
vp9dsp_10bpp.c:put_scaled_8tap_c
Line
Count
Source
2415
2.12M
                                            const int16_t (*filters)[8]) \
2416
2.12M
{ \
2417
2.12M
    do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, \
2418
2.12M
                     opa, filters); \
2419
2.12M
}
vp9dsp_10bpp.c:avg_scaled_8tap_c
Line
Count
Source
2415
823k
                                            const int16_t (*filters)[8]) \
2416
823k
{ \
2417
823k
    do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, \
2418
823k
                     opa, filters); \
2419
823k
}
vp9dsp_12bpp.c:put_scaled_8tap_c
Line
Count
Source
2415
2.02M
                                            const int16_t (*filters)[8]) \
2416
2.02M
{ \
2417
2.02M
    do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, \
2418
2.02M
                     opa, filters); \
2419
2.02M
}
vp9dsp_12bpp.c:avg_scaled_8tap_c
Line
Count
Source
2415
904k
                                            const int16_t (*filters)[8]) \
2416
904k
{ \
2417
904k
    do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, \
2418
904k
                     opa, filters); \
2419
904k
}
vp9dsp_8bpp.c:put_scaled_8tap_c
Line
Count
Source
2415
7.77M
                                            const int16_t (*filters)[8]) \
2416
7.77M
{ \
2417
7.77M
    do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, \
2418
7.77M
                     opa, filters); \
2419
7.77M
}
vp9dsp_8bpp.c:avg_scaled_8tap_c
Line
Count
Source
2415
4.01M
                                            const int16_t (*filters)[8]) \
2416
4.01M
{ \
2417
4.01M
    do_scaled_8tap_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, \
2418
4.01M
                     opa, filters); \
2419
4.01M
}
2420
2421
scaled_filter_8tap_fn(put, 0)
2422
scaled_filter_8tap_fn(avg, 1)
2423
2424
#undef scaled_filter_8tap_fn
2425
2426
#undef FILTER_8TAP
2427
2428
#define scaled_filter_fn(sz, type, type_idx, avg) \
2429
static void avg##_scaled_##type##_##sz##_c(uint8_t *dst, ptrdiff_t dst_stride, \
2430
                                           const uint8_t *src, ptrdiff_t src_stride, \
2431
17.6M
                                           int h, int mx, int my, int dx, int dy) \
2432
17.6M
{ \
2433
17.6M
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
17.6M
                        ff_vp9_subpel_filters[type_idx]); \
2435
17.6M
}
vp9dsp_10bpp.c:put_scaled_smooth_64_c
Line
Count
Source
2431
31.7k
                                           int h, int mx, int my, int dx, int dy) \
2432
31.7k
{ \
2433
31.7k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
31.7k
                        ff_vp9_subpel_filters[type_idx]); \
2435
31.7k
}
vp9dsp_10bpp.c:put_scaled_regular_64_c
Line
Count
Source
2431
54.6k
                                           int h, int mx, int my, int dx, int dy) \
2432
54.6k
{ \
2433
54.6k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
54.6k
                        ff_vp9_subpel_filters[type_idx]); \
2435
54.6k
}
vp9dsp_10bpp.c:put_scaled_sharp_64_c
Line
Count
Source
2431
13.6k
                                           int h, int mx, int my, int dx, int dy) \
2432
13.6k
{ \
2433
13.6k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
13.6k
                        ff_vp9_subpel_filters[type_idx]); \
2435
13.6k
}
vp9dsp_10bpp.c:avg_scaled_smooth_64_c
Line
Count
Source
2431
12.1k
                                           int h, int mx, int my, int dx, int dy) \
2432
12.1k
{ \
2433
12.1k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
12.1k
                        ff_vp9_subpel_filters[type_idx]); \
2435
12.1k
}
vp9dsp_10bpp.c:avg_scaled_regular_64_c
Line
Count
Source
2431
11.0k
                                           int h, int mx, int my, int dx, int dy) \
2432
11.0k
{ \
2433
11.0k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
11.0k
                        ff_vp9_subpel_filters[type_idx]); \
2435
11.0k
}
vp9dsp_10bpp.c:avg_scaled_sharp_64_c
Line
Count
Source
2431
6.39k
                                           int h, int mx, int my, int dx, int dy) \
2432
6.39k
{ \
2433
6.39k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
6.39k
                        ff_vp9_subpel_filters[type_idx]); \
2435
6.39k
}
vp9dsp_10bpp.c:put_scaled_smooth_32_c
Line
Count
Source
2431
53.2k
                                           int h, int mx, int my, int dx, int dy) \
2432
53.2k
{ \
2433
53.2k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
53.2k
                        ff_vp9_subpel_filters[type_idx]); \
2435
53.2k
}
vp9dsp_10bpp.c:put_scaled_regular_32_c
Line
Count
Source
2431
89.5k
                                           int h, int mx, int my, int dx, int dy) \
2432
89.5k
{ \
2433
89.5k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
89.5k
                        ff_vp9_subpel_filters[type_idx]); \
2435
89.5k
}
vp9dsp_10bpp.c:put_scaled_sharp_32_c
Line
Count
Source
2431
24.2k
                                           int h, int mx, int my, int dx, int dy) \
2432
24.2k
{ \
2433
24.2k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
24.2k
                        ff_vp9_subpel_filters[type_idx]); \
2435
24.2k
}
vp9dsp_10bpp.c:avg_scaled_smooth_32_c
Line
Count
Source
2431
24.4k
                                           int h, int mx, int my, int dx, int dy) \
2432
24.4k
{ \
2433
24.4k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
24.4k
                        ff_vp9_subpel_filters[type_idx]); \
2435
24.4k
}
vp9dsp_10bpp.c:avg_scaled_regular_32_c
Line
Count
Source
2431
24.2k
                                           int h, int mx, int my, int dx, int dy) \
2432
24.2k
{ \
2433
24.2k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
24.2k
                        ff_vp9_subpel_filters[type_idx]); \
2435
24.2k
}
vp9dsp_10bpp.c:avg_scaled_sharp_32_c
Line
Count
Source
2431
10.8k
                                           int h, int mx, int my, int dx, int dy) \
2432
10.8k
{ \
2433
10.8k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
10.8k
                        ff_vp9_subpel_filters[type_idx]); \
2435
10.8k
}
vp9dsp_10bpp.c:put_scaled_smooth_16_c
Line
Count
Source
2431
94.5k
                                           int h, int mx, int my, int dx, int dy) \
2432
94.5k
{ \
2433
94.5k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
94.5k
                        ff_vp9_subpel_filters[type_idx]); \
2435
94.5k
}
vp9dsp_10bpp.c:put_scaled_regular_16_c
Line
Count
Source
2431
185k
                                           int h, int mx, int my, int dx, int dy) \
2432
185k
{ \
2433
185k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
185k
                        ff_vp9_subpel_filters[type_idx]); \
2435
185k
}
vp9dsp_10bpp.c:put_scaled_sharp_16_c
Line
Count
Source
2431
42.3k
                                           int h, int mx, int my, int dx, int dy) \
2432
42.3k
{ \
2433
42.3k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
42.3k
                        ff_vp9_subpel_filters[type_idx]); \
2435
42.3k
}
vp9dsp_10bpp.c:avg_scaled_smooth_16_c
Line
Count
Source
2431
45.3k
                                           int h, int mx, int my, int dx, int dy) \
2432
45.3k
{ \
2433
45.3k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
45.3k
                        ff_vp9_subpel_filters[type_idx]); \
2435
45.3k
}
vp9dsp_10bpp.c:avg_scaled_regular_16_c
Line
Count
Source
2431
51.9k
                                           int h, int mx, int my, int dx, int dy) \
2432
51.9k
{ \
2433
51.9k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
51.9k
                        ff_vp9_subpel_filters[type_idx]); \
2435
51.9k
}
vp9dsp_10bpp.c:avg_scaled_sharp_16_c
Line
Count
Source
2431
17.1k
                                           int h, int mx, int my, int dx, int dy) \
2432
17.1k
{ \
2433
17.1k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
17.1k
                        ff_vp9_subpel_filters[type_idx]); \
2435
17.1k
}
vp9dsp_10bpp.c:put_scaled_smooth_8_c
Line
Count
Source
2431
160k
                                           int h, int mx, int my, int dx, int dy) \
2432
160k
{ \
2433
160k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
160k
                        ff_vp9_subpel_filters[type_idx]); \
2435
160k
}
vp9dsp_10bpp.c:put_scaled_regular_8_c
Line
Count
Source
2431
325k
                                           int h, int mx, int my, int dx, int dy) \
2432
325k
{ \
2433
325k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
325k
                        ff_vp9_subpel_filters[type_idx]); \
2435
325k
}
vp9dsp_10bpp.c:put_scaled_sharp_8_c
Line
Count
Source
2431
71.0k
                                           int h, int mx, int my, int dx, int dy) \
2432
71.0k
{ \
2433
71.0k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
71.0k
                        ff_vp9_subpel_filters[type_idx]); \
2435
71.0k
}
vp9dsp_10bpp.c:avg_scaled_smooth_8_c
Line
Count
Source
2431
68.8k
                                           int h, int mx, int my, int dx, int dy) \
2432
68.8k
{ \
2433
68.8k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
68.8k
                        ff_vp9_subpel_filters[type_idx]); \
2435
68.8k
}
vp9dsp_10bpp.c:avg_scaled_regular_8_c
Line
Count
Source
2431
98.4k
                                           int h, int mx, int my, int dx, int dy) \
2432
98.4k
{ \
2433
98.4k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
98.4k
                        ff_vp9_subpel_filters[type_idx]); \
2435
98.4k
}
vp9dsp_10bpp.c:avg_scaled_sharp_8_c
Line
Count
Source
2431
27.1k
                                           int h, int mx, int my, int dx, int dy) \
2432
27.1k
{ \
2433
27.1k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
27.1k
                        ff_vp9_subpel_filters[type_idx]); \
2435
27.1k
}
vp9dsp_10bpp.c:put_scaled_smooth_4_c
Line
Count
Source
2431
244k
                                           int h, int mx, int my, int dx, int dy) \
2432
244k
{ \
2433
244k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
244k
                        ff_vp9_subpel_filters[type_idx]); \
2435
244k
}
vp9dsp_10bpp.c:put_scaled_regular_4_c
Line
Count
Source
2431
537k
                                           int h, int mx, int my, int dx, int dy) \
2432
537k
{ \
2433
537k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
537k
                        ff_vp9_subpel_filters[type_idx]); \
2435
537k
}
vp9dsp_10bpp.c:put_scaled_sharp_4_c
Line
Count
Source
2431
200k
                                           int h, int mx, int my, int dx, int dy) \
2432
200k
{ \
2433
200k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
200k
                        ff_vp9_subpel_filters[type_idx]); \
2435
200k
}
vp9dsp_10bpp.c:avg_scaled_smooth_4_c
Line
Count
Source
2431
178k
                                           int h, int mx, int my, int dx, int dy) \
2432
178k
{ \
2433
178k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
178k
                        ff_vp9_subpel_filters[type_idx]); \
2435
178k
}
vp9dsp_10bpp.c:avg_scaled_regular_4_c
Line
Count
Source
2431
154k
                                           int h, int mx, int my, int dx, int dy) \
2432
154k
{ \
2433
154k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
154k
                        ff_vp9_subpel_filters[type_idx]); \
2435
154k
}
vp9dsp_10bpp.c:avg_scaled_sharp_4_c
Line
Count
Source
2431
92.9k
                                           int h, int mx, int my, int dx, int dy) \
2432
92.9k
{ \
2433
92.9k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
92.9k
                        ff_vp9_subpel_filters[type_idx]); \
2435
92.9k
}
vp9dsp_12bpp.c:put_scaled_smooth_64_c
Line
Count
Source
2431
54.3k
                                           int h, int mx, int my, int dx, int dy) \
2432
54.3k
{ \
2433
54.3k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
54.3k
                        ff_vp9_subpel_filters[type_idx]); \
2435
54.3k
}
vp9dsp_12bpp.c:put_scaled_regular_64_c
Line
Count
Source
2431
21.2k
                                           int h, int mx, int my, int dx, int dy) \
2432
21.2k
{ \
2433
21.2k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
21.2k
                        ff_vp9_subpel_filters[type_idx]); \
2435
21.2k
}
vp9dsp_12bpp.c:put_scaled_sharp_64_c
Line
Count
Source
2431
8.36k
                                           int h, int mx, int my, int dx, int dy) \
2432
8.36k
{ \
2433
8.36k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
8.36k
                        ff_vp9_subpel_filters[type_idx]); \
2435
8.36k
}
vp9dsp_12bpp.c:avg_scaled_smooth_64_c
Line
Count
Source
2431
30.6k
                                           int h, int mx, int my, int dx, int dy) \
2432
30.6k
{ \
2433
30.6k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
30.6k
                        ff_vp9_subpel_filters[type_idx]); \
2435
30.6k
}
vp9dsp_12bpp.c:avg_scaled_regular_64_c
Line
Count
Source
2431
4.08k
                                           int h, int mx, int my, int dx, int dy) \
2432
4.08k
{ \
2433
4.08k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
4.08k
                        ff_vp9_subpel_filters[type_idx]); \
2435
4.08k
}
vp9dsp_12bpp.c:avg_scaled_sharp_64_c
Line
Count
Source
2431
6.21k
                                           int h, int mx, int my, int dx, int dy) \
2432
6.21k
{ \
2433
6.21k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
6.21k
                        ff_vp9_subpel_filters[type_idx]); \
2435
6.21k
}
vp9dsp_12bpp.c:put_scaled_smooth_32_c
Line
Count
Source
2431
95.7k
                                           int h, int mx, int my, int dx, int dy) \
2432
95.7k
{ \
2433
95.7k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
95.7k
                        ff_vp9_subpel_filters[type_idx]); \
2435
95.7k
}
vp9dsp_12bpp.c:put_scaled_regular_32_c
Line
Count
Source
2431
44.3k
                                           int h, int mx, int my, int dx, int dy) \
2432
44.3k
{ \
2433
44.3k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
44.3k
                        ff_vp9_subpel_filters[type_idx]); \
2435
44.3k
}
vp9dsp_12bpp.c:put_scaled_sharp_32_c
Line
Count
Source
2431
12.6k
                                           int h, int mx, int my, int dx, int dy) \
2432
12.6k
{ \
2433
12.6k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
12.6k
                        ff_vp9_subpel_filters[type_idx]); \
2435
12.6k
}
vp9dsp_12bpp.c:avg_scaled_smooth_32_c
Line
Count
Source
2431
43.8k
                                           int h, int mx, int my, int dx, int dy) \
2432
43.8k
{ \
2433
43.8k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
43.8k
                        ff_vp9_subpel_filters[type_idx]); \
2435
43.8k
}
vp9dsp_12bpp.c:avg_scaled_regular_32_c
Line
Count
Source
2431
12.9k
                                           int h, int mx, int my, int dx, int dy) \
2432
12.9k
{ \
2433
12.9k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
12.9k
                        ff_vp9_subpel_filters[type_idx]); \
2435
12.9k
}
vp9dsp_12bpp.c:avg_scaled_sharp_32_c
Line
Count
Source
2431
11.5k
                                           int h, int mx, int my, int dx, int dy) \
2432
11.5k
{ \
2433
11.5k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
11.5k
                        ff_vp9_subpel_filters[type_idx]); \
2435
11.5k
}
vp9dsp_12bpp.c:put_scaled_smooth_16_c
Line
Count
Source
2431
160k
                                           int h, int mx, int my, int dx, int dy) \
2432
160k
{ \
2433
160k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
160k
                        ff_vp9_subpel_filters[type_idx]); \
2435
160k
}
vp9dsp_12bpp.c:put_scaled_regular_16_c
Line
Count
Source
2431
93.0k
                                           int h, int mx, int my, int dx, int dy) \
2432
93.0k
{ \
2433
93.0k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
93.0k
                        ff_vp9_subpel_filters[type_idx]); \
2435
93.0k
}
vp9dsp_12bpp.c:put_scaled_sharp_16_c
Line
Count
Source
2431
25.1k
                                           int h, int mx, int my, int dx, int dy) \
2432
25.1k
{ \
2433
25.1k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
25.1k
                        ff_vp9_subpel_filters[type_idx]); \
2435
25.1k
}
vp9dsp_12bpp.c:avg_scaled_smooth_16_c
Line
Count
Source
2431
60.4k
                                           int h, int mx, int my, int dx, int dy) \
2432
60.4k
{ \
2433
60.4k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
60.4k
                        ff_vp9_subpel_filters[type_idx]); \
2435
60.4k
}
vp9dsp_12bpp.c:avg_scaled_regular_16_c
Line
Count
Source
2431
30.2k
                                           int h, int mx, int my, int dx, int dy) \
2432
30.2k
{ \
2433
30.2k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
30.2k
                        ff_vp9_subpel_filters[type_idx]); \
2435
30.2k
}
vp9dsp_12bpp.c:avg_scaled_sharp_16_c
Line
Count
Source
2431
23.2k
                                           int h, int mx, int my, int dx, int dy) \
2432
23.2k
{ \
2433
23.2k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
23.2k
                        ff_vp9_subpel_filters[type_idx]); \
2435
23.2k
}
vp9dsp_12bpp.c:put_scaled_smooth_8_c
Line
Count
Source
2431
312k
                                           int h, int mx, int my, int dx, int dy) \
2432
312k
{ \
2433
312k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
312k
                        ff_vp9_subpel_filters[type_idx]); \
2435
312k
}
vp9dsp_12bpp.c:put_scaled_regular_8_c
Line
Count
Source
2431
166k
                                           int h, int mx, int my, int dx, int dy) \
2432
166k
{ \
2433
166k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
166k
                        ff_vp9_subpel_filters[type_idx]); \
2435
166k
}
vp9dsp_12bpp.c:put_scaled_sharp_8_c
Line
Count
Source
2431
47.3k
                                           int h, int mx, int my, int dx, int dy) \
2432
47.3k
{ \
2433
47.3k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
47.3k
                        ff_vp9_subpel_filters[type_idx]); \
2435
47.3k
}
vp9dsp_12bpp.c:avg_scaled_smooth_8_c
Line
Count
Source
2431
154k
                                           int h, int mx, int my, int dx, int dy) \
2432
154k
{ \
2433
154k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
154k
                        ff_vp9_subpel_filters[type_idx]); \
2435
154k
}
vp9dsp_12bpp.c:avg_scaled_regular_8_c
Line
Count
Source
2431
56.0k
                                           int h, int mx, int my, int dx, int dy) \
2432
56.0k
{ \
2433
56.0k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
56.0k
                        ff_vp9_subpel_filters[type_idx]); \
2435
56.0k
}
vp9dsp_12bpp.c:avg_scaled_sharp_8_c
Line
Count
Source
2431
38.9k
                                           int h, int mx, int my, int dx, int dy) \
2432
38.9k
{ \
2433
38.9k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
38.9k
                        ff_vp9_subpel_filters[type_idx]); \
2435
38.9k
}
vp9dsp_12bpp.c:put_scaled_smooth_4_c
Line
Count
Source
2431
407k
                                           int h, int mx, int my, int dx, int dy) \
2432
407k
{ \
2433
407k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
407k
                        ff_vp9_subpel_filters[type_idx]); \
2435
407k
}
vp9dsp_12bpp.c:put_scaled_regular_4_c
Line
Count
Source
2431
302k
                                           int h, int mx, int my, int dx, int dy) \
2432
302k
{ \
2433
302k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
302k
                        ff_vp9_subpel_filters[type_idx]); \
2435
302k
}
vp9dsp_12bpp.c:put_scaled_sharp_4_c
Line
Count
Source
2431
277k
                                           int h, int mx, int my, int dx, int dy) \
2432
277k
{ \
2433
277k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
277k
                        ff_vp9_subpel_filters[type_idx]); \
2435
277k
}
vp9dsp_12bpp.c:avg_scaled_smooth_4_c
Line
Count
Source
2431
206k
                                           int h, int mx, int my, int dx, int dy) \
2432
206k
{ \
2433
206k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
206k
                        ff_vp9_subpel_filters[type_idx]); \
2435
206k
}
vp9dsp_12bpp.c:avg_scaled_regular_4_c
Line
Count
Source
2431
120k
                                           int h, int mx, int my, int dx, int dy) \
2432
120k
{ \
2433
120k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
120k
                        ff_vp9_subpel_filters[type_idx]); \
2435
120k
}
vp9dsp_12bpp.c:avg_scaled_sharp_4_c
Line
Count
Source
2431
104k
                                           int h, int mx, int my, int dx, int dy) \
2432
104k
{ \
2433
104k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
104k
                        ff_vp9_subpel_filters[type_idx]); \
2435
104k
}
vp9dsp_8bpp.c:put_scaled_smooth_64_c
Line
Count
Source
2431
60.9k
                                           int h, int mx, int my, int dx, int dy) \
2432
60.9k
{ \
2433
60.9k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
60.9k
                        ff_vp9_subpel_filters[type_idx]); \
2435
60.9k
}
vp9dsp_8bpp.c:put_scaled_regular_64_c
Line
Count
Source
2431
164k
                                           int h, int mx, int my, int dx, int dy) \
2432
164k
{ \
2433
164k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
164k
                        ff_vp9_subpel_filters[type_idx]); \
2435
164k
}
vp9dsp_8bpp.c:put_scaled_sharp_64_c
Line
Count
Source
2431
36.9k
                                           int h, int mx, int my, int dx, int dy) \
2432
36.9k
{ \
2433
36.9k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
36.9k
                        ff_vp9_subpel_filters[type_idx]); \
2435
36.9k
}
vp9dsp_8bpp.c:avg_scaled_smooth_64_c
Line
Count
Source
2431
21.8k
                                           int h, int mx, int my, int dx, int dy) \
2432
21.8k
{ \
2433
21.8k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
21.8k
                        ff_vp9_subpel_filters[type_idx]); \
2435
21.8k
}
vp9dsp_8bpp.c:avg_scaled_regular_64_c
Line
Count
Source
2431
80.4k
                                           int h, int mx, int my, int dx, int dy) \
2432
80.4k
{ \
2433
80.4k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
80.4k
                        ff_vp9_subpel_filters[type_idx]); \
2435
80.4k
}
vp9dsp_8bpp.c:avg_scaled_sharp_64_c
Line
Count
Source
2431
18.2k
                                           int h, int mx, int my, int dx, int dy) \
2432
18.2k
{ \
2433
18.2k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
18.2k
                        ff_vp9_subpel_filters[type_idx]); \
2435
18.2k
}
vp9dsp_8bpp.c:put_scaled_smooth_32_c
Line
Count
Source
2431
103k
                                           int h, int mx, int my, int dx, int dy) \
2432
103k
{ \
2433
103k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
103k
                        ff_vp9_subpel_filters[type_idx]); \
2435
103k
}
vp9dsp_8bpp.c:put_scaled_regular_32_c
Line
Count
Source
2431
335k
                                           int h, int mx, int my, int dx, int dy) \
2432
335k
{ \
2433
335k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
335k
                        ff_vp9_subpel_filters[type_idx]); \
2435
335k
}
vp9dsp_8bpp.c:put_scaled_sharp_32_c
Line
Count
Source
2431
61.2k
                                           int h, int mx, int my, int dx, int dy) \
2432
61.2k
{ \
2433
61.2k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
61.2k
                        ff_vp9_subpel_filters[type_idx]); \
2435
61.2k
}
vp9dsp_8bpp.c:avg_scaled_smooth_32_c
Line
Count
Source
2431
55.3k
                                           int h, int mx, int my, int dx, int dy) \
2432
55.3k
{ \
2433
55.3k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
55.3k
                        ff_vp9_subpel_filters[type_idx]); \
2435
55.3k
}
vp9dsp_8bpp.c:avg_scaled_regular_32_c
Line
Count
Source
2431
195k
                                           int h, int mx, int my, int dx, int dy) \
2432
195k
{ \
2433
195k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
195k
                        ff_vp9_subpel_filters[type_idx]); \
2435
195k
}
vp9dsp_8bpp.c:avg_scaled_sharp_32_c
Line
Count
Source
2431
32.4k
                                           int h, int mx, int my, int dx, int dy) \
2432
32.4k
{ \
2433
32.4k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
32.4k
                        ff_vp9_subpel_filters[type_idx]); \
2435
32.4k
}
vp9dsp_8bpp.c:put_scaled_smooth_16_c
Line
Count
Source
2431
207k
                                           int h, int mx, int my, int dx, int dy) \
2432
207k
{ \
2433
207k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
207k
                        ff_vp9_subpel_filters[type_idx]); \
2435
207k
}
vp9dsp_8bpp.c:put_scaled_regular_16_c
Line
Count
Source
2431
779k
                                           int h, int mx, int my, int dx, int dy) \
2432
779k
{ \
2433
779k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
779k
                        ff_vp9_subpel_filters[type_idx]); \
2435
779k
}
vp9dsp_8bpp.c:put_scaled_sharp_16_c
Line
Count
Source
2431
140k
                                           int h, int mx, int my, int dx, int dy) \
2432
140k
{ \
2433
140k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
140k
                        ff_vp9_subpel_filters[type_idx]); \
2435
140k
}
vp9dsp_8bpp.c:avg_scaled_smooth_16_c
Line
Count
Source
2431
105k
                                           int h, int mx, int my, int dx, int dy) \
2432
105k
{ \
2433
105k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
105k
                        ff_vp9_subpel_filters[type_idx]); \
2435
105k
}
vp9dsp_8bpp.c:avg_scaled_regular_16_c
Line
Count
Source
2431
389k
                                           int h, int mx, int my, int dx, int dy) \
2432
389k
{ \
2433
389k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
389k
                        ff_vp9_subpel_filters[type_idx]); \
2435
389k
}
vp9dsp_8bpp.c:avg_scaled_sharp_16_c
Line
Count
Source
2431
73.9k
                                           int h, int mx, int my, int dx, int dy) \
2432
73.9k
{ \
2433
73.9k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
73.9k
                        ff_vp9_subpel_filters[type_idx]); \
2435
73.9k
}
vp9dsp_8bpp.c:put_scaled_smooth_8_c
Line
Count
Source
2431
309k
                                           int h, int mx, int my, int dx, int dy) \
2432
309k
{ \
2433
309k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
309k
                        ff_vp9_subpel_filters[type_idx]); \
2435
309k
}
vp9dsp_8bpp.c:put_scaled_regular_8_c
Line
Count
Source
2431
1.20M
                                           int h, int mx, int my, int dx, int dy) \
2432
1.20M
{ \
2433
1.20M
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
1.20M
                        ff_vp9_subpel_filters[type_idx]); \
2435
1.20M
}
vp9dsp_8bpp.c:put_scaled_sharp_8_c
Line
Count
Source
2431
211k
                                           int h, int mx, int my, int dx, int dy) \
2432
211k
{ \
2433
211k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
211k
                        ff_vp9_subpel_filters[type_idx]); \
2435
211k
}
vp9dsp_8bpp.c:avg_scaled_smooth_8_c
Line
Count
Source
2431
124k
                                           int h, int mx, int my, int dx, int dy) \
2432
124k
{ \
2433
124k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
124k
                        ff_vp9_subpel_filters[type_idx]); \
2435
124k
}
vp9dsp_8bpp.c:avg_scaled_regular_8_c
Line
Count
Source
2431
600k
                                           int h, int mx, int my, int dx, int dy) \
2432
600k
{ \
2433
600k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
600k
                        ff_vp9_subpel_filters[type_idx]); \
2435
600k
}
vp9dsp_8bpp.c:avg_scaled_sharp_8_c
Line
Count
Source
2431
92.4k
                                           int h, int mx, int my, int dx, int dy) \
2432
92.4k
{ \
2433
92.4k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
92.4k
                        ff_vp9_subpel_filters[type_idx]); \
2435
92.4k
}
vp9dsp_8bpp.c:put_scaled_smooth_4_c
Line
Count
Source
2431
707k
                                           int h, int mx, int my, int dx, int dy) \
2432
707k
{ \
2433
707k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
707k
                        ff_vp9_subpel_filters[type_idx]); \
2435
707k
}
vp9dsp_8bpp.c:put_scaled_regular_4_c
Line
Count
Source
2431
2.84M
                                           int h, int mx, int my, int dx, int dy) \
2432
2.84M
{ \
2433
2.84M
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
2.84M
                        ff_vp9_subpel_filters[type_idx]); \
2435
2.84M
}
vp9dsp_8bpp.c:put_scaled_sharp_4_c
Line
Count
Source
2431
608k
                                           int h, int mx, int my, int dx, int dy) \
2432
608k
{ \
2433
608k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
608k
                        ff_vp9_subpel_filters[type_idx]); \
2435
608k
}
vp9dsp_8bpp.c:avg_scaled_smooth_4_c
Line
Count
Source
2431
316k
                                           int h, int mx, int my, int dx, int dy) \
2432
316k
{ \
2433
316k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
316k
                        ff_vp9_subpel_filters[type_idx]); \
2435
316k
}
vp9dsp_8bpp.c:avg_scaled_regular_4_c
Line
Count
Source
2431
1.64M
                                           int h, int mx, int my, int dx, int dy) \
2432
1.64M
{ \
2433
1.64M
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
1.64M
                        ff_vp9_subpel_filters[type_idx]); \
2435
1.64M
}
vp9dsp_8bpp.c:avg_scaled_sharp_4_c
Line
Count
Source
2431
262k
                                           int h, int mx, int my, int dx, int dy) \
2432
262k
{ \
2433
262k
    avg##_scaled_8tap_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy, \
2434
262k
                        ff_vp9_subpel_filters[type_idx]); \
2435
262k
}
2436
2437
#if BIT_DEPTH != 12
2438
2439
static av_always_inline void do_scaled_bilin_c(uint8_t *_dst, ptrdiff_t dst_stride,
2440
                                               const uint8_t *_src, ptrdiff_t src_stride,
2441
                                               int w, int h, int mx, int my,
2442
                                               int dx, int dy, int avg)
2443
19.4M
{
2444
19.4M
    pixel tmp[64 * 129], *tmp_ptr = tmp;
2445
19.4M
    int tmp_h = (((h - 1) * dy + my) >> 4) + 2;
2446
19.4M
    pixel *dst = (pixel *) _dst;
2447
19.4M
    const pixel *src = (const pixel *) _src;
2448
2449
19.4M
    dst_stride /= sizeof(pixel);
2450
19.4M
    src_stride /= sizeof(pixel);
2451
51.7M
    do {
2452
51.7M
        int x;
2453
51.7M
        int imx = mx, ioff = 0;
2454
2455
523M
        for (x = 0; x < w; x++) {
2456
471M
            tmp_ptr[x] = FILTER_BILIN(src, ioff, imx, 1);
2457
471M
            imx += dx;
2458
471M
            ioff += imx >> 4;
2459
471M
            imx &= 0xf;
2460
471M
        }
2461
2462
51.7M
        tmp_ptr += 64;
2463
51.7M
        src += src_stride;
2464
51.7M
    } while (--tmp_h);
2465
2466
19.4M
    tmp_ptr = tmp;
2467
118M
    do {
2468
118M
        int x;
2469
2470
1.52G
        for (x = 0; x < w; x++)
2471
1.40G
            if (avg) {
2472
808M
                dst[x] = (dst[x] + FILTER_BILIN(tmp_ptr, x, my, 64) + 1) >> 1;
2473
808M
            } else {
2474
598M
                dst[x] = FILTER_BILIN(tmp_ptr, x, my, 64);
2475
598M
            }
2476
2477
118M
        my += dy;
2478
118M
        tmp_ptr += (my >> 4) * 64;
2479
118M
        my &= 0xf;
2480
118M
        dst += dst_stride;
2481
118M
    } while (--h);
2482
19.4M
}
vp9dsp_10bpp.c:do_scaled_bilin_c
Line
Count
Source
2443
16.0M
{
2444
16.0M
    pixel tmp[64 * 129], *tmp_ptr = tmp;
2445
16.0M
    int tmp_h = (((h - 1) * dy + my) >> 4) + 2;
2446
16.0M
    pixel *dst = (pixel *) _dst;
2447
16.0M
    const pixel *src = (const pixel *) _src;
2448
2449
16.0M
    dst_stride /= sizeof(pixel);
2450
16.0M
    src_stride /= sizeof(pixel);
2451
39.8M
    do {
2452
39.8M
        int x;
2453
39.8M
        int imx = mx, ioff = 0;
2454
2455
349M
        for (x = 0; x < w; x++) {
2456
309M
            tmp_ptr[x] = FILTER_BILIN(src, ioff, imx, 1);
2457
309M
            imx += dx;
2458
309M
            ioff += imx >> 4;
2459
309M
            imx &= 0xf;
2460
309M
        }
2461
2462
39.8M
        tmp_ptr += 64;
2463
39.8M
        src += src_stride;
2464
39.8M
    } while (--tmp_h);
2465
2466
16.0M
    tmp_ptr = tmp;
2467
96.5M
    do {
2468
96.5M
        int x;
2469
2470
1.16G
        for (x = 0; x < w; x++)
2471
1.06G
            if (avg) {
2472
683M
                dst[x] = (dst[x] + FILTER_BILIN(tmp_ptr, x, my, 64) + 1) >> 1;
2473
683M
            } else {
2474
382M
                dst[x] = FILTER_BILIN(tmp_ptr, x, my, 64);
2475
382M
            }
2476
2477
96.5M
        my += dy;
2478
96.5M
        tmp_ptr += (my >> 4) * 64;
2479
96.5M
        my &= 0xf;
2480
96.5M
        dst += dst_stride;
2481
96.5M
    } while (--h);
2482
16.0M
}
vp9dsp_8bpp.c:do_scaled_bilin_c
Line
Count
Source
2443
3.43M
{
2444
3.43M
    pixel tmp[64 * 129], *tmp_ptr = tmp;
2445
3.43M
    int tmp_h = (((h - 1) * dy + my) >> 4) + 2;
2446
3.43M
    pixel *dst = (pixel *) _dst;
2447
3.43M
    const pixel *src = (const pixel *) _src;
2448
2449
3.43M
    dst_stride /= sizeof(pixel);
2450
3.43M
    src_stride /= sizeof(pixel);
2451
11.9M
    do {
2452
11.9M
        int x;
2453
11.9M
        int imx = mx, ioff = 0;
2454
2455
173M
        for (x = 0; x < w; x++) {
2456
161M
            tmp_ptr[x] = FILTER_BILIN(src, ioff, imx, 1);
2457
161M
            imx += dx;
2458
161M
            ioff += imx >> 4;
2459
161M
            imx &= 0xf;
2460
161M
        }
2461
2462
11.9M
        tmp_ptr += 64;
2463
11.9M
        src += src_stride;
2464
11.9M
    } while (--tmp_h);
2465
2466
3.43M
    tmp_ptr = tmp;
2467
21.5M
    do {
2468
21.5M
        int x;
2469
2470
362M
        for (x = 0; x < w; x++)
2471
340M
            if (avg) {
2472
125M
                dst[x] = (dst[x] + FILTER_BILIN(tmp_ptr, x, my, 64) + 1) >> 1;
2473
215M
            } else {
2474
215M
                dst[x] = FILTER_BILIN(tmp_ptr, x, my, 64);
2475
215M
            }
2476
2477
21.5M
        my += dy;
2478
21.5M
        tmp_ptr += (my >> 4) * 64;
2479
21.5M
        my &= 0xf;
2480
21.5M
        dst += dst_stride;
2481
21.5M
    } while (--h);
2482
3.43M
}
2483
2484
#define scaled_bilin_fn(opn, opa) \
2485
static av_noinline void opn##_scaled_bilin_c(uint8_t *dst, ptrdiff_t dst_stride, \
2486
                                             const uint8_t *src, ptrdiff_t src_stride, \
2487
19.4M
                                             int w, int h, int mx, int my, int dx, int dy) \
2488
19.4M
{ \
2489
19.4M
    do_scaled_bilin_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, opa); \
2490
19.4M
}
vp9dsp_10bpp.c:put_scaled_bilin_c
Line
Count
Source
2487
3.25M
                                             int w, int h, int mx, int my, int dx, int dy) \
2488
3.25M
{ \
2489
3.25M
    do_scaled_bilin_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, opa); \
2490
3.25M
}
vp9dsp_10bpp.c:avg_scaled_bilin_c
Line
Count
Source
2487
12.7M
                                             int w, int h, int mx, int my, int dx, int dy) \
2488
12.7M
{ \
2489
12.7M
    do_scaled_bilin_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, opa); \
2490
12.7M
}
vp9dsp_8bpp.c:put_scaled_bilin_c
Line
Count
Source
2487
1.98M
                                             int w, int h, int mx, int my, int dx, int dy) \
2488
1.98M
{ \
2489
1.98M
    do_scaled_bilin_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, opa); \
2490
1.98M
}
vp9dsp_8bpp.c:avg_scaled_bilin_c
Line
Count
Source
2487
1.44M
                                             int w, int h, int mx, int my, int dx, int dy) \
2488
1.44M
{ \
2489
1.44M
    do_scaled_bilin_c(dst, dst_stride, src, src_stride, w, h, mx, my, dx, dy, opa); \
2490
1.44M
}
2491
2492
scaled_bilin_fn(put, 0)
2493
scaled_bilin_fn(avg, 1)
2494
2495
#undef scaled_bilin_fn
2496
2497
#undef FILTER_BILIN
2498
2499
#define scaled_bilinf_fn(sz, avg) \
2500
static void avg##_scaled_bilin_##sz##_c(uint8_t *dst, ptrdiff_t dst_stride, \
2501
                                        const uint8_t *src, ptrdiff_t src_stride, \
2502
19.4M
                                        int h, int mx, int my, int dx, int dy) \
2503
19.4M
{ \
2504
19.4M
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
19.4M
}
vp9dsp_10bpp.c:put_scaled_bilin_64_c
Line
Count
Source
2502
51.2k
                                        int h, int mx, int my, int dx, int dy) \
2503
51.2k
{ \
2504
51.2k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
51.2k
}
vp9dsp_10bpp.c:avg_scaled_bilin_64_c
Line
Count
Source
2502
49.0k
                                        int h, int mx, int my, int dx, int dy) \
2503
49.0k
{ \
2504
49.0k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
49.0k
}
vp9dsp_10bpp.c:put_scaled_bilin_32_c
Line
Count
Source
2502
123k
                                        int h, int mx, int my, int dx, int dy) \
2503
123k
{ \
2504
123k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
123k
}
vp9dsp_10bpp.c:avg_scaled_bilin_32_c
Line
Count
Source
2502
138k
                                        int h, int mx, int my, int dx, int dy) \
2503
138k
{ \
2504
138k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
138k
}
vp9dsp_10bpp.c:put_scaled_bilin_16_c
Line
Count
Source
2502
195k
                                        int h, int mx, int my, int dx, int dy) \
2503
195k
{ \
2504
195k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
195k
}
vp9dsp_10bpp.c:avg_scaled_bilin_16_c
Line
Count
Source
2502
303k
                                        int h, int mx, int my, int dx, int dy) \
2503
303k
{ \
2504
303k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
303k
}
vp9dsp_10bpp.c:put_scaled_bilin_8_c
Line
Count
Source
2502
472k
                                        int h, int mx, int my, int dx, int dy) \
2503
472k
{ \
2504
472k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
472k
}
vp9dsp_10bpp.c:avg_scaled_bilin_8_c
Line
Count
Source
2502
3.46M
                                        int h, int mx, int my, int dx, int dy) \
2503
3.46M
{ \
2504
3.46M
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
3.46M
}
vp9dsp_10bpp.c:put_scaled_bilin_4_c
Line
Count
Source
2502
2.40M
                                        int h, int mx, int my, int dx, int dy) \
2503
2.40M
{ \
2504
2.40M
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
2.40M
}
vp9dsp_10bpp.c:avg_scaled_bilin_4_c
Line
Count
Source
2502
8.84M
                                        int h, int mx, int my, int dx, int dy) \
2503
8.84M
{ \
2504
8.84M
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
8.84M
}
vp9dsp_8bpp.c:put_scaled_bilin_64_c
Line
Count
Source
2502
40.7k
                                        int h, int mx, int my, int dx, int dy) \
2503
40.7k
{ \
2504
40.7k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
40.7k
}
vp9dsp_8bpp.c:avg_scaled_bilin_64_c
Line
Count
Source
2502
16.7k
                                        int h, int mx, int my, int dx, int dy) \
2503
16.7k
{ \
2504
16.7k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
16.7k
}
vp9dsp_8bpp.c:put_scaled_bilin_32_c
Line
Count
Source
2502
97.9k
                                        int h, int mx, int my, int dx, int dy) \
2503
97.9k
{ \
2504
97.9k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
97.9k
}
vp9dsp_8bpp.c:avg_scaled_bilin_32_c
Line
Count
Source
2502
59.7k
                                        int h, int mx, int my, int dx, int dy) \
2503
59.7k
{ \
2504
59.7k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
59.7k
}
vp9dsp_8bpp.c:put_scaled_bilin_16_c
Line
Count
Source
2502
181k
                                        int h, int mx, int my, int dx, int dy) \
2503
181k
{ \
2504
181k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
181k
}
vp9dsp_8bpp.c:avg_scaled_bilin_16_c
Line
Count
Source
2502
121k
                                        int h, int mx, int my, int dx, int dy) \
2503
121k
{ \
2504
121k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
121k
}
vp9dsp_8bpp.c:put_scaled_bilin_8_c
Line
Count
Source
2502
246k
                                        int h, int mx, int my, int dx, int dy) \
2503
246k
{ \
2504
246k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
246k
}
vp9dsp_8bpp.c:avg_scaled_bilin_8_c
Line
Count
Source
2502
195k
                                        int h, int mx, int my, int dx, int dy) \
2503
195k
{ \
2504
195k
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
195k
}
vp9dsp_8bpp.c:put_scaled_bilin_4_c
Line
Count
Source
2502
1.42M
                                        int h, int mx, int my, int dx, int dy) \
2503
1.42M
{ \
2504
1.42M
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
1.42M
}
vp9dsp_8bpp.c:avg_scaled_bilin_4_c
Line
Count
Source
2502
1.05M
                                        int h, int mx, int my, int dx, int dy) \
2503
1.05M
{ \
2504
1.05M
    avg##_scaled_bilin_c(dst, dst_stride, src, src_stride, sz, h, mx, my, dx, dy); \
2505
1.05M
}
2506
2507
#else
2508
2509
#define scaled_bilinf_fn(a, b)
2510
2511
#endif
2512
2513
#define scaled_filter_fns(sz, avg) \
2514
scaled_filter_fn(sz,        regular, FILTER_8TAP_REGULAR, avg) \
2515
scaled_filter_fn(sz,        smooth,  FILTER_8TAP_SMOOTH,  avg) \
2516
scaled_filter_fn(sz,        sharp,   FILTER_8TAP_SHARP,   avg) \
2517
scaled_bilinf_fn(sz,                                      avg)
2518
2519
#define scaled_filter_fn_set(avg) \
2520
scaled_filter_fns(64, avg) \
2521
scaled_filter_fns(32, avg) \
2522
scaled_filter_fns(16, avg) \
2523
scaled_filter_fns(8,  avg) \
2524
scaled_filter_fns(4,  avg)
2525
2526
scaled_filter_fn_set(put)
2527
scaled_filter_fn_set(avg)
2528
2529
#undef scaled_filter_fns
2530
#undef scaled_filter_fn_set
2531
#undef scaled_filter_fn
2532
#undef scaled_bilinf_fn
2533
2534
#if BIT_DEPTH != 8
2535
void ff_vp9dsp_scaled_mc_init_10(VP9DSPContext *dsp);
2536
#endif
2537
#if BIT_DEPTH != 10
2538
static
2539
#endif
2540
av_cold void FUNC(ff_vp9dsp_scaled_mc_init)(VP9DSPContext *dsp)
2541
19.8k
{
2542
19.8k
#define init_scaled_bd_aware(idx1, idx2, sz, type) \
2543
198k
    dsp->smc[idx1][FILTER_8TAP_SMOOTH ][idx2] = type##_scaled_smooth_##sz##_c; \
2544
198k
    dsp->smc[idx1][FILTER_8TAP_REGULAR][idx2] = type##_scaled_regular_##sz##_c; \
2545
198k
    dsp->smc[idx1][FILTER_8TAP_SHARP  ][idx2] = type##_scaled_sharp_##sz##_c
2546
2547
#if BIT_DEPTH == 12
2548
    ff_vp9dsp_scaled_mc_init_10(dsp);
2549
45.7k
#define init_scaled(a,b,c,d) init_scaled_bd_aware(a,b,c,d)
2550
#else
2551
#define init_scaled(idx1, idx2, sz, type) \
2552
152k
    init_scaled_bd_aware(idx1, idx2, sz, type); \
2553
152k
    dsp->smc[idx1][FILTER_BILINEAR    ][idx2] = type##_scaled_bilin_##sz##_c
2554
#endif
2555
2556
19.8k
#define init_scaled_put_avg(idx, sz) \
2557
99.1k
    init_scaled(idx, 0, sz, put); \
2558
99.1k
    init_scaled(idx, 1, sz, avg)
2559
2560
19.8k
    init_scaled_put_avg(0, 64);
2561
19.8k
    init_scaled_put_avg(1, 32);
2562
19.8k
    init_scaled_put_avg(2, 16);
2563
19.8k
    init_scaled_put_avg(3,  8);
2564
19.8k
    init_scaled_put_avg(4,  4);
2565
2566
19.8k
#undef init_scaled_put_avg
2567
19.8k
#undef init_scaled
2568
19.8k
#undef init_scaled_bd_aware
2569
19.8k
}
ff_vp9dsp_scaled_mc_init_10
Line
Count
Source
2541
8.67k
{
2542
8.67k
#define init_scaled_bd_aware(idx1, idx2, sz, type) \
2543
8.67k
    dsp->smc[idx1][FILTER_8TAP_SMOOTH ][idx2] = type##_scaled_smooth_##sz##_c; \
2544
8.67k
    dsp->smc[idx1][FILTER_8TAP_REGULAR][idx2] = type##_scaled_regular_##sz##_c; \
2545
8.67k
    dsp->smc[idx1][FILTER_8TAP_SHARP  ][idx2] = type##_scaled_sharp_##sz##_c
2546
2547
#if BIT_DEPTH == 12
2548
    ff_vp9dsp_scaled_mc_init_10(dsp);
2549
#define init_scaled(a,b,c,d) init_scaled_bd_aware(a,b,c,d)
2550
#else
2551
8.67k
#define init_scaled(idx1, idx2, sz, type) \
2552
8.67k
    init_scaled_bd_aware(idx1, idx2, sz, type); \
2553
8.67k
    dsp->smc[idx1][FILTER_BILINEAR    ][idx2] = type##_scaled_bilin_##sz##_c
2554
8.67k
#endif
2555
2556
8.67k
#define init_scaled_put_avg(idx, sz) \
2557
8.67k
    init_scaled(idx, 0, sz, put); \
2558
8.67k
    init_scaled(idx, 1, sz, avg)
2559
2560
8.67k
    init_scaled_put_avg(0, 64);
2561
8.67k
    init_scaled_put_avg(1, 32);
2562
8.67k
    init_scaled_put_avg(2, 16);
2563
8.67k
    init_scaled_put_avg(3,  8);
2564
8.67k
    init_scaled_put_avg(4,  4);
2565
2566
8.67k
#undef init_scaled_put_avg
2567
8.67k
#undef init_scaled
2568
8.67k
#undef init_scaled_bd_aware
2569
8.67k
}
vp9dsp_12bpp.c:ff_vp9dsp_scaled_mc_init_12
Line
Count
Source
2541
4.57k
{
2542
4.57k
#define init_scaled_bd_aware(idx1, idx2, sz, type) \
2543
4.57k
    dsp->smc[idx1][FILTER_8TAP_SMOOTH ][idx2] = type##_scaled_smooth_##sz##_c; \
2544
4.57k
    dsp->smc[idx1][FILTER_8TAP_REGULAR][idx2] = type##_scaled_regular_##sz##_c; \
2545
4.57k
    dsp->smc[idx1][FILTER_8TAP_SHARP  ][idx2] = type##_scaled_sharp_##sz##_c
2546
2547
4.57k
#if BIT_DEPTH == 12
2548
4.57k
    ff_vp9dsp_scaled_mc_init_10(dsp);
2549
4.57k
#define init_scaled(a,b,c,d) init_scaled_bd_aware(a,b,c,d)
2550
#else
2551
#define init_scaled(idx1, idx2, sz, type) \
2552
    init_scaled_bd_aware(idx1, idx2, sz, type); \
2553
    dsp->smc[idx1][FILTER_BILINEAR    ][idx2] = type##_scaled_bilin_##sz##_c
2554
#endif
2555
2556
4.57k
#define init_scaled_put_avg(idx, sz) \
2557
4.57k
    init_scaled(idx, 0, sz, put); \
2558
4.57k
    init_scaled(idx, 1, sz, avg)
2559
2560
4.57k
    init_scaled_put_avg(0, 64);
2561
4.57k
    init_scaled_put_avg(1, 32);
2562
4.57k
    init_scaled_put_avg(2, 16);
2563
4.57k
    init_scaled_put_avg(3,  8);
2564
4.57k
    init_scaled_put_avg(4,  4);
2565
2566
4.57k
#undef init_scaled_put_avg
2567
4.57k
#undef init_scaled
2568
4.57k
#undef init_scaled_bd_aware
2569
4.57k
}
vp9dsp_8bpp.c:ff_vp9dsp_scaled_mc_init_8
Line
Count
Source
2541
6.58k
{
2542
6.58k
#define init_scaled_bd_aware(idx1, idx2, sz, type) \
2543
6.58k
    dsp->smc[idx1][FILTER_8TAP_SMOOTH ][idx2] = type##_scaled_smooth_##sz##_c; \
2544
6.58k
    dsp->smc[idx1][FILTER_8TAP_REGULAR][idx2] = type##_scaled_regular_##sz##_c; \
2545
6.58k
    dsp->smc[idx1][FILTER_8TAP_SHARP  ][idx2] = type##_scaled_sharp_##sz##_c
2546
2547
#if BIT_DEPTH == 12
2548
    ff_vp9dsp_scaled_mc_init_10(dsp);
2549
#define init_scaled(a,b,c,d) init_scaled_bd_aware(a,b,c,d)
2550
#else
2551
6.58k
#define init_scaled(idx1, idx2, sz, type) \
2552
6.58k
    init_scaled_bd_aware(idx1, idx2, sz, type); \
2553
6.58k
    dsp->smc[idx1][FILTER_BILINEAR    ][idx2] = type##_scaled_bilin_##sz##_c
2554
6.58k
#endif
2555
2556
6.58k
#define init_scaled_put_avg(idx, sz) \
2557
6.58k
    init_scaled(idx, 0, sz, put); \
2558
6.58k
    init_scaled(idx, 1, sz, avg)
2559
2560
6.58k
    init_scaled_put_avg(0, 64);
2561
6.58k
    init_scaled_put_avg(1, 32);
2562
6.58k
    init_scaled_put_avg(2, 16);
2563
6.58k
    init_scaled_put_avg(3,  8);
2564
6.58k
    init_scaled_put_avg(4,  4);
2565
2566
6.58k
#undef init_scaled_put_avg
2567
6.58k
#undef init_scaled
2568
6.58k
#undef init_scaled_bd_aware
2569
6.58k
}
2570
2571
av_cold void FUNC(ff_vp9dsp_init)(VP9DSPContext *dsp)
2572
15.2k
{
2573
15.2k
    FUNC(ff_vp9dsp_intrapred_init)(dsp);
2574
15.2k
    vp9dsp_itxfm_init(dsp);
2575
15.2k
    vp9dsp_loopfilter_init(dsp);
2576
15.2k
    FUNC(ff_vp9dsp_mc_init)(dsp);
2577
15.2k
    FUNC(ff_vp9dsp_scaled_mc_init)(dsp);
2578
15.2k
}
ff_vp9dsp_init_10
Line
Count
Source
2572
4.10k
{
2573
4.10k
    FUNC(ff_vp9dsp_intrapred_init)(dsp);
2574
4.10k
    vp9dsp_itxfm_init(dsp);
2575
4.10k
    vp9dsp_loopfilter_init(dsp);
2576
4.10k
    FUNC(ff_vp9dsp_mc_init)(dsp);
2577
4.10k
    FUNC(ff_vp9dsp_scaled_mc_init)(dsp);
2578
4.10k
}
ff_vp9dsp_init_12
Line
Count
Source
2572
4.57k
{
2573
4.57k
    FUNC(ff_vp9dsp_intrapred_init)(dsp);
2574
4.57k
    vp9dsp_itxfm_init(dsp);
2575
4.57k
    vp9dsp_loopfilter_init(dsp);
2576
4.57k
    FUNC(ff_vp9dsp_mc_init)(dsp);
2577
4.57k
    FUNC(ff_vp9dsp_scaled_mc_init)(dsp);
2578
4.57k
}
ff_vp9dsp_init_8
Line
Count
Source
2572
6.58k
{
2573
6.58k
    FUNC(ff_vp9dsp_intrapred_init)(dsp);
2574
6.58k
    vp9dsp_itxfm_init(dsp);
2575
6.58k
    vp9dsp_loopfilter_init(dsp);
2576
6.58k
    FUNC(ff_vp9dsp_mc_init)(dsp);
2577
6.58k
    FUNC(ff_vp9dsp_scaled_mc_init)(dsp);
2578
6.58k
}