Coverage Report

Created: 2026-09-14 08:00

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/ffmpeg/libavcodec/h264pred_template.c
Line
Count
Source
1
/*
2
 * H.26L/H.264/AVC/JVT/14496-10/... encoder/decoder
3
 * Copyright (c) 2003-2011 Michael Niedermayer <michaelni@gmx.at>
4
 *
5
 * This file is part of FFmpeg.
6
 *
7
 * FFmpeg is free software; you can redistribute it and/or
8
 * modify it under the terms of the GNU Lesser General Public
9
 * License as published by the Free Software Foundation; either
10
 * version 2.1 of the License, or (at your option) any later version.
11
 *
12
 * FFmpeg is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
 * Lesser General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU Lesser General Public
18
 * License along with FFmpeg; if not, write to the Free Software
19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
 */
21
22
/**
23
 * @file
24
 * H.264 / AVC / MPEG-4 part10 prediction functions.
25
 * @author Michael Niedermayer <michaelni@gmx.at>
26
 */
27
28
#include "libavutil/intreadwrite.h"
29
30
#include "mathops.h"
31
32
#include "bit_depth_template.c"
33
34
static void FUNCC(pred4x4_vertical)(uint8_t *_src, const uint8_t *topright,
35
                                    ptrdiff_t _stride)
36
7.65M
{
37
7.65M
    pixel *src = (pixel*)_src;
38
7.65M
    int stride = _stride>>(sizeof(pixel)-1);
39
7.65M
    const pixel4 a= AV_RN4PA(src-stride);
40
41
7.65M
    AV_WN4PA(src+0*stride, a);
42
7.65M
    AV_WN4PA(src+1*stride, a);
43
7.65M
    AV_WN4PA(src+2*stride, a);
44
7.65M
    AV_WN4PA(src+3*stride, a);
45
7.65M
}
h264pred.c:pred4x4_vertical_9_c
Line
Count
Source
36
89.5k
{
37
89.5k
    pixel *src = (pixel*)_src;
38
89.5k
    int stride = _stride>>(sizeof(pixel)-1);
39
89.5k
    const pixel4 a= AV_RN4PA(src-stride);
40
41
89.5k
    AV_WN4PA(src+0*stride, a);
42
89.5k
    AV_WN4PA(src+1*stride, a);
43
89.5k
    AV_WN4PA(src+2*stride, a);
44
89.5k
    AV_WN4PA(src+3*stride, a);
45
89.5k
}
h264pred.c:pred4x4_vertical_10_c
Line
Count
Source
36
102k
{
37
102k
    pixel *src = (pixel*)_src;
38
102k
    int stride = _stride>>(sizeof(pixel)-1);
39
102k
    const pixel4 a= AV_RN4PA(src-stride);
40
41
102k
    AV_WN4PA(src+0*stride, a);
42
102k
    AV_WN4PA(src+1*stride, a);
43
102k
    AV_WN4PA(src+2*stride, a);
44
102k
    AV_WN4PA(src+3*stride, a);
45
102k
}
h264pred.c:pred4x4_vertical_12_c
Line
Count
Source
36
47.2k
{
37
47.2k
    pixel *src = (pixel*)_src;
38
47.2k
    int stride = _stride>>(sizeof(pixel)-1);
39
47.2k
    const pixel4 a= AV_RN4PA(src-stride);
40
41
47.2k
    AV_WN4PA(src+0*stride, a);
42
47.2k
    AV_WN4PA(src+1*stride, a);
43
47.2k
    AV_WN4PA(src+2*stride, a);
44
47.2k
    AV_WN4PA(src+3*stride, a);
45
47.2k
}
h264pred.c:pred4x4_vertical_14_c
Line
Count
Source
36
22.4k
{
37
22.4k
    pixel *src = (pixel*)_src;
38
22.4k
    int stride = _stride>>(sizeof(pixel)-1);
39
22.4k
    const pixel4 a= AV_RN4PA(src-stride);
40
41
22.4k
    AV_WN4PA(src+0*stride, a);
42
22.4k
    AV_WN4PA(src+1*stride, a);
43
22.4k
    AV_WN4PA(src+2*stride, a);
44
22.4k
    AV_WN4PA(src+3*stride, a);
45
22.4k
}
h264pred.c:pred4x4_vertical_8_c
Line
Count
Source
36
7.39M
{
37
7.39M
    pixel *src = (pixel*)_src;
38
7.39M
    int stride = _stride>>(sizeof(pixel)-1);
39
7.39M
    const pixel4 a= AV_RN4PA(src-stride);
40
41
7.39M
    AV_WN4PA(src+0*stride, a);
42
7.39M
    AV_WN4PA(src+1*stride, a);
43
7.39M
    AV_WN4PA(src+2*stride, a);
44
7.39M
    AV_WN4PA(src+3*stride, a);
45
7.39M
}
46
47
static void FUNCC(pred4x4_horizontal)(uint8_t *_src, const uint8_t *topright,
48
                                      ptrdiff_t _stride)
49
11.1M
{
50
11.1M
    pixel *src = (pixel*)_src;
51
11.1M
    int stride = _stride>>(sizeof(pixel)-1);
52
11.1M
    AV_WN4PA(src+0*stride, PIXEL_SPLAT_X4(src[-1+0*stride]));
53
11.1M
    AV_WN4PA(src+1*stride, PIXEL_SPLAT_X4(src[-1+1*stride]));
54
11.1M
    AV_WN4PA(src+2*stride, PIXEL_SPLAT_X4(src[-1+2*stride]));
55
11.1M
    AV_WN4PA(src+3*stride, PIXEL_SPLAT_X4(src[-1+3*stride]));
56
11.1M
}
h264pred.c:pred4x4_horizontal_9_c
Line
Count
Source
49
62.7k
{
50
62.7k
    pixel *src = (pixel*)_src;
51
62.7k
    int stride = _stride>>(sizeof(pixel)-1);
52
62.7k
    AV_WN4PA(src+0*stride, PIXEL_SPLAT_X4(src[-1+0*stride]));
53
62.7k
    AV_WN4PA(src+1*stride, PIXEL_SPLAT_X4(src[-1+1*stride]));
54
62.7k
    AV_WN4PA(src+2*stride, PIXEL_SPLAT_X4(src[-1+2*stride]));
55
62.7k
    AV_WN4PA(src+3*stride, PIXEL_SPLAT_X4(src[-1+3*stride]));
56
62.7k
}
h264pred.c:pred4x4_horizontal_10_c
Line
Count
Source
49
102k
{
50
102k
    pixel *src = (pixel*)_src;
51
102k
    int stride = _stride>>(sizeof(pixel)-1);
52
102k
    AV_WN4PA(src+0*stride, PIXEL_SPLAT_X4(src[-1+0*stride]));
53
102k
    AV_WN4PA(src+1*stride, PIXEL_SPLAT_X4(src[-1+1*stride]));
54
102k
    AV_WN4PA(src+2*stride, PIXEL_SPLAT_X4(src[-1+2*stride]));
55
102k
    AV_WN4PA(src+3*stride, PIXEL_SPLAT_X4(src[-1+3*stride]));
56
102k
}
h264pred.c:pred4x4_horizontal_12_c
Line
Count
Source
49
54.3k
{
50
54.3k
    pixel *src = (pixel*)_src;
51
54.3k
    int stride = _stride>>(sizeof(pixel)-1);
52
54.3k
    AV_WN4PA(src+0*stride, PIXEL_SPLAT_X4(src[-1+0*stride]));
53
54.3k
    AV_WN4PA(src+1*stride, PIXEL_SPLAT_X4(src[-1+1*stride]));
54
54.3k
    AV_WN4PA(src+2*stride, PIXEL_SPLAT_X4(src[-1+2*stride]));
55
54.3k
    AV_WN4PA(src+3*stride, PIXEL_SPLAT_X4(src[-1+3*stride]));
56
54.3k
}
h264pred.c:pred4x4_horizontal_14_c
Line
Count
Source
49
28.5k
{
50
28.5k
    pixel *src = (pixel*)_src;
51
28.5k
    int stride = _stride>>(sizeof(pixel)-1);
52
28.5k
    AV_WN4PA(src+0*stride, PIXEL_SPLAT_X4(src[-1+0*stride]));
53
28.5k
    AV_WN4PA(src+1*stride, PIXEL_SPLAT_X4(src[-1+1*stride]));
54
28.5k
    AV_WN4PA(src+2*stride, PIXEL_SPLAT_X4(src[-1+2*stride]));
55
28.5k
    AV_WN4PA(src+3*stride, PIXEL_SPLAT_X4(src[-1+3*stride]));
56
28.5k
}
h264pred.c:pred4x4_horizontal_8_c
Line
Count
Source
49
10.8M
{
50
10.8M
    pixel *src = (pixel*)_src;
51
10.8M
    int stride = _stride>>(sizeof(pixel)-1);
52
10.8M
    AV_WN4PA(src+0*stride, PIXEL_SPLAT_X4(src[-1+0*stride]));
53
10.8M
    AV_WN4PA(src+1*stride, PIXEL_SPLAT_X4(src[-1+1*stride]));
54
10.8M
    AV_WN4PA(src+2*stride, PIXEL_SPLAT_X4(src[-1+2*stride]));
55
10.8M
    AV_WN4PA(src+3*stride, PIXEL_SPLAT_X4(src[-1+3*stride]));
56
10.8M
}
57
58
static void FUNCC(pred4x4_dc)(uint8_t *_src, const uint8_t *topright,
59
                              ptrdiff_t _stride)
60
26.7M
{
61
26.7M
    pixel *src = (pixel*)_src;
62
26.7M
    int stride = _stride>>(sizeof(pixel)-1);
63
26.7M
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride]
64
26.7M
                   + src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 4) >>3;
65
26.7M
    const pixel4 a = PIXEL_SPLAT_X4(dc);
66
67
26.7M
    AV_WN4PA(src+0*stride, a);
68
26.7M
    AV_WN4PA(src+1*stride, a);
69
26.7M
    AV_WN4PA(src+2*stride, a);
70
26.7M
    AV_WN4PA(src+3*stride, a);
71
26.7M
}
h264pred.c:pred4x4_dc_9_c
Line
Count
Source
60
682k
{
61
682k
    pixel *src = (pixel*)_src;
62
682k
    int stride = _stride>>(sizeof(pixel)-1);
63
682k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride]
64
682k
                   + src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 4) >>3;
65
682k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
66
67
682k
    AV_WN4PA(src+0*stride, a);
68
682k
    AV_WN4PA(src+1*stride, a);
69
682k
    AV_WN4PA(src+2*stride, a);
70
682k
    AV_WN4PA(src+3*stride, a);
71
682k
}
h264pred.c:pred4x4_dc_10_c
Line
Count
Source
60
329k
{
61
329k
    pixel *src = (pixel*)_src;
62
329k
    int stride = _stride>>(sizeof(pixel)-1);
63
329k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride]
64
329k
                   + src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 4) >>3;
65
329k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
66
67
329k
    AV_WN4PA(src+0*stride, a);
68
329k
    AV_WN4PA(src+1*stride, a);
69
329k
    AV_WN4PA(src+2*stride, a);
70
329k
    AV_WN4PA(src+3*stride, a);
71
329k
}
h264pred.c:pred4x4_dc_12_c
Line
Count
Source
60
280k
{
61
280k
    pixel *src = (pixel*)_src;
62
280k
    int stride = _stride>>(sizeof(pixel)-1);
63
280k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride]
64
280k
                   + src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 4) >>3;
65
280k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
66
67
280k
    AV_WN4PA(src+0*stride, a);
68
280k
    AV_WN4PA(src+1*stride, a);
69
280k
    AV_WN4PA(src+2*stride, a);
70
280k
    AV_WN4PA(src+3*stride, a);
71
280k
}
h264pred.c:pred4x4_dc_14_c
Line
Count
Source
60
657k
{
61
657k
    pixel *src = (pixel*)_src;
62
657k
    int stride = _stride>>(sizeof(pixel)-1);
63
657k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride]
64
657k
                   + src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 4) >>3;
65
657k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
66
67
657k
    AV_WN4PA(src+0*stride, a);
68
657k
    AV_WN4PA(src+1*stride, a);
69
657k
    AV_WN4PA(src+2*stride, a);
70
657k
    AV_WN4PA(src+3*stride, a);
71
657k
}
h264pred.c:pred4x4_dc_8_c
Line
Count
Source
60
24.8M
{
61
24.8M
    pixel *src = (pixel*)_src;
62
24.8M
    int stride = _stride>>(sizeof(pixel)-1);
63
24.8M
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride]
64
24.8M
                   + src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 4) >>3;
65
24.8M
    const pixel4 a = PIXEL_SPLAT_X4(dc);
66
67
24.8M
    AV_WN4PA(src+0*stride, a);
68
24.8M
    AV_WN4PA(src+1*stride, a);
69
24.8M
    AV_WN4PA(src+2*stride, a);
70
24.8M
    AV_WN4PA(src+3*stride, a);
71
24.8M
}
72
73
static void FUNCC(pred4x4_left_dc)(uint8_t *_src, const uint8_t *topright,
74
                                   ptrdiff_t _stride)
75
981k
{
76
981k
    pixel *src = (pixel*)_src;
77
981k
    int stride = _stride>>(sizeof(pixel)-1);
78
981k
    const int dc= (  src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 2) >>2;
79
981k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
80
81
981k
    AV_WN4PA(src+0*stride, a);
82
981k
    AV_WN4PA(src+1*stride, a);
83
981k
    AV_WN4PA(src+2*stride, a);
84
981k
    AV_WN4PA(src+3*stride, a);
85
981k
}
h264pred.c:pred4x4_left_dc_9_c
Line
Count
Source
75
121k
{
76
121k
    pixel *src = (pixel*)_src;
77
121k
    int stride = _stride>>(sizeof(pixel)-1);
78
121k
    const int dc= (  src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 2) >>2;
79
121k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
80
81
121k
    AV_WN4PA(src+0*stride, a);
82
121k
    AV_WN4PA(src+1*stride, a);
83
121k
    AV_WN4PA(src+2*stride, a);
84
121k
    AV_WN4PA(src+3*stride, a);
85
121k
}
h264pred.c:pred4x4_left_dc_10_c
Line
Count
Source
75
53.3k
{
76
53.3k
    pixel *src = (pixel*)_src;
77
53.3k
    int stride = _stride>>(sizeof(pixel)-1);
78
53.3k
    const int dc= (  src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 2) >>2;
79
53.3k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
80
81
53.3k
    AV_WN4PA(src+0*stride, a);
82
53.3k
    AV_WN4PA(src+1*stride, a);
83
53.3k
    AV_WN4PA(src+2*stride, a);
84
53.3k
    AV_WN4PA(src+3*stride, a);
85
53.3k
}
h264pred.c:pred4x4_left_dc_12_c
Line
Count
Source
75
74.9k
{
76
74.9k
    pixel *src = (pixel*)_src;
77
74.9k
    int stride = _stride>>(sizeof(pixel)-1);
78
74.9k
    const int dc= (  src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 2) >>2;
79
74.9k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
80
81
74.9k
    AV_WN4PA(src+0*stride, a);
82
74.9k
    AV_WN4PA(src+1*stride, a);
83
74.9k
    AV_WN4PA(src+2*stride, a);
84
74.9k
    AV_WN4PA(src+3*stride, a);
85
74.9k
}
h264pred.c:pred4x4_left_dc_14_c
Line
Count
Source
75
93.4k
{
76
93.4k
    pixel *src = (pixel*)_src;
77
93.4k
    int stride = _stride>>(sizeof(pixel)-1);
78
93.4k
    const int dc= (  src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 2) >>2;
79
93.4k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
80
81
93.4k
    AV_WN4PA(src+0*stride, a);
82
93.4k
    AV_WN4PA(src+1*stride, a);
83
93.4k
    AV_WN4PA(src+2*stride, a);
84
93.4k
    AV_WN4PA(src+3*stride, a);
85
93.4k
}
h264pred.c:pred4x4_left_dc_8_c
Line
Count
Source
75
638k
{
76
638k
    pixel *src = (pixel*)_src;
77
638k
    int stride = _stride>>(sizeof(pixel)-1);
78
638k
    const int dc= (  src[-1+0*stride] + src[-1+1*stride] + src[-1+2*stride] + src[-1+3*stride] + 2) >>2;
79
638k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
80
81
638k
    AV_WN4PA(src+0*stride, a);
82
638k
    AV_WN4PA(src+1*stride, a);
83
638k
    AV_WN4PA(src+2*stride, a);
84
638k
    AV_WN4PA(src+3*stride, a);
85
638k
}
86
87
static void FUNCC(pred4x4_top_dc)(uint8_t *_src, const uint8_t *topright,
88
                                  ptrdiff_t _stride)
89
895k
{
90
895k
    pixel *src = (pixel*)_src;
91
895k
    int stride = _stride>>(sizeof(pixel)-1);
92
895k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride] + 2) >>2;
93
895k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
94
95
895k
    AV_WN4PA(src+0*stride, a);
96
895k
    AV_WN4PA(src+1*stride, a);
97
895k
    AV_WN4PA(src+2*stride, a);
98
895k
    AV_WN4PA(src+3*stride, a);
99
895k
}
h264pred.c:pred4x4_top_dc_9_c
Line
Count
Source
89
138k
{
90
138k
    pixel *src = (pixel*)_src;
91
138k
    int stride = _stride>>(sizeof(pixel)-1);
92
138k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride] + 2) >>2;
93
138k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
94
95
138k
    AV_WN4PA(src+0*stride, a);
96
138k
    AV_WN4PA(src+1*stride, a);
97
138k
    AV_WN4PA(src+2*stride, a);
98
138k
    AV_WN4PA(src+3*stride, a);
99
138k
}
h264pred.c:pred4x4_top_dc_10_c
Line
Count
Source
89
58.1k
{
90
58.1k
    pixel *src = (pixel*)_src;
91
58.1k
    int stride = _stride>>(sizeof(pixel)-1);
92
58.1k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride] + 2) >>2;
93
58.1k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
94
95
58.1k
    AV_WN4PA(src+0*stride, a);
96
58.1k
    AV_WN4PA(src+1*stride, a);
97
58.1k
    AV_WN4PA(src+2*stride, a);
98
58.1k
    AV_WN4PA(src+3*stride, a);
99
58.1k
}
h264pred.c:pred4x4_top_dc_12_c
Line
Count
Source
89
81.1k
{
90
81.1k
    pixel *src = (pixel*)_src;
91
81.1k
    int stride = _stride>>(sizeof(pixel)-1);
92
81.1k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride] + 2) >>2;
93
81.1k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
94
95
81.1k
    AV_WN4PA(src+0*stride, a);
96
81.1k
    AV_WN4PA(src+1*stride, a);
97
81.1k
    AV_WN4PA(src+2*stride, a);
98
81.1k
    AV_WN4PA(src+3*stride, a);
99
81.1k
}
h264pred.c:pred4x4_top_dc_14_c
Line
Count
Source
89
140k
{
90
140k
    pixel *src = (pixel*)_src;
91
140k
    int stride = _stride>>(sizeof(pixel)-1);
92
140k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride] + 2) >>2;
93
140k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
94
95
140k
    AV_WN4PA(src+0*stride, a);
96
140k
    AV_WN4PA(src+1*stride, a);
97
140k
    AV_WN4PA(src+2*stride, a);
98
140k
    AV_WN4PA(src+3*stride, a);
99
140k
}
h264pred.c:pred4x4_top_dc_8_c
Line
Count
Source
89
478k
{
90
478k
    pixel *src = (pixel*)_src;
91
478k
    int stride = _stride>>(sizeof(pixel)-1);
92
478k
    const int dc= (  src[-stride] + src[1-stride] + src[2-stride] + src[3-stride] + 2) >>2;
93
478k
    const pixel4 a = PIXEL_SPLAT_X4(dc);
94
95
478k
    AV_WN4PA(src+0*stride, a);
96
478k
    AV_WN4PA(src+1*stride, a);
97
478k
    AV_WN4PA(src+2*stride, a);
98
478k
    AV_WN4PA(src+3*stride, a);
99
478k
}
100
101
static void FUNCC(pred4x4_128_dc)(uint8_t *_src, const uint8_t *topright,
102
                                  ptrdiff_t _stride)
103
218k
{
104
218k
    pixel *src = (pixel*)_src;
105
218k
    int stride = _stride>>(sizeof(pixel)-1);
106
218k
    const pixel4 a = PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1));
107
108
218k
    AV_WN4PA(src+0*stride, a);
109
218k
    AV_WN4PA(src+1*stride, a);
110
218k
    AV_WN4PA(src+2*stride, a);
111
218k
    AV_WN4PA(src+3*stride, a);
112
218k
}
h264pred.c:pred4x4_128_dc_9_c
Line
Count
Source
103
37.0k
{
104
37.0k
    pixel *src = (pixel*)_src;
105
37.0k
    int stride = _stride>>(sizeof(pixel)-1);
106
37.0k
    const pixel4 a = PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1));
107
108
37.0k
    AV_WN4PA(src+0*stride, a);
109
37.0k
    AV_WN4PA(src+1*stride, a);
110
37.0k
    AV_WN4PA(src+2*stride, a);
111
37.0k
    AV_WN4PA(src+3*stride, a);
112
37.0k
}
h264pred.c:pred4x4_128_dc_10_c
Line
Count
Source
103
17.4k
{
104
17.4k
    pixel *src = (pixel*)_src;
105
17.4k
    int stride = _stride>>(sizeof(pixel)-1);
106
17.4k
    const pixel4 a = PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1));
107
108
17.4k
    AV_WN4PA(src+0*stride, a);
109
17.4k
    AV_WN4PA(src+1*stride, a);
110
17.4k
    AV_WN4PA(src+2*stride, a);
111
17.4k
    AV_WN4PA(src+3*stride, a);
112
17.4k
}
h264pred.c:pred4x4_128_dc_12_c
Line
Count
Source
103
32.3k
{
104
32.3k
    pixel *src = (pixel*)_src;
105
32.3k
    int stride = _stride>>(sizeof(pixel)-1);
106
32.3k
    const pixel4 a = PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1));
107
108
32.3k
    AV_WN4PA(src+0*stride, a);
109
32.3k
    AV_WN4PA(src+1*stride, a);
110
32.3k
    AV_WN4PA(src+2*stride, a);
111
32.3k
    AV_WN4PA(src+3*stride, a);
112
32.3k
}
h264pred.c:pred4x4_128_dc_14_c
Line
Count
Source
103
21.7k
{
104
21.7k
    pixel *src = (pixel*)_src;
105
21.7k
    int stride = _stride>>(sizeof(pixel)-1);
106
21.7k
    const pixel4 a = PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1));
107
108
21.7k
    AV_WN4PA(src+0*stride, a);
109
21.7k
    AV_WN4PA(src+1*stride, a);
110
21.7k
    AV_WN4PA(src+2*stride, a);
111
21.7k
    AV_WN4PA(src+3*stride, a);
112
21.7k
}
h264pred.c:pred4x4_128_dc_8_c
Line
Count
Source
103
109k
{
104
109k
    pixel *src = (pixel*)_src;
105
109k
    int stride = _stride>>(sizeof(pixel)-1);
106
109k
    const pixel4 a = PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1));
107
108
109k
    AV_WN4PA(src+0*stride, a);
109
109k
    AV_WN4PA(src+1*stride, a);
110
109k
    AV_WN4PA(src+2*stride, a);
111
109k
    AV_WN4PA(src+3*stride, a);
112
109k
}
113
114
115
#define LOAD_TOP_RIGHT_EDGE\
116
13.0M
    av_unused const unsigned t4 = topright[0];\
117
13.0M
    av_unused const unsigned t5 = topright[1];\
118
13.0M
    av_unused const unsigned t6 = topright[2];\
119
13.0M
    av_unused const unsigned t7 = topright[3];\
120
121
#define LOAD_DOWN_LEFT_EDGE\
122
2.34M
    av_unused const unsigned l4 = src[-1+4*stride];\
123
2.34M
    av_unused const unsigned l5 = src[-1+5*stride];\
124
2.34M
    av_unused const unsigned l6 = src[-1+6*stride];\
125
2.34M
    av_unused const unsigned l7 = src[-1+7*stride];\
126
127
#define LOAD_LEFT_EDGE\
128
22.6M
    av_unused const unsigned l0 = src[-1+0*stride];\
129
22.6M
    av_unused const unsigned l1 = src[-1+1*stride];\
130
22.6M
    av_unused const unsigned l2 = src[-1+2*stride];\
131
22.6M
    av_unused const unsigned l3 = src[-1+3*stride];\
132
133
#define LOAD_TOP_EDGE\
134
22.8M
    av_unused const unsigned t0 = src[ 0-1*stride];\
135
22.8M
    av_unused const unsigned t1 = src[ 1-1*stride];\
136
22.8M
    av_unused const unsigned t2 = src[ 2-1*stride];\
137
22.8M
    av_unused const unsigned t3 = src[ 3-1*stride];\
138
139
static void FUNCC(pred4x4_down_right)(uint8_t *_src, const uint8_t *topright,
140
                                      ptrdiff_t _stride)
141
2.95M
{
142
2.95M
    pixel *src = (pixel*)_src;
143
2.95M
    int stride = _stride>>(sizeof(pixel)-1);
144
2.95M
    const int lt= src[-1-1*stride];
145
2.95M
    LOAD_TOP_EDGE
146
2.95M
    LOAD_LEFT_EDGE
147
148
2.95M
    src[0+3*stride]=(l3 + 2*l2 + l1 + 2)>>2;
149
2.95M
    src[0+2*stride]=
150
2.95M
    src[1+3*stride]=(l2 + 2*l1 + l0 + 2)>>2;
151
2.95M
    src[0+1*stride]=
152
2.95M
    src[1+2*stride]=
153
2.95M
    src[2+3*stride]=(l1 + 2*l0 + lt + 2)>>2;
154
2.95M
    src[0+0*stride]=
155
2.95M
    src[1+1*stride]=
156
2.95M
    src[2+2*stride]=
157
2.95M
    src[3+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
158
2.95M
    src[1+0*stride]=
159
2.95M
    src[2+1*stride]=
160
2.95M
    src[3+2*stride]=(lt + 2*t0 + t1 + 2)>>2;
161
2.95M
    src[2+0*stride]=
162
2.95M
    src[3+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
163
2.95M
    src[3+0*stride]=(t1 + 2*t2 + t3 + 2)>>2;
164
2.95M
}
h264pred.c:pred4x4_down_right_9_c
Line
Count
Source
141
48.1k
{
142
48.1k
    pixel *src = (pixel*)_src;
143
48.1k
    int stride = _stride>>(sizeof(pixel)-1);
144
48.1k
    const int lt= src[-1-1*stride];
145
48.1k
    LOAD_TOP_EDGE
146
48.1k
    LOAD_LEFT_EDGE
147
148
48.1k
    src[0+3*stride]=(l3 + 2*l2 + l1 + 2)>>2;
149
48.1k
    src[0+2*stride]=
150
48.1k
    src[1+3*stride]=(l2 + 2*l1 + l0 + 2)>>2;
151
48.1k
    src[0+1*stride]=
152
48.1k
    src[1+2*stride]=
153
48.1k
    src[2+3*stride]=(l1 + 2*l0 + lt + 2)>>2;
154
48.1k
    src[0+0*stride]=
155
48.1k
    src[1+1*stride]=
156
48.1k
    src[2+2*stride]=
157
48.1k
    src[3+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
158
48.1k
    src[1+0*stride]=
159
48.1k
    src[2+1*stride]=
160
48.1k
    src[3+2*stride]=(lt + 2*t0 + t1 + 2)>>2;
161
48.1k
    src[2+0*stride]=
162
48.1k
    src[3+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
163
48.1k
    src[3+0*stride]=(t1 + 2*t2 + t3 + 2)>>2;
164
48.1k
}
h264pred.c:pred4x4_down_right_10_c
Line
Count
Source
141
28.4k
{
142
28.4k
    pixel *src = (pixel*)_src;
143
28.4k
    int stride = _stride>>(sizeof(pixel)-1);
144
28.4k
    const int lt= src[-1-1*stride];
145
28.4k
    LOAD_TOP_EDGE
146
28.4k
    LOAD_LEFT_EDGE
147
148
28.4k
    src[0+3*stride]=(l3 + 2*l2 + l1 + 2)>>2;
149
28.4k
    src[0+2*stride]=
150
28.4k
    src[1+3*stride]=(l2 + 2*l1 + l0 + 2)>>2;
151
28.4k
    src[0+1*stride]=
152
28.4k
    src[1+2*stride]=
153
28.4k
    src[2+3*stride]=(l1 + 2*l0 + lt + 2)>>2;
154
28.4k
    src[0+0*stride]=
155
28.4k
    src[1+1*stride]=
156
28.4k
    src[2+2*stride]=
157
28.4k
    src[3+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
158
28.4k
    src[1+0*stride]=
159
28.4k
    src[2+1*stride]=
160
28.4k
    src[3+2*stride]=(lt + 2*t0 + t1 + 2)>>2;
161
28.4k
    src[2+0*stride]=
162
28.4k
    src[3+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
163
28.4k
    src[3+0*stride]=(t1 + 2*t2 + t3 + 2)>>2;
164
28.4k
}
h264pred.c:pred4x4_down_right_12_c
Line
Count
Source
141
12.9k
{
142
12.9k
    pixel *src = (pixel*)_src;
143
12.9k
    int stride = _stride>>(sizeof(pixel)-1);
144
12.9k
    const int lt= src[-1-1*stride];
145
12.9k
    LOAD_TOP_EDGE
146
12.9k
    LOAD_LEFT_EDGE
147
148
12.9k
    src[0+3*stride]=(l3 + 2*l2 + l1 + 2)>>2;
149
12.9k
    src[0+2*stride]=
150
12.9k
    src[1+3*stride]=(l2 + 2*l1 + l0 + 2)>>2;
151
12.9k
    src[0+1*stride]=
152
12.9k
    src[1+2*stride]=
153
12.9k
    src[2+3*stride]=(l1 + 2*l0 + lt + 2)>>2;
154
12.9k
    src[0+0*stride]=
155
12.9k
    src[1+1*stride]=
156
12.9k
    src[2+2*stride]=
157
12.9k
    src[3+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
158
12.9k
    src[1+0*stride]=
159
12.9k
    src[2+1*stride]=
160
12.9k
    src[3+2*stride]=(lt + 2*t0 + t1 + 2)>>2;
161
12.9k
    src[2+0*stride]=
162
12.9k
    src[3+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
163
12.9k
    src[3+0*stride]=(t1 + 2*t2 + t3 + 2)>>2;
164
12.9k
}
h264pred.c:pred4x4_down_right_14_c
Line
Count
Source
141
11.2k
{
142
11.2k
    pixel *src = (pixel*)_src;
143
11.2k
    int stride = _stride>>(sizeof(pixel)-1);
144
11.2k
    const int lt= src[-1-1*stride];
145
11.2k
    LOAD_TOP_EDGE
146
11.2k
    LOAD_LEFT_EDGE
147
148
11.2k
    src[0+3*stride]=(l3 + 2*l2 + l1 + 2)>>2;
149
11.2k
    src[0+2*stride]=
150
11.2k
    src[1+3*stride]=(l2 + 2*l1 + l0 + 2)>>2;
151
11.2k
    src[0+1*stride]=
152
11.2k
    src[1+2*stride]=
153
11.2k
    src[2+3*stride]=(l1 + 2*l0 + lt + 2)>>2;
154
11.2k
    src[0+0*stride]=
155
11.2k
    src[1+1*stride]=
156
11.2k
    src[2+2*stride]=
157
11.2k
    src[3+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
158
11.2k
    src[1+0*stride]=
159
11.2k
    src[2+1*stride]=
160
11.2k
    src[3+2*stride]=(lt + 2*t0 + t1 + 2)>>2;
161
11.2k
    src[2+0*stride]=
162
11.2k
    src[3+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
163
11.2k
    src[3+0*stride]=(t1 + 2*t2 + t3 + 2)>>2;
164
11.2k
}
h264pred.c:pred4x4_down_right_8_c
Line
Count
Source
141
2.85M
{
142
2.85M
    pixel *src = (pixel*)_src;
143
2.85M
    int stride = _stride>>(sizeof(pixel)-1);
144
2.85M
    const int lt= src[-1-1*stride];
145
2.85M
    LOAD_TOP_EDGE
146
2.85M
    LOAD_LEFT_EDGE
147
148
2.85M
    src[0+3*stride]=(l3 + 2*l2 + l1 + 2)>>2;
149
2.85M
    src[0+2*stride]=
150
2.85M
    src[1+3*stride]=(l2 + 2*l1 + l0 + 2)>>2;
151
2.85M
    src[0+1*stride]=
152
2.85M
    src[1+2*stride]=
153
2.85M
    src[2+3*stride]=(l1 + 2*l0 + lt + 2)>>2;
154
2.85M
    src[0+0*stride]=
155
2.85M
    src[1+1*stride]=
156
2.85M
    src[2+2*stride]=
157
2.85M
    src[3+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
158
2.85M
    src[1+0*stride]=
159
2.85M
    src[2+1*stride]=
160
2.85M
    src[3+2*stride]=(lt + 2*t0 + t1 + 2)>>2;
161
2.85M
    src[2+0*stride]=
162
2.85M
    src[3+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
163
2.85M
    src[3+0*stride]=(t1 + 2*t2 + t3 + 2)>>2;
164
2.85M
}
165
166
static void FUNCC(pred4x4_down_left)(uint8_t *_src, const uint8_t *_topright,
167
                                     ptrdiff_t _stride)
168
402k
{
169
402k
    pixel *src = (pixel*)_src;
170
402k
    const pixel *topright = (const pixel*)_topright;
171
402k
    int stride = _stride>>(sizeof(pixel)-1);
172
402k
    LOAD_TOP_EDGE
173
402k
    LOAD_TOP_RIGHT_EDGE
174
//    LOAD_LEFT_EDGE
175
176
402k
    src[0+0*stride]=(t0 + t2 + 2*t1 + 2)>>2;
177
402k
    src[1+0*stride]=
178
402k
    src[0+1*stride]=(t1 + t3 + 2*t2 + 2)>>2;
179
402k
    src[2+0*stride]=
180
402k
    src[1+1*stride]=
181
402k
    src[0+2*stride]=(t2 + t4 + 2*t3 + 2)>>2;
182
402k
    src[3+0*stride]=
183
402k
    src[2+1*stride]=
184
402k
    src[1+2*stride]=
185
402k
    src[0+3*stride]=(t3 + t5 + 2*t4 + 2)>>2;
186
402k
    src[3+1*stride]=
187
402k
    src[2+2*stride]=
188
402k
    src[1+3*stride]=(t4 + t6 + 2*t5 + 2)>>2;
189
402k
    src[3+2*stride]=
190
402k
    src[2+3*stride]=(t5 + t7 + 2*t6 + 2)>>2;
191
402k
    src[3+3*stride]=(t6 + 3*t7 + 2)>>2;
192
402k
}
h264pred.c:pred4x4_down_left_9_c
Line
Count
Source
168
52.6k
{
169
52.6k
    pixel *src = (pixel*)_src;
170
52.6k
    const pixel *topright = (const pixel*)_topright;
171
52.6k
    int stride = _stride>>(sizeof(pixel)-1);
172
52.6k
    LOAD_TOP_EDGE
173
52.6k
    LOAD_TOP_RIGHT_EDGE
174
//    LOAD_LEFT_EDGE
175
176
52.6k
    src[0+0*stride]=(t0 + t2 + 2*t1 + 2)>>2;
177
52.6k
    src[1+0*stride]=
178
52.6k
    src[0+1*stride]=(t1 + t3 + 2*t2 + 2)>>2;
179
52.6k
    src[2+0*stride]=
180
52.6k
    src[1+1*stride]=
181
52.6k
    src[0+2*stride]=(t2 + t4 + 2*t3 + 2)>>2;
182
52.6k
    src[3+0*stride]=
183
52.6k
    src[2+1*stride]=
184
52.6k
    src[1+2*stride]=
185
52.6k
    src[0+3*stride]=(t3 + t5 + 2*t4 + 2)>>2;
186
52.6k
    src[3+1*stride]=
187
52.6k
    src[2+2*stride]=
188
52.6k
    src[1+3*stride]=(t4 + t6 + 2*t5 + 2)>>2;
189
52.6k
    src[3+2*stride]=
190
52.6k
    src[2+3*stride]=(t5 + t7 + 2*t6 + 2)>>2;
191
52.6k
    src[3+3*stride]=(t6 + 3*t7 + 2)>>2;
192
52.6k
}
h264pred.c:pred4x4_down_left_10_c
Line
Count
Source
168
54.3k
{
169
54.3k
    pixel *src = (pixel*)_src;
170
54.3k
    const pixel *topright = (const pixel*)_topright;
171
54.3k
    int stride = _stride>>(sizeof(pixel)-1);
172
54.3k
    LOAD_TOP_EDGE
173
54.3k
    LOAD_TOP_RIGHT_EDGE
174
//    LOAD_LEFT_EDGE
175
176
54.3k
    src[0+0*stride]=(t0 + t2 + 2*t1 + 2)>>2;
177
54.3k
    src[1+0*stride]=
178
54.3k
    src[0+1*stride]=(t1 + t3 + 2*t2 + 2)>>2;
179
54.3k
    src[2+0*stride]=
180
54.3k
    src[1+1*stride]=
181
54.3k
    src[0+2*stride]=(t2 + t4 + 2*t3 + 2)>>2;
182
54.3k
    src[3+0*stride]=
183
54.3k
    src[2+1*stride]=
184
54.3k
    src[1+2*stride]=
185
54.3k
    src[0+3*stride]=(t3 + t5 + 2*t4 + 2)>>2;
186
54.3k
    src[3+1*stride]=
187
54.3k
    src[2+2*stride]=
188
54.3k
    src[1+3*stride]=(t4 + t6 + 2*t5 + 2)>>2;
189
54.3k
    src[3+2*stride]=
190
54.3k
    src[2+3*stride]=(t5 + t7 + 2*t6 + 2)>>2;
191
54.3k
    src[3+3*stride]=(t6 + 3*t7 + 2)>>2;
192
54.3k
}
h264pred.c:pred4x4_down_left_12_c
Line
Count
Source
168
13.0k
{
169
13.0k
    pixel *src = (pixel*)_src;
170
13.0k
    const pixel *topright = (const pixel*)_topright;
171
13.0k
    int stride = _stride>>(sizeof(pixel)-1);
172
13.0k
    LOAD_TOP_EDGE
173
13.0k
    LOAD_TOP_RIGHT_EDGE
174
//    LOAD_LEFT_EDGE
175
176
13.0k
    src[0+0*stride]=(t0 + t2 + 2*t1 + 2)>>2;
177
13.0k
    src[1+0*stride]=
178
13.0k
    src[0+1*stride]=(t1 + t3 + 2*t2 + 2)>>2;
179
13.0k
    src[2+0*stride]=
180
13.0k
    src[1+1*stride]=
181
13.0k
    src[0+2*stride]=(t2 + t4 + 2*t3 + 2)>>2;
182
13.0k
    src[3+0*stride]=
183
13.0k
    src[2+1*stride]=
184
13.0k
    src[1+2*stride]=
185
13.0k
    src[0+3*stride]=(t3 + t5 + 2*t4 + 2)>>2;
186
13.0k
    src[3+1*stride]=
187
13.0k
    src[2+2*stride]=
188
13.0k
    src[1+3*stride]=(t4 + t6 + 2*t5 + 2)>>2;
189
13.0k
    src[3+2*stride]=
190
13.0k
    src[2+3*stride]=(t5 + t7 + 2*t6 + 2)>>2;
191
13.0k
    src[3+3*stride]=(t6 + 3*t7 + 2)>>2;
192
13.0k
}
h264pred.c:pred4x4_down_left_14_c
Line
Count
Source
168
13.8k
{
169
13.8k
    pixel *src = (pixel*)_src;
170
13.8k
    const pixel *topright = (const pixel*)_topright;
171
13.8k
    int stride = _stride>>(sizeof(pixel)-1);
172
13.8k
    LOAD_TOP_EDGE
173
13.8k
    LOAD_TOP_RIGHT_EDGE
174
//    LOAD_LEFT_EDGE
175
176
13.8k
    src[0+0*stride]=(t0 + t2 + 2*t1 + 2)>>2;
177
13.8k
    src[1+0*stride]=
178
13.8k
    src[0+1*stride]=(t1 + t3 + 2*t2 + 2)>>2;
179
13.8k
    src[2+0*stride]=
180
13.8k
    src[1+1*stride]=
181
13.8k
    src[0+2*stride]=(t2 + t4 + 2*t3 + 2)>>2;
182
13.8k
    src[3+0*stride]=
183
13.8k
    src[2+1*stride]=
184
13.8k
    src[1+2*stride]=
185
13.8k
    src[0+3*stride]=(t3 + t5 + 2*t4 + 2)>>2;
186
13.8k
    src[3+1*stride]=
187
13.8k
    src[2+2*stride]=
188
13.8k
    src[1+3*stride]=(t4 + t6 + 2*t5 + 2)>>2;
189
13.8k
    src[3+2*stride]=
190
13.8k
    src[2+3*stride]=(t5 + t7 + 2*t6 + 2)>>2;
191
13.8k
    src[3+3*stride]=(t6 + 3*t7 + 2)>>2;
192
13.8k
}
h264pred.c:pred4x4_down_left_8_c
Line
Count
Source
168
268k
{
169
268k
    pixel *src = (pixel*)_src;
170
268k
    const pixel *topright = (const pixel*)_topright;
171
268k
    int stride = _stride>>(sizeof(pixel)-1);
172
268k
    LOAD_TOP_EDGE
173
268k
    LOAD_TOP_RIGHT_EDGE
174
//    LOAD_LEFT_EDGE
175
176
268k
    src[0+0*stride]=(t0 + t2 + 2*t1 + 2)>>2;
177
268k
    src[1+0*stride]=
178
268k
    src[0+1*stride]=(t1 + t3 + 2*t2 + 2)>>2;
179
268k
    src[2+0*stride]=
180
268k
    src[1+1*stride]=
181
268k
    src[0+2*stride]=(t2 + t4 + 2*t3 + 2)>>2;
182
268k
    src[3+0*stride]=
183
268k
    src[2+1*stride]=
184
268k
    src[1+2*stride]=
185
268k
    src[0+3*stride]=(t3 + t5 + 2*t4 + 2)>>2;
186
268k
    src[3+1*stride]=
187
268k
    src[2+2*stride]=
188
268k
    src[1+3*stride]=(t4 + t6 + 2*t5 + 2)>>2;
189
268k
    src[3+2*stride]=
190
268k
    src[2+3*stride]=(t5 + t7 + 2*t6 + 2)>>2;
191
268k
    src[3+3*stride]=(t6 + 3*t7 + 2)>>2;
192
268k
}
193
194
static void FUNCC(pred4x4_vertical_right)(uint8_t *_src,
195
                                          const uint8_t *topright,
196
                                          ptrdiff_t _stride)
197
4.03M
{
198
4.03M
    pixel *src = (pixel*)_src;
199
4.03M
    int stride = _stride>>(sizeof(pixel)-1);
200
4.03M
    const int lt= src[-1-1*stride];
201
4.03M
    LOAD_TOP_EDGE
202
4.03M
    LOAD_LEFT_EDGE
203
204
4.03M
    src[0+0*stride]=
205
4.03M
    src[1+2*stride]=(lt + t0 + 1)>>1;
206
4.03M
    src[1+0*stride]=
207
4.03M
    src[2+2*stride]=(t0 + t1 + 1)>>1;
208
4.03M
    src[2+0*stride]=
209
4.03M
    src[3+2*stride]=(t1 + t2 + 1)>>1;
210
4.03M
    src[3+0*stride]=(t2 + t3 + 1)>>1;
211
4.03M
    src[0+1*stride]=
212
4.03M
    src[1+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
213
4.03M
    src[1+1*stride]=
214
4.03M
    src[2+3*stride]=(lt + 2*t0 + t1 + 2)>>2;
215
4.03M
    src[2+1*stride]=
216
4.03M
    src[3+3*stride]=(t0 + 2*t1 + t2 + 2)>>2;
217
4.03M
    src[3+1*stride]=(t1 + 2*t2 + t3 + 2)>>2;
218
4.03M
    src[0+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
219
4.03M
    src[0+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
220
4.03M
}
h264pred.c:pred4x4_vertical_right_9_c
Line
Count
Source
197
43.3k
{
198
43.3k
    pixel *src = (pixel*)_src;
199
43.3k
    int stride = _stride>>(sizeof(pixel)-1);
200
43.3k
    const int lt= src[-1-1*stride];
201
43.3k
    LOAD_TOP_EDGE
202
43.3k
    LOAD_LEFT_EDGE
203
204
43.3k
    src[0+0*stride]=
205
43.3k
    src[1+2*stride]=(lt + t0 + 1)>>1;
206
43.3k
    src[1+0*stride]=
207
43.3k
    src[2+2*stride]=(t0 + t1 + 1)>>1;
208
43.3k
    src[2+0*stride]=
209
43.3k
    src[3+2*stride]=(t1 + t2 + 1)>>1;
210
43.3k
    src[3+0*stride]=(t2 + t3 + 1)>>1;
211
43.3k
    src[0+1*stride]=
212
43.3k
    src[1+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
213
43.3k
    src[1+1*stride]=
214
43.3k
    src[2+3*stride]=(lt + 2*t0 + t1 + 2)>>2;
215
43.3k
    src[2+1*stride]=
216
43.3k
    src[3+3*stride]=(t0 + 2*t1 + t2 + 2)>>2;
217
43.3k
    src[3+1*stride]=(t1 + 2*t2 + t3 + 2)>>2;
218
43.3k
    src[0+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
219
43.3k
    src[0+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
220
43.3k
}
h264pred.c:pred4x4_vertical_right_10_c
Line
Count
Source
197
28.3k
{
198
28.3k
    pixel *src = (pixel*)_src;
199
28.3k
    int stride = _stride>>(sizeof(pixel)-1);
200
28.3k
    const int lt= src[-1-1*stride];
201
28.3k
    LOAD_TOP_EDGE
202
28.3k
    LOAD_LEFT_EDGE
203
204
28.3k
    src[0+0*stride]=
205
28.3k
    src[1+2*stride]=(lt + t0 + 1)>>1;
206
28.3k
    src[1+0*stride]=
207
28.3k
    src[2+2*stride]=(t0 + t1 + 1)>>1;
208
28.3k
    src[2+0*stride]=
209
28.3k
    src[3+2*stride]=(t1 + t2 + 1)>>1;
210
28.3k
    src[3+0*stride]=(t2 + t3 + 1)>>1;
211
28.3k
    src[0+1*stride]=
212
28.3k
    src[1+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
213
28.3k
    src[1+1*stride]=
214
28.3k
    src[2+3*stride]=(lt + 2*t0 + t1 + 2)>>2;
215
28.3k
    src[2+1*stride]=
216
28.3k
    src[3+3*stride]=(t0 + 2*t1 + t2 + 2)>>2;
217
28.3k
    src[3+1*stride]=(t1 + 2*t2 + t3 + 2)>>2;
218
28.3k
    src[0+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
219
28.3k
    src[0+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
220
28.3k
}
h264pred.c:pred4x4_vertical_right_12_c
Line
Count
Source
197
8.43k
{
198
8.43k
    pixel *src = (pixel*)_src;
199
8.43k
    int stride = _stride>>(sizeof(pixel)-1);
200
8.43k
    const int lt= src[-1-1*stride];
201
8.43k
    LOAD_TOP_EDGE
202
8.43k
    LOAD_LEFT_EDGE
203
204
8.43k
    src[0+0*stride]=
205
8.43k
    src[1+2*stride]=(lt + t0 + 1)>>1;
206
8.43k
    src[1+0*stride]=
207
8.43k
    src[2+2*stride]=(t0 + t1 + 1)>>1;
208
8.43k
    src[2+0*stride]=
209
8.43k
    src[3+2*stride]=(t1 + t2 + 1)>>1;
210
8.43k
    src[3+0*stride]=(t2 + t3 + 1)>>1;
211
8.43k
    src[0+1*stride]=
212
8.43k
    src[1+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
213
8.43k
    src[1+1*stride]=
214
8.43k
    src[2+3*stride]=(lt + 2*t0 + t1 + 2)>>2;
215
8.43k
    src[2+1*stride]=
216
8.43k
    src[3+3*stride]=(t0 + 2*t1 + t2 + 2)>>2;
217
8.43k
    src[3+1*stride]=(t1 + 2*t2 + t3 + 2)>>2;
218
8.43k
    src[0+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
219
8.43k
    src[0+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
220
8.43k
}
h264pred.c:pred4x4_vertical_right_14_c
Line
Count
Source
197
6.00k
{
198
6.00k
    pixel *src = (pixel*)_src;
199
6.00k
    int stride = _stride>>(sizeof(pixel)-1);
200
6.00k
    const int lt= src[-1-1*stride];
201
6.00k
    LOAD_TOP_EDGE
202
6.00k
    LOAD_LEFT_EDGE
203
204
6.00k
    src[0+0*stride]=
205
6.00k
    src[1+2*stride]=(lt + t0 + 1)>>1;
206
6.00k
    src[1+0*stride]=
207
6.00k
    src[2+2*stride]=(t0 + t1 + 1)>>1;
208
6.00k
    src[2+0*stride]=
209
6.00k
    src[3+2*stride]=(t1 + t2 + 1)>>1;
210
6.00k
    src[3+0*stride]=(t2 + t3 + 1)>>1;
211
6.00k
    src[0+1*stride]=
212
6.00k
    src[1+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
213
6.00k
    src[1+1*stride]=
214
6.00k
    src[2+3*stride]=(lt + 2*t0 + t1 + 2)>>2;
215
6.00k
    src[2+1*stride]=
216
6.00k
    src[3+3*stride]=(t0 + 2*t1 + t2 + 2)>>2;
217
6.00k
    src[3+1*stride]=(t1 + 2*t2 + t3 + 2)>>2;
218
6.00k
    src[0+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
219
6.00k
    src[0+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
220
6.00k
}
h264pred.c:pred4x4_vertical_right_8_c
Line
Count
Source
197
3.94M
{
198
3.94M
    pixel *src = (pixel*)_src;
199
3.94M
    int stride = _stride>>(sizeof(pixel)-1);
200
3.94M
    const int lt= src[-1-1*stride];
201
3.94M
    LOAD_TOP_EDGE
202
3.94M
    LOAD_LEFT_EDGE
203
204
3.94M
    src[0+0*stride]=
205
3.94M
    src[1+2*stride]=(lt + t0 + 1)>>1;
206
3.94M
    src[1+0*stride]=
207
3.94M
    src[2+2*stride]=(t0 + t1 + 1)>>1;
208
3.94M
    src[2+0*stride]=
209
3.94M
    src[3+2*stride]=(t1 + t2 + 1)>>1;
210
3.94M
    src[3+0*stride]=(t2 + t3 + 1)>>1;
211
3.94M
    src[0+1*stride]=
212
3.94M
    src[1+3*stride]=(l0 + 2*lt + t0 + 2)>>2;
213
3.94M
    src[1+1*stride]=
214
3.94M
    src[2+3*stride]=(lt + 2*t0 + t1 + 2)>>2;
215
3.94M
    src[2+1*stride]=
216
3.94M
    src[3+3*stride]=(t0 + 2*t1 + t2 + 2)>>2;
217
3.94M
    src[3+1*stride]=(t1 + 2*t2 + t3 + 2)>>2;
218
3.94M
    src[0+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
219
3.94M
    src[0+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
220
3.94M
}
221
222
static void FUNCC(pred4x4_vertical_left)(uint8_t *_src,
223
                                         const uint8_t *_topright,
224
                                         ptrdiff_t _stride)
225
304k
{
226
304k
    pixel *src = (pixel*)_src;
227
304k
    const pixel *topright = (const pixel*)_topright;
228
304k
    int stride = _stride>>(sizeof(pixel)-1);
229
304k
    LOAD_TOP_EDGE
230
304k
    LOAD_TOP_RIGHT_EDGE
231
232
304k
    src[0+0*stride]=(t0 + t1 + 1)>>1;
233
304k
    src[1+0*stride]=
234
304k
    src[0+2*stride]=(t1 + t2 + 1)>>1;
235
304k
    src[2+0*stride]=
236
304k
    src[1+2*stride]=(t2 + t3 + 1)>>1;
237
304k
    src[3+0*stride]=
238
304k
    src[2+2*stride]=(t3 + t4+ 1)>>1;
239
304k
    src[3+2*stride]=(t4 + t5+ 1)>>1;
240
304k
    src[0+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
241
304k
    src[1+1*stride]=
242
304k
    src[0+3*stride]=(t1 + 2*t2 + t3 + 2)>>2;
243
304k
    src[2+1*stride]=
244
304k
    src[1+3*stride]=(t2 + 2*t3 + t4 + 2)>>2;
245
304k
    src[3+1*stride]=
246
304k
    src[2+3*stride]=(t3 + 2*t4 + t5 + 2)>>2;
247
304k
    src[3+3*stride]=(t4 + 2*t5 + t6 + 2)>>2;
248
304k
}
h264pred.c:pred4x4_vertical_left_9_c
Line
Count
Source
225
60.2k
{
226
60.2k
    pixel *src = (pixel*)_src;
227
60.2k
    const pixel *topright = (const pixel*)_topright;
228
60.2k
    int stride = _stride>>(sizeof(pixel)-1);
229
60.2k
    LOAD_TOP_EDGE
230
60.2k
    LOAD_TOP_RIGHT_EDGE
231
232
60.2k
    src[0+0*stride]=(t0 + t1 + 1)>>1;
233
60.2k
    src[1+0*stride]=
234
60.2k
    src[0+2*stride]=(t1 + t2 + 1)>>1;
235
60.2k
    src[2+0*stride]=
236
60.2k
    src[1+2*stride]=(t2 + t3 + 1)>>1;
237
60.2k
    src[3+0*stride]=
238
60.2k
    src[2+2*stride]=(t3 + t4+ 1)>>1;
239
60.2k
    src[3+2*stride]=(t4 + t5+ 1)>>1;
240
60.2k
    src[0+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
241
60.2k
    src[1+1*stride]=
242
60.2k
    src[0+3*stride]=(t1 + 2*t2 + t3 + 2)>>2;
243
60.2k
    src[2+1*stride]=
244
60.2k
    src[1+3*stride]=(t2 + 2*t3 + t4 + 2)>>2;
245
60.2k
    src[3+1*stride]=
246
60.2k
    src[2+3*stride]=(t3 + 2*t4 + t5 + 2)>>2;
247
60.2k
    src[3+3*stride]=(t4 + 2*t5 + t6 + 2)>>2;
248
60.2k
}
h264pred.c:pred4x4_vertical_left_10_c
Line
Count
Source
225
29.0k
{
226
29.0k
    pixel *src = (pixel*)_src;
227
29.0k
    const pixel *topright = (const pixel*)_topright;
228
29.0k
    int stride = _stride>>(sizeof(pixel)-1);
229
29.0k
    LOAD_TOP_EDGE
230
29.0k
    LOAD_TOP_RIGHT_EDGE
231
232
29.0k
    src[0+0*stride]=(t0 + t1 + 1)>>1;
233
29.0k
    src[1+0*stride]=
234
29.0k
    src[0+2*stride]=(t1 + t2 + 1)>>1;
235
29.0k
    src[2+0*stride]=
236
29.0k
    src[1+2*stride]=(t2 + t3 + 1)>>1;
237
29.0k
    src[3+0*stride]=
238
29.0k
    src[2+2*stride]=(t3 + t4+ 1)>>1;
239
29.0k
    src[3+2*stride]=(t4 + t5+ 1)>>1;
240
29.0k
    src[0+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
241
29.0k
    src[1+1*stride]=
242
29.0k
    src[0+3*stride]=(t1 + 2*t2 + t3 + 2)>>2;
243
29.0k
    src[2+1*stride]=
244
29.0k
    src[1+3*stride]=(t2 + 2*t3 + t4 + 2)>>2;
245
29.0k
    src[3+1*stride]=
246
29.0k
    src[2+3*stride]=(t3 + 2*t4 + t5 + 2)>>2;
247
29.0k
    src[3+3*stride]=(t4 + 2*t5 + t6 + 2)>>2;
248
29.0k
}
h264pred.c:pred4x4_vertical_left_12_c
Line
Count
Source
225
12.9k
{
226
12.9k
    pixel *src = (pixel*)_src;
227
12.9k
    const pixel *topright = (const pixel*)_topright;
228
12.9k
    int stride = _stride>>(sizeof(pixel)-1);
229
12.9k
    LOAD_TOP_EDGE
230
12.9k
    LOAD_TOP_RIGHT_EDGE
231
232
12.9k
    src[0+0*stride]=(t0 + t1 + 1)>>1;
233
12.9k
    src[1+0*stride]=
234
12.9k
    src[0+2*stride]=(t1 + t2 + 1)>>1;
235
12.9k
    src[2+0*stride]=
236
12.9k
    src[1+2*stride]=(t2 + t3 + 1)>>1;
237
12.9k
    src[3+0*stride]=
238
12.9k
    src[2+2*stride]=(t3 + t4+ 1)>>1;
239
12.9k
    src[3+2*stride]=(t4 + t5+ 1)>>1;
240
12.9k
    src[0+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
241
12.9k
    src[1+1*stride]=
242
12.9k
    src[0+3*stride]=(t1 + 2*t2 + t3 + 2)>>2;
243
12.9k
    src[2+1*stride]=
244
12.9k
    src[1+3*stride]=(t2 + 2*t3 + t4 + 2)>>2;
245
12.9k
    src[3+1*stride]=
246
12.9k
    src[2+3*stride]=(t3 + 2*t4 + t5 + 2)>>2;
247
12.9k
    src[3+3*stride]=(t4 + 2*t5 + t6 + 2)>>2;
248
12.9k
}
h264pred.c:pred4x4_vertical_left_14_c
Line
Count
Source
225
10.5k
{
226
10.5k
    pixel *src = (pixel*)_src;
227
10.5k
    const pixel *topright = (const pixel*)_topright;
228
10.5k
    int stride = _stride>>(sizeof(pixel)-1);
229
10.5k
    LOAD_TOP_EDGE
230
10.5k
    LOAD_TOP_RIGHT_EDGE
231
232
10.5k
    src[0+0*stride]=(t0 + t1 + 1)>>1;
233
10.5k
    src[1+0*stride]=
234
10.5k
    src[0+2*stride]=(t1 + t2 + 1)>>1;
235
10.5k
    src[2+0*stride]=
236
10.5k
    src[1+2*stride]=(t2 + t3 + 1)>>1;
237
10.5k
    src[3+0*stride]=
238
10.5k
    src[2+2*stride]=(t3 + t4+ 1)>>1;
239
10.5k
    src[3+2*stride]=(t4 + t5+ 1)>>1;
240
10.5k
    src[0+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
241
10.5k
    src[1+1*stride]=
242
10.5k
    src[0+3*stride]=(t1 + 2*t2 + t3 + 2)>>2;
243
10.5k
    src[2+1*stride]=
244
10.5k
    src[1+3*stride]=(t2 + 2*t3 + t4 + 2)>>2;
245
10.5k
    src[3+1*stride]=
246
10.5k
    src[2+3*stride]=(t3 + 2*t4 + t5 + 2)>>2;
247
10.5k
    src[3+3*stride]=(t4 + 2*t5 + t6 + 2)>>2;
248
10.5k
}
h264pred.c:pred4x4_vertical_left_8_c
Line
Count
Source
225
191k
{
226
191k
    pixel *src = (pixel*)_src;
227
191k
    const pixel *topright = (const pixel*)_topright;
228
191k
    int stride = _stride>>(sizeof(pixel)-1);
229
191k
    LOAD_TOP_EDGE
230
191k
    LOAD_TOP_RIGHT_EDGE
231
232
191k
    src[0+0*stride]=(t0 + t1 + 1)>>1;
233
191k
    src[1+0*stride]=
234
191k
    src[0+2*stride]=(t1 + t2 + 1)>>1;
235
191k
    src[2+0*stride]=
236
191k
    src[1+2*stride]=(t2 + t3 + 1)>>1;
237
191k
    src[3+0*stride]=
238
191k
    src[2+2*stride]=(t3 + t4+ 1)>>1;
239
191k
    src[3+2*stride]=(t4 + t5+ 1)>>1;
240
191k
    src[0+1*stride]=(t0 + 2*t1 + t2 + 2)>>2;
241
191k
    src[1+1*stride]=
242
191k
    src[0+3*stride]=(t1 + 2*t2 + t3 + 2)>>2;
243
191k
    src[2+1*stride]=
244
191k
    src[1+3*stride]=(t2 + 2*t3 + t4 + 2)>>2;
245
191k
    src[3+1*stride]=
246
191k
    src[2+3*stride]=(t3 + 2*t4 + t5 + 2)>>2;
247
191k
    src[3+3*stride]=(t4 + 2*t5 + t6 + 2)>>2;
248
191k
}
249
250
static void FUNCC(pred4x4_horizontal_up)(uint8_t *_src, const uint8_t *topright,
251
                                         ptrdiff_t _stride)
252
672k
{
253
672k
    pixel *src = (pixel*)_src;
254
672k
    int stride = _stride>>(sizeof(pixel)-1);
255
672k
    LOAD_LEFT_EDGE
256
257
672k
    src[0+0*stride]=(l0 + l1 + 1)>>1;
258
672k
    src[1+0*stride]=(l0 + 2*l1 + l2 + 2)>>2;
259
672k
    src[2+0*stride]=
260
672k
    src[0+1*stride]=(l1 + l2 + 1)>>1;
261
672k
    src[3+0*stride]=
262
672k
    src[1+1*stride]=(l1 + 2*l2 + l3 + 2)>>2;
263
672k
    src[2+1*stride]=
264
672k
    src[0+2*stride]=(l2 + l3 + 1)>>1;
265
672k
    src[3+1*stride]=
266
672k
    src[1+2*stride]=(l2 + 2*l3 + l3 + 2)>>2;
267
672k
    src[3+2*stride]=
268
672k
    src[1+3*stride]=
269
672k
    src[0+3*stride]=
270
672k
    src[2+2*stride]=
271
672k
    src[2+3*stride]=
272
672k
    src[3+3*stride]=l3;
273
672k
}
h264pred.c:pred4x4_horizontal_up_9_c
Line
Count
Source
252
136k
{
253
136k
    pixel *src = (pixel*)_src;
254
136k
    int stride = _stride>>(sizeof(pixel)-1);
255
136k
    LOAD_LEFT_EDGE
256
257
136k
    src[0+0*stride]=(l0 + l1 + 1)>>1;
258
136k
    src[1+0*stride]=(l0 + 2*l1 + l2 + 2)>>2;
259
136k
    src[2+0*stride]=
260
136k
    src[0+1*stride]=(l1 + l2 + 1)>>1;
261
136k
    src[3+0*stride]=
262
136k
    src[1+1*stride]=(l1 + 2*l2 + l3 + 2)>>2;
263
136k
    src[2+1*stride]=
264
136k
    src[0+2*stride]=(l2 + l3 + 1)>>1;
265
136k
    src[3+1*stride]=
266
136k
    src[1+2*stride]=(l2 + 2*l3 + l3 + 2)>>2;
267
136k
    src[3+2*stride]=
268
136k
    src[1+3*stride]=
269
136k
    src[0+3*stride]=
270
136k
    src[2+2*stride]=
271
136k
    src[2+3*stride]=
272
136k
    src[3+3*stride]=l3;
273
136k
}
h264pred.c:pred4x4_horizontal_up_10_c
Line
Count
Source
252
49.4k
{
253
49.4k
    pixel *src = (pixel*)_src;
254
49.4k
    int stride = _stride>>(sizeof(pixel)-1);
255
49.4k
    LOAD_LEFT_EDGE
256
257
49.4k
    src[0+0*stride]=(l0 + l1 + 1)>>1;
258
49.4k
    src[1+0*stride]=(l0 + 2*l1 + l2 + 2)>>2;
259
49.4k
    src[2+0*stride]=
260
49.4k
    src[0+1*stride]=(l1 + l2 + 1)>>1;
261
49.4k
    src[3+0*stride]=
262
49.4k
    src[1+1*stride]=(l1 + 2*l2 + l3 + 2)>>2;
263
49.4k
    src[2+1*stride]=
264
49.4k
    src[0+2*stride]=(l2 + l3 + 1)>>1;
265
49.4k
    src[3+1*stride]=
266
49.4k
    src[1+2*stride]=(l2 + 2*l3 + l3 + 2)>>2;
267
49.4k
    src[3+2*stride]=
268
49.4k
    src[1+3*stride]=
269
49.4k
    src[0+3*stride]=
270
49.4k
    src[2+2*stride]=
271
49.4k
    src[2+3*stride]=
272
49.4k
    src[3+3*stride]=l3;
273
49.4k
}
h264pred.c:pred4x4_horizontal_up_12_c
Line
Count
Source
252
27.1k
{
253
27.1k
    pixel *src = (pixel*)_src;
254
27.1k
    int stride = _stride>>(sizeof(pixel)-1);
255
27.1k
    LOAD_LEFT_EDGE
256
257
27.1k
    src[0+0*stride]=(l0 + l1 + 1)>>1;
258
27.1k
    src[1+0*stride]=(l0 + 2*l1 + l2 + 2)>>2;
259
27.1k
    src[2+0*stride]=
260
27.1k
    src[0+1*stride]=(l1 + l2 + 1)>>1;
261
27.1k
    src[3+0*stride]=
262
27.1k
    src[1+1*stride]=(l1 + 2*l2 + l3 + 2)>>2;
263
27.1k
    src[2+1*stride]=
264
27.1k
    src[0+2*stride]=(l2 + l3 + 1)>>1;
265
27.1k
    src[3+1*stride]=
266
27.1k
    src[1+2*stride]=(l2 + 2*l3 + l3 + 2)>>2;
267
27.1k
    src[3+2*stride]=
268
27.1k
    src[1+3*stride]=
269
27.1k
    src[0+3*stride]=
270
27.1k
    src[2+2*stride]=
271
27.1k
    src[2+3*stride]=
272
27.1k
    src[3+3*stride]=l3;
273
27.1k
}
h264pred.c:pred4x4_horizontal_up_14_c
Line
Count
Source
252
33.5k
{
253
33.5k
    pixel *src = (pixel*)_src;
254
33.5k
    int stride = _stride>>(sizeof(pixel)-1);
255
33.5k
    LOAD_LEFT_EDGE
256
257
33.5k
    src[0+0*stride]=(l0 + l1 + 1)>>1;
258
33.5k
    src[1+0*stride]=(l0 + 2*l1 + l2 + 2)>>2;
259
33.5k
    src[2+0*stride]=
260
33.5k
    src[0+1*stride]=(l1 + l2 + 1)>>1;
261
33.5k
    src[3+0*stride]=
262
33.5k
    src[1+1*stride]=(l1 + 2*l2 + l3 + 2)>>2;
263
33.5k
    src[2+1*stride]=
264
33.5k
    src[0+2*stride]=(l2 + l3 + 1)>>1;
265
33.5k
    src[3+1*stride]=
266
33.5k
    src[1+2*stride]=(l2 + 2*l3 + l3 + 2)>>2;
267
33.5k
    src[3+2*stride]=
268
33.5k
    src[1+3*stride]=
269
33.5k
    src[0+3*stride]=
270
33.5k
    src[2+2*stride]=
271
33.5k
    src[2+3*stride]=
272
33.5k
    src[3+3*stride]=l3;
273
33.5k
}
h264pred.c:pred4x4_horizontal_up_8_c
Line
Count
Source
252
426k
{
253
426k
    pixel *src = (pixel*)_src;
254
426k
    int stride = _stride>>(sizeof(pixel)-1);
255
426k
    LOAD_LEFT_EDGE
256
257
426k
    src[0+0*stride]=(l0 + l1 + 1)>>1;
258
426k
    src[1+0*stride]=(l0 + 2*l1 + l2 + 2)>>2;
259
426k
    src[2+0*stride]=
260
426k
    src[0+1*stride]=(l1 + l2 + 1)>>1;
261
426k
    src[3+0*stride]=
262
426k
    src[1+1*stride]=(l1 + 2*l2 + l3 + 2)>>2;
263
426k
    src[2+1*stride]=
264
426k
    src[0+2*stride]=(l2 + l3 + 1)>>1;
265
426k
    src[3+1*stride]=
266
426k
    src[1+2*stride]=(l2 + 2*l3 + l3 + 2)>>2;
267
426k
    src[3+2*stride]=
268
426k
    src[1+3*stride]=
269
426k
    src[0+3*stride]=
270
426k
    src[2+2*stride]=
271
426k
    src[2+3*stride]=
272
426k
    src[3+3*stride]=l3;
273
426k
}
274
275
static void FUNCC(pred4x4_horizontal_down)(uint8_t *_src,
276
                                           const uint8_t *topright,
277
                                           ptrdiff_t _stride)
278
2.81M
{
279
2.81M
    pixel *src = (pixel*)_src;
280
2.81M
    int stride = _stride>>(sizeof(pixel)-1);
281
2.81M
    const int lt= src[-1-1*stride];
282
2.81M
    LOAD_TOP_EDGE
283
2.81M
    LOAD_LEFT_EDGE
284
285
2.81M
    src[0+0*stride]=
286
2.81M
    src[2+1*stride]=(lt + l0 + 1)>>1;
287
2.81M
    src[1+0*stride]=
288
2.81M
    src[3+1*stride]=(l0 + 2*lt + t0 + 2)>>2;
289
2.81M
    src[2+0*stride]=(lt + 2*t0 + t1 + 2)>>2;
290
2.81M
    src[3+0*stride]=(t0 + 2*t1 + t2 + 2)>>2;
291
2.81M
    src[0+1*stride]=
292
2.81M
    src[2+2*stride]=(l0 + l1 + 1)>>1;
293
2.81M
    src[1+1*stride]=
294
2.81M
    src[3+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
295
2.81M
    src[0+2*stride]=
296
2.81M
    src[2+3*stride]=(l1 + l2+ 1)>>1;
297
2.81M
    src[1+2*stride]=
298
2.81M
    src[3+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
299
2.81M
    src[0+3*stride]=(l2 + l3 + 1)>>1;
300
2.81M
    src[1+3*stride]=(l1 + 2*l2 + l3 + 2)>>2;
301
2.81M
}
h264pred.c:pred4x4_horizontal_down_9_c
Line
Count
Source
278
60.4k
{
279
60.4k
    pixel *src = (pixel*)_src;
280
60.4k
    int stride = _stride>>(sizeof(pixel)-1);
281
60.4k
    const int lt= src[-1-1*stride];
282
60.4k
    LOAD_TOP_EDGE
283
60.4k
    LOAD_LEFT_EDGE
284
285
60.4k
    src[0+0*stride]=
286
60.4k
    src[2+1*stride]=(lt + l0 + 1)>>1;
287
60.4k
    src[1+0*stride]=
288
60.4k
    src[3+1*stride]=(l0 + 2*lt + t0 + 2)>>2;
289
60.4k
    src[2+0*stride]=(lt + 2*t0 + t1 + 2)>>2;
290
60.4k
    src[3+0*stride]=(t0 + 2*t1 + t2 + 2)>>2;
291
60.4k
    src[0+1*stride]=
292
60.4k
    src[2+2*stride]=(l0 + l1 + 1)>>1;
293
60.4k
    src[1+1*stride]=
294
60.4k
    src[3+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
295
60.4k
    src[0+2*stride]=
296
60.4k
    src[2+3*stride]=(l1 + l2+ 1)>>1;
297
60.4k
    src[1+2*stride]=
298
60.4k
    src[3+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
299
60.4k
    src[0+3*stride]=(l2 + l3 + 1)>>1;
300
60.4k
    src[1+3*stride]=(l1 + 2*l2 + l3 + 2)>>2;
301
60.4k
}
h264pred.c:pred4x4_horizontal_down_10_c
Line
Count
Source
278
59.0k
{
279
59.0k
    pixel *src = (pixel*)_src;
280
59.0k
    int stride = _stride>>(sizeof(pixel)-1);
281
59.0k
    const int lt= src[-1-1*stride];
282
59.0k
    LOAD_TOP_EDGE
283
59.0k
    LOAD_LEFT_EDGE
284
285
59.0k
    src[0+0*stride]=
286
59.0k
    src[2+1*stride]=(lt + l0 + 1)>>1;
287
59.0k
    src[1+0*stride]=
288
59.0k
    src[3+1*stride]=(l0 + 2*lt + t0 + 2)>>2;
289
59.0k
    src[2+0*stride]=(lt + 2*t0 + t1 + 2)>>2;
290
59.0k
    src[3+0*stride]=(t0 + 2*t1 + t2 + 2)>>2;
291
59.0k
    src[0+1*stride]=
292
59.0k
    src[2+2*stride]=(l0 + l1 + 1)>>1;
293
59.0k
    src[1+1*stride]=
294
59.0k
    src[3+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
295
59.0k
    src[0+2*stride]=
296
59.0k
    src[2+3*stride]=(l1 + l2+ 1)>>1;
297
59.0k
    src[1+2*stride]=
298
59.0k
    src[3+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
299
59.0k
    src[0+3*stride]=(l2 + l3 + 1)>>1;
300
59.0k
    src[1+3*stride]=(l1 + 2*l2 + l3 + 2)>>2;
301
59.0k
}
h264pred.c:pred4x4_horizontal_down_12_c
Line
Count
Source
278
7.81k
{
279
7.81k
    pixel *src = (pixel*)_src;
280
7.81k
    int stride = _stride>>(sizeof(pixel)-1);
281
7.81k
    const int lt= src[-1-1*stride];
282
7.81k
    LOAD_TOP_EDGE
283
7.81k
    LOAD_LEFT_EDGE
284
285
7.81k
    src[0+0*stride]=
286
7.81k
    src[2+1*stride]=(lt + l0 + 1)>>1;
287
7.81k
    src[1+0*stride]=
288
7.81k
    src[3+1*stride]=(l0 + 2*lt + t0 + 2)>>2;
289
7.81k
    src[2+0*stride]=(lt + 2*t0 + t1 + 2)>>2;
290
7.81k
    src[3+0*stride]=(t0 + 2*t1 + t2 + 2)>>2;
291
7.81k
    src[0+1*stride]=
292
7.81k
    src[2+2*stride]=(l0 + l1 + 1)>>1;
293
7.81k
    src[1+1*stride]=
294
7.81k
    src[3+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
295
7.81k
    src[0+2*stride]=
296
7.81k
    src[2+3*stride]=(l1 + l2+ 1)>>1;
297
7.81k
    src[1+2*stride]=
298
7.81k
    src[3+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
299
7.81k
    src[0+3*stride]=(l2 + l3 + 1)>>1;
300
7.81k
    src[1+3*stride]=(l1 + 2*l2 + l3 + 2)>>2;
301
7.81k
}
h264pred.c:pred4x4_horizontal_down_14_c
Line
Count
Source
278
11.7k
{
279
11.7k
    pixel *src = (pixel*)_src;
280
11.7k
    int stride = _stride>>(sizeof(pixel)-1);
281
11.7k
    const int lt= src[-1-1*stride];
282
11.7k
    LOAD_TOP_EDGE
283
11.7k
    LOAD_LEFT_EDGE
284
285
11.7k
    src[0+0*stride]=
286
11.7k
    src[2+1*stride]=(lt + l0 + 1)>>1;
287
11.7k
    src[1+0*stride]=
288
11.7k
    src[3+1*stride]=(l0 + 2*lt + t0 + 2)>>2;
289
11.7k
    src[2+0*stride]=(lt + 2*t0 + t1 + 2)>>2;
290
11.7k
    src[3+0*stride]=(t0 + 2*t1 + t2 + 2)>>2;
291
11.7k
    src[0+1*stride]=
292
11.7k
    src[2+2*stride]=(l0 + l1 + 1)>>1;
293
11.7k
    src[1+1*stride]=
294
11.7k
    src[3+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
295
11.7k
    src[0+2*stride]=
296
11.7k
    src[2+3*stride]=(l1 + l2+ 1)>>1;
297
11.7k
    src[1+2*stride]=
298
11.7k
    src[3+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
299
11.7k
    src[0+3*stride]=(l2 + l3 + 1)>>1;
300
11.7k
    src[1+3*stride]=(l1 + 2*l2 + l3 + 2)>>2;
301
11.7k
}
h264pred.c:pred4x4_horizontal_down_8_c
Line
Count
Source
278
2.67M
{
279
2.67M
    pixel *src = (pixel*)_src;
280
2.67M
    int stride = _stride>>(sizeof(pixel)-1);
281
2.67M
    const int lt= src[-1-1*stride];
282
2.67M
    LOAD_TOP_EDGE
283
2.67M
    LOAD_LEFT_EDGE
284
285
2.67M
    src[0+0*stride]=
286
2.67M
    src[2+1*stride]=(lt + l0 + 1)>>1;
287
2.67M
    src[1+0*stride]=
288
2.67M
    src[3+1*stride]=(l0 + 2*lt + t0 + 2)>>2;
289
2.67M
    src[2+0*stride]=(lt + 2*t0 + t1 + 2)>>2;
290
2.67M
    src[3+0*stride]=(t0 + 2*t1 + t2 + 2)>>2;
291
2.67M
    src[0+1*stride]=
292
2.67M
    src[2+2*stride]=(l0 + l1 + 1)>>1;
293
2.67M
    src[1+1*stride]=
294
2.67M
    src[3+2*stride]=(lt + 2*l0 + l1 + 2)>>2;
295
2.67M
    src[0+2*stride]=
296
2.67M
    src[2+3*stride]=(l1 + l2+ 1)>>1;
297
2.67M
    src[1+2*stride]=
298
2.67M
    src[3+3*stride]=(l0 + 2*l1 + l2 + 2)>>2;
299
2.67M
    src[0+3*stride]=(l2 + l3 + 1)>>1;
300
2.67M
    src[1+3*stride]=(l1 + 2*l2 + l3 + 2)>>2;
301
2.67M
}
302
303
static void FUNCC(pred16x16_vertical)(uint8_t *_src, ptrdiff_t _stride)
304
1.11M
{
305
1.11M
    int i;
306
1.11M
    pixel *src = (pixel*)_src;
307
1.11M
    int stride = _stride>>(sizeof(pixel)-1);
308
1.11M
    const pixel4 a = AV_RN4PA(((pixel4*)(src-stride))+0);
309
1.11M
    const pixel4 b = AV_RN4PA(((pixel4*)(src-stride))+1);
310
1.11M
    const pixel4 c = AV_RN4PA(((pixel4*)(src-stride))+2);
311
1.11M
    const pixel4 d = AV_RN4PA(((pixel4*)(src-stride))+3);
312
313
18.8M
    for(i=0; i<16; i++){
314
17.7M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
315
17.7M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
316
17.7M
        AV_WN4PA(((pixel4*)(src+i*stride))+2, c);
317
17.7M
        AV_WN4PA(((pixel4*)(src+i*stride))+3, d);
318
17.7M
    }
319
1.11M
}
h264pred.c:pred16x16_vertical_9_c
Line
Count
Source
304
84.6k
{
305
84.6k
    int i;
306
84.6k
    pixel *src = (pixel*)_src;
307
84.6k
    int stride = _stride>>(sizeof(pixel)-1);
308
84.6k
    const pixel4 a = AV_RN4PA(((pixel4*)(src-stride))+0);
309
84.6k
    const pixel4 b = AV_RN4PA(((pixel4*)(src-stride))+1);
310
84.6k
    const pixel4 c = AV_RN4PA(((pixel4*)(src-stride))+2);
311
84.6k
    const pixel4 d = AV_RN4PA(((pixel4*)(src-stride))+3);
312
313
1.43M
    for(i=0; i<16; i++){
314
1.35M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
315
1.35M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
316
1.35M
        AV_WN4PA(((pixel4*)(src+i*stride))+2, c);
317
1.35M
        AV_WN4PA(((pixel4*)(src+i*stride))+3, d);
318
1.35M
    }
319
84.6k
}
h264pred.c:pred16x16_vertical_10_c
Line
Count
Source
304
61.1k
{
305
61.1k
    int i;
306
61.1k
    pixel *src = (pixel*)_src;
307
61.1k
    int stride = _stride>>(sizeof(pixel)-1);
308
61.1k
    const pixel4 a = AV_RN4PA(((pixel4*)(src-stride))+0);
309
61.1k
    const pixel4 b = AV_RN4PA(((pixel4*)(src-stride))+1);
310
61.1k
    const pixel4 c = AV_RN4PA(((pixel4*)(src-stride))+2);
311
61.1k
    const pixel4 d = AV_RN4PA(((pixel4*)(src-stride))+3);
312
313
1.03M
    for(i=0; i<16; i++){
314
977k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
315
977k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
316
977k
        AV_WN4PA(((pixel4*)(src+i*stride))+2, c);
317
977k
        AV_WN4PA(((pixel4*)(src+i*stride))+3, d);
318
977k
    }
319
61.1k
}
h264pred.c:pred16x16_vertical_12_c
Line
Count
Source
304
24.2k
{
305
24.2k
    int i;
306
24.2k
    pixel *src = (pixel*)_src;
307
24.2k
    int stride = _stride>>(sizeof(pixel)-1);
308
24.2k
    const pixel4 a = AV_RN4PA(((pixel4*)(src-stride))+0);
309
24.2k
    const pixel4 b = AV_RN4PA(((pixel4*)(src-stride))+1);
310
24.2k
    const pixel4 c = AV_RN4PA(((pixel4*)(src-stride))+2);
311
24.2k
    const pixel4 d = AV_RN4PA(((pixel4*)(src-stride))+3);
312
313
412k
    for(i=0; i<16; i++){
314
388k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
315
388k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
316
388k
        AV_WN4PA(((pixel4*)(src+i*stride))+2, c);
317
388k
        AV_WN4PA(((pixel4*)(src+i*stride))+3, d);
318
388k
    }
319
24.2k
}
h264pred.c:pred16x16_vertical_14_c
Line
Count
Source
304
25.9k
{
305
25.9k
    int i;
306
25.9k
    pixel *src = (pixel*)_src;
307
25.9k
    int stride = _stride>>(sizeof(pixel)-1);
308
25.9k
    const pixel4 a = AV_RN4PA(((pixel4*)(src-stride))+0);
309
25.9k
    const pixel4 b = AV_RN4PA(((pixel4*)(src-stride))+1);
310
25.9k
    const pixel4 c = AV_RN4PA(((pixel4*)(src-stride))+2);
311
25.9k
    const pixel4 d = AV_RN4PA(((pixel4*)(src-stride))+3);
312
313
440k
    for(i=0; i<16; i++){
314
414k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
315
414k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
316
414k
        AV_WN4PA(((pixel4*)(src+i*stride))+2, c);
317
414k
        AV_WN4PA(((pixel4*)(src+i*stride))+3, d);
318
414k
    }
319
25.9k
}
h264pred.c:pred16x16_vertical_8_c
Line
Count
Source
304
915k
{
305
915k
    int i;
306
915k
    pixel *src = (pixel*)_src;
307
915k
    int stride = _stride>>(sizeof(pixel)-1);
308
915k
    const pixel4 a = AV_RN4PA(((pixel4*)(src-stride))+0);
309
915k
    const pixel4 b = AV_RN4PA(((pixel4*)(src-stride))+1);
310
915k
    const pixel4 c = AV_RN4PA(((pixel4*)(src-stride))+2);
311
915k
    const pixel4 d = AV_RN4PA(((pixel4*)(src-stride))+3);
312
313
15.5M
    for(i=0; i<16; i++){
314
14.6M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
315
14.6M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
316
14.6M
        AV_WN4PA(((pixel4*)(src+i*stride))+2, c);
317
14.6M
        AV_WN4PA(((pixel4*)(src+i*stride))+3, d);
318
14.6M
    }
319
915k
}
320
321
static void FUNCC(pred16x16_horizontal)(uint8_t *_src, ptrdiff_t stride)
322
908k
{
323
908k
    int i;
324
908k
    pixel *src = (pixel*)_src;
325
908k
    stride >>= sizeof(pixel)-1;
326
327
15.4M
    for(i=0; i<16; i++){
328
14.5M
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
329
330
14.5M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
331
14.5M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
332
14.5M
        AV_WN4PA(((pixel4*)(src+i*stride))+2, a);
333
14.5M
        AV_WN4PA(((pixel4*)(src+i*stride))+3, a);
334
14.5M
    }
335
908k
}
h264pred.c:pred16x16_horizontal_9_c
Line
Count
Source
322
55.0k
{
323
55.0k
    int i;
324
55.0k
    pixel *src = (pixel*)_src;
325
55.0k
    stride >>= sizeof(pixel)-1;
326
327
935k
    for(i=0; i<16; i++){
328
880k
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
329
330
880k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
331
880k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
332
880k
        AV_WN4PA(((pixel4*)(src+i*stride))+2, a);
333
880k
        AV_WN4PA(((pixel4*)(src+i*stride))+3, a);
334
880k
    }
335
55.0k
}
h264pred.c:pred16x16_horizontal_10_c
Line
Count
Source
322
61.4k
{
323
61.4k
    int i;
324
61.4k
    pixel *src = (pixel*)_src;
325
61.4k
    stride >>= sizeof(pixel)-1;
326
327
1.04M
    for(i=0; i<16; i++){
328
983k
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
329
330
983k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
331
983k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
332
983k
        AV_WN4PA(((pixel4*)(src+i*stride))+2, a);
333
983k
        AV_WN4PA(((pixel4*)(src+i*stride))+3, a);
334
983k
    }
335
61.4k
}
h264pred.c:pred16x16_horizontal_12_c
Line
Count
Source
322
11.8k
{
323
11.8k
    int i;
324
11.8k
    pixel *src = (pixel*)_src;
325
11.8k
    stride >>= sizeof(pixel)-1;
326
327
200k
    for(i=0; i<16; i++){
328
189k
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
329
330
189k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
331
189k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
332
189k
        AV_WN4PA(((pixel4*)(src+i*stride))+2, a);
333
189k
        AV_WN4PA(((pixel4*)(src+i*stride))+3, a);
334
189k
    }
335
11.8k
}
h264pred.c:pred16x16_horizontal_14_c
Line
Count
Source
322
38.1k
{
323
38.1k
    int i;
324
38.1k
    pixel *src = (pixel*)_src;
325
38.1k
    stride >>= sizeof(pixel)-1;
326
327
647k
    for(i=0; i<16; i++){
328
609k
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
329
330
609k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
331
609k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
332
609k
        AV_WN4PA(((pixel4*)(src+i*stride))+2, a);
333
609k
        AV_WN4PA(((pixel4*)(src+i*stride))+3, a);
334
609k
    }
335
38.1k
}
h264pred.c:pred16x16_horizontal_8_c
Line
Count
Source
322
742k
{
323
742k
    int i;
324
742k
    pixel *src = (pixel*)_src;
325
742k
    stride >>= sizeof(pixel)-1;
326
327
12.6M
    for(i=0; i<16; i++){
328
11.8M
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
329
330
11.8M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
331
11.8M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
332
11.8M
        AV_WN4PA(((pixel4*)(src+i*stride))+2, a);
333
11.8M
        AV_WN4PA(((pixel4*)(src+i*stride))+3, a);
334
11.8M
    }
335
742k
}
336
337
#define PREDICT_16x16_DC(v)\
338
38.0M
    for(i=0; i<16; i++){\
339
35.8M
        AV_WN4PA(src+ 0, v);\
340
35.8M
        AV_WN4PA(src+ 4, v);\
341
35.8M
        AV_WN4PA(src+ 8, v);\
342
35.8M
        AV_WN4PA(src+12, v);\
343
35.8M
        src += stride;\
344
35.8M
    }
345
346
static void FUNCC(pred16x16_dc)(uint8_t *_src, ptrdiff_t stride)
347
1.40M
{
348
1.40M
    int i, dc=0;
349
1.40M
    pixel *src = (pixel*)_src;
350
1.40M
    pixel4 dcsplat;
351
1.40M
    stride >>= sizeof(pixel)-1;
352
353
23.9M
    for(i=0;i<16; i++){
354
22.5M
        dc+= src[-1+i*stride];
355
22.5M
    }
356
357
23.9M
    for(i=0;i<16; i++){
358
22.5M
        dc+= src[i-stride];
359
22.5M
    }
360
361
1.40M
    dcsplat = PIXEL_SPLAT_X4((dc+16)>>5);
362
1.40M
    PREDICT_16x16_DC(dcsplat);
363
1.40M
}
h264pred.c:pred16x16_dc_9_c
Line
Count
Source
347
18.1k
{
348
18.1k
    int i, dc=0;
349
18.1k
    pixel *src = (pixel*)_src;
350
18.1k
    pixel4 dcsplat;
351
18.1k
    stride >>= sizeof(pixel)-1;
352
353
308k
    for(i=0;i<16; i++){
354
290k
        dc+= src[-1+i*stride];
355
290k
    }
356
357
308k
    for(i=0;i<16; i++){
358
290k
        dc+= src[i-stride];
359
290k
    }
360
361
18.1k
    dcsplat = PIXEL_SPLAT_X4((dc+16)>>5);
362
18.1k
    PREDICT_16x16_DC(dcsplat);
363
18.1k
}
h264pred.c:pred16x16_dc_10_c
Line
Count
Source
347
76.3k
{
348
76.3k
    int i, dc=0;
349
76.3k
    pixel *src = (pixel*)_src;
350
76.3k
    pixel4 dcsplat;
351
76.3k
    stride >>= sizeof(pixel)-1;
352
353
1.29M
    for(i=0;i<16; i++){
354
1.22M
        dc+= src[-1+i*stride];
355
1.22M
    }
356
357
1.29M
    for(i=0;i<16; i++){
358
1.22M
        dc+= src[i-stride];
359
1.22M
    }
360
361
76.3k
    dcsplat = PIXEL_SPLAT_X4((dc+16)>>5);
362
76.3k
    PREDICT_16x16_DC(dcsplat);
363
76.3k
}
h264pred.c:pred16x16_dc_12_c
Line
Count
Source
347
8.72k
{
348
8.72k
    int i, dc=0;
349
8.72k
    pixel *src = (pixel*)_src;
350
8.72k
    pixel4 dcsplat;
351
8.72k
    stride >>= sizeof(pixel)-1;
352
353
148k
    for(i=0;i<16; i++){
354
139k
        dc+= src[-1+i*stride];
355
139k
    }
356
357
148k
    for(i=0;i<16; i++){
358
139k
        dc+= src[i-stride];
359
139k
    }
360
361
8.72k
    dcsplat = PIXEL_SPLAT_X4((dc+16)>>5);
362
8.72k
    PREDICT_16x16_DC(dcsplat);
363
8.72k
}
h264pred.c:pred16x16_dc_14_c
Line
Count
Source
347
4.94k
{
348
4.94k
    int i, dc=0;
349
4.94k
    pixel *src = (pixel*)_src;
350
4.94k
    pixel4 dcsplat;
351
4.94k
    stride >>= sizeof(pixel)-1;
352
353
84.0k
    for(i=0;i<16; i++){
354
79.0k
        dc+= src[-1+i*stride];
355
79.0k
    }
356
357
84.0k
    for(i=0;i<16; i++){
358
79.0k
        dc+= src[i-stride];
359
79.0k
    }
360
361
4.94k
    dcsplat = PIXEL_SPLAT_X4((dc+16)>>5);
362
4.94k
    PREDICT_16x16_DC(dcsplat);
363
4.94k
}
h264pred.c:pred16x16_dc_8_c
Line
Count
Source
347
1.30M
{
348
1.30M
    int i, dc=0;
349
1.30M
    pixel *src = (pixel*)_src;
350
1.30M
    pixel4 dcsplat;
351
1.30M
    stride >>= sizeof(pixel)-1;
352
353
22.1M
    for(i=0;i<16; i++){
354
20.8M
        dc+= src[-1+i*stride];
355
20.8M
    }
356
357
22.1M
    for(i=0;i<16; i++){
358
20.8M
        dc+= src[i-stride];
359
20.8M
    }
360
361
1.30M
    dcsplat = PIXEL_SPLAT_X4((dc+16)>>5);
362
1.30M
    PREDICT_16x16_DC(dcsplat);
363
1.30M
}
364
365
static void FUNCC(pred16x16_left_dc)(uint8_t *_src, ptrdiff_t stride)
366
522k
{
367
522k
    int i, dc=0;
368
522k
    pixel *src = (pixel*)_src;
369
522k
    pixel4 dcsplat;
370
522k
    stride >>= sizeof(pixel)-1;
371
372
8.88M
    for(i=0;i<16; i++){
373
8.35M
        dc+= src[-1+i*stride];
374
8.35M
    }
375
376
522k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
377
522k
    PREDICT_16x16_DC(dcsplat);
378
522k
}
h264pred.c:pred16x16_left_dc_9_c
Line
Count
Source
366
21.3k
{
367
21.3k
    int i, dc=0;
368
21.3k
    pixel *src = (pixel*)_src;
369
21.3k
    pixel4 dcsplat;
370
21.3k
    stride >>= sizeof(pixel)-1;
371
372
362k
    for(i=0;i<16; i++){
373
341k
        dc+= src[-1+i*stride];
374
341k
    }
375
376
21.3k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
377
21.3k
    PREDICT_16x16_DC(dcsplat);
378
21.3k
}
h264pred.c:pred16x16_left_dc_10_c
Line
Count
Source
366
68.9k
{
367
68.9k
    int i, dc=0;
368
68.9k
    pixel *src = (pixel*)_src;
369
68.9k
    pixel4 dcsplat;
370
68.9k
    stride >>= sizeof(pixel)-1;
371
372
1.17M
    for(i=0;i<16; i++){
373
1.10M
        dc+= src[-1+i*stride];
374
1.10M
    }
375
376
68.9k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
377
68.9k
    PREDICT_16x16_DC(dcsplat);
378
68.9k
}
h264pred.c:pred16x16_left_dc_12_c
Line
Count
Source
366
12.6k
{
367
12.6k
    int i, dc=0;
368
12.6k
    pixel *src = (pixel*)_src;
369
12.6k
    pixel4 dcsplat;
370
12.6k
    stride >>= sizeof(pixel)-1;
371
372
215k
    for(i=0;i<16; i++){
373
202k
        dc+= src[-1+i*stride];
374
202k
    }
375
376
12.6k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
377
12.6k
    PREDICT_16x16_DC(dcsplat);
378
12.6k
}
h264pred.c:pred16x16_left_dc_14_c
Line
Count
Source
366
2.71k
{
367
2.71k
    int i, dc=0;
368
2.71k
    pixel *src = (pixel*)_src;
369
2.71k
    pixel4 dcsplat;
370
2.71k
    stride >>= sizeof(pixel)-1;
371
372
46.2k
    for(i=0;i<16; i++){
373
43.5k
        dc+= src[-1+i*stride];
374
43.5k
    }
375
376
2.71k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
377
2.71k
    PREDICT_16x16_DC(dcsplat);
378
2.71k
}
h264pred.c:pred16x16_left_dc_8_c
Line
Count
Source
366
416k
{
367
416k
    int i, dc=0;
368
416k
    pixel *src = (pixel*)_src;
369
416k
    pixel4 dcsplat;
370
416k
    stride >>= sizeof(pixel)-1;
371
372
7.08M
    for(i=0;i<16; i++){
373
6.66M
        dc+= src[-1+i*stride];
374
6.66M
    }
375
376
416k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
377
416k
    PREDICT_16x16_DC(dcsplat);
378
416k
}
379
380
static void FUNCC(pred16x16_top_dc)(uint8_t *_src, ptrdiff_t stride)
381
180k
{
382
180k
    int i, dc=0;
383
180k
    pixel *src = (pixel*)_src;
384
180k
    pixel4 dcsplat;
385
180k
    stride >>= sizeof(pixel)-1;
386
387
3.07M
    for(i=0;i<16; i++){
388
2.89M
        dc+= src[i-stride];
389
2.89M
    }
390
391
180k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
392
180k
    PREDICT_16x16_DC(dcsplat);
393
180k
}
h264pred.c:pred16x16_top_dc_9_c
Line
Count
Source
381
3.13k
{
382
3.13k
    int i, dc=0;
383
3.13k
    pixel *src = (pixel*)_src;
384
3.13k
    pixel4 dcsplat;
385
3.13k
    stride >>= sizeof(pixel)-1;
386
387
53.3k
    for(i=0;i<16; i++){
388
50.1k
        dc+= src[i-stride];
389
50.1k
    }
390
391
3.13k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
392
3.13k
    PREDICT_16x16_DC(dcsplat);
393
3.13k
}
h264pred.c:pred16x16_top_dc_10_c
Line
Count
Source
381
2.72k
{
382
2.72k
    int i, dc=0;
383
2.72k
    pixel *src = (pixel*)_src;
384
2.72k
    pixel4 dcsplat;
385
2.72k
    stride >>= sizeof(pixel)-1;
386
387
46.3k
    for(i=0;i<16; i++){
388
43.6k
        dc+= src[i-stride];
389
43.6k
    }
390
391
2.72k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
392
2.72k
    PREDICT_16x16_DC(dcsplat);
393
2.72k
}
h264pred.c:pred16x16_top_dc_12_c
Line
Count
Source
381
4.31k
{
382
4.31k
    int i, dc=0;
383
4.31k
    pixel *src = (pixel*)_src;
384
4.31k
    pixel4 dcsplat;
385
4.31k
    stride >>= sizeof(pixel)-1;
386
387
73.4k
    for(i=0;i<16; i++){
388
69.0k
        dc+= src[i-stride];
389
69.0k
    }
390
391
4.31k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
392
4.31k
    PREDICT_16x16_DC(dcsplat);
393
4.31k
}
h264pred.c:pred16x16_top_dc_14_c
Line
Count
Source
381
994
{
382
994
    int i, dc=0;
383
994
    pixel *src = (pixel*)_src;
384
994
    pixel4 dcsplat;
385
994
    stride >>= sizeof(pixel)-1;
386
387
16.8k
    for(i=0;i<16; i++){
388
15.9k
        dc+= src[i-stride];
389
15.9k
    }
390
391
994
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
392
994
    PREDICT_16x16_DC(dcsplat);
393
994
}
h264pred.c:pred16x16_top_dc_8_c
Line
Count
Source
381
169k
{
382
169k
    int i, dc=0;
383
169k
    pixel *src = (pixel*)_src;
384
169k
    pixel4 dcsplat;
385
169k
    stride >>= sizeof(pixel)-1;
386
387
2.88M
    for(i=0;i<16; i++){
388
2.71M
        dc+= src[i-stride];
389
2.71M
    }
390
391
169k
    dcsplat = PIXEL_SPLAT_X4((dc+8)>>4);
392
169k
    PREDICT_16x16_DC(dcsplat);
393
169k
}
394
395
#define PRED16x16_X(n, v) \
396
127k
static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
397
127k
{\
398
127k
    int i;\
399
127k
    pixel *src = (pixel*)_src;\
400
127k
    stride >>= sizeof(pixel)-1;\
401
127k
    PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\
402
127k
}
h264pred.c:pred16x16_128_dc_9_c
Line
Count
Source
396
2.07k
static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
397
2.07k
{\
398
2.07k
    int i;\
399
2.07k
    pixel *src = (pixel*)_src;\
400
2.07k
    stride >>= sizeof(pixel)-1;\
401
2.07k
    PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\
402
2.07k
}
h264pred.c:pred16x16_128_dc_10_c
Line
Count
Source
396
11.0k
static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
397
11.0k
{\
398
11.0k
    int i;\
399
11.0k
    pixel *src = (pixel*)_src;\
400
11.0k
    stride >>= sizeof(pixel)-1;\
401
11.0k
    PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\
402
11.0k
}
h264pred.c:pred16x16_128_dc_12_c
Line
Count
Source
396
11.6k
static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
397
11.6k
{\
398
11.6k
    int i;\
399
11.6k
    pixel *src = (pixel*)_src;\
400
11.6k
    stride >>= sizeof(pixel)-1;\
401
11.6k
    PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\
402
11.6k
}
h264pred.c:pred16x16_128_dc_14_c
Line
Count
Source
396
5.42k
static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
397
5.42k
{\
398
5.42k
    int i;\
399
5.42k
    pixel *src = (pixel*)_src;\
400
5.42k
    stride >>= sizeof(pixel)-1;\
401
5.42k
    PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\
402
5.42k
}
h264pred.c:pred16x16_128_dc_8_c
Line
Count
Source
396
65.3k
static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
397
65.3k
{\
398
65.3k
    int i;\
399
65.3k
    pixel *src = (pixel*)_src;\
400
65.3k
    stride >>= sizeof(pixel)-1;\
401
65.3k
    PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\
402
65.3k
}
h264pred.c:pred16x16_127_dc_8_c
Line
Count
Source
396
16.2k
static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
397
16.2k
{\
398
16.2k
    int i;\
399
16.2k
    pixel *src = (pixel*)_src;\
400
16.2k
    stride >>= sizeof(pixel)-1;\
401
16.2k
    PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\
402
16.2k
}
h264pred.c:pred16x16_129_dc_8_c
Line
Count
Source
396
15.8k
static void FUNCC(pred16x16_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
397
15.8k
{\
398
15.8k
    int i;\
399
15.8k
    pixel *src = (pixel*)_src;\
400
15.8k
    stride >>= sizeof(pixel)-1;\
401
15.8k
    PREDICT_16x16_DC(PIXEL_SPLAT_X4(v));\
402
15.8k
}
403
404
PRED16x16_X(128, (1<<(BIT_DEPTH-1))+0)
405
#if BIT_DEPTH == 8
406
PRED16x16_X(127, (1<<(BIT_DEPTH-1))-1)
407
PRED16x16_X(129, (1<<(BIT_DEPTH-1))+1)
408
#endif
409
410
static inline void FUNCC(pred16x16_plane_compat)(uint8_t *_src,
411
                                                 ptrdiff_t _stride,
412
                                                 const int svq3,
413
                                                 const int rv40)
414
341k
{
415
341k
  int i, j, k;
416
341k
  int a;
417
341k
  pixel *src = (pixel*)_src;
418
341k
  int stride = _stride>>(sizeof(pixel)-1);
419
341k
  const pixel * const src0 = src +7-stride;
420
341k
  const pixel *       src1 = src +8*stride-1;
421
341k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
422
341k
  int H = src0[1] - src0[-1];
423
341k
  int V = src1[0] - src2[ 0];
424
2.73M
  for(k=2; k<=8; ++k) {
425
2.39M
    src1 += stride; src2 -= stride;
426
2.39M
    H += k*(src0[k] - src0[-k]);
427
2.39M
    V += k*(src1[0] - src2[ 0]);
428
2.39M
  }
429
341k
  if(svq3){
430
2.63k
    H = ( 5*(H/4) ) / 16;
431
2.63k
    V = ( 5*(V/4) ) / 16;
432
433
    /* required for 100% accuracy */
434
2.63k
    i = H; H = V; V = i;
435
339k
  }else if(rv40){
436
153k
    H = ( H + (H>>2) ) >> 4;
437
153k
    V = ( V + (V>>2) ) >> 4;
438
185k
  }else{
439
185k
    H = ( 5*H+32 ) >> 6;
440
185k
    V = ( 5*V+32 ) >> 6;
441
185k
  }
442
443
341k
  a = 16*(src1[0] + src2[16] + 1) - 7*(V+H);
444
5.81M
  for(j=16; j>0; --j) {
445
5.46M
    int b = a;
446
5.46M
    a += V;
447
27.3M
    for(i=-16; i<0; i+=4) {
448
21.8M
      src[16+i] = CLIP((b    ) >> 5);
449
21.8M
      src[17+i] = CLIP((b+  H) >> 5);
450
21.8M
      src[18+i] = CLIP((b+2*H) >> 5);
451
21.8M
      src[19+i] = CLIP((b+3*H) >> 5);
452
21.8M
      b += 4*H;
453
21.8M
    }
454
5.46M
    src += stride;
455
5.46M
  }
456
341k
}
h264pred.c:pred16x16_plane_compat_9_c
Line
Count
Source
414
23.5k
{
415
23.5k
  int i, j, k;
416
23.5k
  int a;
417
23.5k
  pixel *src = (pixel*)_src;
418
23.5k
  int stride = _stride>>(sizeof(pixel)-1);
419
23.5k
  const pixel * const src0 = src +7-stride;
420
23.5k
  const pixel *       src1 = src +8*stride-1;
421
23.5k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
422
23.5k
  int H = src0[1] - src0[-1];
423
23.5k
  int V = src1[0] - src2[ 0];
424
188k
  for(k=2; k<=8; ++k) {
425
164k
    src1 += stride; src2 -= stride;
426
164k
    H += k*(src0[k] - src0[-k]);
427
164k
    V += k*(src1[0] - src2[ 0]);
428
164k
  }
429
23.5k
  if(svq3){
430
0
    H = ( 5*(H/4) ) / 16;
431
0
    V = ( 5*(V/4) ) / 16;
432
433
    /* required for 100% accuracy */
434
0
    i = H; H = V; V = i;
435
23.5k
  }else if(rv40){
436
0
    H = ( H + (H>>2) ) >> 4;
437
0
    V = ( V + (V>>2) ) >> 4;
438
23.5k
  }else{
439
23.5k
    H = ( 5*H+32 ) >> 6;
440
23.5k
    V = ( 5*V+32 ) >> 6;
441
23.5k
  }
442
443
23.5k
  a = 16*(src1[0] + src2[16] + 1) - 7*(V+H);
444
400k
  for(j=16; j>0; --j) {
445
376k
    int b = a;
446
376k
    a += V;
447
1.88M
    for(i=-16; i<0; i+=4) {
448
1.50M
      src[16+i] = CLIP((b    ) >> 5);
449
1.50M
      src[17+i] = CLIP((b+  H) >> 5);
450
1.50M
      src[18+i] = CLIP((b+2*H) >> 5);
451
1.50M
      src[19+i] = CLIP((b+3*H) >> 5);
452
1.50M
      b += 4*H;
453
1.50M
    }
454
376k
    src += stride;
455
376k
  }
456
23.5k
}
h264pred.c:pred16x16_plane_compat_10_c
Line
Count
Source
414
96.6k
{
415
96.6k
  int i, j, k;
416
96.6k
  int a;
417
96.6k
  pixel *src = (pixel*)_src;
418
96.6k
  int stride = _stride>>(sizeof(pixel)-1);
419
96.6k
  const pixel * const src0 = src +7-stride;
420
96.6k
  const pixel *       src1 = src +8*stride-1;
421
96.6k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
422
96.6k
  int H = src0[1] - src0[-1];
423
96.6k
  int V = src1[0] - src2[ 0];
424
772k
  for(k=2; k<=8; ++k) {
425
676k
    src1 += stride; src2 -= stride;
426
676k
    H += k*(src0[k] - src0[-k]);
427
676k
    V += k*(src1[0] - src2[ 0]);
428
676k
  }
429
96.6k
  if(svq3){
430
0
    H = ( 5*(H/4) ) / 16;
431
0
    V = ( 5*(V/4) ) / 16;
432
433
    /* required for 100% accuracy */
434
0
    i = H; H = V; V = i;
435
96.6k
  }else if(rv40){
436
0
    H = ( H + (H>>2) ) >> 4;
437
0
    V = ( V + (V>>2) ) >> 4;
438
96.6k
  }else{
439
96.6k
    H = ( 5*H+32 ) >> 6;
440
96.6k
    V = ( 5*V+32 ) >> 6;
441
96.6k
  }
442
443
96.6k
  a = 16*(src1[0] + src2[16] + 1) - 7*(V+H);
444
1.64M
  for(j=16; j>0; --j) {
445
1.54M
    int b = a;
446
1.54M
    a += V;
447
7.72M
    for(i=-16; i<0; i+=4) {
448
6.18M
      src[16+i] = CLIP((b    ) >> 5);
449
6.18M
      src[17+i] = CLIP((b+  H) >> 5);
450
6.18M
      src[18+i] = CLIP((b+2*H) >> 5);
451
6.18M
      src[19+i] = CLIP((b+3*H) >> 5);
452
6.18M
      b += 4*H;
453
6.18M
    }
454
1.54M
    src += stride;
455
1.54M
  }
456
96.6k
}
h264pred.c:pred16x16_plane_compat_12_c
Line
Count
Source
414
8.30k
{
415
8.30k
  int i, j, k;
416
8.30k
  int a;
417
8.30k
  pixel *src = (pixel*)_src;
418
8.30k
  int stride = _stride>>(sizeof(pixel)-1);
419
8.30k
  const pixel * const src0 = src +7-stride;
420
8.30k
  const pixel *       src1 = src +8*stride-1;
421
8.30k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
422
8.30k
  int H = src0[1] - src0[-1];
423
8.30k
  int V = src1[0] - src2[ 0];
424
66.4k
  for(k=2; k<=8; ++k) {
425
58.1k
    src1 += stride; src2 -= stride;
426
58.1k
    H += k*(src0[k] - src0[-k]);
427
58.1k
    V += k*(src1[0] - src2[ 0]);
428
58.1k
  }
429
8.30k
  if(svq3){
430
0
    H = ( 5*(H/4) ) / 16;
431
0
    V = ( 5*(V/4) ) / 16;
432
433
    /* required for 100% accuracy */
434
0
    i = H; H = V; V = i;
435
8.30k
  }else if(rv40){
436
0
    H = ( H + (H>>2) ) >> 4;
437
0
    V = ( V + (V>>2) ) >> 4;
438
8.30k
  }else{
439
8.30k
    H = ( 5*H+32 ) >> 6;
440
8.30k
    V = ( 5*V+32 ) >> 6;
441
8.30k
  }
442
443
8.30k
  a = 16*(src1[0] + src2[16] + 1) - 7*(V+H);
444
141k
  for(j=16; j>0; --j) {
445
132k
    int b = a;
446
132k
    a += V;
447
664k
    for(i=-16; i<0; i+=4) {
448
531k
      src[16+i] = CLIP((b    ) >> 5);
449
531k
      src[17+i] = CLIP((b+  H) >> 5);
450
531k
      src[18+i] = CLIP((b+2*H) >> 5);
451
531k
      src[19+i] = CLIP((b+3*H) >> 5);
452
531k
      b += 4*H;
453
531k
    }
454
132k
    src += stride;
455
132k
  }
456
8.30k
}
h264pred.c:pred16x16_plane_compat_14_c
Line
Count
Source
414
15.6k
{
415
15.6k
  int i, j, k;
416
15.6k
  int a;
417
15.6k
  pixel *src = (pixel*)_src;
418
15.6k
  int stride = _stride>>(sizeof(pixel)-1);
419
15.6k
  const pixel * const src0 = src +7-stride;
420
15.6k
  const pixel *       src1 = src +8*stride-1;
421
15.6k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
422
15.6k
  int H = src0[1] - src0[-1];
423
15.6k
  int V = src1[0] - src2[ 0];
424
125k
  for(k=2; k<=8; ++k) {
425
109k
    src1 += stride; src2 -= stride;
426
109k
    H += k*(src0[k] - src0[-k]);
427
109k
    V += k*(src1[0] - src2[ 0]);
428
109k
  }
429
15.6k
  if(svq3){
430
0
    H = ( 5*(H/4) ) / 16;
431
0
    V = ( 5*(V/4) ) / 16;
432
433
    /* required for 100% accuracy */
434
0
    i = H; H = V; V = i;
435
15.6k
  }else if(rv40){
436
0
    H = ( H + (H>>2) ) >> 4;
437
0
    V = ( V + (V>>2) ) >> 4;
438
15.6k
  }else{
439
15.6k
    H = ( 5*H+32 ) >> 6;
440
15.6k
    V = ( 5*V+32 ) >> 6;
441
15.6k
  }
442
443
15.6k
  a = 16*(src1[0] + src2[16] + 1) - 7*(V+H);
444
266k
  for(j=16; j>0; --j) {
445
250k
    int b = a;
446
250k
    a += V;
447
1.25M
    for(i=-16; i<0; i+=4) {
448
1.00M
      src[16+i] = CLIP((b    ) >> 5);
449
1.00M
      src[17+i] = CLIP((b+  H) >> 5);
450
1.00M
      src[18+i] = CLIP((b+2*H) >> 5);
451
1.00M
      src[19+i] = CLIP((b+3*H) >> 5);
452
1.00M
      b += 4*H;
453
1.00M
    }
454
250k
    src += stride;
455
250k
  }
456
15.6k
}
h264pred.c:pred16x16_plane_compat_8_c
Line
Count
Source
414
197k
{
415
197k
  int i, j, k;
416
197k
  int a;
417
197k
  pixel *src = (pixel*)_src;
418
197k
  int stride = _stride>>(sizeof(pixel)-1);
419
197k
  const pixel * const src0 = src +7-stride;
420
197k
  const pixel *       src1 = src +8*stride-1;
421
197k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
422
197k
  int H = src0[1] - src0[-1];
423
197k
  int V = src1[0] - src2[ 0];
424
1.58M
  for(k=2; k<=8; ++k) {
425
1.38M
    src1 += stride; src2 -= stride;
426
1.38M
    H += k*(src0[k] - src0[-k]);
427
1.38M
    V += k*(src1[0] - src2[ 0]);
428
1.38M
  }
429
197k
  if(svq3){
430
2.63k
    H = ( 5*(H/4) ) / 16;
431
2.63k
    V = ( 5*(V/4) ) / 16;
432
433
    /* required for 100% accuracy */
434
2.63k
    i = H; H = V; V = i;
435
195k
  }else if(rv40){
436
153k
    H = ( H + (H>>2) ) >> 4;
437
153k
    V = ( V + (V>>2) ) >> 4;
438
153k
  }else{
439
41.5k
    H = ( 5*H+32 ) >> 6;
440
41.5k
    V = ( 5*V+32 ) >> 6;
441
41.5k
  }
442
443
197k
  a = 16*(src1[0] + src2[16] + 1) - 7*(V+H);
444
3.36M
  for(j=16; j>0; --j) {
445
3.16M
    int b = a;
446
3.16M
    a += V;
447
15.8M
    for(i=-16; i<0; i+=4) {
448
12.6M
      src[16+i] = CLIP((b    ) >> 5);
449
12.6M
      src[17+i] = CLIP((b+  H) >> 5);
450
12.6M
      src[18+i] = CLIP((b+2*H) >> 5);
451
12.6M
      src[19+i] = CLIP((b+3*H) >> 5);
452
12.6M
      b += 4*H;
453
12.6M
    }
454
3.16M
    src += stride;
455
3.16M
  }
456
197k
}
457
458
static void FUNCC(pred16x16_plane)(uint8_t *src, ptrdiff_t stride)
459
185k
{
460
185k
    FUNCC(pred16x16_plane_compat)(src, stride, 0, 0);
461
185k
}
h264pred.c:pred16x16_plane_9_c
Line
Count
Source
459
23.5k
{
460
23.5k
    FUNCC(pred16x16_plane_compat)(src, stride, 0, 0);
461
23.5k
}
h264pred.c:pred16x16_plane_10_c
Line
Count
Source
459
96.6k
{
460
96.6k
    FUNCC(pred16x16_plane_compat)(src, stride, 0, 0);
461
96.6k
}
h264pred.c:pred16x16_plane_12_c
Line
Count
Source
459
8.30k
{
460
8.30k
    FUNCC(pred16x16_plane_compat)(src, stride, 0, 0);
461
8.30k
}
h264pred.c:pred16x16_plane_14_c
Line
Count
Source
459
15.6k
{
460
15.6k
    FUNCC(pred16x16_plane_compat)(src, stride, 0, 0);
461
15.6k
}
h264pred.c:pred16x16_plane_8_c
Line
Count
Source
459
41.5k
{
460
41.5k
    FUNCC(pred16x16_plane_compat)(src, stride, 0, 0);
461
41.5k
}
462
463
static void FUNCC(pred8x8_vertical)(uint8_t *_src, ptrdiff_t _stride)
464
1.92M
{
465
1.92M
    int i;
466
1.92M
    pixel *src = (pixel*)_src;
467
1.92M
    int stride = _stride>>(sizeof(pixel)-1);
468
1.92M
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
469
1.92M
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
470
471
17.2M
    for(i=0; i<8; i++){
472
15.3M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
473
15.3M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
474
15.3M
    }
475
1.92M
}
h264pred.c:pred8x8_vertical_9_c
Line
Count
Source
464
24.9k
{
465
24.9k
    int i;
466
24.9k
    pixel *src = (pixel*)_src;
467
24.9k
    int stride = _stride>>(sizeof(pixel)-1);
468
24.9k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
469
24.9k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
470
471
224k
    for(i=0; i<8; i++){
472
199k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
473
199k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
474
199k
    }
475
24.9k
}
h264pred.c:pred8x8_vertical_10_c
Line
Count
Source
464
17.3k
{
465
17.3k
    int i;
466
17.3k
    pixel *src = (pixel*)_src;
467
17.3k
    int stride = _stride>>(sizeof(pixel)-1);
468
17.3k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
469
17.3k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
470
471
156k
    for(i=0; i<8; i++){
472
138k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
473
138k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
474
138k
    }
475
17.3k
}
h264pred.c:pred8x8_vertical_12_c
Line
Count
Source
464
7.90k
{
465
7.90k
    int i;
466
7.90k
    pixel *src = (pixel*)_src;
467
7.90k
    int stride = _stride>>(sizeof(pixel)-1);
468
7.90k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
469
7.90k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
470
471
71.1k
    for(i=0; i<8; i++){
472
63.2k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
473
63.2k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
474
63.2k
    }
475
7.90k
}
h264pred.c:pred8x8_vertical_14_c
Line
Count
Source
464
45.2k
{
465
45.2k
    int i;
466
45.2k
    pixel *src = (pixel*)_src;
467
45.2k
    int stride = _stride>>(sizeof(pixel)-1);
468
45.2k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
469
45.2k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
470
471
406k
    for(i=0; i<8; i++){
472
361k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
473
361k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
474
361k
    }
475
45.2k
}
h264pred.c:pred8x8_vertical_8_c
Line
Count
Source
464
1.82M
{
465
1.82M
    int i;
466
1.82M
    pixel *src = (pixel*)_src;
467
1.82M
    int stride = _stride>>(sizeof(pixel)-1);
468
1.82M
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
469
1.82M
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
470
471
16.4M
    for(i=0; i<8; i++){
472
14.6M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
473
14.6M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
474
14.6M
    }
475
1.82M
}
476
477
static void FUNCC(pred8x16_vertical)(uint8_t *_src, ptrdiff_t _stride)
478
128k
{
479
128k
    int i;
480
128k
    pixel *src = (pixel*)_src;
481
128k
    int stride = _stride>>(sizeof(pixel)-1);
482
128k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
483
128k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
484
485
2.18M
    for(i=0; i<16; i++){
486
2.06M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
487
2.06M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
488
2.06M
    }
489
128k
}
h264pred.c:pred8x16_vertical_9_c
Line
Count
Source
478
25.8k
{
479
25.8k
    int i;
480
25.8k
    pixel *src = (pixel*)_src;
481
25.8k
    int stride = _stride>>(sizeof(pixel)-1);
482
25.8k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
483
25.8k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
484
485
438k
    for(i=0; i<16; i++){
486
413k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
487
413k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
488
413k
    }
489
25.8k
}
h264pred.c:pred8x16_vertical_10_c
Line
Count
Source
478
54.1k
{
479
54.1k
    int i;
480
54.1k
    pixel *src = (pixel*)_src;
481
54.1k
    int stride = _stride>>(sizeof(pixel)-1);
482
54.1k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
483
54.1k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
484
485
920k
    for(i=0; i<16; i++){
486
866k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
487
866k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
488
866k
    }
489
54.1k
}
h264pred.c:pred8x16_vertical_12_c
Line
Count
Source
478
20.1k
{
479
20.1k
    int i;
480
20.1k
    pixel *src = (pixel*)_src;
481
20.1k
    int stride = _stride>>(sizeof(pixel)-1);
482
20.1k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
483
20.1k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
484
485
343k
    for(i=0; i<16; i++){
486
323k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
487
323k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
488
323k
    }
489
20.1k
}
h264pred.c:pred8x16_vertical_14_c
Line
Count
Source
478
7.63k
{
479
7.63k
    int i;
480
7.63k
    pixel *src = (pixel*)_src;
481
7.63k
    int stride = _stride>>(sizeof(pixel)-1);
482
7.63k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
483
7.63k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
484
485
129k
    for(i=0; i<16; i++){
486
122k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
487
122k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
488
122k
    }
489
7.63k
}
h264pred.c:pred8x16_vertical_8_c
Line
Count
Source
478
21.0k
{
479
21.0k
    int i;
480
21.0k
    pixel *src = (pixel*)_src;
481
21.0k
    int stride = _stride>>(sizeof(pixel)-1);
482
21.0k
    const pixel4 a= AV_RN4PA(((pixel4*)(src-stride))+0);
483
21.0k
    const pixel4 b= AV_RN4PA(((pixel4*)(src-stride))+1);
484
485
357k
    for(i=0; i<16; i++){
486
336k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
487
336k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, b);
488
336k
    }
489
21.0k
}
490
491
static void FUNCC(pred8x8_horizontal)(uint8_t *_src, ptrdiff_t stride)
492
2.35M
{
493
2.35M
    int i;
494
2.35M
    pixel *src = (pixel*)_src;
495
2.35M
    stride >>= sizeof(pixel)-1;
496
497
21.2M
    for(i=0; i<8; i++){
498
18.8M
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
499
18.8M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
500
18.8M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
501
18.8M
    }
502
2.35M
}
h264pred.c:pred8x8_horizontal_9_c
Line
Count
Source
492
310k
{
493
310k
    int i;
494
310k
    pixel *src = (pixel*)_src;
495
310k
    stride >>= sizeof(pixel)-1;
496
497
2.79M
    for(i=0; i<8; i++){
498
2.48M
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
499
2.48M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
500
2.48M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
501
2.48M
    }
502
310k
}
h264pred.c:pred8x8_horizontal_10_c
Line
Count
Source
492
52.9k
{
493
52.9k
    int i;
494
52.9k
    pixel *src = (pixel*)_src;
495
52.9k
    stride >>= sizeof(pixel)-1;
496
497
476k
    for(i=0; i<8; i++){
498
423k
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
499
423k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
500
423k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
501
423k
    }
502
52.9k
}
h264pred.c:pred8x8_horizontal_12_c
Line
Count
Source
492
16.8k
{
493
16.8k
    int i;
494
16.8k
    pixel *src = (pixel*)_src;
495
16.8k
    stride >>= sizeof(pixel)-1;
496
497
151k
    for(i=0; i<8; i++){
498
134k
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
499
134k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
500
134k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
501
134k
    }
502
16.8k
}
h264pred.c:pred8x8_horizontal_14_c
Line
Count
Source
492
119k
{
493
119k
    int i;
494
119k
    pixel *src = (pixel*)_src;
495
119k
    stride >>= sizeof(pixel)-1;
496
497
1.07M
    for(i=0; i<8; i++){
498
957k
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
499
957k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
500
957k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
501
957k
    }
502
119k
}
h264pred.c:pred8x8_horizontal_8_c
Line
Count
Source
492
1.85M
{
493
1.85M
    int i;
494
1.85M
    pixel *src = (pixel*)_src;
495
1.85M
    stride >>= sizeof(pixel)-1;
496
497
16.7M
    for(i=0; i<8; i++){
498
14.8M
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
499
14.8M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
500
14.8M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
501
14.8M
    }
502
1.85M
}
503
504
static void FUNCC(pred8x16_horizontal)(uint8_t *_src, ptrdiff_t stride)
505
441k
{
506
441k
    int i;
507
441k
    pixel *src = (pixel*)_src;
508
441k
    stride >>= sizeof(pixel)-1;
509
7.50M
    for(i=0; i<16; i++){
510
7.06M
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
511
7.06M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
512
7.06M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
513
7.06M
    }
514
441k
}
h264pred.c:pred8x16_horizontal_9_c
Line
Count
Source
505
64.3k
{
506
64.3k
    int i;
507
64.3k
    pixel *src = (pixel*)_src;
508
64.3k
    stride >>= sizeof(pixel)-1;
509
1.09M
    for(i=0; i<16; i++){
510
1.02M
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
511
1.02M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
512
1.02M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
513
1.02M
    }
514
64.3k
}
h264pred.c:pred8x16_horizontal_10_c
Line
Count
Source
505
199k
{
506
199k
    int i;
507
199k
    pixel *src = (pixel*)_src;
508
199k
    stride >>= sizeof(pixel)-1;
509
3.38M
    for(i=0; i<16; i++){
510
3.18M
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
511
3.18M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
512
3.18M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
513
3.18M
    }
514
199k
}
h264pred.c:pred8x16_horizontal_12_c
Line
Count
Source
505
121k
{
506
121k
    int i;
507
121k
    pixel *src = (pixel*)_src;
508
121k
    stride >>= sizeof(pixel)-1;
509
2.06M
    for(i=0; i<16; i++){
510
1.94M
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
511
1.94M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
512
1.94M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
513
1.94M
    }
514
121k
}
h264pred.c:pred8x16_horizontal_14_c
Line
Count
Source
505
24.1k
{
506
24.1k
    int i;
507
24.1k
    pixel *src = (pixel*)_src;
508
24.1k
    stride >>= sizeof(pixel)-1;
509
410k
    for(i=0; i<16; i++){
510
386k
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
511
386k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
512
386k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
513
386k
    }
514
24.1k
}
h264pred.c:pred8x16_horizontal_8_c
Line
Count
Source
505
32.7k
{
506
32.7k
    int i;
507
32.7k
    pixel *src = (pixel*)_src;
508
32.7k
    stride >>= sizeof(pixel)-1;
509
557k
    for(i=0; i<16; i++){
510
524k
        const pixel4 a = PIXEL_SPLAT_X4(src[-1+i*stride]);
511
524k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);
512
524k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);
513
524k
    }
514
32.7k
}
515
516
#define PRED8x8_X(n, v)\
517
1.39M
static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
518
1.39M
{\
519
1.39M
    int i;\
520
1.39M
    const pixel4 a = PIXEL_SPLAT_X4(v);\
521
1.39M
    pixel *src = (pixel*)_src;\
522
1.39M
    stride >>= sizeof(pixel)-1;\
523
12.5M
    for(i=0; i<8; i++){\
524
11.1M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);\
525
11.1M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);\
526
11.1M
    }\
527
1.39M
}
h264pred.c:pred8x8_128_dc_9_c
Line
Count
Source
517
157k
static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
518
157k
{\
519
157k
    int i;\
520
157k
    const pixel4 a = PIXEL_SPLAT_X4(v);\
521
157k
    pixel *src = (pixel*)_src;\
522
157k
    stride >>= sizeof(pixel)-1;\
523
1.41M
    for(i=0; i<8; i++){\
524
1.26M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);\
525
1.26M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);\
526
1.26M
    }\
527
157k
}
h264pred.c:pred8x8_128_dc_10_c
Line
Count
Source
517
99.1k
static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
518
99.1k
{\
519
99.1k
    int i;\
520
99.1k
    const pixel4 a = PIXEL_SPLAT_X4(v);\
521
99.1k
    pixel *src = (pixel*)_src;\
522
99.1k
    stride >>= sizeof(pixel)-1;\
523
892k
    for(i=0; i<8; i++){\
524
792k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);\
525
792k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);\
526
792k
    }\
527
99.1k
}
h264pred.c:pred8x8_128_dc_12_c
Line
Count
Source
517
203k
static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
518
203k
{\
519
203k
    int i;\
520
203k
    const pixel4 a = PIXEL_SPLAT_X4(v);\
521
203k
    pixel *src = (pixel*)_src;\
522
203k
    stride >>= sizeof(pixel)-1;\
523
1.83M
    for(i=0; i<8; i++){\
524
1.63M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);\
525
1.63M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);\
526
1.63M
    }\
527
203k
}
h264pred.c:pred8x8_128_dc_14_c
Line
Count
Source
517
185k
static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
518
185k
{\
519
185k
    int i;\
520
185k
    const pixel4 a = PIXEL_SPLAT_X4(v);\
521
185k
    pixel *src = (pixel*)_src;\
522
185k
    stride >>= sizeof(pixel)-1;\
523
1.66M
    for(i=0; i<8; i++){\
524
1.48M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);\
525
1.48M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);\
526
1.48M
    }\
527
185k
}
h264pred.c:pred8x8_128_dc_8_c
Line
Count
Source
517
600k
static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
518
600k
{\
519
600k
    int i;\
520
600k
    const pixel4 a = PIXEL_SPLAT_X4(v);\
521
600k
    pixel *src = (pixel*)_src;\
522
600k
    stride >>= sizeof(pixel)-1;\
523
5.40M
    for(i=0; i<8; i++){\
524
4.80M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);\
525
4.80M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);\
526
4.80M
    }\
527
600k
}
h264pred.c:pred8x8_127_dc_8_c
Line
Count
Source
517
103k
static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
518
103k
{\
519
103k
    int i;\
520
103k
    const pixel4 a = PIXEL_SPLAT_X4(v);\
521
103k
    pixel *src = (pixel*)_src;\
522
103k
    stride >>= sizeof(pixel)-1;\
523
931k
    for(i=0; i<8; i++){\
524
828k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);\
525
828k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);\
526
828k
    }\
527
103k
}
h264pred.c:pred8x8_129_dc_8_c
Line
Count
Source
517
45.5k
static void FUNCC(pred8x8_##n##_dc)(uint8_t *_src, ptrdiff_t stride)\
518
45.5k
{\
519
45.5k
    int i;\
520
45.5k
    const pixel4 a = PIXEL_SPLAT_X4(v);\
521
45.5k
    pixel *src = (pixel*)_src;\
522
45.5k
    stride >>= sizeof(pixel)-1;\
523
409k
    for(i=0; i<8; i++){\
524
364k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, a);\
525
364k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, a);\
526
364k
    }\
527
45.5k
}
528
529
PRED8x8_X(128, (1<<(BIT_DEPTH-1))+0)
530
#if BIT_DEPTH == 8
531
PRED8x8_X(127, (1<<(BIT_DEPTH-1))-1)
532
PRED8x8_X(129, (1<<(BIT_DEPTH-1))+1)
533
#endif
534
535
static void FUNCC(pred8x16_128_dc)(uint8_t *_src, ptrdiff_t stride)
536
188k
{
537
188k
    FUNCC(pred8x8_128_dc)(_src, stride);
538
188k
    FUNCC(pred8x8_128_dc)(_src+8*stride, stride);
539
188k
}
h264pred.c:pred8x16_128_dc_9_c
Line
Count
Source
536
56.7k
{
537
56.7k
    FUNCC(pred8x8_128_dc)(_src, stride);
538
56.7k
    FUNCC(pred8x8_128_dc)(_src+8*stride, stride);
539
56.7k
}
h264pred.c:pred8x16_128_dc_10_c
Line
Count
Source
536
36.6k
{
537
36.6k
    FUNCC(pred8x8_128_dc)(_src, stride);
538
36.6k
    FUNCC(pred8x8_128_dc)(_src+8*stride, stride);
539
36.6k
}
h264pred.c:pred8x16_128_dc_12_c
Line
Count
Source
536
62.1k
{
537
62.1k
    FUNCC(pred8x8_128_dc)(_src, stride);
538
62.1k
    FUNCC(pred8x8_128_dc)(_src+8*stride, stride);
539
62.1k
}
h264pred.c:pred8x16_128_dc_14_c
Line
Count
Source
536
16.0k
{
537
16.0k
    FUNCC(pred8x8_128_dc)(_src, stride);
538
16.0k
    FUNCC(pred8x8_128_dc)(_src+8*stride, stride);
539
16.0k
}
h264pred.c:pred8x16_128_dc_8_c
Line
Count
Source
536
16.4k
{
537
16.4k
    FUNCC(pred8x8_128_dc)(_src, stride);
538
16.4k
    FUNCC(pred8x8_128_dc)(_src+8*stride, stride);
539
16.4k
}
540
541
static void FUNCC(pred8x8_left_dc)(uint8_t *_src, ptrdiff_t stride)
542
1.30M
{
543
1.30M
    int i;
544
1.30M
    int dc0, dc2;
545
1.30M
    pixel4 dc0splat, dc2splat;
546
1.30M
    pixel *src = (pixel*)_src;
547
1.30M
    stride >>= sizeof(pixel)-1;
548
549
1.30M
    dc0=dc2=0;
550
6.52M
    for(i=0;i<4; i++){
551
5.22M
        dc0+= src[-1+i*stride];
552
5.22M
        dc2+= src[-1+(i+4)*stride];
553
5.22M
    }
554
1.30M
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
555
1.30M
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
556
557
6.52M
    for(i=0; i<4; i++){
558
5.22M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
559
5.22M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc0splat);
560
5.22M
    }
561
6.52M
    for(i=4; i<8; i++){
562
5.22M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
563
5.22M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc2splat);
564
5.22M
    }
565
1.30M
}
h264pred.c:pred8x8_left_dc_9_c
Line
Count
Source
542
125k
{
543
125k
    int i;
544
125k
    int dc0, dc2;
545
125k
    pixel4 dc0splat, dc2splat;
546
125k
    pixel *src = (pixel*)_src;
547
125k
    stride >>= sizeof(pixel)-1;
548
549
125k
    dc0=dc2=0;
550
628k
    for(i=0;i<4; i++){
551
502k
        dc0+= src[-1+i*stride];
552
502k
        dc2+= src[-1+(i+4)*stride];
553
502k
    }
554
125k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
555
125k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
556
557
628k
    for(i=0; i<4; i++){
558
502k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
559
502k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc0splat);
560
502k
    }
561
628k
    for(i=4; i<8; i++){
562
502k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
563
502k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc2splat);
564
502k
    }
565
125k
}
h264pred.c:pred8x8_left_dc_10_c
Line
Count
Source
542
79.5k
{
543
79.5k
    int i;
544
79.5k
    int dc0, dc2;
545
79.5k
    pixel4 dc0splat, dc2splat;
546
79.5k
    pixel *src = (pixel*)_src;
547
79.5k
    stride >>= sizeof(pixel)-1;
548
549
79.5k
    dc0=dc2=0;
550
397k
    for(i=0;i<4; i++){
551
318k
        dc0+= src[-1+i*stride];
552
318k
        dc2+= src[-1+(i+4)*stride];
553
318k
    }
554
79.5k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
555
79.5k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
556
557
397k
    for(i=0; i<4; i++){
558
318k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
559
318k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc0splat);
560
318k
    }
561
397k
    for(i=4; i<8; i++){
562
318k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
563
318k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc2splat);
564
318k
    }
565
79.5k
}
h264pred.c:pred8x8_left_dc_12_c
Line
Count
Source
542
147k
{
543
147k
    int i;
544
147k
    int dc0, dc2;
545
147k
    pixel4 dc0splat, dc2splat;
546
147k
    pixel *src = (pixel*)_src;
547
147k
    stride >>= sizeof(pixel)-1;
548
549
147k
    dc0=dc2=0;
550
737k
    for(i=0;i<4; i++){
551
590k
        dc0+= src[-1+i*stride];
552
590k
        dc2+= src[-1+(i+4)*stride];
553
590k
    }
554
147k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
555
147k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
556
557
737k
    for(i=0; i<4; i++){
558
590k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
559
590k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc0splat);
560
590k
    }
561
737k
    for(i=4; i<8; i++){
562
590k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
563
590k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc2splat);
564
590k
    }
565
147k
}
h264pred.c:pred8x8_left_dc_14_c
Line
Count
Source
542
173k
{
543
173k
    int i;
544
173k
    int dc0, dc2;
545
173k
    pixel4 dc0splat, dc2splat;
546
173k
    pixel *src = (pixel*)_src;
547
173k
    stride >>= sizeof(pixel)-1;
548
549
173k
    dc0=dc2=0;
550
867k
    for(i=0;i<4; i++){
551
693k
        dc0+= src[-1+i*stride];
552
693k
        dc2+= src[-1+(i+4)*stride];
553
693k
    }
554
173k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
555
173k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
556
557
867k
    for(i=0; i<4; i++){
558
693k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
559
693k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc0splat);
560
693k
    }
561
867k
    for(i=4; i<8; i++){
562
693k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
563
693k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc2splat);
564
693k
    }
565
173k
}
h264pred.c:pred8x8_left_dc_8_c
Line
Count
Source
542
778k
{
543
778k
    int i;
544
778k
    int dc0, dc2;
545
778k
    pixel4 dc0splat, dc2splat;
546
778k
    pixel *src = (pixel*)_src;
547
778k
    stride >>= sizeof(pixel)-1;
548
549
778k
    dc0=dc2=0;
550
3.89M
    for(i=0;i<4; i++){
551
3.11M
        dc0+= src[-1+i*stride];
552
3.11M
        dc2+= src[-1+(i+4)*stride];
553
3.11M
    }
554
778k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
555
778k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
556
557
3.89M
    for(i=0; i<4; i++){
558
3.11M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
559
3.11M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc0splat);
560
3.11M
    }
561
3.89M
    for(i=4; i<8; i++){
562
3.11M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
563
3.11M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc2splat);
564
3.11M
    }
565
778k
}
566
567
static void FUNCC(pred8x16_left_dc)(uint8_t *_src, ptrdiff_t stride)
568
152k
{
569
152k
    FUNCC(pred8x8_left_dc)(_src, stride);
570
152k
    FUNCC(pred8x8_left_dc)(_src+8*stride, stride);
571
152k
}
h264pred.c:pred8x16_left_dc_9_c
Line
Count
Source
568
24.5k
{
569
24.5k
    FUNCC(pred8x8_left_dc)(_src, stride);
570
24.5k
    FUNCC(pred8x8_left_dc)(_src+8*stride, stride);
571
24.5k
}
h264pred.c:pred8x16_left_dc_10_c
Line
Count
Source
568
26.2k
{
569
26.2k
    FUNCC(pred8x8_left_dc)(_src, stride);
570
26.2k
    FUNCC(pred8x8_left_dc)(_src+8*stride, stride);
571
26.2k
}
h264pred.c:pred8x16_left_dc_12_c
Line
Count
Source
568
63.3k
{
569
63.3k
    FUNCC(pred8x8_left_dc)(_src, stride);
570
63.3k
    FUNCC(pred8x8_left_dc)(_src+8*stride, stride);
571
63.3k
}
h264pred.c:pred8x16_left_dc_14_c
Line
Count
Source
568
23.2k
{
569
23.2k
    FUNCC(pred8x8_left_dc)(_src, stride);
570
23.2k
    FUNCC(pred8x8_left_dc)(_src+8*stride, stride);
571
23.2k
}
h264pred.c:pred8x16_left_dc_8_c
Line
Count
Source
568
15.4k
{
569
15.4k
    FUNCC(pred8x8_left_dc)(_src, stride);
570
15.4k
    FUNCC(pred8x8_left_dc)(_src+8*stride, stride);
571
15.4k
}
572
573
static void FUNCC(pred8x8_top_dc)(uint8_t *_src, ptrdiff_t stride)
574
378k
{
575
378k
    int i;
576
378k
    int dc0, dc1;
577
378k
    pixel4 dc0splat, dc1splat;
578
378k
    pixel *src = (pixel*)_src;
579
378k
    stride >>= sizeof(pixel)-1;
580
581
378k
    dc0=dc1=0;
582
1.89M
    for(i=0;i<4; i++){
583
1.51M
        dc0+= src[i-stride];
584
1.51M
        dc1+= src[4+i-stride];
585
1.51M
    }
586
378k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
587
378k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
588
589
1.89M
    for(i=0; i<4; i++){
590
1.51M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
591
1.51M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
592
1.51M
    }
593
1.89M
    for(i=4; i<8; i++){
594
1.51M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
595
1.51M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
596
1.51M
    }
597
378k
}
h264pred.c:pred8x8_top_dc_9_c
Line
Count
Source
574
55.7k
{
575
55.7k
    int i;
576
55.7k
    int dc0, dc1;
577
55.7k
    pixel4 dc0splat, dc1splat;
578
55.7k
    pixel *src = (pixel*)_src;
579
55.7k
    stride >>= sizeof(pixel)-1;
580
581
55.7k
    dc0=dc1=0;
582
278k
    for(i=0;i<4; i++){
583
222k
        dc0+= src[i-stride];
584
222k
        dc1+= src[4+i-stride];
585
222k
    }
586
55.7k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
587
55.7k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
588
589
278k
    for(i=0; i<4; i++){
590
222k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
591
222k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
592
222k
    }
593
278k
    for(i=4; i<8; i++){
594
222k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
595
222k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
596
222k
    }
597
55.7k
}
h264pred.c:pred8x8_top_dc_10_c
Line
Count
Source
574
6.95k
{
575
6.95k
    int i;
576
6.95k
    int dc0, dc1;
577
6.95k
    pixel4 dc0splat, dc1splat;
578
6.95k
    pixel *src = (pixel*)_src;
579
6.95k
    stride >>= sizeof(pixel)-1;
580
581
6.95k
    dc0=dc1=0;
582
34.7k
    for(i=0;i<4; i++){
583
27.8k
        dc0+= src[i-stride];
584
27.8k
        dc1+= src[4+i-stride];
585
27.8k
    }
586
6.95k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
587
6.95k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
588
589
34.7k
    for(i=0; i<4; i++){
590
27.8k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
591
27.8k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
592
27.8k
    }
593
34.7k
    for(i=4; i<8; i++){
594
27.8k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
595
27.8k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
596
27.8k
    }
597
6.95k
}
h264pred.c:pred8x8_top_dc_12_c
Line
Count
Source
574
6.09k
{
575
6.09k
    int i;
576
6.09k
    int dc0, dc1;
577
6.09k
    pixel4 dc0splat, dc1splat;
578
6.09k
    pixel *src = (pixel*)_src;
579
6.09k
    stride >>= sizeof(pixel)-1;
580
581
6.09k
    dc0=dc1=0;
582
30.4k
    for(i=0;i<4; i++){
583
24.3k
        dc0+= src[i-stride];
584
24.3k
        dc1+= src[4+i-stride];
585
24.3k
    }
586
6.09k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
587
6.09k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
588
589
30.4k
    for(i=0; i<4; i++){
590
24.3k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
591
24.3k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
592
24.3k
    }
593
30.4k
    for(i=4; i<8; i++){
594
24.3k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
595
24.3k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
596
24.3k
    }
597
6.09k
}
h264pred.c:pred8x8_top_dc_14_c
Line
Count
Source
574
121k
{
575
121k
    int i;
576
121k
    int dc0, dc1;
577
121k
    pixel4 dc0splat, dc1splat;
578
121k
    pixel *src = (pixel*)_src;
579
121k
    stride >>= sizeof(pixel)-1;
580
581
121k
    dc0=dc1=0;
582
609k
    for(i=0;i<4; i++){
583
487k
        dc0+= src[i-stride];
584
487k
        dc1+= src[4+i-stride];
585
487k
    }
586
121k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
587
121k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
588
589
609k
    for(i=0; i<4; i++){
590
487k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
591
487k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
592
487k
    }
593
609k
    for(i=4; i<8; i++){
594
487k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
595
487k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
596
487k
    }
597
121k
}
h264pred.c:pred8x8_top_dc_8_c
Line
Count
Source
574
188k
{
575
188k
    int i;
576
188k
    int dc0, dc1;
577
188k
    pixel4 dc0splat, dc1splat;
578
188k
    pixel *src = (pixel*)_src;
579
188k
    stride >>= sizeof(pixel)-1;
580
581
188k
    dc0=dc1=0;
582
940k
    for(i=0;i<4; i++){
583
752k
        dc0+= src[i-stride];
584
752k
        dc1+= src[4+i-stride];
585
752k
    }
586
188k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
587
188k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
588
589
940k
    for(i=0; i<4; i++){
590
752k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
591
752k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
592
752k
    }
593
940k
    for(i=4; i<8; i++){
594
752k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
595
752k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
596
752k
    }
597
188k
}
598
599
static void FUNCC(pred8x16_top_dc)(uint8_t *_src, ptrdiff_t stride)
600
141k
{
601
141k
    int i;
602
141k
    int dc0, dc1;
603
141k
    pixel4 dc0splat, dc1splat;
604
141k
    pixel *src = (pixel*)_src;
605
141k
    stride >>= sizeof(pixel)-1;
606
607
141k
    dc0=dc1=0;
608
709k
    for(i=0;i<4; i++){
609
567k
        dc0+= src[i-stride];
610
567k
        dc1+= src[4+i-stride];
611
567k
    }
612
141k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
613
141k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
614
615
2.41M
    for(i=0; i<16; i++){
616
2.26M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
617
2.26M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
618
2.26M
    }
619
141k
}
h264pred.c:pred8x16_top_dc_9_c
Line
Count
Source
600
17.3k
{
601
17.3k
    int i;
602
17.3k
    int dc0, dc1;
603
17.3k
    pixel4 dc0splat, dc1splat;
604
17.3k
    pixel *src = (pixel*)_src;
605
17.3k
    stride >>= sizeof(pixel)-1;
606
607
17.3k
    dc0=dc1=0;
608
86.8k
    for(i=0;i<4; i++){
609
69.4k
        dc0+= src[i-stride];
610
69.4k
        dc1+= src[4+i-stride];
611
69.4k
    }
612
17.3k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
613
17.3k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
614
615
295k
    for(i=0; i<16; i++){
616
277k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
617
277k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
618
277k
    }
619
17.3k
}
h264pred.c:pred8x16_top_dc_10_c
Line
Count
Source
600
23.6k
{
601
23.6k
    int i;
602
23.6k
    int dc0, dc1;
603
23.6k
    pixel4 dc0splat, dc1splat;
604
23.6k
    pixel *src = (pixel*)_src;
605
23.6k
    stride >>= sizeof(pixel)-1;
606
607
23.6k
    dc0=dc1=0;
608
118k
    for(i=0;i<4; i++){
609
94.4k
        dc0+= src[i-stride];
610
94.4k
        dc1+= src[4+i-stride];
611
94.4k
    }
612
23.6k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
613
23.6k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
614
615
401k
    for(i=0; i<16; i++){
616
377k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
617
377k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
618
377k
    }
619
23.6k
}
h264pred.c:pred8x16_top_dc_12_c
Line
Count
Source
600
70.6k
{
601
70.6k
    int i;
602
70.6k
    int dc0, dc1;
603
70.6k
    pixel4 dc0splat, dc1splat;
604
70.6k
    pixel *src = (pixel*)_src;
605
70.6k
    stride >>= sizeof(pixel)-1;
606
607
70.6k
    dc0=dc1=0;
608
353k
    for(i=0;i<4; i++){
609
282k
        dc0+= src[i-stride];
610
282k
        dc1+= src[4+i-stride];
611
282k
    }
612
70.6k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
613
70.6k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
614
615
1.20M
    for(i=0; i<16; i++){
616
1.13M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
617
1.13M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
618
1.13M
    }
619
70.6k
}
h264pred.c:pred8x16_top_dc_14_c
Line
Count
Source
600
15.0k
{
601
15.0k
    int i;
602
15.0k
    int dc0, dc1;
603
15.0k
    pixel4 dc0splat, dc1splat;
604
15.0k
    pixel *src = (pixel*)_src;
605
15.0k
    stride >>= sizeof(pixel)-1;
606
607
15.0k
    dc0=dc1=0;
608
75.0k
    for(i=0;i<4; i++){
609
60.0k
        dc0+= src[i-stride];
610
60.0k
        dc1+= src[4+i-stride];
611
60.0k
    }
612
15.0k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
613
15.0k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
614
615
255k
    for(i=0; i<16; i++){
616
240k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
617
240k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
618
240k
    }
619
15.0k
}
h264pred.c:pred8x16_top_dc_8_c
Line
Count
Source
600
15.1k
{
601
15.1k
    int i;
602
15.1k
    int dc0, dc1;
603
15.1k
    pixel4 dc0splat, dc1splat;
604
15.1k
    pixel *src = (pixel*)_src;
605
15.1k
    stride >>= sizeof(pixel)-1;
606
607
15.1k
    dc0=dc1=0;
608
75.8k
    for(i=0;i<4; i++){
609
60.6k
        dc0+= src[i-stride];
610
60.6k
        dc1+= src[4+i-stride];
611
60.6k
    }
612
15.1k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 2)>>2);
613
15.1k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
614
615
257k
    for(i=0; i<16; i++){
616
242k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
617
242k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
618
242k
    }
619
15.1k
}
620
621
static void FUNCC(pred8x8_dc)(uint8_t *_src, ptrdiff_t stride)
622
2.31M
{
623
2.31M
    int i;
624
2.31M
    int dc0, dc1, dc2;
625
2.31M
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat;
626
2.31M
    pixel *src = (pixel*)_src;
627
2.31M
    stride >>= sizeof(pixel)-1;
628
629
2.31M
    dc0=dc1=dc2=0;
630
11.5M
    for(i=0;i<4; i++){
631
9.25M
        dc0+= src[-1+i*stride] + src[i-stride];
632
9.25M
        dc1+= src[4+i-stride];
633
9.25M
        dc2+= src[-1+(i+4)*stride];
634
9.25M
    }
635
2.31M
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
636
2.31M
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
637
2.31M
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
638
2.31M
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
639
640
11.5M
    for(i=0; i<4; i++){
641
9.25M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
642
9.25M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
643
9.25M
    }
644
11.5M
    for(i=4; i<8; i++){
645
9.25M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
646
9.25M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
647
9.25M
    }
648
2.31M
}
h264pred.c:pred8x8_dc_9_c
Line
Count
Source
622
227k
{
623
227k
    int i;
624
227k
    int dc0, dc1, dc2;
625
227k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat;
626
227k
    pixel *src = (pixel*)_src;
627
227k
    stride >>= sizeof(pixel)-1;
628
629
227k
    dc0=dc1=dc2=0;
630
1.13M
    for(i=0;i<4; i++){
631
909k
        dc0+= src[-1+i*stride] + src[i-stride];
632
909k
        dc1+= src[4+i-stride];
633
909k
        dc2+= src[-1+(i+4)*stride];
634
909k
    }
635
227k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
636
227k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
637
227k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
638
227k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
639
640
1.13M
    for(i=0; i<4; i++){
641
909k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
642
909k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
643
909k
    }
644
1.13M
    for(i=4; i<8; i++){
645
909k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
646
909k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
647
909k
    }
648
227k
}
h264pred.c:pred8x8_dc_10_c
Line
Count
Source
622
94.9k
{
623
94.9k
    int i;
624
94.9k
    int dc0, dc1, dc2;
625
94.9k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat;
626
94.9k
    pixel *src = (pixel*)_src;
627
94.9k
    stride >>= sizeof(pixel)-1;
628
629
94.9k
    dc0=dc1=dc2=0;
630
474k
    for(i=0;i<4; i++){
631
379k
        dc0+= src[-1+i*stride] + src[i-stride];
632
379k
        dc1+= src[4+i-stride];
633
379k
        dc2+= src[-1+(i+4)*stride];
634
379k
    }
635
94.9k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
636
94.9k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
637
94.9k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
638
94.9k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
639
640
474k
    for(i=0; i<4; i++){
641
379k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
642
379k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
643
379k
    }
644
474k
    for(i=4; i<8; i++){
645
379k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
646
379k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
647
379k
    }
648
94.9k
}
h264pred.c:pred8x8_dc_12_c
Line
Count
Source
622
16.9k
{
623
16.9k
    int i;
624
16.9k
    int dc0, dc1, dc2;
625
16.9k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat;
626
16.9k
    pixel *src = (pixel*)_src;
627
16.9k
    stride >>= sizeof(pixel)-1;
628
629
16.9k
    dc0=dc1=dc2=0;
630
84.8k
    for(i=0;i<4; i++){
631
67.8k
        dc0+= src[-1+i*stride] + src[i-stride];
632
67.8k
        dc1+= src[4+i-stride];
633
67.8k
        dc2+= src[-1+(i+4)*stride];
634
67.8k
    }
635
16.9k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
636
16.9k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
637
16.9k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
638
16.9k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
639
640
84.8k
    for(i=0; i<4; i++){
641
67.8k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
642
67.8k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
643
67.8k
    }
644
84.8k
    for(i=4; i<8; i++){
645
67.8k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
646
67.8k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
647
67.8k
    }
648
16.9k
}
h264pred.c:pred8x8_dc_14_c
Line
Count
Source
622
222k
{
623
222k
    int i;
624
222k
    int dc0, dc1, dc2;
625
222k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat;
626
222k
    pixel *src = (pixel*)_src;
627
222k
    stride >>= sizeof(pixel)-1;
628
629
222k
    dc0=dc1=dc2=0;
630
1.11M
    for(i=0;i<4; i++){
631
888k
        dc0+= src[-1+i*stride] + src[i-stride];
632
888k
        dc1+= src[4+i-stride];
633
888k
        dc2+= src[-1+(i+4)*stride];
634
888k
    }
635
222k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
636
222k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
637
222k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
638
222k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
639
640
1.11M
    for(i=0; i<4; i++){
641
888k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
642
888k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
643
888k
    }
644
1.11M
    for(i=4; i<8; i++){
645
888k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
646
888k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
647
888k
    }
648
222k
}
h264pred.c:pred8x8_dc_8_c
Line
Count
Source
622
1.75M
{
623
1.75M
    int i;
624
1.75M
    int dc0, dc1, dc2;
625
1.75M
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat;
626
1.75M
    pixel *src = (pixel*)_src;
627
1.75M
    stride >>= sizeof(pixel)-1;
628
629
1.75M
    dc0=dc1=dc2=0;
630
8.75M
    for(i=0;i<4; i++){
631
7.00M
        dc0+= src[-1+i*stride] + src[i-stride];
632
7.00M
        dc1+= src[4+i-stride];
633
7.00M
        dc2+= src[-1+(i+4)*stride];
634
7.00M
    }
635
1.75M
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
636
1.75M
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
637
1.75M
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
638
1.75M
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
639
640
8.75M
    for(i=0; i<4; i++){
641
7.00M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
642
7.00M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
643
7.00M
    }
644
8.75M
    for(i=4; i<8; i++){
645
7.00M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
646
7.00M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
647
7.00M
    }
648
1.75M
}
649
650
static void FUNCC(pred8x16_dc)(uint8_t *_src, ptrdiff_t stride)
651
390k
{
652
390k
    int i;
653
390k
    int dc0, dc1, dc2, dc3, dc4;
654
390k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat, dc4splat, dc5splat, dc6splat, dc7splat;
655
390k
    pixel *src = (pixel*)_src;
656
390k
    stride >>= sizeof(pixel)-1;
657
658
390k
    dc0=dc1=dc2=dc3=dc4=0;
659
1.95M
    for(i=0;i<4; i++){
660
1.56M
        dc0+= src[-1+i*stride] + src[i-stride];
661
1.56M
        dc1+= src[4+i-stride];
662
1.56M
        dc2+= src[-1+(i+4)*stride];
663
1.56M
        dc3+= src[-1+(i+8)*stride];
664
1.56M
        dc4+= src[-1+(i+12)*stride];
665
1.56M
    }
666
390k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
667
390k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
668
390k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
669
390k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
670
390k
    dc4splat = PIXEL_SPLAT_X4((dc3 + 2)>>2);
671
390k
    dc5splat = PIXEL_SPLAT_X4((dc1 + dc3 + 4)>>3);
672
390k
    dc6splat = PIXEL_SPLAT_X4((dc4 + 2)>>2);
673
390k
    dc7splat = PIXEL_SPLAT_X4((dc1 + dc4 + 4)>>3);
674
675
1.95M
    for(i=0; i<4; i++){
676
1.56M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
677
1.56M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
678
1.56M
    }
679
1.95M
    for(i=4; i<8; i++){
680
1.56M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
681
1.56M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
682
1.56M
    }
683
1.95M
    for(i=8; i<12; i++){
684
1.56M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc4splat);
685
1.56M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc5splat);
686
1.56M
    }
687
1.95M
    for(i=12; i<16; i++){
688
1.56M
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc6splat);
689
1.56M
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc7splat);
690
1.56M
    }
691
390k
}
h264pred.c:pred8x16_dc_9_c
Line
Count
Source
651
58.8k
{
652
58.8k
    int i;
653
58.8k
    int dc0, dc1, dc2, dc3, dc4;
654
58.8k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat, dc4splat, dc5splat, dc6splat, dc7splat;
655
58.8k
    pixel *src = (pixel*)_src;
656
58.8k
    stride >>= sizeof(pixel)-1;
657
658
58.8k
    dc0=dc1=dc2=dc3=dc4=0;
659
294k
    for(i=0;i<4; i++){
660
235k
        dc0+= src[-1+i*stride] + src[i-stride];
661
235k
        dc1+= src[4+i-stride];
662
235k
        dc2+= src[-1+(i+4)*stride];
663
235k
        dc3+= src[-1+(i+8)*stride];
664
235k
        dc4+= src[-1+(i+12)*stride];
665
235k
    }
666
58.8k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
667
58.8k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
668
58.8k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
669
58.8k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
670
58.8k
    dc4splat = PIXEL_SPLAT_X4((dc3 + 2)>>2);
671
58.8k
    dc5splat = PIXEL_SPLAT_X4((dc1 + dc3 + 4)>>3);
672
58.8k
    dc6splat = PIXEL_SPLAT_X4((dc4 + 2)>>2);
673
58.8k
    dc7splat = PIXEL_SPLAT_X4((dc1 + dc4 + 4)>>3);
674
675
294k
    for(i=0; i<4; i++){
676
235k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
677
235k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
678
235k
    }
679
294k
    for(i=4; i<8; i++){
680
235k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
681
235k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
682
235k
    }
683
294k
    for(i=8; i<12; i++){
684
235k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc4splat);
685
235k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc5splat);
686
235k
    }
687
294k
    for(i=12; i<16; i++){
688
235k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc6splat);
689
235k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc7splat);
690
235k
    }
691
58.8k
}
h264pred.c:pred8x16_dc_10_c
Line
Count
Source
651
184k
{
652
184k
    int i;
653
184k
    int dc0, dc1, dc2, dc3, dc4;
654
184k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat, dc4splat, dc5splat, dc6splat, dc7splat;
655
184k
    pixel *src = (pixel*)_src;
656
184k
    stride >>= sizeof(pixel)-1;
657
658
184k
    dc0=dc1=dc2=dc3=dc4=0;
659
921k
    for(i=0;i<4; i++){
660
737k
        dc0+= src[-1+i*stride] + src[i-stride];
661
737k
        dc1+= src[4+i-stride];
662
737k
        dc2+= src[-1+(i+4)*stride];
663
737k
        dc3+= src[-1+(i+8)*stride];
664
737k
        dc4+= src[-1+(i+12)*stride];
665
737k
    }
666
184k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
667
184k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
668
184k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
669
184k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
670
184k
    dc4splat = PIXEL_SPLAT_X4((dc3 + 2)>>2);
671
184k
    dc5splat = PIXEL_SPLAT_X4((dc1 + dc3 + 4)>>3);
672
184k
    dc6splat = PIXEL_SPLAT_X4((dc4 + 2)>>2);
673
184k
    dc7splat = PIXEL_SPLAT_X4((dc1 + dc4 + 4)>>3);
674
675
921k
    for(i=0; i<4; i++){
676
737k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
677
737k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
678
737k
    }
679
921k
    for(i=4; i<8; i++){
680
737k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
681
737k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
682
737k
    }
683
921k
    for(i=8; i<12; i++){
684
737k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc4splat);
685
737k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc5splat);
686
737k
    }
687
921k
    for(i=12; i<16; i++){
688
737k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc6splat);
689
737k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc7splat);
690
737k
    }
691
184k
}
h264pred.c:pred8x16_dc_12_c
Line
Count
Source
651
69.9k
{
652
69.9k
    int i;
653
69.9k
    int dc0, dc1, dc2, dc3, dc4;
654
69.9k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat, dc4splat, dc5splat, dc6splat, dc7splat;
655
69.9k
    pixel *src = (pixel*)_src;
656
69.9k
    stride >>= sizeof(pixel)-1;
657
658
69.9k
    dc0=dc1=dc2=dc3=dc4=0;
659
349k
    for(i=0;i<4; i++){
660
279k
        dc0+= src[-1+i*stride] + src[i-stride];
661
279k
        dc1+= src[4+i-stride];
662
279k
        dc2+= src[-1+(i+4)*stride];
663
279k
        dc3+= src[-1+(i+8)*stride];
664
279k
        dc4+= src[-1+(i+12)*stride];
665
279k
    }
666
69.9k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
667
69.9k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
668
69.9k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
669
69.9k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
670
69.9k
    dc4splat = PIXEL_SPLAT_X4((dc3 + 2)>>2);
671
69.9k
    dc5splat = PIXEL_SPLAT_X4((dc1 + dc3 + 4)>>3);
672
69.9k
    dc6splat = PIXEL_SPLAT_X4((dc4 + 2)>>2);
673
69.9k
    dc7splat = PIXEL_SPLAT_X4((dc1 + dc4 + 4)>>3);
674
675
349k
    for(i=0; i<4; i++){
676
279k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
677
279k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
678
279k
    }
679
349k
    for(i=4; i<8; i++){
680
279k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
681
279k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
682
279k
    }
683
349k
    for(i=8; i<12; i++){
684
279k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc4splat);
685
279k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc5splat);
686
279k
    }
687
349k
    for(i=12; i<16; i++){
688
279k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc6splat);
689
279k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc7splat);
690
279k
    }
691
69.9k
}
h264pred.c:pred8x16_dc_14_c
Line
Count
Source
651
23.0k
{
652
23.0k
    int i;
653
23.0k
    int dc0, dc1, dc2, dc3, dc4;
654
23.0k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat, dc4splat, dc5splat, dc6splat, dc7splat;
655
23.0k
    pixel *src = (pixel*)_src;
656
23.0k
    stride >>= sizeof(pixel)-1;
657
658
23.0k
    dc0=dc1=dc2=dc3=dc4=0;
659
115k
    for(i=0;i<4; i++){
660
92.0k
        dc0+= src[-1+i*stride] + src[i-stride];
661
92.0k
        dc1+= src[4+i-stride];
662
92.0k
        dc2+= src[-1+(i+4)*stride];
663
92.0k
        dc3+= src[-1+(i+8)*stride];
664
92.0k
        dc4+= src[-1+(i+12)*stride];
665
92.0k
    }
666
23.0k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
667
23.0k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
668
23.0k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
669
23.0k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
670
23.0k
    dc4splat = PIXEL_SPLAT_X4((dc3 + 2)>>2);
671
23.0k
    dc5splat = PIXEL_SPLAT_X4((dc1 + dc3 + 4)>>3);
672
23.0k
    dc6splat = PIXEL_SPLAT_X4((dc4 + 2)>>2);
673
23.0k
    dc7splat = PIXEL_SPLAT_X4((dc1 + dc4 + 4)>>3);
674
675
115k
    for(i=0; i<4; i++){
676
92.0k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
677
92.0k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
678
92.0k
    }
679
115k
    for(i=4; i<8; i++){
680
92.0k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
681
92.0k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
682
92.0k
    }
683
115k
    for(i=8; i<12; i++){
684
92.0k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc4splat);
685
92.0k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc5splat);
686
92.0k
    }
687
115k
    for(i=12; i<16; i++){
688
92.0k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc6splat);
689
92.0k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc7splat);
690
92.0k
    }
691
23.0k
}
h264pred.c:pred8x16_dc_8_c
Line
Count
Source
651
53.9k
{
652
53.9k
    int i;
653
53.9k
    int dc0, dc1, dc2, dc3, dc4;
654
53.9k
    pixel4 dc0splat, dc1splat, dc2splat, dc3splat, dc4splat, dc5splat, dc6splat, dc7splat;
655
53.9k
    pixel *src = (pixel*)_src;
656
53.9k
    stride >>= sizeof(pixel)-1;
657
658
53.9k
    dc0=dc1=dc2=dc3=dc4=0;
659
269k
    for(i=0;i<4; i++){
660
215k
        dc0+= src[-1+i*stride] + src[i-stride];
661
215k
        dc1+= src[4+i-stride];
662
215k
        dc2+= src[-1+(i+4)*stride];
663
215k
        dc3+= src[-1+(i+8)*stride];
664
215k
        dc4+= src[-1+(i+12)*stride];
665
215k
    }
666
53.9k
    dc0splat = PIXEL_SPLAT_X4((dc0 + 4)>>3);
667
53.9k
    dc1splat = PIXEL_SPLAT_X4((dc1 + 2)>>2);
668
53.9k
    dc2splat = PIXEL_SPLAT_X4((dc2 + 2)>>2);
669
53.9k
    dc3splat = PIXEL_SPLAT_X4((dc1 + dc2 + 4)>>3);
670
53.9k
    dc4splat = PIXEL_SPLAT_X4((dc3 + 2)>>2);
671
53.9k
    dc5splat = PIXEL_SPLAT_X4((dc1 + dc3 + 4)>>3);
672
53.9k
    dc6splat = PIXEL_SPLAT_X4((dc4 + 2)>>2);
673
53.9k
    dc7splat = PIXEL_SPLAT_X4((dc1 + dc4 + 4)>>3);
674
675
269k
    for(i=0; i<4; i++){
676
215k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc0splat);
677
215k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc1splat);
678
215k
    }
679
269k
    for(i=4; i<8; i++){
680
215k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc2splat);
681
215k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc3splat);
682
215k
    }
683
269k
    for(i=8; i<12; i++){
684
215k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc4splat);
685
215k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc5splat);
686
215k
    }
687
269k
    for(i=12; i<16; i++){
688
215k
        AV_WN4PA(((pixel4*)(src+i*stride))+0, dc6splat);
689
215k
        AV_WN4PA(((pixel4*)(src+i*stride))+1, dc7splat);
690
215k
    }
691
53.9k
}
692
693
//the following 4 function should not be optimized!
694
static void FUNC(pred8x8_mad_cow_dc_l0t)(uint8_t *src, ptrdiff_t stride)
695
0
{
696
0
    FUNCC(pred8x8_top_dc)(src, stride);
697
0
    FUNCC(pred4x4_dc)(src, NULL, stride);
698
0
}
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_l0t_9
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_l0t_10
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_l0t_12
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_l0t_14
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_l0t_8
699
700
static void FUNC(pred8x16_mad_cow_dc_l0t)(uint8_t *src, ptrdiff_t stride)
701
2
{
702
2
    FUNCC(pred8x16_top_dc)(src, stride);
703
2
    FUNCC(pred4x4_dc)(src, NULL, stride);
704
2
}
h264pred.c:pred8x16_mad_cow_dc_l0t_9
Line
Count
Source
701
2
{
702
2
    FUNCC(pred8x16_top_dc)(src, stride);
703
2
    FUNCC(pred4x4_dc)(src, NULL, stride);
704
2
}
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_l0t_10
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_l0t_12
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_l0t_14
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_l0t_8
705
706
static void FUNC(pred8x8_mad_cow_dc_0lt)(uint8_t *src, ptrdiff_t stride)
707
74
{
708
74
    FUNCC(pred8x8_dc)(src, stride);
709
74
    FUNCC(pred4x4_top_dc)(src, NULL, stride);
710
74
}
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_0lt_9
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_0lt_10
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_0lt_12
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_0lt_14
h264pred.c:pred8x8_mad_cow_dc_0lt_8
Line
Count
Source
707
74
{
708
74
    FUNCC(pred8x8_dc)(src, stride);
709
74
    FUNCC(pred4x4_top_dc)(src, NULL, stride);
710
74
}
711
712
static void FUNC(pred8x16_mad_cow_dc_0lt)(uint8_t *src, ptrdiff_t stride)
713
0
{
714
0
    FUNCC(pred8x16_dc)(src, stride);
715
0
    FUNCC(pred4x4_top_dc)(src, NULL, stride);
716
0
}
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_0lt_9
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_0lt_10
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_0lt_12
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_0lt_14
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_0lt_8
717
718
static void FUNC(pred8x8_mad_cow_dc_l00)(uint8_t *src, ptrdiff_t stride)
719
4.05k
{
720
4.05k
    FUNCC(pred8x8_left_dc)(src, stride);
721
4.05k
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
722
4.05k
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
723
4.05k
}
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_l00_9
h264pred.c:pred8x8_mad_cow_dc_l00_10
Line
Count
Source
719
238
{
720
238
    FUNCC(pred8x8_left_dc)(src, stride);
721
238
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
722
238
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
723
238
}
h264pred.c:pred8x8_mad_cow_dc_l00_12
Line
Count
Source
719
2.97k
{
720
2.97k
    FUNCC(pred8x8_left_dc)(src, stride);
721
2.97k
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
722
2.97k
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
723
2.97k
}
h264pred.c:pred8x8_mad_cow_dc_l00_14
Line
Count
Source
719
630
{
720
630
    FUNCC(pred8x8_left_dc)(src, stride);
721
630
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
722
630
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
723
630
}
h264pred.c:pred8x8_mad_cow_dc_l00_8
Line
Count
Source
719
206
{
720
206
    FUNCC(pred8x8_left_dc)(src, stride);
721
206
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
722
206
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
723
206
}
724
725
static void FUNC(pred8x16_mad_cow_dc_l00)(uint8_t *src, ptrdiff_t stride)
726
2.99k
{
727
2.99k
    FUNCC(pred8x16_left_dc)(src, stride);
728
2.99k
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
729
2.99k
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
730
2.99k
}
h264pred.c:pred8x16_mad_cow_dc_l00_9
Line
Count
Source
726
8
{
727
8
    FUNCC(pred8x16_left_dc)(src, stride);
728
8
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
729
8
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
730
8
}
h264pred.c:pred8x16_mad_cow_dc_l00_10
Line
Count
Source
726
240
{
727
240
    FUNCC(pred8x16_left_dc)(src, stride);
728
240
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
729
240
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
730
240
}
h264pred.c:pred8x16_mad_cow_dc_l00_12
Line
Count
Source
726
2.11k
{
727
2.11k
    FUNCC(pred8x16_left_dc)(src, stride);
728
2.11k
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
729
2.11k
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
730
2.11k
}
h264pred.c:pred8x16_mad_cow_dc_l00_14
Line
Count
Source
726
622
{
727
622
    FUNCC(pred8x16_left_dc)(src, stride);
728
622
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
729
622
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
730
622
}
h264pred.c:pred8x16_mad_cow_dc_l00_8
Line
Count
Source
726
14
{
727
14
    FUNCC(pred8x16_left_dc)(src, stride);
728
14
    FUNCC(pred4x4_128_dc)(src + 4*stride                  , NULL, stride);
729
14
    FUNCC(pred4x4_128_dc)(src + 4*stride + 4*sizeof(pixel), NULL, stride);
730
14
}
731
732
static void FUNC(pred8x8_mad_cow_dc_0l0)(uint8_t *src, ptrdiff_t stride)
733
166
{
734
166
    FUNCC(pred8x8_left_dc)(src, stride);
735
166
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
736
166
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
737
166
}
Unexecuted instantiation: h264pred.c:pred8x8_mad_cow_dc_0l0_9
h264pred.c:pred8x8_mad_cow_dc_0l0_10
Line
Count
Source
733
54
{
734
54
    FUNCC(pred8x8_left_dc)(src, stride);
735
54
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
736
54
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
737
54
}
h264pred.c:pred8x8_mad_cow_dc_0l0_12
Line
Count
Source
733
24
{
734
24
    FUNCC(pred8x8_left_dc)(src, stride);
735
24
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
736
24
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
737
24
}
h264pred.c:pred8x8_mad_cow_dc_0l0_14
Line
Count
Source
733
6
{
734
6
    FUNCC(pred8x8_left_dc)(src, stride);
735
6
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
736
6
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
737
6
}
h264pred.c:pred8x8_mad_cow_dc_0l0_8
Line
Count
Source
733
82
{
734
82
    FUNCC(pred8x8_left_dc)(src, stride);
735
82
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
736
82
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
737
82
}
738
739
static void FUNC(pred8x16_mad_cow_dc_0l0)(uint8_t *src, ptrdiff_t stride)
740
76
{
741
76
    FUNCC(pred8x16_left_dc)(src, stride);
742
76
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
743
76
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
744
76
}
h264pred.c:pred8x16_mad_cow_dc_0l0_9
Line
Count
Source
740
2
{
741
2
    FUNCC(pred8x16_left_dc)(src, stride);
742
2
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
743
2
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
744
2
}
h264pred.c:pred8x16_mad_cow_dc_0l0_10
Line
Count
Source
740
6
{
741
6
    FUNCC(pred8x16_left_dc)(src, stride);
742
6
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
743
6
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
744
6
}
h264pred.c:pred8x16_mad_cow_dc_0l0_12
Line
Count
Source
740
34
{
741
34
    FUNCC(pred8x16_left_dc)(src, stride);
742
34
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
743
34
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
744
34
}
h264pred.c:pred8x16_mad_cow_dc_0l0_14
Line
Count
Source
740
34
{
741
34
    FUNCC(pred8x16_left_dc)(src, stride);
742
34
    FUNCC(pred4x4_128_dc)(src                  , NULL, stride);
743
34
    FUNCC(pred4x4_128_dc)(src + 4*sizeof(pixel), NULL, stride);
744
34
}
Unexecuted instantiation: h264pred.c:pred8x16_mad_cow_dc_0l0_8
745
746
static void FUNCC(pred8x8_plane)(uint8_t *_src, ptrdiff_t _stride)
747
148k
{
748
148k
  int j, k;
749
148k
  int a;
750
148k
  pixel *src = (pixel*)_src;
751
148k
  int stride = _stride>>(sizeof(pixel)-1);
752
148k
  const pixel * const src0 = src +3-stride;
753
148k
  const pixel *       src1 = src +4*stride-1;
754
148k
  const pixel *       src2 = src1-2*stride;    // == src+2*stride-1;
755
148k
  int H = src0[1] - src0[-1];
756
148k
  int V = src1[0] - src2[ 0];
757
592k
  for(k=2; k<=4; ++k) {
758
444k
    src1 += stride; src2 -= stride;
759
444k
    H += k*(src0[k] - src0[-k]);
760
444k
    V += k*(src1[0] - src2[ 0]);
761
444k
  }
762
148k
  H = ( 17*H+16 ) >> 5;
763
148k
  V = ( 17*V+16 ) >> 5;
764
765
148k
  a = 16*(src1[0] + src2[8]+1) - 3*(V+H);
766
1.33M
  for(j=8; j>0; --j) {
767
1.18M
    int b = a;
768
1.18M
    a += V;
769
1.18M
    src[0] = CLIP((b    ) >> 5);
770
1.18M
    src[1] = CLIP((b+  H) >> 5);
771
1.18M
    src[2] = CLIP((b+2*H) >> 5);
772
1.18M
    src[3] = CLIP((b+3*H) >> 5);
773
1.18M
    src[4] = CLIP((b+4*H) >> 5);
774
1.18M
    src[5] = CLIP((b+5*H) >> 5);
775
1.18M
    src[6] = CLIP((b+6*H) >> 5);
776
1.18M
    src[7] = CLIP((b+7*H) >> 5);
777
1.18M
    src += stride;
778
1.18M
  }
779
148k
}
h264pred.c:pred8x8_plane_9_c
Line
Count
Source
747
22.4k
{
748
22.4k
  int j, k;
749
22.4k
  int a;
750
22.4k
  pixel *src = (pixel*)_src;
751
22.4k
  int stride = _stride>>(sizeof(pixel)-1);
752
22.4k
  const pixel * const src0 = src +3-stride;
753
22.4k
  const pixel *       src1 = src +4*stride-1;
754
22.4k
  const pixel *       src2 = src1-2*stride;    // == src+2*stride-1;
755
22.4k
  int H = src0[1] - src0[-1];
756
22.4k
  int V = src1[0] - src2[ 0];
757
89.9k
  for(k=2; k<=4; ++k) {
758
67.4k
    src1 += stride; src2 -= stride;
759
67.4k
    H += k*(src0[k] - src0[-k]);
760
67.4k
    V += k*(src1[0] - src2[ 0]);
761
67.4k
  }
762
22.4k
  H = ( 17*H+16 ) >> 5;
763
22.4k
  V = ( 17*V+16 ) >> 5;
764
765
22.4k
  a = 16*(src1[0] + src2[8]+1) - 3*(V+H);
766
202k
  for(j=8; j>0; --j) {
767
179k
    int b = a;
768
179k
    a += V;
769
179k
    src[0] = CLIP((b    ) >> 5);
770
179k
    src[1] = CLIP((b+  H) >> 5);
771
179k
    src[2] = CLIP((b+2*H) >> 5);
772
179k
    src[3] = CLIP((b+3*H) >> 5);
773
179k
    src[4] = CLIP((b+4*H) >> 5);
774
179k
    src[5] = CLIP((b+5*H) >> 5);
775
179k
    src[6] = CLIP((b+6*H) >> 5);
776
179k
    src[7] = CLIP((b+7*H) >> 5);
777
179k
    src += stride;
778
179k
  }
779
22.4k
}
h264pred.c:pred8x8_plane_10_c
Line
Count
Source
747
14.7k
{
748
14.7k
  int j, k;
749
14.7k
  int a;
750
14.7k
  pixel *src = (pixel*)_src;
751
14.7k
  int stride = _stride>>(sizeof(pixel)-1);
752
14.7k
  const pixel * const src0 = src +3-stride;
753
14.7k
  const pixel *       src1 = src +4*stride-1;
754
14.7k
  const pixel *       src2 = src1-2*stride;    // == src+2*stride-1;
755
14.7k
  int H = src0[1] - src0[-1];
756
14.7k
  int V = src1[0] - src2[ 0];
757
59.0k
  for(k=2; k<=4; ++k) {
758
44.2k
    src1 += stride; src2 -= stride;
759
44.2k
    H += k*(src0[k] - src0[-k]);
760
44.2k
    V += k*(src1[0] - src2[ 0]);
761
44.2k
  }
762
14.7k
  H = ( 17*H+16 ) >> 5;
763
14.7k
  V = ( 17*V+16 ) >> 5;
764
765
14.7k
  a = 16*(src1[0] + src2[8]+1) - 3*(V+H);
766
132k
  for(j=8; j>0; --j) {
767
118k
    int b = a;
768
118k
    a += V;
769
118k
    src[0] = CLIP((b    ) >> 5);
770
118k
    src[1] = CLIP((b+  H) >> 5);
771
118k
    src[2] = CLIP((b+2*H) >> 5);
772
118k
    src[3] = CLIP((b+3*H) >> 5);
773
118k
    src[4] = CLIP((b+4*H) >> 5);
774
118k
    src[5] = CLIP((b+5*H) >> 5);
775
118k
    src[6] = CLIP((b+6*H) >> 5);
776
118k
    src[7] = CLIP((b+7*H) >> 5);
777
118k
    src += stride;
778
118k
  }
779
14.7k
}
h264pred.c:pred8x8_plane_12_c
Line
Count
Source
747
20.8k
{
748
20.8k
  int j, k;
749
20.8k
  int a;
750
20.8k
  pixel *src = (pixel*)_src;
751
20.8k
  int stride = _stride>>(sizeof(pixel)-1);
752
20.8k
  const pixel * const src0 = src +3-stride;
753
20.8k
  const pixel *       src1 = src +4*stride-1;
754
20.8k
  const pixel *       src2 = src1-2*stride;    // == src+2*stride-1;
755
20.8k
  int H = src0[1] - src0[-1];
756
20.8k
  int V = src1[0] - src2[ 0];
757
83.5k
  for(k=2; k<=4; ++k) {
758
62.6k
    src1 += stride; src2 -= stride;
759
62.6k
    H += k*(src0[k] - src0[-k]);
760
62.6k
    V += k*(src1[0] - src2[ 0]);
761
62.6k
  }
762
20.8k
  H = ( 17*H+16 ) >> 5;
763
20.8k
  V = ( 17*V+16 ) >> 5;
764
765
20.8k
  a = 16*(src1[0] + src2[8]+1) - 3*(V+H);
766
188k
  for(j=8; j>0; --j) {
767
167k
    int b = a;
768
167k
    a += V;
769
167k
    src[0] = CLIP((b    ) >> 5);
770
167k
    src[1] = CLIP((b+  H) >> 5);
771
167k
    src[2] = CLIP((b+2*H) >> 5);
772
167k
    src[3] = CLIP((b+3*H) >> 5);
773
167k
    src[4] = CLIP((b+4*H) >> 5);
774
167k
    src[5] = CLIP((b+5*H) >> 5);
775
167k
    src[6] = CLIP((b+6*H) >> 5);
776
167k
    src[7] = CLIP((b+7*H) >> 5);
777
167k
    src += stride;
778
167k
  }
779
20.8k
}
h264pred.c:pred8x8_plane_14_c
Line
Count
Source
747
23.6k
{
748
23.6k
  int j, k;
749
23.6k
  int a;
750
23.6k
  pixel *src = (pixel*)_src;
751
23.6k
  int stride = _stride>>(sizeof(pixel)-1);
752
23.6k
  const pixel * const src0 = src +3-stride;
753
23.6k
  const pixel *       src1 = src +4*stride-1;
754
23.6k
  const pixel *       src2 = src1-2*stride;    // == src+2*stride-1;
755
23.6k
  int H = src0[1] - src0[-1];
756
23.6k
  int V = src1[0] - src2[ 0];
757
94.6k
  for(k=2; k<=4; ++k) {
758
70.9k
    src1 += stride; src2 -= stride;
759
70.9k
    H += k*(src0[k] - src0[-k]);
760
70.9k
    V += k*(src1[0] - src2[ 0]);
761
70.9k
  }
762
23.6k
  H = ( 17*H+16 ) >> 5;
763
23.6k
  V = ( 17*V+16 ) >> 5;
764
765
23.6k
  a = 16*(src1[0] + src2[8]+1) - 3*(V+H);
766
212k
  for(j=8; j>0; --j) {
767
189k
    int b = a;
768
189k
    a += V;
769
189k
    src[0] = CLIP((b    ) >> 5);
770
189k
    src[1] = CLIP((b+  H) >> 5);
771
189k
    src[2] = CLIP((b+2*H) >> 5);
772
189k
    src[3] = CLIP((b+3*H) >> 5);
773
189k
    src[4] = CLIP((b+4*H) >> 5);
774
189k
    src[5] = CLIP((b+5*H) >> 5);
775
189k
    src[6] = CLIP((b+6*H) >> 5);
776
189k
    src[7] = CLIP((b+7*H) >> 5);
777
189k
    src += stride;
778
189k
  }
779
23.6k
}
h264pred.c:pred8x8_plane_8_c
Line
Count
Source
747
66.2k
{
748
66.2k
  int j, k;
749
66.2k
  int a;
750
66.2k
  pixel *src = (pixel*)_src;
751
66.2k
  int stride = _stride>>(sizeof(pixel)-1);
752
66.2k
  const pixel * const src0 = src +3-stride;
753
66.2k
  const pixel *       src1 = src +4*stride-1;
754
66.2k
  const pixel *       src2 = src1-2*stride;    // == src+2*stride-1;
755
66.2k
  int H = src0[1] - src0[-1];
756
66.2k
  int V = src1[0] - src2[ 0];
757
264k
  for(k=2; k<=4; ++k) {
758
198k
    src1 += stride; src2 -= stride;
759
198k
    H += k*(src0[k] - src0[-k]);
760
198k
    V += k*(src1[0] - src2[ 0]);
761
198k
  }
762
66.2k
  H = ( 17*H+16 ) >> 5;
763
66.2k
  V = ( 17*V+16 ) >> 5;
764
765
66.2k
  a = 16*(src1[0] + src2[8]+1) - 3*(V+H);
766
596k
  for(j=8; j>0; --j) {
767
529k
    int b = a;
768
529k
    a += V;
769
529k
    src[0] = CLIP((b    ) >> 5);
770
529k
    src[1] = CLIP((b+  H) >> 5);
771
529k
    src[2] = CLIP((b+2*H) >> 5);
772
529k
    src[3] = CLIP((b+3*H) >> 5);
773
529k
    src[4] = CLIP((b+4*H) >> 5);
774
529k
    src[5] = CLIP((b+5*H) >> 5);
775
529k
    src[6] = CLIP((b+6*H) >> 5);
776
529k
    src[7] = CLIP((b+7*H) >> 5);
777
529k
    src += stride;
778
529k
  }
779
66.2k
}
780
781
static void FUNCC(pred8x16_plane)(uint8_t *_src, ptrdiff_t _stride)
782
142k
{
783
142k
  int j, k;
784
142k
  int a;
785
142k
  pixel *src = (pixel*)_src;
786
142k
  int stride = _stride>>(sizeof(pixel)-1);
787
142k
  const pixel * const src0 = src +3-stride;
788
142k
  const pixel *       src1 = src +8*stride-1;
789
142k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
790
142k
  int H = src0[1] - src0[-1];
791
142k
  int V = src1[0] - src2[ 0];
792
793
570k
  for (k = 2; k <= 4; ++k) {
794
428k
      src1 += stride; src2 -= stride;
795
428k
      H += k*(src0[k] - src0[-k]);
796
428k
      V += k*(src1[0] - src2[ 0]);
797
428k
  }
798
713k
  for (; k <= 8; ++k) {
799
570k
      src1 += stride; src2 -= stride;
800
570k
      V += k*(src1[0] - src2[0]);
801
570k
  }
802
803
142k
  H = (17*H+16) >> 5;
804
142k
  V = (5*V+32) >> 6;
805
806
142k
  a = 16*(src1[0] + src2[8] + 1) - 7*V - 3*H;
807
2.42M
  for(j=16; j>0; --j) {
808
2.28M
    int b = a;
809
2.28M
    a += V;
810
2.28M
    src[0] = CLIP((b    ) >> 5);
811
2.28M
    src[1] = CLIP((b+  H) >> 5);
812
2.28M
    src[2] = CLIP((b+2*H) >> 5);
813
2.28M
    src[3] = CLIP((b+3*H) >> 5);
814
2.28M
    src[4] = CLIP((b+4*H) >> 5);
815
2.28M
    src[5] = CLIP((b+5*H) >> 5);
816
2.28M
    src[6] = CLIP((b+6*H) >> 5);
817
2.28M
    src[7] = CLIP((b+7*H) >> 5);
818
2.28M
    src += stride;
819
2.28M
  }
820
142k
}
h264pred.c:pred8x16_plane_9_c
Line
Count
Source
782
25.1k
{
783
25.1k
  int j, k;
784
25.1k
  int a;
785
25.1k
  pixel *src = (pixel*)_src;
786
25.1k
  int stride = _stride>>(sizeof(pixel)-1);
787
25.1k
  const pixel * const src0 = src +3-stride;
788
25.1k
  const pixel *       src1 = src +8*stride-1;
789
25.1k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
790
25.1k
  int H = src0[1] - src0[-1];
791
25.1k
  int V = src1[0] - src2[ 0];
792
793
100k
  for (k = 2; k <= 4; ++k) {
794
75.3k
      src1 += stride; src2 -= stride;
795
75.3k
      H += k*(src0[k] - src0[-k]);
796
75.3k
      V += k*(src1[0] - src2[ 0]);
797
75.3k
  }
798
125k
  for (; k <= 8; ++k) {
799
100k
      src1 += stride; src2 -= stride;
800
100k
      V += k*(src1[0] - src2[0]);
801
100k
  }
802
803
25.1k
  H = (17*H+16) >> 5;
804
25.1k
  V = (5*V+32) >> 6;
805
806
25.1k
  a = 16*(src1[0] + src2[8] + 1) - 7*V - 3*H;
807
426k
  for(j=16; j>0; --j) {
808
401k
    int b = a;
809
401k
    a += V;
810
401k
    src[0] = CLIP((b    ) >> 5);
811
401k
    src[1] = CLIP((b+  H) >> 5);
812
401k
    src[2] = CLIP((b+2*H) >> 5);
813
401k
    src[3] = CLIP((b+3*H) >> 5);
814
401k
    src[4] = CLIP((b+4*H) >> 5);
815
401k
    src[5] = CLIP((b+5*H) >> 5);
816
401k
    src[6] = CLIP((b+6*H) >> 5);
817
401k
    src[7] = CLIP((b+7*H) >> 5);
818
401k
    src += stride;
819
401k
  }
820
25.1k
}
h264pred.c:pred8x16_plane_10_c
Line
Count
Source
782
56.7k
{
783
56.7k
  int j, k;
784
56.7k
  int a;
785
56.7k
  pixel *src = (pixel*)_src;
786
56.7k
  int stride = _stride>>(sizeof(pixel)-1);
787
56.7k
  const pixel * const src0 = src +3-stride;
788
56.7k
  const pixel *       src1 = src +8*stride-1;
789
56.7k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
790
56.7k
  int H = src0[1] - src0[-1];
791
56.7k
  int V = src1[0] - src2[ 0];
792
793
226k
  for (k = 2; k <= 4; ++k) {
794
170k
      src1 += stride; src2 -= stride;
795
170k
      H += k*(src0[k] - src0[-k]);
796
170k
      V += k*(src1[0] - src2[ 0]);
797
170k
  }
798
283k
  for (; k <= 8; ++k) {
799
226k
      src1 += stride; src2 -= stride;
800
226k
      V += k*(src1[0] - src2[0]);
801
226k
  }
802
803
56.7k
  H = (17*H+16) >> 5;
804
56.7k
  V = (5*V+32) >> 6;
805
806
56.7k
  a = 16*(src1[0] + src2[8] + 1) - 7*V - 3*H;
807
963k
  for(j=16; j>0; --j) {
808
907k
    int b = a;
809
907k
    a += V;
810
907k
    src[0] = CLIP((b    ) >> 5);
811
907k
    src[1] = CLIP((b+  H) >> 5);
812
907k
    src[2] = CLIP((b+2*H) >> 5);
813
907k
    src[3] = CLIP((b+3*H) >> 5);
814
907k
    src[4] = CLIP((b+4*H) >> 5);
815
907k
    src[5] = CLIP((b+5*H) >> 5);
816
907k
    src[6] = CLIP((b+6*H) >> 5);
817
907k
    src[7] = CLIP((b+7*H) >> 5);
818
907k
    src += stride;
819
907k
  }
820
56.7k
}
h264pred.c:pred8x16_plane_12_c
Line
Count
Source
782
22.6k
{
783
22.6k
  int j, k;
784
22.6k
  int a;
785
22.6k
  pixel *src = (pixel*)_src;
786
22.6k
  int stride = _stride>>(sizeof(pixel)-1);
787
22.6k
  const pixel * const src0 = src +3-stride;
788
22.6k
  const pixel *       src1 = src +8*stride-1;
789
22.6k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
790
22.6k
  int H = src0[1] - src0[-1];
791
22.6k
  int V = src1[0] - src2[ 0];
792
793
90.5k
  for (k = 2; k <= 4; ++k) {
794
67.9k
      src1 += stride; src2 -= stride;
795
67.9k
      H += k*(src0[k] - src0[-k]);
796
67.9k
      V += k*(src1[0] - src2[ 0]);
797
67.9k
  }
798
113k
  for (; k <= 8; ++k) {
799
90.5k
      src1 += stride; src2 -= stride;
800
90.5k
      V += k*(src1[0] - src2[0]);
801
90.5k
  }
802
803
22.6k
  H = (17*H+16) >> 5;
804
22.6k
  V = (5*V+32) >> 6;
805
806
22.6k
  a = 16*(src1[0] + src2[8] + 1) - 7*V - 3*H;
807
384k
  for(j=16; j>0; --j) {
808
362k
    int b = a;
809
362k
    a += V;
810
362k
    src[0] = CLIP((b    ) >> 5);
811
362k
    src[1] = CLIP((b+  H) >> 5);
812
362k
    src[2] = CLIP((b+2*H) >> 5);
813
362k
    src[3] = CLIP((b+3*H) >> 5);
814
362k
    src[4] = CLIP((b+4*H) >> 5);
815
362k
    src[5] = CLIP((b+5*H) >> 5);
816
362k
    src[6] = CLIP((b+6*H) >> 5);
817
362k
    src[7] = CLIP((b+7*H) >> 5);
818
362k
    src += stride;
819
362k
  }
820
22.6k
}
h264pred.c:pred8x16_plane_14_c
Line
Count
Source
782
16.6k
{
783
16.6k
  int j, k;
784
16.6k
  int a;
785
16.6k
  pixel *src = (pixel*)_src;
786
16.6k
  int stride = _stride>>(sizeof(pixel)-1);
787
16.6k
  const pixel * const src0 = src +3-stride;
788
16.6k
  const pixel *       src1 = src +8*stride-1;
789
16.6k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
790
16.6k
  int H = src0[1] - src0[-1];
791
16.6k
  int V = src1[0] - src2[ 0];
792
793
66.6k
  for (k = 2; k <= 4; ++k) {
794
50.0k
      src1 += stride; src2 -= stride;
795
50.0k
      H += k*(src0[k] - src0[-k]);
796
50.0k
      V += k*(src1[0] - src2[ 0]);
797
50.0k
  }
798
83.3k
  for (; k <= 8; ++k) {
799
66.6k
      src1 += stride; src2 -= stride;
800
66.6k
      V += k*(src1[0] - src2[0]);
801
66.6k
  }
802
803
16.6k
  H = (17*H+16) >> 5;
804
16.6k
  V = (5*V+32) >> 6;
805
806
16.6k
  a = 16*(src1[0] + src2[8] + 1) - 7*V - 3*H;
807
283k
  for(j=16; j>0; --j) {
808
266k
    int b = a;
809
266k
    a += V;
810
266k
    src[0] = CLIP((b    ) >> 5);
811
266k
    src[1] = CLIP((b+  H) >> 5);
812
266k
    src[2] = CLIP((b+2*H) >> 5);
813
266k
    src[3] = CLIP((b+3*H) >> 5);
814
266k
    src[4] = CLIP((b+4*H) >> 5);
815
266k
    src[5] = CLIP((b+5*H) >> 5);
816
266k
    src[6] = CLIP((b+6*H) >> 5);
817
266k
    src[7] = CLIP((b+7*H) >> 5);
818
266k
    src += stride;
819
266k
  }
820
16.6k
}
h264pred.c:pred8x16_plane_8_c
Line
Count
Source
782
21.5k
{
783
21.5k
  int j, k;
784
21.5k
  int a;
785
21.5k
  pixel *src = (pixel*)_src;
786
21.5k
  int stride = _stride>>(sizeof(pixel)-1);
787
21.5k
  const pixel * const src0 = src +3-stride;
788
21.5k
  const pixel *       src1 = src +8*stride-1;
789
21.5k
  const pixel *       src2 = src1-2*stride;    // == src+6*stride-1;
790
21.5k
  int H = src0[1] - src0[-1];
791
21.5k
  int V = src1[0] - src2[ 0];
792
793
86.3k
  for (k = 2; k <= 4; ++k) {
794
64.7k
      src1 += stride; src2 -= stride;
795
64.7k
      H += k*(src0[k] - src0[-k]);
796
64.7k
      V += k*(src1[0] - src2[ 0]);
797
64.7k
  }
798
107k
  for (; k <= 8; ++k) {
799
86.3k
      src1 += stride; src2 -= stride;
800
86.3k
      V += k*(src1[0] - src2[0]);
801
86.3k
  }
802
803
21.5k
  H = (17*H+16) >> 5;
804
21.5k
  V = (5*V+32) >> 6;
805
806
21.5k
  a = 16*(src1[0] + src2[8] + 1) - 7*V - 3*H;
807
367k
  for(j=16; j>0; --j) {
808
345k
    int b = a;
809
345k
    a += V;
810
345k
    src[0] = CLIP((b    ) >> 5);
811
345k
    src[1] = CLIP((b+  H) >> 5);
812
345k
    src[2] = CLIP((b+2*H) >> 5);
813
345k
    src[3] = CLIP((b+3*H) >> 5);
814
345k
    src[4] = CLIP((b+4*H) >> 5);
815
345k
    src[5] = CLIP((b+5*H) >> 5);
816
345k
    src[6] = CLIP((b+6*H) >> 5);
817
345k
    src[7] = CLIP((b+7*H) >> 5);
818
345k
    src += stride;
819
345k
  }
820
21.5k
}
821
822
318M
#define SRC(x,y) src[(x)+(y)*stride]
823
#define PL(y) \
824
34.8M
    const int l##y = (SRC(-1,y-1) + 2*SRC(-1,y) + SRC(-1,y+1) + 2) >> 2;
825
#define PREDICT_8x8_LOAD_LEFT \
826
5.80M
    const int l0 = ((has_topleft ? SRC(-1,-1) : SRC(-1,0)) \
827
5.80M
                     + 2*SRC(-1,0) + SRC(-1,1) + 2) >> 2; \
828
5.80M
    PL(1) PL(2) PL(3) PL(4) PL(5) PL(6) \
829
5.80M
    av_unused const int l7 = (SRC(-1,6) + 3*SRC(-1,7) + 2) >> 2
830
831
#define PT(x) \
832
33.2M
    const int t##x = (SRC(x-1,-1) + 2*SRC(x,-1) + SRC(x+1,-1) + 2) >> 2;
833
#define PREDICT_8x8_LOAD_TOP \
834
5.54M
    const int t0 = ((has_topleft ? SRC(-1,-1) : SRC(0,-1)) \
835
5.54M
                     + 2*SRC(0,-1) + SRC(1,-1) + 2) >> 2; \
836
5.54M
    PT(1) PT(2) PT(3) PT(4) PT(5) PT(6) \
837
5.54M
    av_unused const int t7 = ((has_topright ? SRC(8,-1) : SRC(7,-1)) \
838
5.54M
                     + 2*SRC(7,-1) + SRC(6,-1) + 2) >> 2
839
840
#define PTR(x) \
841
914k
    t##x = (SRC(x-1,-1) + 2*SRC(x,-1) + SRC(x+1,-1) + 2) >> 2;
842
#define PREDICT_8x8_LOAD_TOPRIGHT \
843
253k
    int t8, t9, t10, t11, t12, t13, t14, t15; \
844
253k
    if(has_topright) { \
845
130k
        PTR(8) PTR(9) PTR(10) PTR(11) PTR(12) PTR(13) PTR(14) \
846
130k
        t15 = (SRC(14,-1) + 3*SRC(15,-1) + 2) >> 2; \
847
130k
    } else t8=t9=t10=t11=t12=t13=t14=t15= SRC(7,-1);
848
849
#define PREDICT_8x8_LOAD_TOPLEFT \
850
263k
    const int lt = (SRC(-1,0) + 2*SRC(-1,-1) + SRC(0,-1) + 2) >> 2
851
852
#define PREDICT_8x8_DC(v) \
853
5.76M
    int y; \
854
51.8M
    for( y = 0; y < 8; y++ ) { \
855
46.0M
        AV_WN4PA(((pixel4*)src)+0, v); \
856
46.0M
        AV_WN4PA(((pixel4*)src)+1, v); \
857
46.0M
        src += stride; \
858
46.0M
    }
859
860
static void FUNCC(pred8x8l_128_dc)(uint8_t *_src, int has_topleft,
861
                                   int has_topright, ptrdiff_t _stride)
862
233k
{
863
233k
    pixel *src = (pixel*)_src;
864
233k
    int stride = _stride>>(sizeof(pixel)-1);
865
866
233k
    PREDICT_8x8_DC(PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1)));
867
233k
}
h264pred.c:pred8x8l_128_dc_9_c
Line
Count
Source
862
60.9k
{
863
60.9k
    pixel *src = (pixel*)_src;
864
60.9k
    int stride = _stride>>(sizeof(pixel)-1);
865
866
60.9k
    PREDICT_8x8_DC(PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1)));
867
60.9k
}
h264pred.c:pred8x8l_128_dc_10_c
Line
Count
Source
862
8.34k
{
863
8.34k
    pixel *src = (pixel*)_src;
864
8.34k
    int stride = _stride>>(sizeof(pixel)-1);
865
866
8.34k
    PREDICT_8x8_DC(PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1)));
867
8.34k
}
h264pred.c:pred8x8l_128_dc_12_c
Line
Count
Source
862
37.5k
{
863
37.5k
    pixel *src = (pixel*)_src;
864
37.5k
    int stride = _stride>>(sizeof(pixel)-1);
865
866
37.5k
    PREDICT_8x8_DC(PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1)));
867
37.5k
}
h264pred.c:pred8x8l_128_dc_14_c
Line
Count
Source
862
41.1k
{
863
41.1k
    pixel *src = (pixel*)_src;
864
41.1k
    int stride = _stride>>(sizeof(pixel)-1);
865
866
41.1k
    PREDICT_8x8_DC(PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1)));
867
41.1k
}
h264pred.c:pred8x8l_128_dc_8_c
Line
Count
Source
862
85.6k
{
863
85.6k
    pixel *src = (pixel*)_src;
864
85.6k
    int stride = _stride>>(sizeof(pixel)-1);
865
866
85.6k
    PREDICT_8x8_DC(PIXEL_SPLAT_X4(1<<(BIT_DEPTH-1)));
867
85.6k
}
868
static void FUNCC(pred8x8l_left_dc)(uint8_t *_src, int has_topleft,
869
                                    int has_topright, ptrdiff_t _stride)
870
981k
{
871
981k
    pixel *src = (pixel*)_src;
872
981k
    int stride = _stride>>(sizeof(pixel)-1);
873
874
981k
    PREDICT_8x8_LOAD_LEFT;
875
981k
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7+4) >> 3);
876
981k
    PREDICT_8x8_DC(dc);
877
981k
}
h264pred.c:pred8x8l_left_dc_9_c
Line
Count
Source
870
176k
{
871
176k
    pixel *src = (pixel*)_src;
872
176k
    int stride = _stride>>(sizeof(pixel)-1);
873
874
176k
    PREDICT_8x8_LOAD_LEFT;
875
176k
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7+4) >> 3);
876
176k
    PREDICT_8x8_DC(dc);
877
176k
}
h264pred.c:pred8x8l_left_dc_10_c
Line
Count
Source
870
48.1k
{
871
48.1k
    pixel *src = (pixel*)_src;
872
48.1k
    int stride = _stride>>(sizeof(pixel)-1);
873
874
48.1k
    PREDICT_8x8_LOAD_LEFT;
875
48.1k
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7+4) >> 3);
876
48.1k
    PREDICT_8x8_DC(dc);
877
48.1k
}
h264pred.c:pred8x8l_left_dc_12_c
Line
Count
Source
870
109k
{
871
109k
    pixel *src = (pixel*)_src;
872
109k
    int stride = _stride>>(sizeof(pixel)-1);
873
874
109k
    PREDICT_8x8_LOAD_LEFT;
875
109k
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7+4) >> 3);
876
109k
    PREDICT_8x8_DC(dc);
877
109k
}
h264pred.c:pred8x8l_left_dc_14_c
Line
Count
Source
870
206k
{
871
206k
    pixel *src = (pixel*)_src;
872
206k
    int stride = _stride>>(sizeof(pixel)-1);
873
874
206k
    PREDICT_8x8_LOAD_LEFT;
875
206k
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7+4) >> 3);
876
206k
    PREDICT_8x8_DC(dc);
877
206k
}
h264pred.c:pred8x8l_left_dc_8_c
Line
Count
Source
870
441k
{
871
441k
    pixel *src = (pixel*)_src;
872
441k
    int stride = _stride>>(sizeof(pixel)-1);
873
874
441k
    PREDICT_8x8_LOAD_LEFT;
875
441k
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7+4) >> 3);
876
441k
    PREDICT_8x8_DC(dc);
877
441k
}
878
static void FUNCC(pred8x8l_top_dc)(uint8_t *_src, int has_topleft,
879
                                   int has_topright, ptrdiff_t _stride)
880
708k
{
881
708k
    pixel *src = (pixel*)_src;
882
708k
    int stride = _stride>>(sizeof(pixel)-1);
883
884
708k
    PREDICT_8x8_LOAD_TOP;
885
708k
    const pixel4 dc = PIXEL_SPLAT_X4((t0+t1+t2+t3+t4+t5+t6+t7+4) >> 3);
886
708k
    PREDICT_8x8_DC(dc);
887
708k
}
h264pred.c:pred8x8l_top_dc_9_c
Line
Count
Source
880
191k
{
881
191k
    pixel *src = (pixel*)_src;
882
191k
    int stride = _stride>>(sizeof(pixel)-1);
883
884
191k
    PREDICT_8x8_LOAD_TOP;
885
191k
    const pixel4 dc = PIXEL_SPLAT_X4((t0+t1+t2+t3+t4+t5+t6+t7+4) >> 3);
886
191k
    PREDICT_8x8_DC(dc);
887
191k
}
h264pred.c:pred8x8l_top_dc_10_c
Line
Count
Source
880
15.2k
{
881
15.2k
    pixel *src = (pixel*)_src;
882
15.2k
    int stride = _stride>>(sizeof(pixel)-1);
883
884
15.2k
    PREDICT_8x8_LOAD_TOP;
885
15.2k
    const pixel4 dc = PIXEL_SPLAT_X4((t0+t1+t2+t3+t4+t5+t6+t7+4) >> 3);
886
15.2k
    PREDICT_8x8_DC(dc);
887
15.2k
}
h264pred.c:pred8x8l_top_dc_12_c
Line
Count
Source
880
113k
{
881
113k
    pixel *src = (pixel*)_src;
882
113k
    int stride = _stride>>(sizeof(pixel)-1);
883
884
113k
    PREDICT_8x8_LOAD_TOP;
885
113k
    const pixel4 dc = PIXEL_SPLAT_X4((t0+t1+t2+t3+t4+t5+t6+t7+4) >> 3);
886
113k
    PREDICT_8x8_DC(dc);
887
113k
}
h264pred.c:pred8x8l_top_dc_14_c
Line
Count
Source
880
169k
{
881
169k
    pixel *src = (pixel*)_src;
882
169k
    int stride = _stride>>(sizeof(pixel)-1);
883
884
169k
    PREDICT_8x8_LOAD_TOP;
885
169k
    const pixel4 dc = PIXEL_SPLAT_X4((t0+t1+t2+t3+t4+t5+t6+t7+4) >> 3);
886
169k
    PREDICT_8x8_DC(dc);
887
169k
}
h264pred.c:pred8x8l_top_dc_8_c
Line
Count
Source
880
218k
{
881
218k
    pixel *src = (pixel*)_src;
882
218k
    int stride = _stride>>(sizeof(pixel)-1);
883
884
218k
    PREDICT_8x8_LOAD_TOP;
885
218k
    const pixel4 dc = PIXEL_SPLAT_X4((t0+t1+t2+t3+t4+t5+t6+t7+4) >> 3);
886
218k
    PREDICT_8x8_DC(dc);
887
218k
}
888
static void FUNCC(pred8x8l_dc)(uint8_t *_src, int has_topleft,
889
                               int has_topright, ptrdiff_t _stride)
890
3.83M
{
891
3.83M
    pixel *src = (pixel*)_src;
892
3.83M
    int stride = _stride>>(sizeof(pixel)-1);
893
894
3.83M
    PREDICT_8x8_LOAD_LEFT;
895
3.83M
    PREDICT_8x8_LOAD_TOP;
896
3.83M
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7
897
3.83M
                                     +t0+t1+t2+t3+t4+t5+t6+t7+8) >> 4);
898
3.83M
    PREDICT_8x8_DC(dc);
899
3.83M
}
h264pred.c:pred8x8l_dc_9_c
Line
Count
Source
890
1.19M
{
891
1.19M
    pixel *src = (pixel*)_src;
892
1.19M
    int stride = _stride>>(sizeof(pixel)-1);
893
894
1.19M
    PREDICT_8x8_LOAD_LEFT;
895
1.19M
    PREDICT_8x8_LOAD_TOP;
896
1.19M
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7
897
1.19M
                                     +t0+t1+t2+t3+t4+t5+t6+t7+8) >> 4);
898
1.19M
    PREDICT_8x8_DC(dc);
899
1.19M
}
h264pred.c:pred8x8l_dc_10_c
Line
Count
Source
890
214k
{
891
214k
    pixel *src = (pixel*)_src;
892
214k
    int stride = _stride>>(sizeof(pixel)-1);
893
894
214k
    PREDICT_8x8_LOAD_LEFT;
895
214k
    PREDICT_8x8_LOAD_TOP;
896
214k
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7
897
214k
                                     +t0+t1+t2+t3+t4+t5+t6+t7+8) >> 4);
898
214k
    PREDICT_8x8_DC(dc);
899
214k
}
h264pred.c:pred8x8l_dc_12_c
Line
Count
Source
890
233k
{
891
233k
    pixel *src = (pixel*)_src;
892
233k
    int stride = _stride>>(sizeof(pixel)-1);
893
894
233k
    PREDICT_8x8_LOAD_LEFT;
895
233k
    PREDICT_8x8_LOAD_TOP;
896
233k
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7
897
233k
                                     +t0+t1+t2+t3+t4+t5+t6+t7+8) >> 4);
898
233k
    PREDICT_8x8_DC(dc);
899
233k
}
h264pred.c:pred8x8l_dc_14_c
Line
Count
Source
890
791k
{
891
791k
    pixel *src = (pixel*)_src;
892
791k
    int stride = _stride>>(sizeof(pixel)-1);
893
894
791k
    PREDICT_8x8_LOAD_LEFT;
895
791k
    PREDICT_8x8_LOAD_TOP;
896
791k
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7
897
791k
                                     +t0+t1+t2+t3+t4+t5+t6+t7+8) >> 4);
898
791k
    PREDICT_8x8_DC(dc);
899
791k
}
h264pred.c:pred8x8l_dc_8_c
Line
Count
Source
890
1.39M
{
891
1.39M
    pixel *src = (pixel*)_src;
892
1.39M
    int stride = _stride>>(sizeof(pixel)-1);
893
894
1.39M
    PREDICT_8x8_LOAD_LEFT;
895
1.39M
    PREDICT_8x8_LOAD_TOP;
896
1.39M
    const pixel4 dc = PIXEL_SPLAT_X4((l0+l1+l2+l3+l4+l5+l6+l7
897
1.39M
                                     +t0+t1+t2+t3+t4+t5+t6+t7+8) >> 4);
898
1.39M
    PREDICT_8x8_DC(dc);
899
1.39M
}
900
static void FUNCC(pred8x8l_horizontal)(uint8_t *_src, int has_topleft,
901
                                       int has_topright, ptrdiff_t _stride)
902
442k
{
903
442k
    pixel *src = (pixel*)_src;
904
442k
    int stride = _stride>>(sizeof(pixel)-1);
905
442k
    pixel4 a;
906
907
442k
    PREDICT_8x8_LOAD_LEFT;
908
3.53M
#define ROW(y) a = PIXEL_SPLAT_X4(l##y); \
909
3.53M
               AV_WN4PA(src+y*stride, a); \
910
3.53M
               AV_WN4PA(src+y*stride+4, a);
911
442k
    ROW(0); ROW(1); ROW(2); ROW(3); ROW(4); ROW(5); ROW(6); ROW(7);
912
442k
#undef ROW
913
442k
}
h264pred.c:pred8x8l_horizontal_9_c
Line
Count
Source
902
33.1k
{
903
33.1k
    pixel *src = (pixel*)_src;
904
33.1k
    int stride = _stride>>(sizeof(pixel)-1);
905
33.1k
    pixel4 a;
906
907
33.1k
    PREDICT_8x8_LOAD_LEFT;
908
33.1k
#define ROW(y) a = PIXEL_SPLAT_X4(l##y); \
909
33.1k
               AV_WN4PA(src+y*stride, a); \
910
33.1k
               AV_WN4PA(src+y*stride+4, a);
911
33.1k
    ROW(0); ROW(1); ROW(2); ROW(3); ROW(4); ROW(5); ROW(6); ROW(7);
912
33.1k
#undef ROW
913
33.1k
}
h264pred.c:pred8x8l_horizontal_10_c
Line
Count
Source
902
93.2k
{
903
93.2k
    pixel *src = (pixel*)_src;
904
93.2k
    int stride = _stride>>(sizeof(pixel)-1);
905
93.2k
    pixel4 a;
906
907
93.2k
    PREDICT_8x8_LOAD_LEFT;
908
93.2k
#define ROW(y) a = PIXEL_SPLAT_X4(l##y); \
909
93.2k
               AV_WN4PA(src+y*stride, a); \
910
93.2k
               AV_WN4PA(src+y*stride+4, a);
911
93.2k
    ROW(0); ROW(1); ROW(2); ROW(3); ROW(4); ROW(5); ROW(6); ROW(7);
912
93.2k
#undef ROW
913
93.2k
}
h264pred.c:pred8x8l_horizontal_12_c
Line
Count
Source
902
25.0k
{
903
25.0k
    pixel *src = (pixel*)_src;
904
25.0k
    int stride = _stride>>(sizeof(pixel)-1);
905
25.0k
    pixel4 a;
906
907
25.0k
    PREDICT_8x8_LOAD_LEFT;
908
25.0k
#define ROW(y) a = PIXEL_SPLAT_X4(l##y); \
909
25.0k
               AV_WN4PA(src+y*stride, a); \
910
25.0k
               AV_WN4PA(src+y*stride+4, a);
911
25.0k
    ROW(0); ROW(1); ROW(2); ROW(3); ROW(4); ROW(5); ROW(6); ROW(7);
912
25.0k
#undef ROW
913
25.0k
}
h264pred.c:pred8x8l_horizontal_14_c
Line
Count
Source
902
14.0k
{
903
14.0k
    pixel *src = (pixel*)_src;
904
14.0k
    int stride = _stride>>(sizeof(pixel)-1);
905
14.0k
    pixel4 a;
906
907
14.0k
    PREDICT_8x8_LOAD_LEFT;
908
14.0k
#define ROW(y) a = PIXEL_SPLAT_X4(l##y); \
909
14.0k
               AV_WN4PA(src+y*stride, a); \
910
14.0k
               AV_WN4PA(src+y*stride+4, a);
911
14.0k
    ROW(0); ROW(1); ROW(2); ROW(3); ROW(4); ROW(5); ROW(6); ROW(7);
912
14.0k
#undef ROW
913
14.0k
}
h264pred.c:pred8x8l_horizontal_8_c
Line
Count
Source
902
276k
{
903
276k
    pixel *src = (pixel*)_src;
904
276k
    int stride = _stride>>(sizeof(pixel)-1);
905
276k
    pixel4 a;
906
907
276k
    PREDICT_8x8_LOAD_LEFT;
908
276k
#define ROW(y) a = PIXEL_SPLAT_X4(l##y); \
909
276k
               AV_WN4PA(src+y*stride, a); \
910
276k
               AV_WN4PA(src+y*stride+4, a);
911
276k
    ROW(0); ROW(1); ROW(2); ROW(3); ROW(4); ROW(5); ROW(6); ROW(7);
912
276k
#undef ROW
913
276k
}
914
static void FUNCC(pred8x8l_vertical)(uint8_t *_src, int has_topleft,
915
                                     int has_topright, ptrdiff_t _stride)
916
348k
{
917
348k
    int y;
918
348k
    pixel *src = (pixel*)_src;
919
348k
    int stride = _stride>>(sizeof(pixel)-1);
920
348k
    pixel4 a, b;
921
922
348k
    PREDICT_8x8_LOAD_TOP;
923
348k
    src[0] = t0;
924
348k
    src[1] = t1;
925
348k
    src[2] = t2;
926
348k
    src[3] = t3;
927
348k
    src[4] = t4;
928
348k
    src[5] = t5;
929
348k
    src[6] = t6;
930
348k
    src[7] = t7;
931
348k
    a = AV_RN4PA(((pixel4*)src)+0);
932
348k
    b = AV_RN4PA(((pixel4*)src)+1);
933
2.78M
    for( y = 1; y < 8; y++ ) {
934
2.43M
        AV_WN4PA(((pixel4*)(src+y*stride))+0, a);
935
2.43M
        AV_WN4PA(((pixel4*)(src+y*stride))+1, b);
936
2.43M
    }
937
348k
}
h264pred.c:pred8x8l_vertical_9_c
Line
Count
Source
916
44.5k
{
917
44.5k
    int y;
918
44.5k
    pixel *src = (pixel*)_src;
919
44.5k
    int stride = _stride>>(sizeof(pixel)-1);
920
44.5k
    pixel4 a, b;
921
922
44.5k
    PREDICT_8x8_LOAD_TOP;
923
44.5k
    src[0] = t0;
924
44.5k
    src[1] = t1;
925
44.5k
    src[2] = t2;
926
44.5k
    src[3] = t3;
927
44.5k
    src[4] = t4;
928
44.5k
    src[5] = t5;
929
44.5k
    src[6] = t6;
930
44.5k
    src[7] = t7;
931
44.5k
    a = AV_RN4PA(((pixel4*)src)+0);
932
44.5k
    b = AV_RN4PA(((pixel4*)src)+1);
933
356k
    for( y = 1; y < 8; y++ ) {
934
312k
        AV_WN4PA(((pixel4*)(src+y*stride))+0, a);
935
312k
        AV_WN4PA(((pixel4*)(src+y*stride))+1, b);
936
312k
    }
937
44.5k
}
h264pred.c:pred8x8l_vertical_10_c
Line
Count
Source
916
44.0k
{
917
44.0k
    int y;
918
44.0k
    pixel *src = (pixel*)_src;
919
44.0k
    int stride = _stride>>(sizeof(pixel)-1);
920
44.0k
    pixel4 a, b;
921
922
44.0k
    PREDICT_8x8_LOAD_TOP;
923
44.0k
    src[0] = t0;
924
44.0k
    src[1] = t1;
925
44.0k
    src[2] = t2;
926
44.0k
    src[3] = t3;
927
44.0k
    src[4] = t4;
928
44.0k
    src[5] = t5;
929
44.0k
    src[6] = t6;
930
44.0k
    src[7] = t7;
931
44.0k
    a = AV_RN4PA(((pixel4*)src)+0);
932
44.0k
    b = AV_RN4PA(((pixel4*)src)+1);
933
352k
    for( y = 1; y < 8; y++ ) {
934
308k
        AV_WN4PA(((pixel4*)(src+y*stride))+0, a);
935
308k
        AV_WN4PA(((pixel4*)(src+y*stride))+1, b);
936
308k
    }
937
44.0k
}
h264pred.c:pred8x8l_vertical_12_c
Line
Count
Source
916
32.4k
{
917
32.4k
    int y;
918
32.4k
    pixel *src = (pixel*)_src;
919
32.4k
    int stride = _stride>>(sizeof(pixel)-1);
920
32.4k
    pixel4 a, b;
921
922
32.4k
    PREDICT_8x8_LOAD_TOP;
923
32.4k
    src[0] = t0;
924
32.4k
    src[1] = t1;
925
32.4k
    src[2] = t2;
926
32.4k
    src[3] = t3;
927
32.4k
    src[4] = t4;
928
32.4k
    src[5] = t5;
929
32.4k
    src[6] = t6;
930
32.4k
    src[7] = t7;
931
32.4k
    a = AV_RN4PA(((pixel4*)src)+0);
932
32.4k
    b = AV_RN4PA(((pixel4*)src)+1);
933
259k
    for( y = 1; y < 8; y++ ) {
934
227k
        AV_WN4PA(((pixel4*)(src+y*stride))+0, a);
935
227k
        AV_WN4PA(((pixel4*)(src+y*stride))+1, b);
936
227k
    }
937
32.4k
}
h264pred.c:pred8x8l_vertical_14_c
Line
Count
Source
916
139k
{
917
139k
    int y;
918
139k
    pixel *src = (pixel*)_src;
919
139k
    int stride = _stride>>(sizeof(pixel)-1);
920
139k
    pixel4 a, b;
921
922
139k
    PREDICT_8x8_LOAD_TOP;
923
139k
    src[0] = t0;
924
139k
    src[1] = t1;
925
139k
    src[2] = t2;
926
139k
    src[3] = t3;
927
139k
    src[4] = t4;
928
139k
    src[5] = t5;
929
139k
    src[6] = t6;
930
139k
    src[7] = t7;
931
139k
    a = AV_RN4PA(((pixel4*)src)+0);
932
139k
    b = AV_RN4PA(((pixel4*)src)+1);
933
1.11M
    for( y = 1; y < 8; y++ ) {
934
979k
        AV_WN4PA(((pixel4*)(src+y*stride))+0, a);
935
979k
        AV_WN4PA(((pixel4*)(src+y*stride))+1, b);
936
979k
    }
937
139k
}
h264pred.c:pred8x8l_vertical_8_c
Line
Count
Source
916
87.2k
{
917
87.2k
    int y;
918
87.2k
    pixel *src = (pixel*)_src;
919
87.2k
    int stride = _stride>>(sizeof(pixel)-1);
920
87.2k
    pixel4 a, b;
921
922
87.2k
    PREDICT_8x8_LOAD_TOP;
923
87.2k
    src[0] = t0;
924
87.2k
    src[1] = t1;
925
87.2k
    src[2] = t2;
926
87.2k
    src[3] = t3;
927
87.2k
    src[4] = t4;
928
87.2k
    src[5] = t5;
929
87.2k
    src[6] = t6;
930
87.2k
    src[7] = t7;
931
87.2k
    a = AV_RN4PA(((pixel4*)src)+0);
932
87.2k
    b = AV_RN4PA(((pixel4*)src)+1);
933
698k
    for( y = 1; y < 8; y++ ) {
934
610k
        AV_WN4PA(((pixel4*)(src+y*stride))+0, a);
935
610k
        AV_WN4PA(((pixel4*)(src+y*stride))+1, b);
936
610k
    }
937
87.2k
}
938
static void FUNCC(pred8x8l_down_left)(uint8_t *_src, int has_topleft,
939
                                      int has_topright, ptrdiff_t _stride)
940
114k
{
941
114k
    pixel *src = (pixel*)_src;
942
114k
    int stride = _stride>>(sizeof(pixel)-1);
943
114k
    PREDICT_8x8_LOAD_TOP;
944
114k
    PREDICT_8x8_LOAD_TOPRIGHT;
945
114k
    SRC(0,0)= (t0 + 2*t1 + t2 + 2) >> 2;
946
114k
    SRC(0,1)=SRC(1,0)= (t1 + 2*t2 + t3 + 2) >> 2;
947
114k
    SRC(0,2)=SRC(1,1)=SRC(2,0)= (t2 + 2*t3 + t4 + 2) >> 2;
948
114k
    SRC(0,3)=SRC(1,2)=SRC(2,1)=SRC(3,0)= (t3 + 2*t4 + t5 + 2) >> 2;
949
114k
    SRC(0,4)=SRC(1,3)=SRC(2,2)=SRC(3,1)=SRC(4,0)= (t4 + 2*t5 + t6 + 2) >> 2;
950
114k
    SRC(0,5)=SRC(1,4)=SRC(2,3)=SRC(3,2)=SRC(4,1)=SRC(5,0)= (t5 + 2*t6 + t7 + 2) >> 2;
951
114k
    SRC(0,6)=SRC(1,5)=SRC(2,4)=SRC(3,3)=SRC(4,2)=SRC(5,1)=SRC(6,0)= (t6 + 2*t7 + t8 + 2) >> 2;
952
114k
    SRC(0,7)=SRC(1,6)=SRC(2,5)=SRC(3,4)=SRC(4,3)=SRC(5,2)=SRC(6,1)=SRC(7,0)= (t7 + 2*t8 + t9 + 2) >> 2;
953
114k
    SRC(1,7)=SRC(2,6)=SRC(3,5)=SRC(4,4)=SRC(5,3)=SRC(6,2)=SRC(7,1)= (t8 + 2*t9 + t10 + 2) >> 2;
954
114k
    SRC(2,7)=SRC(3,6)=SRC(4,5)=SRC(5,4)=SRC(6,3)=SRC(7,2)= (t9 + 2*t10 + t11 + 2) >> 2;
955
114k
    SRC(3,7)=SRC(4,6)=SRC(5,5)=SRC(6,4)=SRC(7,3)= (t10 + 2*t11 + t12 + 2) >> 2;
956
114k
    SRC(4,7)=SRC(5,6)=SRC(6,5)=SRC(7,4)= (t11 + 2*t12 + t13 + 2) >> 2;
957
114k
    SRC(5,7)=SRC(6,6)=SRC(7,5)= (t12 + 2*t13 + t14 + 2) >> 2;
958
114k
    SRC(6,7)=SRC(7,6)= (t13 + 2*t14 + t15 + 2) >> 2;
959
114k
    SRC(7,7)= (t14 + 3*t15 + 2) >> 2;
960
114k
}
h264pred.c:pred8x8l_down_left_9_c
Line
Count
Source
940
12.4k
{
941
12.4k
    pixel *src = (pixel*)_src;
942
12.4k
    int stride = _stride>>(sizeof(pixel)-1);
943
12.4k
    PREDICT_8x8_LOAD_TOP;
944
12.4k
    PREDICT_8x8_LOAD_TOPRIGHT;
945
12.4k
    SRC(0,0)= (t0 + 2*t1 + t2 + 2) >> 2;
946
12.4k
    SRC(0,1)=SRC(1,0)= (t1 + 2*t2 + t3 + 2) >> 2;
947
12.4k
    SRC(0,2)=SRC(1,1)=SRC(2,0)= (t2 + 2*t3 + t4 + 2) >> 2;
948
12.4k
    SRC(0,3)=SRC(1,2)=SRC(2,1)=SRC(3,0)= (t3 + 2*t4 + t5 + 2) >> 2;
949
12.4k
    SRC(0,4)=SRC(1,3)=SRC(2,2)=SRC(3,1)=SRC(4,0)= (t4 + 2*t5 + t6 + 2) >> 2;
950
12.4k
    SRC(0,5)=SRC(1,4)=SRC(2,3)=SRC(3,2)=SRC(4,1)=SRC(5,0)= (t5 + 2*t6 + t7 + 2) >> 2;
951
12.4k
    SRC(0,6)=SRC(1,5)=SRC(2,4)=SRC(3,3)=SRC(4,2)=SRC(5,1)=SRC(6,0)= (t6 + 2*t7 + t8 + 2) >> 2;
952
12.4k
    SRC(0,7)=SRC(1,6)=SRC(2,5)=SRC(3,4)=SRC(4,3)=SRC(5,2)=SRC(6,1)=SRC(7,0)= (t7 + 2*t8 + t9 + 2) >> 2;
953
12.4k
    SRC(1,7)=SRC(2,6)=SRC(3,5)=SRC(4,4)=SRC(5,3)=SRC(6,2)=SRC(7,1)= (t8 + 2*t9 + t10 + 2) >> 2;
954
12.4k
    SRC(2,7)=SRC(3,6)=SRC(4,5)=SRC(5,4)=SRC(6,3)=SRC(7,2)= (t9 + 2*t10 + t11 + 2) >> 2;
955
12.4k
    SRC(3,7)=SRC(4,6)=SRC(5,5)=SRC(6,4)=SRC(7,3)= (t10 + 2*t11 + t12 + 2) >> 2;
956
12.4k
    SRC(4,7)=SRC(5,6)=SRC(6,5)=SRC(7,4)= (t11 + 2*t12 + t13 + 2) >> 2;
957
12.4k
    SRC(5,7)=SRC(6,6)=SRC(7,5)= (t12 + 2*t13 + t14 + 2) >> 2;
958
12.4k
    SRC(6,7)=SRC(7,6)= (t13 + 2*t14 + t15 + 2) >> 2;
959
12.4k
    SRC(7,7)= (t14 + 3*t15 + 2) >> 2;
960
12.4k
}
h264pred.c:pred8x8l_down_left_10_c
Line
Count
Source
940
29.8k
{
941
29.8k
    pixel *src = (pixel*)_src;
942
29.8k
    int stride = _stride>>(sizeof(pixel)-1);
943
29.8k
    PREDICT_8x8_LOAD_TOP;
944
29.8k
    PREDICT_8x8_LOAD_TOPRIGHT;
945
29.8k
    SRC(0,0)= (t0 + 2*t1 + t2 + 2) >> 2;
946
29.8k
    SRC(0,1)=SRC(1,0)= (t1 + 2*t2 + t3 + 2) >> 2;
947
29.8k
    SRC(0,2)=SRC(1,1)=SRC(2,0)= (t2 + 2*t3 + t4 + 2) >> 2;
948
29.8k
    SRC(0,3)=SRC(1,2)=SRC(2,1)=SRC(3,0)= (t3 + 2*t4 + t5 + 2) >> 2;
949
29.8k
    SRC(0,4)=SRC(1,3)=SRC(2,2)=SRC(3,1)=SRC(4,0)= (t4 + 2*t5 + t6 + 2) >> 2;
950
29.8k
    SRC(0,5)=SRC(1,4)=SRC(2,3)=SRC(3,2)=SRC(4,1)=SRC(5,0)= (t5 + 2*t6 + t7 + 2) >> 2;
951
29.8k
    SRC(0,6)=SRC(1,5)=SRC(2,4)=SRC(3,3)=SRC(4,2)=SRC(5,1)=SRC(6,0)= (t6 + 2*t7 + t8 + 2) >> 2;
952
29.8k
    SRC(0,7)=SRC(1,6)=SRC(2,5)=SRC(3,4)=SRC(4,3)=SRC(5,2)=SRC(6,1)=SRC(7,0)= (t7 + 2*t8 + t9 + 2) >> 2;
953
29.8k
    SRC(1,7)=SRC(2,6)=SRC(3,5)=SRC(4,4)=SRC(5,3)=SRC(6,2)=SRC(7,1)= (t8 + 2*t9 + t10 + 2) >> 2;
954
29.8k
    SRC(2,7)=SRC(3,6)=SRC(4,5)=SRC(5,4)=SRC(6,3)=SRC(7,2)= (t9 + 2*t10 + t11 + 2) >> 2;
955
29.8k
    SRC(3,7)=SRC(4,6)=SRC(5,5)=SRC(6,4)=SRC(7,3)= (t10 + 2*t11 + t12 + 2) >> 2;
956
29.8k
    SRC(4,7)=SRC(5,6)=SRC(6,5)=SRC(7,4)= (t11 + 2*t12 + t13 + 2) >> 2;
957
29.8k
    SRC(5,7)=SRC(6,6)=SRC(7,5)= (t12 + 2*t13 + t14 + 2) >> 2;
958
29.8k
    SRC(6,7)=SRC(7,6)= (t13 + 2*t14 + t15 + 2) >> 2;
959
29.8k
    SRC(7,7)= (t14 + 3*t15 + 2) >> 2;
960
29.8k
}
h264pred.c:pred8x8l_down_left_12_c
Line
Count
Source
940
39.5k
{
941
39.5k
    pixel *src = (pixel*)_src;
942
39.5k
    int stride = _stride>>(sizeof(pixel)-1);
943
39.5k
    PREDICT_8x8_LOAD_TOP;
944
39.5k
    PREDICT_8x8_LOAD_TOPRIGHT;
945
39.5k
    SRC(0,0)= (t0 + 2*t1 + t2 + 2) >> 2;
946
39.5k
    SRC(0,1)=SRC(1,0)= (t1 + 2*t2 + t3 + 2) >> 2;
947
39.5k
    SRC(0,2)=SRC(1,1)=SRC(2,0)= (t2 + 2*t3 + t4 + 2) >> 2;
948
39.5k
    SRC(0,3)=SRC(1,2)=SRC(2,1)=SRC(3,0)= (t3 + 2*t4 + t5 + 2) >> 2;
949
39.5k
    SRC(0,4)=SRC(1,3)=SRC(2,2)=SRC(3,1)=SRC(4,0)= (t4 + 2*t5 + t6 + 2) >> 2;
950
39.5k
    SRC(0,5)=SRC(1,4)=SRC(2,3)=SRC(3,2)=SRC(4,1)=SRC(5,0)= (t5 + 2*t6 + t7 + 2) >> 2;
951
39.5k
    SRC(0,6)=SRC(1,5)=SRC(2,4)=SRC(3,3)=SRC(4,2)=SRC(5,1)=SRC(6,0)= (t6 + 2*t7 + t8 + 2) >> 2;
952
39.5k
    SRC(0,7)=SRC(1,6)=SRC(2,5)=SRC(3,4)=SRC(4,3)=SRC(5,2)=SRC(6,1)=SRC(7,0)= (t7 + 2*t8 + t9 + 2) >> 2;
953
39.5k
    SRC(1,7)=SRC(2,6)=SRC(3,5)=SRC(4,4)=SRC(5,3)=SRC(6,2)=SRC(7,1)= (t8 + 2*t9 + t10 + 2) >> 2;
954
39.5k
    SRC(2,7)=SRC(3,6)=SRC(4,5)=SRC(5,4)=SRC(6,3)=SRC(7,2)= (t9 + 2*t10 + t11 + 2) >> 2;
955
39.5k
    SRC(3,7)=SRC(4,6)=SRC(5,5)=SRC(6,4)=SRC(7,3)= (t10 + 2*t11 + t12 + 2) >> 2;
956
39.5k
    SRC(4,7)=SRC(5,6)=SRC(6,5)=SRC(7,4)= (t11 + 2*t12 + t13 + 2) >> 2;
957
39.5k
    SRC(5,7)=SRC(6,6)=SRC(7,5)= (t12 + 2*t13 + t14 + 2) >> 2;
958
39.5k
    SRC(6,7)=SRC(7,6)= (t13 + 2*t14 + t15 + 2) >> 2;
959
39.5k
    SRC(7,7)= (t14 + 3*t15 + 2) >> 2;
960
39.5k
}
h264pred.c:pred8x8l_down_left_14_c
Line
Count
Source
940
11.9k
{
941
11.9k
    pixel *src = (pixel*)_src;
942
11.9k
    int stride = _stride>>(sizeof(pixel)-1);
943
11.9k
    PREDICT_8x8_LOAD_TOP;
944
11.9k
    PREDICT_8x8_LOAD_TOPRIGHT;
945
11.9k
    SRC(0,0)= (t0 + 2*t1 + t2 + 2) >> 2;
946
11.9k
    SRC(0,1)=SRC(1,0)= (t1 + 2*t2 + t3 + 2) >> 2;
947
11.9k
    SRC(0,2)=SRC(1,1)=SRC(2,0)= (t2 + 2*t3 + t4 + 2) >> 2;
948
11.9k
    SRC(0,3)=SRC(1,2)=SRC(2,1)=SRC(3,0)= (t3 + 2*t4 + t5 + 2) >> 2;
949
11.9k
    SRC(0,4)=SRC(1,3)=SRC(2,2)=SRC(3,1)=SRC(4,0)= (t4 + 2*t5 + t6 + 2) >> 2;
950
11.9k
    SRC(0,5)=SRC(1,4)=SRC(2,3)=SRC(3,2)=SRC(4,1)=SRC(5,0)= (t5 + 2*t6 + t7 + 2) >> 2;
951
11.9k
    SRC(0,6)=SRC(1,5)=SRC(2,4)=SRC(3,3)=SRC(4,2)=SRC(5,1)=SRC(6,0)= (t6 + 2*t7 + t8 + 2) >> 2;
952
11.9k
    SRC(0,7)=SRC(1,6)=SRC(2,5)=SRC(3,4)=SRC(4,3)=SRC(5,2)=SRC(6,1)=SRC(7,0)= (t7 + 2*t8 + t9 + 2) >> 2;
953
11.9k
    SRC(1,7)=SRC(2,6)=SRC(3,5)=SRC(4,4)=SRC(5,3)=SRC(6,2)=SRC(7,1)= (t8 + 2*t9 + t10 + 2) >> 2;
954
11.9k
    SRC(2,7)=SRC(3,6)=SRC(4,5)=SRC(5,4)=SRC(6,3)=SRC(7,2)= (t9 + 2*t10 + t11 + 2) >> 2;
955
11.9k
    SRC(3,7)=SRC(4,6)=SRC(5,5)=SRC(6,4)=SRC(7,3)= (t10 + 2*t11 + t12 + 2) >> 2;
956
11.9k
    SRC(4,7)=SRC(5,6)=SRC(6,5)=SRC(7,4)= (t11 + 2*t12 + t13 + 2) >> 2;
957
11.9k
    SRC(5,7)=SRC(6,6)=SRC(7,5)= (t12 + 2*t13 + t14 + 2) >> 2;
958
11.9k
    SRC(6,7)=SRC(7,6)= (t13 + 2*t14 + t15 + 2) >> 2;
959
11.9k
    SRC(7,7)= (t14 + 3*t15 + 2) >> 2;
960
11.9k
}
h264pred.c:pred8x8l_down_left_8_c
Line
Count
Source
940
20.8k
{
941
20.8k
    pixel *src = (pixel*)_src;
942
20.8k
    int stride = _stride>>(sizeof(pixel)-1);
943
20.8k
    PREDICT_8x8_LOAD_TOP;
944
20.8k
    PREDICT_8x8_LOAD_TOPRIGHT;
945
20.8k
    SRC(0,0)= (t0 + 2*t1 + t2 + 2) >> 2;
946
20.8k
    SRC(0,1)=SRC(1,0)= (t1 + 2*t2 + t3 + 2) >> 2;
947
20.8k
    SRC(0,2)=SRC(1,1)=SRC(2,0)= (t2 + 2*t3 + t4 + 2) >> 2;
948
20.8k
    SRC(0,3)=SRC(1,2)=SRC(2,1)=SRC(3,0)= (t3 + 2*t4 + t5 + 2) >> 2;
949
20.8k
    SRC(0,4)=SRC(1,3)=SRC(2,2)=SRC(3,1)=SRC(4,0)= (t4 + 2*t5 + t6 + 2) >> 2;
950
20.8k
    SRC(0,5)=SRC(1,4)=SRC(2,3)=SRC(3,2)=SRC(4,1)=SRC(5,0)= (t5 + 2*t6 + t7 + 2) >> 2;
951
20.8k
    SRC(0,6)=SRC(1,5)=SRC(2,4)=SRC(3,3)=SRC(4,2)=SRC(5,1)=SRC(6,0)= (t6 + 2*t7 + t8 + 2) >> 2;
952
20.8k
    SRC(0,7)=SRC(1,6)=SRC(2,5)=SRC(3,4)=SRC(4,3)=SRC(5,2)=SRC(6,1)=SRC(7,0)= (t7 + 2*t8 + t9 + 2) >> 2;
953
20.8k
    SRC(1,7)=SRC(2,6)=SRC(3,5)=SRC(4,4)=SRC(5,3)=SRC(6,2)=SRC(7,1)= (t8 + 2*t9 + t10 + 2) >> 2;
954
20.8k
    SRC(2,7)=SRC(3,6)=SRC(4,5)=SRC(5,4)=SRC(6,3)=SRC(7,2)= (t9 + 2*t10 + t11 + 2) >> 2;
955
20.8k
    SRC(3,7)=SRC(4,6)=SRC(5,5)=SRC(6,4)=SRC(7,3)= (t10 + 2*t11 + t12 + 2) >> 2;
956
20.8k
    SRC(4,7)=SRC(5,6)=SRC(6,5)=SRC(7,4)= (t11 + 2*t12 + t13 + 2) >> 2;
957
20.8k
    SRC(5,7)=SRC(6,6)=SRC(7,5)= (t12 + 2*t13 + t14 + 2) >> 2;
958
20.8k
    SRC(6,7)=SRC(7,6)= (t13 + 2*t14 + t15 + 2) >> 2;
959
20.8k
    SRC(7,7)= (t14 + 3*t15 + 2) >> 2;
960
20.8k
}
961
static void FUNCC(pred8x8l_down_right)(uint8_t *_src, int has_topleft,
962
                                       int has_topright, ptrdiff_t _stride)
963
106k
{
964
106k
    pixel *src = (pixel*)_src;
965
106k
    int stride = _stride>>(sizeof(pixel)-1);
966
106k
    PREDICT_8x8_LOAD_TOP;
967
106k
    PREDICT_8x8_LOAD_LEFT;
968
106k
    PREDICT_8x8_LOAD_TOPLEFT;
969
106k
    SRC(0,7)= (l7 + 2*l6 + l5 + 2) >> 2;
970
106k
    SRC(0,6)=SRC(1,7)= (l6 + 2*l5 + l4 + 2) >> 2;
971
106k
    SRC(0,5)=SRC(1,6)=SRC(2,7)= (l5 + 2*l4 + l3 + 2) >> 2;
972
106k
    SRC(0,4)=SRC(1,5)=SRC(2,6)=SRC(3,7)= (l4 + 2*l3 + l2 + 2) >> 2;
973
106k
    SRC(0,3)=SRC(1,4)=SRC(2,5)=SRC(3,6)=SRC(4,7)= (l3 + 2*l2 + l1 + 2) >> 2;
974
106k
    SRC(0,2)=SRC(1,3)=SRC(2,4)=SRC(3,5)=SRC(4,6)=SRC(5,7)= (l2 + 2*l1 + l0 + 2) >> 2;
975
106k
    SRC(0,1)=SRC(1,2)=SRC(2,3)=SRC(3,4)=SRC(4,5)=SRC(5,6)=SRC(6,7)= (l1 + 2*l0 + lt + 2) >> 2;
976
106k
    SRC(0,0)=SRC(1,1)=SRC(2,2)=SRC(3,3)=SRC(4,4)=SRC(5,5)=SRC(6,6)=SRC(7,7)= (l0 + 2*lt + t0 + 2) >> 2;
977
106k
    SRC(1,0)=SRC(2,1)=SRC(3,2)=SRC(4,3)=SRC(5,4)=SRC(6,5)=SRC(7,6)= (lt + 2*t0 + t1 + 2) >> 2;
978
106k
    SRC(2,0)=SRC(3,1)=SRC(4,2)=SRC(5,3)=SRC(6,4)=SRC(7,5)= (t0 + 2*t1 + t2 + 2) >> 2;
979
106k
    SRC(3,0)=SRC(4,1)=SRC(5,2)=SRC(6,3)=SRC(7,4)= (t1 + 2*t2 + t3 + 2) >> 2;
980
106k
    SRC(4,0)=SRC(5,1)=SRC(6,2)=SRC(7,3)= (t2 + 2*t3 + t4 + 2) >> 2;
981
106k
    SRC(5,0)=SRC(6,1)=SRC(7,2)= (t3 + 2*t4 + t5 + 2) >> 2;
982
106k
    SRC(6,0)=SRC(7,1)= (t4 + 2*t5 + t6 + 2) >> 2;
983
106k
    SRC(7,0)= (t5 + 2*t6 + t7 + 2) >> 2;
984
106k
}
h264pred.c:pred8x8l_down_right_9_c
Line
Count
Source
963
31.3k
{
964
31.3k
    pixel *src = (pixel*)_src;
965
31.3k
    int stride = _stride>>(sizeof(pixel)-1);
966
31.3k
    PREDICT_8x8_LOAD_TOP;
967
31.3k
    PREDICT_8x8_LOAD_LEFT;
968
31.3k
    PREDICT_8x8_LOAD_TOPLEFT;
969
31.3k
    SRC(0,7)= (l7 + 2*l6 + l5 + 2) >> 2;
970
31.3k
    SRC(0,6)=SRC(1,7)= (l6 + 2*l5 + l4 + 2) >> 2;
971
31.3k
    SRC(0,5)=SRC(1,6)=SRC(2,7)= (l5 + 2*l4 + l3 + 2) >> 2;
972
31.3k
    SRC(0,4)=SRC(1,5)=SRC(2,6)=SRC(3,7)= (l4 + 2*l3 + l2 + 2) >> 2;
973
31.3k
    SRC(0,3)=SRC(1,4)=SRC(2,5)=SRC(3,6)=SRC(4,7)= (l3 + 2*l2 + l1 + 2) >> 2;
974
31.3k
    SRC(0,2)=SRC(1,3)=SRC(2,4)=SRC(3,5)=SRC(4,6)=SRC(5,7)= (l2 + 2*l1 + l0 + 2) >> 2;
975
31.3k
    SRC(0,1)=SRC(1,2)=SRC(2,3)=SRC(3,4)=SRC(4,5)=SRC(5,6)=SRC(6,7)= (l1 + 2*l0 + lt + 2) >> 2;
976
31.3k
    SRC(0,0)=SRC(1,1)=SRC(2,2)=SRC(3,3)=SRC(4,4)=SRC(5,5)=SRC(6,6)=SRC(7,7)= (l0 + 2*lt + t0 + 2) >> 2;
977
31.3k
    SRC(1,0)=SRC(2,1)=SRC(3,2)=SRC(4,3)=SRC(5,4)=SRC(6,5)=SRC(7,6)= (lt + 2*t0 + t1 + 2) >> 2;
978
31.3k
    SRC(2,0)=SRC(3,1)=SRC(4,2)=SRC(5,3)=SRC(6,4)=SRC(7,5)= (t0 + 2*t1 + t2 + 2) >> 2;
979
31.3k
    SRC(3,0)=SRC(4,1)=SRC(5,2)=SRC(6,3)=SRC(7,4)= (t1 + 2*t2 + t3 + 2) >> 2;
980
31.3k
    SRC(4,0)=SRC(5,1)=SRC(6,2)=SRC(7,3)= (t2 + 2*t3 + t4 + 2) >> 2;
981
31.3k
    SRC(5,0)=SRC(6,1)=SRC(7,2)= (t3 + 2*t4 + t5 + 2) >> 2;
982
31.3k
    SRC(6,0)=SRC(7,1)= (t4 + 2*t5 + t6 + 2) >> 2;
983
31.3k
    SRC(7,0)= (t5 + 2*t6 + t7 + 2) >> 2;
984
31.3k
}
h264pred.c:pred8x8l_down_right_10_c
Line
Count
Source
963
13.0k
{
964
13.0k
    pixel *src = (pixel*)_src;
965
13.0k
    int stride = _stride>>(sizeof(pixel)-1);
966
13.0k
    PREDICT_8x8_LOAD_TOP;
967
13.0k
    PREDICT_8x8_LOAD_LEFT;
968
13.0k
    PREDICT_8x8_LOAD_TOPLEFT;
969
13.0k
    SRC(0,7)= (l7 + 2*l6 + l5 + 2) >> 2;
970
13.0k
    SRC(0,6)=SRC(1,7)= (l6 + 2*l5 + l4 + 2) >> 2;
971
13.0k
    SRC(0,5)=SRC(1,6)=SRC(2,7)= (l5 + 2*l4 + l3 + 2) >> 2;
972
13.0k
    SRC(0,4)=SRC(1,5)=SRC(2,6)=SRC(3,7)= (l4 + 2*l3 + l2 + 2) >> 2;
973
13.0k
    SRC(0,3)=SRC(1,4)=SRC(2,5)=SRC(3,6)=SRC(4,7)= (l3 + 2*l2 + l1 + 2) >> 2;
974
13.0k
    SRC(0,2)=SRC(1,3)=SRC(2,4)=SRC(3,5)=SRC(4,6)=SRC(5,7)= (l2 + 2*l1 + l0 + 2) >> 2;
975
13.0k
    SRC(0,1)=SRC(1,2)=SRC(2,3)=SRC(3,4)=SRC(4,5)=SRC(5,6)=SRC(6,7)= (l1 + 2*l0 + lt + 2) >> 2;
976
13.0k
    SRC(0,0)=SRC(1,1)=SRC(2,2)=SRC(3,3)=SRC(4,4)=SRC(5,5)=SRC(6,6)=SRC(7,7)= (l0 + 2*lt + t0 + 2) >> 2;
977
13.0k
    SRC(1,0)=SRC(2,1)=SRC(3,2)=SRC(4,3)=SRC(5,4)=SRC(6,5)=SRC(7,6)= (lt + 2*t0 + t1 + 2) >> 2;
978
13.0k
    SRC(2,0)=SRC(3,1)=SRC(4,2)=SRC(5,3)=SRC(6,4)=SRC(7,5)= (t0 + 2*t1 + t2 + 2) >> 2;
979
13.0k
    SRC(3,0)=SRC(4,1)=SRC(5,2)=SRC(6,3)=SRC(7,4)= (t1 + 2*t2 + t3 + 2) >> 2;
980
13.0k
    SRC(4,0)=SRC(5,1)=SRC(6,2)=SRC(7,3)= (t2 + 2*t3 + t4 + 2) >> 2;
981
13.0k
    SRC(5,0)=SRC(6,1)=SRC(7,2)= (t3 + 2*t4 + t5 + 2) >> 2;
982
13.0k
    SRC(6,0)=SRC(7,1)= (t4 + 2*t5 + t6 + 2) >> 2;
983
13.0k
    SRC(7,0)= (t5 + 2*t6 + t7 + 2) >> 2;
984
13.0k
}
h264pred.c:pred8x8l_down_right_12_c
Line
Count
Source
963
17.5k
{
964
17.5k
    pixel *src = (pixel*)_src;
965
17.5k
    int stride = _stride>>(sizeof(pixel)-1);
966
17.5k
    PREDICT_8x8_LOAD_TOP;
967
17.5k
    PREDICT_8x8_LOAD_LEFT;
968
17.5k
    PREDICT_8x8_LOAD_TOPLEFT;
969
17.5k
    SRC(0,7)= (l7 + 2*l6 + l5 + 2) >> 2;
970
17.5k
    SRC(0,6)=SRC(1,7)= (l6 + 2*l5 + l4 + 2) >> 2;
971
17.5k
    SRC(0,5)=SRC(1,6)=SRC(2,7)= (l5 + 2*l4 + l3 + 2) >> 2;
972
17.5k
    SRC(0,4)=SRC(1,5)=SRC(2,6)=SRC(3,7)= (l4 + 2*l3 + l2 + 2) >> 2;
973
17.5k
    SRC(0,3)=SRC(1,4)=SRC(2,5)=SRC(3,6)=SRC(4,7)= (l3 + 2*l2 + l1 + 2) >> 2;
974
17.5k
    SRC(0,2)=SRC(1,3)=SRC(2,4)=SRC(3,5)=SRC(4,6)=SRC(5,7)= (l2 + 2*l1 + l0 + 2) >> 2;
975
17.5k
    SRC(0,1)=SRC(1,2)=SRC(2,3)=SRC(3,4)=SRC(4,5)=SRC(5,6)=SRC(6,7)= (l1 + 2*l0 + lt + 2) >> 2;
976
17.5k
    SRC(0,0)=SRC(1,1)=SRC(2,2)=SRC(3,3)=SRC(4,4)=SRC(5,5)=SRC(6,6)=SRC(7,7)= (l0 + 2*lt + t0 + 2) >> 2;
977
17.5k
    SRC(1,0)=SRC(2,1)=SRC(3,2)=SRC(4,3)=SRC(5,4)=SRC(6,5)=SRC(7,6)= (lt + 2*t0 + t1 + 2) >> 2;
978
17.5k
    SRC(2,0)=SRC(3,1)=SRC(4,2)=SRC(5,3)=SRC(6,4)=SRC(7,5)= (t0 + 2*t1 + t2 + 2) >> 2;
979
17.5k
    SRC(3,0)=SRC(4,1)=SRC(5,2)=SRC(6,3)=SRC(7,4)= (t1 + 2*t2 + t3 + 2) >> 2;
980
17.5k
    SRC(4,0)=SRC(5,1)=SRC(6,2)=SRC(7,3)= (t2 + 2*t3 + t4 + 2) >> 2;
981
17.5k
    SRC(5,0)=SRC(6,1)=SRC(7,2)= (t3 + 2*t4 + t5 + 2) >> 2;
982
17.5k
    SRC(6,0)=SRC(7,1)= (t4 + 2*t5 + t6 + 2) >> 2;
983
17.5k
    SRC(7,0)= (t5 + 2*t6 + t7 + 2) >> 2;
984
17.5k
}
h264pred.c:pred8x8l_down_right_14_c
Line
Count
Source
963
13.9k
{
964
13.9k
    pixel *src = (pixel*)_src;
965
13.9k
    int stride = _stride>>(sizeof(pixel)-1);
966
13.9k
    PREDICT_8x8_LOAD_TOP;
967
13.9k
    PREDICT_8x8_LOAD_LEFT;
968
13.9k
    PREDICT_8x8_LOAD_TOPLEFT;
969
13.9k
    SRC(0,7)= (l7 + 2*l6 + l5 + 2) >> 2;
970
13.9k
    SRC(0,6)=SRC(1,7)= (l6 + 2*l5 + l4 + 2) >> 2;
971
13.9k
    SRC(0,5)=SRC(1,6)=SRC(2,7)= (l5 + 2*l4 + l3 + 2) >> 2;
972
13.9k
    SRC(0,4)=SRC(1,5)=SRC(2,6)=SRC(3,7)= (l4 + 2*l3 + l2 + 2) >> 2;
973
13.9k
    SRC(0,3)=SRC(1,4)=SRC(2,5)=SRC(3,6)=SRC(4,7)= (l3 + 2*l2 + l1 + 2) >> 2;
974
13.9k
    SRC(0,2)=SRC(1,3)=SRC(2,4)=SRC(3,5)=SRC(4,6)=SRC(5,7)= (l2 + 2*l1 + l0 + 2) >> 2;
975
13.9k
    SRC(0,1)=SRC(1,2)=SRC(2,3)=SRC(3,4)=SRC(4,5)=SRC(5,6)=SRC(6,7)= (l1 + 2*l0 + lt + 2) >> 2;
976
13.9k
    SRC(0,0)=SRC(1,1)=SRC(2,2)=SRC(3,3)=SRC(4,4)=SRC(5,5)=SRC(6,6)=SRC(7,7)= (l0 + 2*lt + t0 + 2) >> 2;
977
13.9k
    SRC(1,0)=SRC(2,1)=SRC(3,2)=SRC(4,3)=SRC(5,4)=SRC(6,5)=SRC(7,6)= (lt + 2*t0 + t1 + 2) >> 2;
978
13.9k
    SRC(2,0)=SRC(3,1)=SRC(4,2)=SRC(5,3)=SRC(6,4)=SRC(7,5)= (t0 + 2*t1 + t2 + 2) >> 2;
979
13.9k
    SRC(3,0)=SRC(4,1)=SRC(5,2)=SRC(6,3)=SRC(7,4)= (t1 + 2*t2 + t3 + 2) >> 2;
980
13.9k
    SRC(4,0)=SRC(5,1)=SRC(6,2)=SRC(7,3)= (t2 + 2*t3 + t4 + 2) >> 2;
981
13.9k
    SRC(5,0)=SRC(6,1)=SRC(7,2)= (t3 + 2*t4 + t5 + 2) >> 2;
982
13.9k
    SRC(6,0)=SRC(7,1)= (t4 + 2*t5 + t6 + 2) >> 2;
983
13.9k
    SRC(7,0)= (t5 + 2*t6 + t7 + 2) >> 2;
984
13.9k
}
h264pred.c:pred8x8l_down_right_8_c
Line
Count
Source
963
30.4k
{
964
30.4k
    pixel *src = (pixel*)_src;
965
30.4k
    int stride = _stride>>(sizeof(pixel)-1);
966
30.4k
    PREDICT_8x8_LOAD_TOP;
967
30.4k
    PREDICT_8x8_LOAD_LEFT;
968
30.4k
    PREDICT_8x8_LOAD_TOPLEFT;
969
30.4k
    SRC(0,7)= (l7 + 2*l6 + l5 + 2) >> 2;
970
30.4k
    SRC(0,6)=SRC(1,7)= (l6 + 2*l5 + l4 + 2) >> 2;
971
30.4k
    SRC(0,5)=SRC(1,6)=SRC(2,7)= (l5 + 2*l4 + l3 + 2) >> 2;
972
30.4k
    SRC(0,4)=SRC(1,5)=SRC(2,6)=SRC(3,7)= (l4 + 2*l3 + l2 + 2) >> 2;
973
30.4k
    SRC(0,3)=SRC(1,4)=SRC(2,5)=SRC(3,6)=SRC(4,7)= (l3 + 2*l2 + l1 + 2) >> 2;
974
30.4k
    SRC(0,2)=SRC(1,3)=SRC(2,4)=SRC(3,5)=SRC(4,6)=SRC(5,7)= (l2 + 2*l1 + l0 + 2) >> 2;
975
30.4k
    SRC(0,1)=SRC(1,2)=SRC(2,3)=SRC(3,4)=SRC(4,5)=SRC(5,6)=SRC(6,7)= (l1 + 2*l0 + lt + 2) >> 2;
976
30.4k
    SRC(0,0)=SRC(1,1)=SRC(2,2)=SRC(3,3)=SRC(4,4)=SRC(5,5)=SRC(6,6)=SRC(7,7)= (l0 + 2*lt + t0 + 2) >> 2;
977
30.4k
    SRC(1,0)=SRC(2,1)=SRC(3,2)=SRC(4,3)=SRC(5,4)=SRC(6,5)=SRC(7,6)= (lt + 2*t0 + t1 + 2) >> 2;
978
30.4k
    SRC(2,0)=SRC(3,1)=SRC(4,2)=SRC(5,3)=SRC(6,4)=SRC(7,5)= (t0 + 2*t1 + t2 + 2) >> 2;
979
30.4k
    SRC(3,0)=SRC(4,1)=SRC(5,2)=SRC(6,3)=SRC(7,4)= (t1 + 2*t2 + t3 + 2) >> 2;
980
30.4k
    SRC(4,0)=SRC(5,1)=SRC(6,2)=SRC(7,3)= (t2 + 2*t3 + t4 + 2) >> 2;
981
30.4k
    SRC(5,0)=SRC(6,1)=SRC(7,2)= (t3 + 2*t4 + t5 + 2) >> 2;
982
30.4k
    SRC(6,0)=SRC(7,1)= (t4 + 2*t5 + t6 + 2) >> 2;
983
30.4k
    SRC(7,0)= (t5 + 2*t6 + t7 + 2) >> 2;
984
30.4k
}
985
static void FUNCC(pred8x8l_vertical_right)(uint8_t *_src, int has_topleft,
986
                                           int has_topright, ptrdiff_t _stride)
987
70.9k
{
988
70.9k
    pixel *src = (pixel*)_src;
989
70.9k
    int stride = _stride>>(sizeof(pixel)-1);
990
70.9k
    PREDICT_8x8_LOAD_TOP;
991
70.9k
    PREDICT_8x8_LOAD_LEFT;
992
70.9k
    PREDICT_8x8_LOAD_TOPLEFT;
993
70.9k
    SRC(0,6)= (l5 + 2*l4 + l3 + 2) >> 2;
994
70.9k
    SRC(0,7)= (l6 + 2*l5 + l4 + 2) >> 2;
995
70.9k
    SRC(0,4)=SRC(1,6)= (l3 + 2*l2 + l1 + 2) >> 2;
996
70.9k
    SRC(0,5)=SRC(1,7)= (l4 + 2*l3 + l2 + 2) >> 2;
997
70.9k
    SRC(0,2)=SRC(1,4)=SRC(2,6)= (l1 + 2*l0 + lt + 2) >> 2;
998
70.9k
    SRC(0,3)=SRC(1,5)=SRC(2,7)= (l2 + 2*l1 + l0 + 2) >> 2;
999
70.9k
    SRC(0,1)=SRC(1,3)=SRC(2,5)=SRC(3,7)= (l0 + 2*lt + t0 + 2) >> 2;
1000
70.9k
    SRC(0,0)=SRC(1,2)=SRC(2,4)=SRC(3,6)= (lt + t0 + 1) >> 1;
1001
70.9k
    SRC(1,1)=SRC(2,3)=SRC(3,5)=SRC(4,7)= (lt + 2*t0 + t1 + 2) >> 2;
1002
70.9k
    SRC(1,0)=SRC(2,2)=SRC(3,4)=SRC(4,6)= (t0 + t1 + 1) >> 1;
1003
70.9k
    SRC(2,1)=SRC(3,3)=SRC(4,5)=SRC(5,7)= (t0 + 2*t1 + t2 + 2) >> 2;
1004
70.9k
    SRC(2,0)=SRC(3,2)=SRC(4,4)=SRC(5,6)= (t1 + t2 + 1) >> 1;
1005
70.9k
    SRC(3,1)=SRC(4,3)=SRC(5,5)=SRC(6,7)= (t1 + 2*t2 + t3 + 2) >> 2;
1006
70.9k
    SRC(3,0)=SRC(4,2)=SRC(5,4)=SRC(6,6)= (t2 + t3 + 1) >> 1;
1007
70.9k
    SRC(4,1)=SRC(5,3)=SRC(6,5)=SRC(7,7)= (t2 + 2*t3 + t4 + 2) >> 2;
1008
70.9k
    SRC(4,0)=SRC(5,2)=SRC(6,4)=SRC(7,6)= (t3 + t4 + 1) >> 1;
1009
70.9k
    SRC(5,1)=SRC(6,3)=SRC(7,5)= (t3 + 2*t4 + t5 + 2) >> 2;
1010
70.9k
    SRC(5,0)=SRC(6,2)=SRC(7,4)= (t4 + t5 + 1) >> 1;
1011
70.9k
    SRC(6,1)=SRC(7,3)= (t4 + 2*t5 + t6 + 2) >> 2;
1012
70.9k
    SRC(6,0)=SRC(7,2)= (t5 + t6 + 1) >> 1;
1013
70.9k
    SRC(7,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1014
70.9k
    SRC(7,0)= (t6 + t7 + 1) >> 1;
1015
70.9k
}
h264pred.c:pred8x8l_vertical_right_9_c
Line
Count
Source
987
21.0k
{
988
21.0k
    pixel *src = (pixel*)_src;
989
21.0k
    int stride = _stride>>(sizeof(pixel)-1);
990
21.0k
    PREDICT_8x8_LOAD_TOP;
991
21.0k
    PREDICT_8x8_LOAD_LEFT;
992
21.0k
    PREDICT_8x8_LOAD_TOPLEFT;
993
21.0k
    SRC(0,6)= (l5 + 2*l4 + l3 + 2) >> 2;
994
21.0k
    SRC(0,7)= (l6 + 2*l5 + l4 + 2) >> 2;
995
21.0k
    SRC(0,4)=SRC(1,6)= (l3 + 2*l2 + l1 + 2) >> 2;
996
21.0k
    SRC(0,5)=SRC(1,7)= (l4 + 2*l3 + l2 + 2) >> 2;
997
21.0k
    SRC(0,2)=SRC(1,4)=SRC(2,6)= (l1 + 2*l0 + lt + 2) >> 2;
998
21.0k
    SRC(0,3)=SRC(1,5)=SRC(2,7)= (l2 + 2*l1 + l0 + 2) >> 2;
999
21.0k
    SRC(0,1)=SRC(1,3)=SRC(2,5)=SRC(3,7)= (l0 + 2*lt + t0 + 2) >> 2;
1000
21.0k
    SRC(0,0)=SRC(1,2)=SRC(2,4)=SRC(3,6)= (lt + t0 + 1) >> 1;
1001
21.0k
    SRC(1,1)=SRC(2,3)=SRC(3,5)=SRC(4,7)= (lt + 2*t0 + t1 + 2) >> 2;
1002
21.0k
    SRC(1,0)=SRC(2,2)=SRC(3,4)=SRC(4,6)= (t0 + t1 + 1) >> 1;
1003
21.0k
    SRC(2,1)=SRC(3,3)=SRC(4,5)=SRC(5,7)= (t0 + 2*t1 + t2 + 2) >> 2;
1004
21.0k
    SRC(2,0)=SRC(3,2)=SRC(4,4)=SRC(5,6)= (t1 + t2 + 1) >> 1;
1005
21.0k
    SRC(3,1)=SRC(4,3)=SRC(5,5)=SRC(6,7)= (t1 + 2*t2 + t3 + 2) >> 2;
1006
21.0k
    SRC(3,0)=SRC(4,2)=SRC(5,4)=SRC(6,6)= (t2 + t3 + 1) >> 1;
1007
21.0k
    SRC(4,1)=SRC(5,3)=SRC(6,5)=SRC(7,7)= (t2 + 2*t3 + t4 + 2) >> 2;
1008
21.0k
    SRC(4,0)=SRC(5,2)=SRC(6,4)=SRC(7,6)= (t3 + t4 + 1) >> 1;
1009
21.0k
    SRC(5,1)=SRC(6,3)=SRC(7,5)= (t3 + 2*t4 + t5 + 2) >> 2;
1010
21.0k
    SRC(5,0)=SRC(6,2)=SRC(7,4)= (t4 + t5 + 1) >> 1;
1011
21.0k
    SRC(6,1)=SRC(7,3)= (t4 + 2*t5 + t6 + 2) >> 2;
1012
21.0k
    SRC(6,0)=SRC(7,2)= (t5 + t6 + 1) >> 1;
1013
21.0k
    SRC(7,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1014
21.0k
    SRC(7,0)= (t6 + t7 + 1) >> 1;
1015
21.0k
}
h264pred.c:pred8x8l_vertical_right_10_c
Line
Count
Source
987
15.2k
{
988
15.2k
    pixel *src = (pixel*)_src;
989
15.2k
    int stride = _stride>>(sizeof(pixel)-1);
990
15.2k
    PREDICT_8x8_LOAD_TOP;
991
15.2k
    PREDICT_8x8_LOAD_LEFT;
992
15.2k
    PREDICT_8x8_LOAD_TOPLEFT;
993
15.2k
    SRC(0,6)= (l5 + 2*l4 + l3 + 2) >> 2;
994
15.2k
    SRC(0,7)= (l6 + 2*l5 + l4 + 2) >> 2;
995
15.2k
    SRC(0,4)=SRC(1,6)= (l3 + 2*l2 + l1 + 2) >> 2;
996
15.2k
    SRC(0,5)=SRC(1,7)= (l4 + 2*l3 + l2 + 2) >> 2;
997
15.2k
    SRC(0,2)=SRC(1,4)=SRC(2,6)= (l1 + 2*l0 + lt + 2) >> 2;
998
15.2k
    SRC(0,3)=SRC(1,5)=SRC(2,7)= (l2 + 2*l1 + l0 + 2) >> 2;
999
15.2k
    SRC(0,1)=SRC(1,3)=SRC(2,5)=SRC(3,7)= (l0 + 2*lt + t0 + 2) >> 2;
1000
15.2k
    SRC(0,0)=SRC(1,2)=SRC(2,4)=SRC(3,6)= (lt + t0 + 1) >> 1;
1001
15.2k
    SRC(1,1)=SRC(2,3)=SRC(3,5)=SRC(4,7)= (lt + 2*t0 + t1 + 2) >> 2;
1002
15.2k
    SRC(1,0)=SRC(2,2)=SRC(3,4)=SRC(4,6)= (t0 + t1 + 1) >> 1;
1003
15.2k
    SRC(2,1)=SRC(3,3)=SRC(4,5)=SRC(5,7)= (t0 + 2*t1 + t2 + 2) >> 2;
1004
15.2k
    SRC(2,0)=SRC(3,2)=SRC(4,4)=SRC(5,6)= (t1 + t2 + 1) >> 1;
1005
15.2k
    SRC(3,1)=SRC(4,3)=SRC(5,5)=SRC(6,7)= (t1 + 2*t2 + t3 + 2) >> 2;
1006
15.2k
    SRC(3,0)=SRC(4,2)=SRC(5,4)=SRC(6,6)= (t2 + t3 + 1) >> 1;
1007
15.2k
    SRC(4,1)=SRC(5,3)=SRC(6,5)=SRC(7,7)= (t2 + 2*t3 + t4 + 2) >> 2;
1008
15.2k
    SRC(4,0)=SRC(5,2)=SRC(6,4)=SRC(7,6)= (t3 + t4 + 1) >> 1;
1009
15.2k
    SRC(5,1)=SRC(6,3)=SRC(7,5)= (t3 + 2*t4 + t5 + 2) >> 2;
1010
15.2k
    SRC(5,0)=SRC(6,2)=SRC(7,4)= (t4 + t5 + 1) >> 1;
1011
15.2k
    SRC(6,1)=SRC(7,3)= (t4 + 2*t5 + t6 + 2) >> 2;
1012
15.2k
    SRC(6,0)=SRC(7,2)= (t5 + t6 + 1) >> 1;
1013
15.2k
    SRC(7,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1014
15.2k
    SRC(7,0)= (t6 + t7 + 1) >> 1;
1015
15.2k
}
h264pred.c:pred8x8l_vertical_right_12_c
Line
Count
Source
987
10.3k
{
988
10.3k
    pixel *src = (pixel*)_src;
989
10.3k
    int stride = _stride>>(sizeof(pixel)-1);
990
10.3k
    PREDICT_8x8_LOAD_TOP;
991
10.3k
    PREDICT_8x8_LOAD_LEFT;
992
10.3k
    PREDICT_8x8_LOAD_TOPLEFT;
993
10.3k
    SRC(0,6)= (l5 + 2*l4 + l3 + 2) >> 2;
994
10.3k
    SRC(0,7)= (l6 + 2*l5 + l4 + 2) >> 2;
995
10.3k
    SRC(0,4)=SRC(1,6)= (l3 + 2*l2 + l1 + 2) >> 2;
996
10.3k
    SRC(0,5)=SRC(1,7)= (l4 + 2*l3 + l2 + 2) >> 2;
997
10.3k
    SRC(0,2)=SRC(1,4)=SRC(2,6)= (l1 + 2*l0 + lt + 2) >> 2;
998
10.3k
    SRC(0,3)=SRC(1,5)=SRC(2,7)= (l2 + 2*l1 + l0 + 2) >> 2;
999
10.3k
    SRC(0,1)=SRC(1,3)=SRC(2,5)=SRC(3,7)= (l0 + 2*lt + t0 + 2) >> 2;
1000
10.3k
    SRC(0,0)=SRC(1,2)=SRC(2,4)=SRC(3,6)= (lt + t0 + 1) >> 1;
1001
10.3k
    SRC(1,1)=SRC(2,3)=SRC(3,5)=SRC(4,7)= (lt + 2*t0 + t1 + 2) >> 2;
1002
10.3k
    SRC(1,0)=SRC(2,2)=SRC(3,4)=SRC(4,6)= (t0 + t1 + 1) >> 1;
1003
10.3k
    SRC(2,1)=SRC(3,3)=SRC(4,5)=SRC(5,7)= (t0 + 2*t1 + t2 + 2) >> 2;
1004
10.3k
    SRC(2,0)=SRC(3,2)=SRC(4,4)=SRC(5,6)= (t1 + t2 + 1) >> 1;
1005
10.3k
    SRC(3,1)=SRC(4,3)=SRC(5,5)=SRC(6,7)= (t1 + 2*t2 + t3 + 2) >> 2;
1006
10.3k
    SRC(3,0)=SRC(4,2)=SRC(5,4)=SRC(6,6)= (t2 + t3 + 1) >> 1;
1007
10.3k
    SRC(4,1)=SRC(5,3)=SRC(6,5)=SRC(7,7)= (t2 + 2*t3 + t4 + 2) >> 2;
1008
10.3k
    SRC(4,0)=SRC(5,2)=SRC(6,4)=SRC(7,6)= (t3 + t4 + 1) >> 1;
1009
10.3k
    SRC(5,1)=SRC(6,3)=SRC(7,5)= (t3 + 2*t4 + t5 + 2) >> 2;
1010
10.3k
    SRC(5,0)=SRC(6,2)=SRC(7,4)= (t4 + t5 + 1) >> 1;
1011
10.3k
    SRC(6,1)=SRC(7,3)= (t4 + 2*t5 + t6 + 2) >> 2;
1012
10.3k
    SRC(6,0)=SRC(7,2)= (t5 + t6 + 1) >> 1;
1013
10.3k
    SRC(7,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1014
10.3k
    SRC(7,0)= (t6 + t7 + 1) >> 1;
1015
10.3k
}
h264pred.c:pred8x8l_vertical_right_14_c
Line
Count
Source
987
6.30k
{
988
6.30k
    pixel *src = (pixel*)_src;
989
6.30k
    int stride = _stride>>(sizeof(pixel)-1);
990
6.30k
    PREDICT_8x8_LOAD_TOP;
991
6.30k
    PREDICT_8x8_LOAD_LEFT;
992
6.30k
    PREDICT_8x8_LOAD_TOPLEFT;
993
6.30k
    SRC(0,6)= (l5 + 2*l4 + l3 + 2) >> 2;
994
6.30k
    SRC(0,7)= (l6 + 2*l5 + l4 + 2) >> 2;
995
6.30k
    SRC(0,4)=SRC(1,6)= (l3 + 2*l2 + l1 + 2) >> 2;
996
6.30k
    SRC(0,5)=SRC(1,7)= (l4 + 2*l3 + l2 + 2) >> 2;
997
6.30k
    SRC(0,2)=SRC(1,4)=SRC(2,6)= (l1 + 2*l0 + lt + 2) >> 2;
998
6.30k
    SRC(0,3)=SRC(1,5)=SRC(2,7)= (l2 + 2*l1 + l0 + 2) >> 2;
999
6.30k
    SRC(0,1)=SRC(1,3)=SRC(2,5)=SRC(3,7)= (l0 + 2*lt + t0 + 2) >> 2;
1000
6.30k
    SRC(0,0)=SRC(1,2)=SRC(2,4)=SRC(3,6)= (lt + t0 + 1) >> 1;
1001
6.30k
    SRC(1,1)=SRC(2,3)=SRC(3,5)=SRC(4,7)= (lt + 2*t0 + t1 + 2) >> 2;
1002
6.30k
    SRC(1,0)=SRC(2,2)=SRC(3,4)=SRC(4,6)= (t0 + t1 + 1) >> 1;
1003
6.30k
    SRC(2,1)=SRC(3,3)=SRC(4,5)=SRC(5,7)= (t0 + 2*t1 + t2 + 2) >> 2;
1004
6.30k
    SRC(2,0)=SRC(3,2)=SRC(4,4)=SRC(5,6)= (t1 + t2 + 1) >> 1;
1005
6.30k
    SRC(3,1)=SRC(4,3)=SRC(5,5)=SRC(6,7)= (t1 + 2*t2 + t3 + 2) >> 2;
1006
6.30k
    SRC(3,0)=SRC(4,2)=SRC(5,4)=SRC(6,6)= (t2 + t3 + 1) >> 1;
1007
6.30k
    SRC(4,1)=SRC(5,3)=SRC(6,5)=SRC(7,7)= (t2 + 2*t3 + t4 + 2) >> 2;
1008
6.30k
    SRC(4,0)=SRC(5,2)=SRC(6,4)=SRC(7,6)= (t3 + t4 + 1) >> 1;
1009
6.30k
    SRC(5,1)=SRC(6,3)=SRC(7,5)= (t3 + 2*t4 + t5 + 2) >> 2;
1010
6.30k
    SRC(5,0)=SRC(6,2)=SRC(7,4)= (t4 + t5 + 1) >> 1;
1011
6.30k
    SRC(6,1)=SRC(7,3)= (t4 + 2*t5 + t6 + 2) >> 2;
1012
6.30k
    SRC(6,0)=SRC(7,2)= (t5 + t6 + 1) >> 1;
1013
6.30k
    SRC(7,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1014
6.30k
    SRC(7,0)= (t6 + t7 + 1) >> 1;
1015
6.30k
}
h264pred.c:pred8x8l_vertical_right_8_c
Line
Count
Source
987
17.9k
{
988
17.9k
    pixel *src = (pixel*)_src;
989
17.9k
    int stride = _stride>>(sizeof(pixel)-1);
990
17.9k
    PREDICT_8x8_LOAD_TOP;
991
17.9k
    PREDICT_8x8_LOAD_LEFT;
992
17.9k
    PREDICT_8x8_LOAD_TOPLEFT;
993
17.9k
    SRC(0,6)= (l5 + 2*l4 + l3 + 2) >> 2;
994
17.9k
    SRC(0,7)= (l6 + 2*l5 + l4 + 2) >> 2;
995
17.9k
    SRC(0,4)=SRC(1,6)= (l3 + 2*l2 + l1 + 2) >> 2;
996
17.9k
    SRC(0,5)=SRC(1,7)= (l4 + 2*l3 + l2 + 2) >> 2;
997
17.9k
    SRC(0,2)=SRC(1,4)=SRC(2,6)= (l1 + 2*l0 + lt + 2) >> 2;
998
17.9k
    SRC(0,3)=SRC(1,5)=SRC(2,7)= (l2 + 2*l1 + l0 + 2) >> 2;
999
17.9k
    SRC(0,1)=SRC(1,3)=SRC(2,5)=SRC(3,7)= (l0 + 2*lt + t0 + 2) >> 2;
1000
17.9k
    SRC(0,0)=SRC(1,2)=SRC(2,4)=SRC(3,6)= (lt + t0 + 1) >> 1;
1001
17.9k
    SRC(1,1)=SRC(2,3)=SRC(3,5)=SRC(4,7)= (lt + 2*t0 + t1 + 2) >> 2;
1002
17.9k
    SRC(1,0)=SRC(2,2)=SRC(3,4)=SRC(4,6)= (t0 + t1 + 1) >> 1;
1003
17.9k
    SRC(2,1)=SRC(3,3)=SRC(4,5)=SRC(5,7)= (t0 + 2*t1 + t2 + 2) >> 2;
1004
17.9k
    SRC(2,0)=SRC(3,2)=SRC(4,4)=SRC(5,6)= (t1 + t2 + 1) >> 1;
1005
17.9k
    SRC(3,1)=SRC(4,3)=SRC(5,5)=SRC(6,7)= (t1 + 2*t2 + t3 + 2) >> 2;
1006
17.9k
    SRC(3,0)=SRC(4,2)=SRC(5,4)=SRC(6,6)= (t2 + t3 + 1) >> 1;
1007
17.9k
    SRC(4,1)=SRC(5,3)=SRC(6,5)=SRC(7,7)= (t2 + 2*t3 + t4 + 2) >> 2;
1008
17.9k
    SRC(4,0)=SRC(5,2)=SRC(6,4)=SRC(7,6)= (t3 + t4 + 1) >> 1;
1009
17.9k
    SRC(5,1)=SRC(6,3)=SRC(7,5)= (t3 + 2*t4 + t5 + 2) >> 2;
1010
17.9k
    SRC(5,0)=SRC(6,2)=SRC(7,4)= (t4 + t5 + 1) >> 1;
1011
17.9k
    SRC(6,1)=SRC(7,3)= (t4 + 2*t5 + t6 + 2) >> 2;
1012
17.9k
    SRC(6,0)=SRC(7,2)= (t5 + t6 + 1) >> 1;
1013
17.9k
    SRC(7,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1014
17.9k
    SRC(7,0)= (t6 + t7 + 1) >> 1;
1015
17.9k
}
1016
static void FUNCC(pred8x8l_horizontal_down)(uint8_t *_src, int has_topleft,
1017
                                            int has_topright, ptrdiff_t _stride)
1018
85.6k
{
1019
85.6k
    pixel *src = (pixel*)_src;
1020
85.6k
    int stride = _stride>>(sizeof(pixel)-1);
1021
85.6k
    PREDICT_8x8_LOAD_TOP;
1022
85.6k
    PREDICT_8x8_LOAD_LEFT;
1023
85.6k
    PREDICT_8x8_LOAD_TOPLEFT;
1024
85.6k
    SRC(0,7)= (l6 + l7 + 1) >> 1;
1025
85.6k
    SRC(1,7)= (l5 + 2*l6 + l7 + 2) >> 2;
1026
85.6k
    SRC(0,6)=SRC(2,7)= (l5 + l6 + 1) >> 1;
1027
85.6k
    SRC(1,6)=SRC(3,7)= (l4 + 2*l5 + l6 + 2) >> 2;
1028
85.6k
    SRC(0,5)=SRC(2,6)=SRC(4,7)= (l4 + l5 + 1) >> 1;
1029
85.6k
    SRC(1,5)=SRC(3,6)=SRC(5,7)= (l3 + 2*l4 + l5 + 2) >> 2;
1030
85.6k
    SRC(0,4)=SRC(2,5)=SRC(4,6)=SRC(6,7)= (l3 + l4 + 1) >> 1;
1031
85.6k
    SRC(1,4)=SRC(3,5)=SRC(5,6)=SRC(7,7)= (l2 + 2*l3 + l4 + 2) >> 2;
1032
85.6k
    SRC(0,3)=SRC(2,4)=SRC(4,5)=SRC(6,6)= (l2 + l3 + 1) >> 1;
1033
85.6k
    SRC(1,3)=SRC(3,4)=SRC(5,5)=SRC(7,6)= (l1 + 2*l2 + l3 + 2) >> 2;
1034
85.6k
    SRC(0,2)=SRC(2,3)=SRC(4,4)=SRC(6,5)= (l1 + l2 + 1) >> 1;
1035
85.6k
    SRC(1,2)=SRC(3,3)=SRC(5,4)=SRC(7,5)= (l0 + 2*l1 + l2 + 2) >> 2;
1036
85.6k
    SRC(0,1)=SRC(2,2)=SRC(4,3)=SRC(6,4)= (l0 + l1 + 1) >> 1;
1037
85.6k
    SRC(1,1)=SRC(3,2)=SRC(5,3)=SRC(7,4)= (lt + 2*l0 + l1 + 2) >> 2;
1038
85.6k
    SRC(0,0)=SRC(2,1)=SRC(4,2)=SRC(6,3)= (lt + l0 + 1) >> 1;
1039
85.6k
    SRC(1,0)=SRC(3,1)=SRC(5,2)=SRC(7,3)= (l0 + 2*lt + t0 + 2) >> 2;
1040
85.6k
    SRC(2,0)=SRC(4,1)=SRC(6,2)= (t1 + 2*t0 + lt + 2) >> 2;
1041
85.6k
    SRC(3,0)=SRC(5,1)=SRC(7,2)= (t2 + 2*t1 + t0 + 2) >> 2;
1042
85.6k
    SRC(4,0)=SRC(6,1)= (t3 + 2*t2 + t1 + 2) >> 2;
1043
85.6k
    SRC(5,0)=SRC(7,1)= (t4 + 2*t3 + t2 + 2) >> 2;
1044
85.6k
    SRC(6,0)= (t5 + 2*t4 + t3 + 2) >> 2;
1045
85.6k
    SRC(7,0)= (t6 + 2*t5 + t4 + 2) >> 2;
1046
85.6k
}
h264pred.c:pred8x8l_horizontal_down_9_c
Line
Count
Source
1018
18.6k
{
1019
18.6k
    pixel *src = (pixel*)_src;
1020
18.6k
    int stride = _stride>>(sizeof(pixel)-1);
1021
18.6k
    PREDICT_8x8_LOAD_TOP;
1022
18.6k
    PREDICT_8x8_LOAD_LEFT;
1023
18.6k
    PREDICT_8x8_LOAD_TOPLEFT;
1024
18.6k
    SRC(0,7)= (l6 + l7 + 1) >> 1;
1025
18.6k
    SRC(1,7)= (l5 + 2*l6 + l7 + 2) >> 2;
1026
18.6k
    SRC(0,6)=SRC(2,7)= (l5 + l6 + 1) >> 1;
1027
18.6k
    SRC(1,6)=SRC(3,7)= (l4 + 2*l5 + l6 + 2) >> 2;
1028
18.6k
    SRC(0,5)=SRC(2,6)=SRC(4,7)= (l4 + l5 + 1) >> 1;
1029
18.6k
    SRC(1,5)=SRC(3,6)=SRC(5,7)= (l3 + 2*l4 + l5 + 2) >> 2;
1030
18.6k
    SRC(0,4)=SRC(2,5)=SRC(4,6)=SRC(6,7)= (l3 + l4 + 1) >> 1;
1031
18.6k
    SRC(1,4)=SRC(3,5)=SRC(5,6)=SRC(7,7)= (l2 + 2*l3 + l4 + 2) >> 2;
1032
18.6k
    SRC(0,3)=SRC(2,4)=SRC(4,5)=SRC(6,6)= (l2 + l3 + 1) >> 1;
1033
18.6k
    SRC(1,3)=SRC(3,4)=SRC(5,5)=SRC(7,6)= (l1 + 2*l2 + l3 + 2) >> 2;
1034
18.6k
    SRC(0,2)=SRC(2,3)=SRC(4,4)=SRC(6,5)= (l1 + l2 + 1) >> 1;
1035
18.6k
    SRC(1,2)=SRC(3,3)=SRC(5,4)=SRC(7,5)= (l0 + 2*l1 + l2 + 2) >> 2;
1036
18.6k
    SRC(0,1)=SRC(2,2)=SRC(4,3)=SRC(6,4)= (l0 + l1 + 1) >> 1;
1037
18.6k
    SRC(1,1)=SRC(3,2)=SRC(5,3)=SRC(7,4)= (lt + 2*l0 + l1 + 2) >> 2;
1038
18.6k
    SRC(0,0)=SRC(2,1)=SRC(4,2)=SRC(6,3)= (lt + l0 + 1) >> 1;
1039
18.6k
    SRC(1,0)=SRC(3,1)=SRC(5,2)=SRC(7,3)= (l0 + 2*lt + t0 + 2) >> 2;
1040
18.6k
    SRC(2,0)=SRC(4,1)=SRC(6,2)= (t1 + 2*t0 + lt + 2) >> 2;
1041
18.6k
    SRC(3,0)=SRC(5,1)=SRC(7,2)= (t2 + 2*t1 + t0 + 2) >> 2;
1042
18.6k
    SRC(4,0)=SRC(6,1)= (t3 + 2*t2 + t1 + 2) >> 2;
1043
18.6k
    SRC(5,0)=SRC(7,1)= (t4 + 2*t3 + t2 + 2) >> 2;
1044
18.6k
    SRC(6,0)= (t5 + 2*t4 + t3 + 2) >> 2;
1045
18.6k
    SRC(7,0)= (t6 + 2*t5 + t4 + 2) >> 2;
1046
18.6k
}
h264pred.c:pred8x8l_horizontal_down_10_c
Line
Count
Source
1018
15.3k
{
1019
15.3k
    pixel *src = (pixel*)_src;
1020
15.3k
    int stride = _stride>>(sizeof(pixel)-1);
1021
15.3k
    PREDICT_8x8_LOAD_TOP;
1022
15.3k
    PREDICT_8x8_LOAD_LEFT;
1023
15.3k
    PREDICT_8x8_LOAD_TOPLEFT;
1024
15.3k
    SRC(0,7)= (l6 + l7 + 1) >> 1;
1025
15.3k
    SRC(1,7)= (l5 + 2*l6 + l7 + 2) >> 2;
1026
15.3k
    SRC(0,6)=SRC(2,7)= (l5 + l6 + 1) >> 1;
1027
15.3k
    SRC(1,6)=SRC(3,7)= (l4 + 2*l5 + l6 + 2) >> 2;
1028
15.3k
    SRC(0,5)=SRC(2,6)=SRC(4,7)= (l4 + l5 + 1) >> 1;
1029
15.3k
    SRC(1,5)=SRC(3,6)=SRC(5,7)= (l3 + 2*l4 + l5 + 2) >> 2;
1030
15.3k
    SRC(0,4)=SRC(2,5)=SRC(4,6)=SRC(6,7)= (l3 + l4 + 1) >> 1;
1031
15.3k
    SRC(1,4)=SRC(3,5)=SRC(5,6)=SRC(7,7)= (l2 + 2*l3 + l4 + 2) >> 2;
1032
15.3k
    SRC(0,3)=SRC(2,4)=SRC(4,5)=SRC(6,6)= (l2 + l3 + 1) >> 1;
1033
15.3k
    SRC(1,3)=SRC(3,4)=SRC(5,5)=SRC(7,6)= (l1 + 2*l2 + l3 + 2) >> 2;
1034
15.3k
    SRC(0,2)=SRC(2,3)=SRC(4,4)=SRC(6,5)= (l1 + l2 + 1) >> 1;
1035
15.3k
    SRC(1,2)=SRC(3,3)=SRC(5,4)=SRC(7,5)= (l0 + 2*l1 + l2 + 2) >> 2;
1036
15.3k
    SRC(0,1)=SRC(2,2)=SRC(4,3)=SRC(6,4)= (l0 + l1 + 1) >> 1;
1037
15.3k
    SRC(1,1)=SRC(3,2)=SRC(5,3)=SRC(7,4)= (lt + 2*l0 + l1 + 2) >> 2;
1038
15.3k
    SRC(0,0)=SRC(2,1)=SRC(4,2)=SRC(6,3)= (lt + l0 + 1) >> 1;
1039
15.3k
    SRC(1,0)=SRC(3,1)=SRC(5,2)=SRC(7,3)= (l0 + 2*lt + t0 + 2) >> 2;
1040
15.3k
    SRC(2,0)=SRC(4,1)=SRC(6,2)= (t1 + 2*t0 + lt + 2) >> 2;
1041
15.3k
    SRC(3,0)=SRC(5,1)=SRC(7,2)= (t2 + 2*t1 + t0 + 2) >> 2;
1042
15.3k
    SRC(4,0)=SRC(6,1)= (t3 + 2*t2 + t1 + 2) >> 2;
1043
15.3k
    SRC(5,0)=SRC(7,1)= (t4 + 2*t3 + t2 + 2) >> 2;
1044
15.3k
    SRC(6,0)= (t5 + 2*t4 + t3 + 2) >> 2;
1045
15.3k
    SRC(7,0)= (t6 + 2*t5 + t4 + 2) >> 2;
1046
15.3k
}
h264pred.c:pred8x8l_horizontal_down_12_c
Line
Count
Source
1018
8.69k
{
1019
8.69k
    pixel *src = (pixel*)_src;
1020
8.69k
    int stride = _stride>>(sizeof(pixel)-1);
1021
8.69k
    PREDICT_8x8_LOAD_TOP;
1022
8.69k
    PREDICT_8x8_LOAD_LEFT;
1023
8.69k
    PREDICT_8x8_LOAD_TOPLEFT;
1024
8.69k
    SRC(0,7)= (l6 + l7 + 1) >> 1;
1025
8.69k
    SRC(1,7)= (l5 + 2*l6 + l7 + 2) >> 2;
1026
8.69k
    SRC(0,6)=SRC(2,7)= (l5 + l6 + 1) >> 1;
1027
8.69k
    SRC(1,6)=SRC(3,7)= (l4 + 2*l5 + l6 + 2) >> 2;
1028
8.69k
    SRC(0,5)=SRC(2,6)=SRC(4,7)= (l4 + l5 + 1) >> 1;
1029
8.69k
    SRC(1,5)=SRC(3,6)=SRC(5,7)= (l3 + 2*l4 + l5 + 2) >> 2;
1030
8.69k
    SRC(0,4)=SRC(2,5)=SRC(4,6)=SRC(6,7)= (l3 + l4 + 1) >> 1;
1031
8.69k
    SRC(1,4)=SRC(3,5)=SRC(5,6)=SRC(7,7)= (l2 + 2*l3 + l4 + 2) >> 2;
1032
8.69k
    SRC(0,3)=SRC(2,4)=SRC(4,5)=SRC(6,6)= (l2 + l3 + 1) >> 1;
1033
8.69k
    SRC(1,3)=SRC(3,4)=SRC(5,5)=SRC(7,6)= (l1 + 2*l2 + l3 + 2) >> 2;
1034
8.69k
    SRC(0,2)=SRC(2,3)=SRC(4,4)=SRC(6,5)= (l1 + l2 + 1) >> 1;
1035
8.69k
    SRC(1,2)=SRC(3,3)=SRC(5,4)=SRC(7,5)= (l0 + 2*l1 + l2 + 2) >> 2;
1036
8.69k
    SRC(0,1)=SRC(2,2)=SRC(4,3)=SRC(6,4)= (l0 + l1 + 1) >> 1;
1037
8.69k
    SRC(1,1)=SRC(3,2)=SRC(5,3)=SRC(7,4)= (lt + 2*l0 + l1 + 2) >> 2;
1038
8.69k
    SRC(0,0)=SRC(2,1)=SRC(4,2)=SRC(6,3)= (lt + l0 + 1) >> 1;
1039
8.69k
    SRC(1,0)=SRC(3,1)=SRC(5,2)=SRC(7,3)= (l0 + 2*lt + t0 + 2) >> 2;
1040
8.69k
    SRC(2,0)=SRC(4,1)=SRC(6,2)= (t1 + 2*t0 + lt + 2) >> 2;
1041
8.69k
    SRC(3,0)=SRC(5,1)=SRC(7,2)= (t2 + 2*t1 + t0 + 2) >> 2;
1042
8.69k
    SRC(4,0)=SRC(6,1)= (t3 + 2*t2 + t1 + 2) >> 2;
1043
8.69k
    SRC(5,0)=SRC(7,1)= (t4 + 2*t3 + t2 + 2) >> 2;
1044
8.69k
    SRC(6,0)= (t5 + 2*t4 + t3 + 2) >> 2;
1045
8.69k
    SRC(7,0)= (t6 + 2*t5 + t4 + 2) >> 2;
1046
8.69k
}
h264pred.c:pred8x8l_horizontal_down_14_c
Line
Count
Source
1018
11.7k
{
1019
11.7k
    pixel *src = (pixel*)_src;
1020
11.7k
    int stride = _stride>>(sizeof(pixel)-1);
1021
11.7k
    PREDICT_8x8_LOAD_TOP;
1022
11.7k
    PREDICT_8x8_LOAD_LEFT;
1023
11.7k
    PREDICT_8x8_LOAD_TOPLEFT;
1024
11.7k
    SRC(0,7)= (l6 + l7 + 1) >> 1;
1025
11.7k
    SRC(1,7)= (l5 + 2*l6 + l7 + 2) >> 2;
1026
11.7k
    SRC(0,6)=SRC(2,7)= (l5 + l6 + 1) >> 1;
1027
11.7k
    SRC(1,6)=SRC(3,7)= (l4 + 2*l5 + l6 + 2) >> 2;
1028
11.7k
    SRC(0,5)=SRC(2,6)=SRC(4,7)= (l4 + l5 + 1) >> 1;
1029
11.7k
    SRC(1,5)=SRC(3,6)=SRC(5,7)= (l3 + 2*l4 + l5 + 2) >> 2;
1030
11.7k
    SRC(0,4)=SRC(2,5)=SRC(4,6)=SRC(6,7)= (l3 + l4 + 1) >> 1;
1031
11.7k
    SRC(1,4)=SRC(3,5)=SRC(5,6)=SRC(7,7)= (l2 + 2*l3 + l4 + 2) >> 2;
1032
11.7k
    SRC(0,3)=SRC(2,4)=SRC(4,5)=SRC(6,6)= (l2 + l3 + 1) >> 1;
1033
11.7k
    SRC(1,3)=SRC(3,4)=SRC(5,5)=SRC(7,6)= (l1 + 2*l2 + l3 + 2) >> 2;
1034
11.7k
    SRC(0,2)=SRC(2,3)=SRC(4,4)=SRC(6,5)= (l1 + l2 + 1) >> 1;
1035
11.7k
    SRC(1,2)=SRC(3,3)=SRC(5,4)=SRC(7,5)= (l0 + 2*l1 + l2 + 2) >> 2;
1036
11.7k
    SRC(0,1)=SRC(2,2)=SRC(4,3)=SRC(6,4)= (l0 + l1 + 1) >> 1;
1037
11.7k
    SRC(1,1)=SRC(3,2)=SRC(5,3)=SRC(7,4)= (lt + 2*l0 + l1 + 2) >> 2;
1038
11.7k
    SRC(0,0)=SRC(2,1)=SRC(4,2)=SRC(6,3)= (lt + l0 + 1) >> 1;
1039
11.7k
    SRC(1,0)=SRC(3,1)=SRC(5,2)=SRC(7,3)= (l0 + 2*lt + t0 + 2) >> 2;
1040
11.7k
    SRC(2,0)=SRC(4,1)=SRC(6,2)= (t1 + 2*t0 + lt + 2) >> 2;
1041
11.7k
    SRC(3,0)=SRC(5,1)=SRC(7,2)= (t2 + 2*t1 + t0 + 2) >> 2;
1042
11.7k
    SRC(4,0)=SRC(6,1)= (t3 + 2*t2 + t1 + 2) >> 2;
1043
11.7k
    SRC(5,0)=SRC(7,1)= (t4 + 2*t3 + t2 + 2) >> 2;
1044
11.7k
    SRC(6,0)= (t5 + 2*t4 + t3 + 2) >> 2;
1045
11.7k
    SRC(7,0)= (t6 + 2*t5 + t4 + 2) >> 2;
1046
11.7k
}
h264pred.c:pred8x8l_horizontal_down_8_c
Line
Count
Source
1018
31.3k
{
1019
31.3k
    pixel *src = (pixel*)_src;
1020
31.3k
    int stride = _stride>>(sizeof(pixel)-1);
1021
31.3k
    PREDICT_8x8_LOAD_TOP;
1022
31.3k
    PREDICT_8x8_LOAD_LEFT;
1023
31.3k
    PREDICT_8x8_LOAD_TOPLEFT;
1024
31.3k
    SRC(0,7)= (l6 + l7 + 1) >> 1;
1025
31.3k
    SRC(1,7)= (l5 + 2*l6 + l7 + 2) >> 2;
1026
31.3k
    SRC(0,6)=SRC(2,7)= (l5 + l6 + 1) >> 1;
1027
31.3k
    SRC(1,6)=SRC(3,7)= (l4 + 2*l5 + l6 + 2) >> 2;
1028
31.3k
    SRC(0,5)=SRC(2,6)=SRC(4,7)= (l4 + l5 + 1) >> 1;
1029
31.3k
    SRC(1,5)=SRC(3,6)=SRC(5,7)= (l3 + 2*l4 + l5 + 2) >> 2;
1030
31.3k
    SRC(0,4)=SRC(2,5)=SRC(4,6)=SRC(6,7)= (l3 + l4 + 1) >> 1;
1031
31.3k
    SRC(1,4)=SRC(3,5)=SRC(5,6)=SRC(7,7)= (l2 + 2*l3 + l4 + 2) >> 2;
1032
31.3k
    SRC(0,3)=SRC(2,4)=SRC(4,5)=SRC(6,6)= (l2 + l3 + 1) >> 1;
1033
31.3k
    SRC(1,3)=SRC(3,4)=SRC(5,5)=SRC(7,6)= (l1 + 2*l2 + l3 + 2) >> 2;
1034
31.3k
    SRC(0,2)=SRC(2,3)=SRC(4,4)=SRC(6,5)= (l1 + l2 + 1) >> 1;
1035
31.3k
    SRC(1,2)=SRC(3,3)=SRC(5,4)=SRC(7,5)= (l0 + 2*l1 + l2 + 2) >> 2;
1036
31.3k
    SRC(0,1)=SRC(2,2)=SRC(4,3)=SRC(6,4)= (l0 + l1 + 1) >> 1;
1037
31.3k
    SRC(1,1)=SRC(3,2)=SRC(5,3)=SRC(7,4)= (lt + 2*l0 + l1 + 2) >> 2;
1038
31.3k
    SRC(0,0)=SRC(2,1)=SRC(4,2)=SRC(6,3)= (lt + l0 + 1) >> 1;
1039
31.3k
    SRC(1,0)=SRC(3,1)=SRC(5,2)=SRC(7,3)= (l0 + 2*lt + t0 + 2) >> 2;
1040
31.3k
    SRC(2,0)=SRC(4,1)=SRC(6,2)= (t1 + 2*t0 + lt + 2) >> 2;
1041
31.3k
    SRC(3,0)=SRC(5,1)=SRC(7,2)= (t2 + 2*t1 + t0 + 2) >> 2;
1042
31.3k
    SRC(4,0)=SRC(6,1)= (t3 + 2*t2 + t1 + 2) >> 2;
1043
31.3k
    SRC(5,0)=SRC(7,1)= (t4 + 2*t3 + t2 + 2) >> 2;
1044
31.3k
    SRC(6,0)= (t5 + 2*t4 + t3 + 2) >> 2;
1045
31.3k
    SRC(7,0)= (t6 + 2*t5 + t4 + 2) >> 2;
1046
31.3k
}
1047
static void FUNCC(pred8x8l_vertical_left)(uint8_t *_src, int has_topleft,
1048
                                          int has_topright, ptrdiff_t _stride)
1049
139k
{
1050
139k
    pixel *src = (pixel*)_src;
1051
139k
    int stride = _stride>>(sizeof(pixel)-1);
1052
139k
    PREDICT_8x8_LOAD_TOP;
1053
139k
    PREDICT_8x8_LOAD_TOPRIGHT;
1054
139k
    SRC(0,0)= (t0 + t1 + 1) >> 1;
1055
139k
    SRC(0,1)= (t0 + 2*t1 + t2 + 2) >> 2;
1056
139k
    SRC(0,2)=SRC(1,0)= (t1 + t2 + 1) >> 1;
1057
139k
    SRC(0,3)=SRC(1,1)= (t1 + 2*t2 + t3 + 2) >> 2;
1058
139k
    SRC(0,4)=SRC(1,2)=SRC(2,0)= (t2 + t3 + 1) >> 1;
1059
139k
    SRC(0,5)=SRC(1,3)=SRC(2,1)= (t2 + 2*t3 + t4 + 2) >> 2;
1060
139k
    SRC(0,6)=SRC(1,4)=SRC(2,2)=SRC(3,0)= (t3 + t4 + 1) >> 1;
1061
139k
    SRC(0,7)=SRC(1,5)=SRC(2,3)=SRC(3,1)= (t3 + 2*t4 + t5 + 2) >> 2;
1062
139k
    SRC(1,6)=SRC(2,4)=SRC(3,2)=SRC(4,0)= (t4 + t5 + 1) >> 1;
1063
139k
    SRC(1,7)=SRC(2,5)=SRC(3,3)=SRC(4,1)= (t4 + 2*t5 + t6 + 2) >> 2;
1064
139k
    SRC(2,6)=SRC(3,4)=SRC(4,2)=SRC(5,0)= (t5 + t6 + 1) >> 1;
1065
139k
    SRC(2,7)=SRC(3,5)=SRC(4,3)=SRC(5,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1066
139k
    SRC(3,6)=SRC(4,4)=SRC(5,2)=SRC(6,0)= (t6 + t7 + 1) >> 1;
1067
139k
    SRC(3,7)=SRC(4,5)=SRC(5,3)=SRC(6,1)= (t6 + 2*t7 + t8 + 2) >> 2;
1068
139k
    SRC(4,6)=SRC(5,4)=SRC(6,2)=SRC(7,0)= (t7 + t8 + 1) >> 1;
1069
139k
    SRC(4,7)=SRC(5,5)=SRC(6,3)=SRC(7,1)= (t7 + 2*t8 + t9 + 2) >> 2;
1070
139k
    SRC(5,6)=SRC(6,4)=SRC(7,2)= (t8 + t9 + 1) >> 1;
1071
139k
    SRC(5,7)=SRC(6,5)=SRC(7,3)= (t8 + 2*t9 + t10 + 2) >> 2;
1072
139k
    SRC(6,6)=SRC(7,4)= (t9 + t10 + 1) >> 1;
1073
139k
    SRC(6,7)=SRC(7,5)= (t9 + 2*t10 + t11 + 2) >> 2;
1074
139k
    SRC(7,6)= (t10 + t11 + 1) >> 1;
1075
139k
    SRC(7,7)= (t10 + 2*t11 + t12 + 2) >> 2;
1076
139k
}
h264pred.c:pred8x8l_vertical_left_9_c
Line
Count
Source
1049
17.2k
{
1050
17.2k
    pixel *src = (pixel*)_src;
1051
17.2k
    int stride = _stride>>(sizeof(pixel)-1);
1052
17.2k
    PREDICT_8x8_LOAD_TOP;
1053
17.2k
    PREDICT_8x8_LOAD_TOPRIGHT;
1054
17.2k
    SRC(0,0)= (t0 + t1 + 1) >> 1;
1055
17.2k
    SRC(0,1)= (t0 + 2*t1 + t2 + 2) >> 2;
1056
17.2k
    SRC(0,2)=SRC(1,0)= (t1 + t2 + 1) >> 1;
1057
17.2k
    SRC(0,3)=SRC(1,1)= (t1 + 2*t2 + t3 + 2) >> 2;
1058
17.2k
    SRC(0,4)=SRC(1,2)=SRC(2,0)= (t2 + t3 + 1) >> 1;
1059
17.2k
    SRC(0,5)=SRC(1,3)=SRC(2,1)= (t2 + 2*t3 + t4 + 2) >> 2;
1060
17.2k
    SRC(0,6)=SRC(1,4)=SRC(2,2)=SRC(3,0)= (t3 + t4 + 1) >> 1;
1061
17.2k
    SRC(0,7)=SRC(1,5)=SRC(2,3)=SRC(3,1)= (t3 + 2*t4 + t5 + 2) >> 2;
1062
17.2k
    SRC(1,6)=SRC(2,4)=SRC(3,2)=SRC(4,0)= (t4 + t5 + 1) >> 1;
1063
17.2k
    SRC(1,7)=SRC(2,5)=SRC(3,3)=SRC(4,1)= (t4 + 2*t5 + t6 + 2) >> 2;
1064
17.2k
    SRC(2,6)=SRC(3,4)=SRC(4,2)=SRC(5,0)= (t5 + t6 + 1) >> 1;
1065
17.2k
    SRC(2,7)=SRC(3,5)=SRC(4,3)=SRC(5,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1066
17.2k
    SRC(3,6)=SRC(4,4)=SRC(5,2)=SRC(6,0)= (t6 + t7 + 1) >> 1;
1067
17.2k
    SRC(3,7)=SRC(4,5)=SRC(5,3)=SRC(6,1)= (t6 + 2*t7 + t8 + 2) >> 2;
1068
17.2k
    SRC(4,6)=SRC(5,4)=SRC(6,2)=SRC(7,0)= (t7 + t8 + 1) >> 1;
1069
17.2k
    SRC(4,7)=SRC(5,5)=SRC(6,3)=SRC(7,1)= (t7 + 2*t8 + t9 + 2) >> 2;
1070
17.2k
    SRC(5,6)=SRC(6,4)=SRC(7,2)= (t8 + t9 + 1) >> 1;
1071
17.2k
    SRC(5,7)=SRC(6,5)=SRC(7,3)= (t8 + 2*t9 + t10 + 2) >> 2;
1072
17.2k
    SRC(6,6)=SRC(7,4)= (t9 + t10 + 1) >> 1;
1073
17.2k
    SRC(6,7)=SRC(7,5)= (t9 + 2*t10 + t11 + 2) >> 2;
1074
17.2k
    SRC(7,6)= (t10 + t11 + 1) >> 1;
1075
17.2k
    SRC(7,7)= (t10 + 2*t11 + t12 + 2) >> 2;
1076
17.2k
}
h264pred.c:pred8x8l_vertical_left_10_c
Line
Count
Source
1049
17.2k
{
1050
17.2k
    pixel *src = (pixel*)_src;
1051
17.2k
    int stride = _stride>>(sizeof(pixel)-1);
1052
17.2k
    PREDICT_8x8_LOAD_TOP;
1053
17.2k
    PREDICT_8x8_LOAD_TOPRIGHT;
1054
17.2k
    SRC(0,0)= (t0 + t1 + 1) >> 1;
1055
17.2k
    SRC(0,1)= (t0 + 2*t1 + t2 + 2) >> 2;
1056
17.2k
    SRC(0,2)=SRC(1,0)= (t1 + t2 + 1) >> 1;
1057
17.2k
    SRC(0,3)=SRC(1,1)= (t1 + 2*t2 + t3 + 2) >> 2;
1058
17.2k
    SRC(0,4)=SRC(1,2)=SRC(2,0)= (t2 + t3 + 1) >> 1;
1059
17.2k
    SRC(0,5)=SRC(1,3)=SRC(2,1)= (t2 + 2*t3 + t4 + 2) >> 2;
1060
17.2k
    SRC(0,6)=SRC(1,4)=SRC(2,2)=SRC(3,0)= (t3 + t4 + 1) >> 1;
1061
17.2k
    SRC(0,7)=SRC(1,5)=SRC(2,3)=SRC(3,1)= (t3 + 2*t4 + t5 + 2) >> 2;
1062
17.2k
    SRC(1,6)=SRC(2,4)=SRC(3,2)=SRC(4,0)= (t4 + t5 + 1) >> 1;
1063
17.2k
    SRC(1,7)=SRC(2,5)=SRC(3,3)=SRC(4,1)= (t4 + 2*t5 + t6 + 2) >> 2;
1064
17.2k
    SRC(2,6)=SRC(3,4)=SRC(4,2)=SRC(5,0)= (t5 + t6 + 1) >> 1;
1065
17.2k
    SRC(2,7)=SRC(3,5)=SRC(4,3)=SRC(5,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1066
17.2k
    SRC(3,6)=SRC(4,4)=SRC(5,2)=SRC(6,0)= (t6 + t7 + 1) >> 1;
1067
17.2k
    SRC(3,7)=SRC(4,5)=SRC(5,3)=SRC(6,1)= (t6 + 2*t7 + t8 + 2) >> 2;
1068
17.2k
    SRC(4,6)=SRC(5,4)=SRC(6,2)=SRC(7,0)= (t7 + t8 + 1) >> 1;
1069
17.2k
    SRC(4,7)=SRC(5,5)=SRC(6,3)=SRC(7,1)= (t7 + 2*t8 + t9 + 2) >> 2;
1070
17.2k
    SRC(5,6)=SRC(6,4)=SRC(7,2)= (t8 + t9 + 1) >> 1;
1071
17.2k
    SRC(5,7)=SRC(6,5)=SRC(7,3)= (t8 + 2*t9 + t10 + 2) >> 2;
1072
17.2k
    SRC(6,6)=SRC(7,4)= (t9 + t10 + 1) >> 1;
1073
17.2k
    SRC(6,7)=SRC(7,5)= (t9 + 2*t10 + t11 + 2) >> 2;
1074
17.2k
    SRC(7,6)= (t10 + t11 + 1) >> 1;
1075
17.2k
    SRC(7,7)= (t10 + 2*t11 + t12 + 2) >> 2;
1076
17.2k
}
h264pred.c:pred8x8l_vertical_left_12_c
Line
Count
Source
1049
31.9k
{
1050
31.9k
    pixel *src = (pixel*)_src;
1051
31.9k
    int stride = _stride>>(sizeof(pixel)-1);
1052
31.9k
    PREDICT_8x8_LOAD_TOP;
1053
31.9k
    PREDICT_8x8_LOAD_TOPRIGHT;
1054
31.9k
    SRC(0,0)= (t0 + t1 + 1) >> 1;
1055
31.9k
    SRC(0,1)= (t0 + 2*t1 + t2 + 2) >> 2;
1056
31.9k
    SRC(0,2)=SRC(1,0)= (t1 + t2 + 1) >> 1;
1057
31.9k
    SRC(0,3)=SRC(1,1)= (t1 + 2*t2 + t3 + 2) >> 2;
1058
31.9k
    SRC(0,4)=SRC(1,2)=SRC(2,0)= (t2 + t3 + 1) >> 1;
1059
31.9k
    SRC(0,5)=SRC(1,3)=SRC(2,1)= (t2 + 2*t3 + t4 + 2) >> 2;
1060
31.9k
    SRC(0,6)=SRC(1,4)=SRC(2,2)=SRC(3,0)= (t3 + t4 + 1) >> 1;
1061
31.9k
    SRC(0,7)=SRC(1,5)=SRC(2,3)=SRC(3,1)= (t3 + 2*t4 + t5 + 2) >> 2;
1062
31.9k
    SRC(1,6)=SRC(2,4)=SRC(3,2)=SRC(4,0)= (t4 + t5 + 1) >> 1;
1063
31.9k
    SRC(1,7)=SRC(2,5)=SRC(3,3)=SRC(4,1)= (t4 + 2*t5 + t6 + 2) >> 2;
1064
31.9k
    SRC(2,6)=SRC(3,4)=SRC(4,2)=SRC(5,0)= (t5 + t6 + 1) >> 1;
1065
31.9k
    SRC(2,7)=SRC(3,5)=SRC(4,3)=SRC(5,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1066
31.9k
    SRC(3,6)=SRC(4,4)=SRC(5,2)=SRC(6,0)= (t6 + t7 + 1) >> 1;
1067
31.9k
    SRC(3,7)=SRC(4,5)=SRC(5,3)=SRC(6,1)= (t6 + 2*t7 + t8 + 2) >> 2;
1068
31.9k
    SRC(4,6)=SRC(5,4)=SRC(6,2)=SRC(7,0)= (t7 + t8 + 1) >> 1;
1069
31.9k
    SRC(4,7)=SRC(5,5)=SRC(6,3)=SRC(7,1)= (t7 + 2*t8 + t9 + 2) >> 2;
1070
31.9k
    SRC(5,6)=SRC(6,4)=SRC(7,2)= (t8 + t9 + 1) >> 1;
1071
31.9k
    SRC(5,7)=SRC(6,5)=SRC(7,3)= (t8 + 2*t9 + t10 + 2) >> 2;
1072
31.9k
    SRC(6,6)=SRC(7,4)= (t9 + t10 + 1) >> 1;
1073
31.9k
    SRC(6,7)=SRC(7,5)= (t9 + 2*t10 + t11 + 2) >> 2;
1074
31.9k
    SRC(7,6)= (t10 + t11 + 1) >> 1;
1075
31.9k
    SRC(7,7)= (t10 + 2*t11 + t12 + 2) >> 2;
1076
31.9k
}
h264pred.c:pred8x8l_vertical_left_14_c
Line
Count
Source
1049
35.3k
{
1050
35.3k
    pixel *src = (pixel*)_src;
1051
35.3k
    int stride = _stride>>(sizeof(pixel)-1);
1052
35.3k
    PREDICT_8x8_LOAD_TOP;
1053
35.3k
    PREDICT_8x8_LOAD_TOPRIGHT;
1054
35.3k
    SRC(0,0)= (t0 + t1 + 1) >> 1;
1055
35.3k
    SRC(0,1)= (t0 + 2*t1 + t2 + 2) >> 2;
1056
35.3k
    SRC(0,2)=SRC(1,0)= (t1 + t2 + 1) >> 1;
1057
35.3k
    SRC(0,3)=SRC(1,1)= (t1 + 2*t2 + t3 + 2) >> 2;
1058
35.3k
    SRC(0,4)=SRC(1,2)=SRC(2,0)= (t2 + t3 + 1) >> 1;
1059
35.3k
    SRC(0,5)=SRC(1,3)=SRC(2,1)= (t2 + 2*t3 + t4 + 2) >> 2;
1060
35.3k
    SRC(0,6)=SRC(1,4)=SRC(2,2)=SRC(3,0)= (t3 + t4 + 1) >> 1;
1061
35.3k
    SRC(0,7)=SRC(1,5)=SRC(2,3)=SRC(3,1)= (t3 + 2*t4 + t5 + 2) >> 2;
1062
35.3k
    SRC(1,6)=SRC(2,4)=SRC(3,2)=SRC(4,0)= (t4 + t5 + 1) >> 1;
1063
35.3k
    SRC(1,7)=SRC(2,5)=SRC(3,3)=SRC(4,1)= (t4 + 2*t5 + t6 + 2) >> 2;
1064
35.3k
    SRC(2,6)=SRC(3,4)=SRC(4,2)=SRC(5,0)= (t5 + t6 + 1) >> 1;
1065
35.3k
    SRC(2,7)=SRC(3,5)=SRC(4,3)=SRC(5,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1066
35.3k
    SRC(3,6)=SRC(4,4)=SRC(5,2)=SRC(6,0)= (t6 + t7 + 1) >> 1;
1067
35.3k
    SRC(3,7)=SRC(4,5)=SRC(5,3)=SRC(6,1)= (t6 + 2*t7 + t8 + 2) >> 2;
1068
35.3k
    SRC(4,6)=SRC(5,4)=SRC(6,2)=SRC(7,0)= (t7 + t8 + 1) >> 1;
1069
35.3k
    SRC(4,7)=SRC(5,5)=SRC(6,3)=SRC(7,1)= (t7 + 2*t8 + t9 + 2) >> 2;
1070
35.3k
    SRC(5,6)=SRC(6,4)=SRC(7,2)= (t8 + t9 + 1) >> 1;
1071
35.3k
    SRC(5,7)=SRC(6,5)=SRC(7,3)= (t8 + 2*t9 + t10 + 2) >> 2;
1072
35.3k
    SRC(6,6)=SRC(7,4)= (t9 + t10 + 1) >> 1;
1073
35.3k
    SRC(6,7)=SRC(7,5)= (t9 + 2*t10 + t11 + 2) >> 2;
1074
35.3k
    SRC(7,6)= (t10 + t11 + 1) >> 1;
1075
35.3k
    SRC(7,7)= (t10 + 2*t11 + t12 + 2) >> 2;
1076
35.3k
}
h264pred.c:pred8x8l_vertical_left_8_c
Line
Count
Source
1049
37.5k
{
1050
37.5k
    pixel *src = (pixel*)_src;
1051
37.5k
    int stride = _stride>>(sizeof(pixel)-1);
1052
37.5k
    PREDICT_8x8_LOAD_TOP;
1053
37.5k
    PREDICT_8x8_LOAD_TOPRIGHT;
1054
37.5k
    SRC(0,0)= (t0 + t1 + 1) >> 1;
1055
37.5k
    SRC(0,1)= (t0 + 2*t1 + t2 + 2) >> 2;
1056
37.5k
    SRC(0,2)=SRC(1,0)= (t1 + t2 + 1) >> 1;
1057
37.5k
    SRC(0,3)=SRC(1,1)= (t1 + 2*t2 + t3 + 2) >> 2;
1058
37.5k
    SRC(0,4)=SRC(1,2)=SRC(2,0)= (t2 + t3 + 1) >> 1;
1059
37.5k
    SRC(0,5)=SRC(1,3)=SRC(2,1)= (t2 + 2*t3 + t4 + 2) >> 2;
1060
37.5k
    SRC(0,6)=SRC(1,4)=SRC(2,2)=SRC(3,0)= (t3 + t4 + 1) >> 1;
1061
37.5k
    SRC(0,7)=SRC(1,5)=SRC(2,3)=SRC(3,1)= (t3 + 2*t4 + t5 + 2) >> 2;
1062
37.5k
    SRC(1,6)=SRC(2,4)=SRC(3,2)=SRC(4,0)= (t4 + t5 + 1) >> 1;
1063
37.5k
    SRC(1,7)=SRC(2,5)=SRC(3,3)=SRC(4,1)= (t4 + 2*t5 + t6 + 2) >> 2;
1064
37.5k
    SRC(2,6)=SRC(3,4)=SRC(4,2)=SRC(5,0)= (t5 + t6 + 1) >> 1;
1065
37.5k
    SRC(2,7)=SRC(3,5)=SRC(4,3)=SRC(5,1)= (t5 + 2*t6 + t7 + 2) >> 2;
1066
37.5k
    SRC(3,6)=SRC(4,4)=SRC(5,2)=SRC(6,0)= (t6 + t7 + 1) >> 1;
1067
37.5k
    SRC(3,7)=SRC(4,5)=SRC(5,3)=SRC(6,1)= (t6 + 2*t7 + t8 + 2) >> 2;
1068
37.5k
    SRC(4,6)=SRC(5,4)=SRC(6,2)=SRC(7,0)= (t7 + t8 + 1) >> 1;
1069
37.5k
    SRC(4,7)=SRC(5,5)=SRC(6,3)=SRC(7,1)= (t7 + 2*t8 + t9 + 2) >> 2;
1070
37.5k
    SRC(5,6)=SRC(6,4)=SRC(7,2)= (t8 + t9 + 1) >> 1;
1071
37.5k
    SRC(5,7)=SRC(6,5)=SRC(7,3)= (t8 + 2*t9 + t10 + 2) >> 2;
1072
37.5k
    SRC(6,6)=SRC(7,4)= (t9 + t10 + 1) >> 1;
1073
37.5k
    SRC(6,7)=SRC(7,5)= (t9 + 2*t10 + t11 + 2) >> 2;
1074
37.5k
    SRC(7,6)= (t10 + t11 + 1) >> 1;
1075
37.5k
    SRC(7,7)= (t10 + 2*t11 + t12 + 2) >> 2;
1076
37.5k
}
1077
static void FUNCC(pred8x8l_horizontal_up)(uint8_t *_src, int has_topleft,
1078
                                          int has_topright, ptrdiff_t _stride)
1079
232k
{
1080
232k
    pixel *src = (pixel*)_src;
1081
232k
    int stride = _stride>>(sizeof(pixel)-1);
1082
232k
    PREDICT_8x8_LOAD_LEFT;
1083
232k
    SRC(0,0)= (l0 + l1 + 1) >> 1;
1084
232k
    SRC(1,0)= (l0 + 2*l1 + l2 + 2) >> 2;
1085
232k
    SRC(0,1)=SRC(2,0)= (l1 + l2 + 1) >> 1;
1086
232k
    SRC(1,1)=SRC(3,0)= (l1 + 2*l2 + l3 + 2) >> 2;
1087
232k
    SRC(0,2)=SRC(2,1)=SRC(4,0)= (l2 + l3 + 1) >> 1;
1088
232k
    SRC(1,2)=SRC(3,1)=SRC(5,0)= (l2 + 2*l3 + l4 + 2) >> 2;
1089
232k
    SRC(0,3)=SRC(2,2)=SRC(4,1)=SRC(6,0)= (l3 + l4 + 1) >> 1;
1090
232k
    SRC(1,3)=SRC(3,2)=SRC(5,1)=SRC(7,0)= (l3 + 2*l4 + l5 + 2) >> 2;
1091
232k
    SRC(0,4)=SRC(2,3)=SRC(4,2)=SRC(6,1)= (l4 + l5 + 1) >> 1;
1092
232k
    SRC(1,4)=SRC(3,3)=SRC(5,2)=SRC(7,1)= (l4 + 2*l5 + l6 + 2) >> 2;
1093
232k
    SRC(0,5)=SRC(2,4)=SRC(4,3)=SRC(6,2)= (l5 + l6 + 1) >> 1;
1094
232k
    SRC(1,5)=SRC(3,4)=SRC(5,3)=SRC(7,2)= (l5 + 2*l6 + l7 + 2) >> 2;
1095
232k
    SRC(0,6)=SRC(2,5)=SRC(4,4)=SRC(6,3)= (l6 + l7 + 1) >> 1;
1096
232k
    SRC(1,6)=SRC(3,5)=SRC(5,4)=SRC(7,3)= (l6 + 3*l7 + 2) >> 2;
1097
232k
    SRC(0,7)=SRC(1,7)=SRC(2,6)=SRC(2,7)=SRC(3,6)=
1098
232k
    SRC(3,7)=SRC(4,5)=SRC(4,6)=SRC(4,7)=SRC(5,5)=
1099
232k
    SRC(5,6)=SRC(5,7)=SRC(6,4)=SRC(6,5)=SRC(6,6)=
1100
232k
    SRC(6,7)=SRC(7,4)=SRC(7,5)=SRC(7,6)=SRC(7,7)= l7;
1101
232k
}
h264pred.c:pred8x8l_horizontal_up_9_c
Line
Count
Source
1079
36.5k
{
1080
36.5k
    pixel *src = (pixel*)_src;
1081
36.5k
    int stride = _stride>>(sizeof(pixel)-1);
1082
36.5k
    PREDICT_8x8_LOAD_LEFT;
1083
36.5k
    SRC(0,0)= (l0 + l1 + 1) >> 1;
1084
36.5k
    SRC(1,0)= (l0 + 2*l1 + l2 + 2) >> 2;
1085
36.5k
    SRC(0,1)=SRC(2,0)= (l1 + l2 + 1) >> 1;
1086
36.5k
    SRC(1,1)=SRC(3,0)= (l1 + 2*l2 + l3 + 2) >> 2;
1087
36.5k
    SRC(0,2)=SRC(2,1)=SRC(4,0)= (l2 + l3 + 1) >> 1;
1088
36.5k
    SRC(1,2)=SRC(3,1)=SRC(5,0)= (l2 + 2*l3 + l4 + 2) >> 2;
1089
36.5k
    SRC(0,3)=SRC(2,2)=SRC(4,1)=SRC(6,0)= (l3 + l4 + 1) >> 1;
1090
36.5k
    SRC(1,3)=SRC(3,2)=SRC(5,1)=SRC(7,0)= (l3 + 2*l4 + l5 + 2) >> 2;
1091
36.5k
    SRC(0,4)=SRC(2,3)=SRC(4,2)=SRC(6,1)= (l4 + l5 + 1) >> 1;
1092
36.5k
    SRC(1,4)=SRC(3,3)=SRC(5,2)=SRC(7,1)= (l4 + 2*l5 + l6 + 2) >> 2;
1093
36.5k
    SRC(0,5)=SRC(2,4)=SRC(4,3)=SRC(6,2)= (l5 + l6 + 1) >> 1;
1094
36.5k
    SRC(1,5)=SRC(3,4)=SRC(5,3)=SRC(7,2)= (l5 + 2*l6 + l7 + 2) >> 2;
1095
36.5k
    SRC(0,6)=SRC(2,5)=SRC(4,4)=SRC(6,3)= (l6 + l7 + 1) >> 1;
1096
36.5k
    SRC(1,6)=SRC(3,5)=SRC(5,4)=SRC(7,3)= (l6 + 3*l7 + 2) >> 2;
1097
36.5k
    SRC(0,7)=SRC(1,7)=SRC(2,6)=SRC(2,7)=SRC(3,6)=
1098
36.5k
    SRC(3,7)=SRC(4,5)=SRC(4,6)=SRC(4,7)=SRC(5,5)=
1099
36.5k
    SRC(5,6)=SRC(5,7)=SRC(6,4)=SRC(6,5)=SRC(6,6)=
1100
36.5k
    SRC(6,7)=SRC(7,4)=SRC(7,5)=SRC(7,6)=SRC(7,7)= l7;
1101
36.5k
}
h264pred.c:pred8x8l_horizontal_up_10_c
Line
Count
Source
1079
40.0k
{
1080
40.0k
    pixel *src = (pixel*)_src;
1081
40.0k
    int stride = _stride>>(sizeof(pixel)-1);
1082
40.0k
    PREDICT_8x8_LOAD_LEFT;
1083
40.0k
    SRC(0,0)= (l0 + l1 + 1) >> 1;
1084
40.0k
    SRC(1,0)= (l0 + 2*l1 + l2 + 2) >> 2;
1085
40.0k
    SRC(0,1)=SRC(2,0)= (l1 + l2 + 1) >> 1;
1086
40.0k
    SRC(1,1)=SRC(3,0)= (l1 + 2*l2 + l3 + 2) >> 2;
1087
40.0k
    SRC(0,2)=SRC(2,1)=SRC(4,0)= (l2 + l3 + 1) >> 1;
1088
40.0k
    SRC(1,2)=SRC(3,1)=SRC(5,0)= (l2 + 2*l3 + l4 + 2) >> 2;
1089
40.0k
    SRC(0,3)=SRC(2,2)=SRC(4,1)=SRC(6,0)= (l3 + l4 + 1) >> 1;
1090
40.0k
    SRC(1,3)=SRC(3,2)=SRC(5,1)=SRC(7,0)= (l3 + 2*l4 + l5 + 2) >> 2;
1091
40.0k
    SRC(0,4)=SRC(2,3)=SRC(4,2)=SRC(6,1)= (l4 + l5 + 1) >> 1;
1092
40.0k
    SRC(1,4)=SRC(3,3)=SRC(5,2)=SRC(7,1)= (l4 + 2*l5 + l6 + 2) >> 2;
1093
40.0k
    SRC(0,5)=SRC(2,4)=SRC(4,3)=SRC(6,2)= (l5 + l6 + 1) >> 1;
1094
40.0k
    SRC(1,5)=SRC(3,4)=SRC(5,3)=SRC(7,2)= (l5 + 2*l6 + l7 + 2) >> 2;
1095
40.0k
    SRC(0,6)=SRC(2,5)=SRC(4,4)=SRC(6,3)= (l6 + l7 + 1) >> 1;
1096
40.0k
    SRC(1,6)=SRC(3,5)=SRC(5,4)=SRC(7,3)= (l6 + 3*l7 + 2) >> 2;
1097
40.0k
    SRC(0,7)=SRC(1,7)=SRC(2,6)=SRC(2,7)=SRC(3,6)=
1098
40.0k
    SRC(3,7)=SRC(4,5)=SRC(4,6)=SRC(4,7)=SRC(5,5)=
1099
40.0k
    SRC(5,6)=SRC(5,7)=SRC(6,4)=SRC(6,5)=SRC(6,6)=
1100
40.0k
    SRC(6,7)=SRC(7,4)=SRC(7,5)=SRC(7,6)=SRC(7,7)= l7;
1101
40.0k
}
h264pred.c:pred8x8l_horizontal_up_12_c
Line
Count
Source
1079
20.9k
{
1080
20.9k
    pixel *src = (pixel*)_src;
1081
20.9k
    int stride = _stride>>(sizeof(pixel)-1);
1082
20.9k
    PREDICT_8x8_LOAD_LEFT;
1083
20.9k
    SRC(0,0)= (l0 + l1 + 1) >> 1;
1084
20.9k
    SRC(1,0)= (l0 + 2*l1 + l2 + 2) >> 2;
1085
20.9k
    SRC(0,1)=SRC(2,0)= (l1 + l2 + 1) >> 1;
1086
20.9k
    SRC(1,1)=SRC(3,0)= (l1 + 2*l2 + l3 + 2) >> 2;
1087
20.9k
    SRC(0,2)=SRC(2,1)=SRC(4,0)= (l2 + l3 + 1) >> 1;
1088
20.9k
    SRC(1,2)=SRC(3,1)=SRC(5,0)= (l2 + 2*l3 + l4 + 2) >> 2;
1089
20.9k
    SRC(0,3)=SRC(2,2)=SRC(4,1)=SRC(6,0)= (l3 + l4 + 1) >> 1;
1090
20.9k
    SRC(1,3)=SRC(3,2)=SRC(5,1)=SRC(7,0)= (l3 + 2*l4 + l5 + 2) >> 2;
1091
20.9k
    SRC(0,4)=SRC(2,3)=SRC(4,2)=SRC(6,1)= (l4 + l5 + 1) >> 1;
1092
20.9k
    SRC(1,4)=SRC(3,3)=SRC(5,2)=SRC(7,1)= (l4 + 2*l5 + l6 + 2) >> 2;
1093
20.9k
    SRC(0,5)=SRC(2,4)=SRC(4,3)=SRC(6,2)= (l5 + l6 + 1) >> 1;
1094
20.9k
    SRC(1,5)=SRC(3,4)=SRC(5,3)=SRC(7,2)= (l5 + 2*l6 + l7 + 2) >> 2;
1095
20.9k
    SRC(0,6)=SRC(2,5)=SRC(4,4)=SRC(6,3)= (l6 + l7 + 1) >> 1;
1096
20.9k
    SRC(1,6)=SRC(3,5)=SRC(5,4)=SRC(7,3)= (l6 + 3*l7 + 2) >> 2;
1097
20.9k
    SRC(0,7)=SRC(1,7)=SRC(2,6)=SRC(2,7)=SRC(3,6)=
1098
20.9k
    SRC(3,7)=SRC(4,5)=SRC(4,6)=SRC(4,7)=SRC(5,5)=
1099
20.9k
    SRC(5,6)=SRC(5,7)=SRC(6,4)=SRC(6,5)=SRC(6,6)=
1100
20.9k
    SRC(6,7)=SRC(7,4)=SRC(7,5)=SRC(7,6)=SRC(7,7)= l7;
1101
20.9k
}
h264pred.c:pred8x8l_horizontal_up_14_c
Line
Count
Source
1079
26.7k
{
1080
26.7k
    pixel *src = (pixel*)_src;
1081
26.7k
    int stride = _stride>>(sizeof(pixel)-1);
1082
26.7k
    PREDICT_8x8_LOAD_LEFT;
1083
26.7k
    SRC(0,0)= (l0 + l1 + 1) >> 1;
1084
26.7k
    SRC(1,0)= (l0 + 2*l1 + l2 + 2) >> 2;
1085
26.7k
    SRC(0,1)=SRC(2,0)= (l1 + l2 + 1) >> 1;
1086
26.7k
    SRC(1,1)=SRC(3,0)= (l1 + 2*l2 + l3 + 2) >> 2;
1087
26.7k
    SRC(0,2)=SRC(2,1)=SRC(4,0)= (l2 + l3 + 1) >> 1;
1088
26.7k
    SRC(1,2)=SRC(3,1)=SRC(5,0)= (l2 + 2*l3 + l4 + 2) >> 2;
1089
26.7k
    SRC(0,3)=SRC(2,2)=SRC(4,1)=SRC(6,0)= (l3 + l4 + 1) >> 1;
1090
26.7k
    SRC(1,3)=SRC(3,2)=SRC(5,1)=SRC(7,0)= (l3 + 2*l4 + l5 + 2) >> 2;
1091
26.7k
    SRC(0,4)=SRC(2,3)=SRC(4,2)=SRC(6,1)= (l4 + l5 + 1) >> 1;
1092
26.7k
    SRC(1,4)=SRC(3,3)=SRC(5,2)=SRC(7,1)= (l4 + 2*l5 + l6 + 2) >> 2;
1093
26.7k
    SRC(0,5)=SRC(2,4)=SRC(4,3)=SRC(6,2)= (l5 + l6 + 1) >> 1;
1094
26.7k
    SRC(1,5)=SRC(3,4)=SRC(5,3)=SRC(7,2)= (l5 + 2*l6 + l7 + 2) >> 2;
1095
26.7k
    SRC(0,6)=SRC(2,5)=SRC(4,4)=SRC(6,3)= (l6 + l7 + 1) >> 1;
1096
26.7k
    SRC(1,6)=SRC(3,5)=SRC(5,4)=SRC(7,3)= (l6 + 3*l7 + 2) >> 2;
1097
26.7k
    SRC(0,7)=SRC(1,7)=SRC(2,6)=SRC(2,7)=SRC(3,6)=
1098
26.7k
    SRC(3,7)=SRC(4,5)=SRC(4,6)=SRC(4,7)=SRC(5,5)=
1099
26.7k
    SRC(5,6)=SRC(5,7)=SRC(6,4)=SRC(6,5)=SRC(6,6)=
1100
26.7k
    SRC(6,7)=SRC(7,4)=SRC(7,5)=SRC(7,6)=SRC(7,7)= l7;
1101
26.7k
}
h264pred.c:pred8x8l_horizontal_up_8_c
Line
Count
Source
1079
108k
{
1080
108k
    pixel *src = (pixel*)_src;
1081
108k
    int stride = _stride>>(sizeof(pixel)-1);
1082
108k
    PREDICT_8x8_LOAD_LEFT;
1083
108k
    SRC(0,0)= (l0 + l1 + 1) >> 1;
1084
108k
    SRC(1,0)= (l0 + 2*l1 + l2 + 2) >> 2;
1085
108k
    SRC(0,1)=SRC(2,0)= (l1 + l2 + 1) >> 1;
1086
108k
    SRC(1,1)=SRC(3,0)= (l1 + 2*l2 + l3 + 2) >> 2;
1087
108k
    SRC(0,2)=SRC(2,1)=SRC(4,0)= (l2 + l3 + 1) >> 1;
1088
108k
    SRC(1,2)=SRC(3,1)=SRC(5,0)= (l2 + 2*l3 + l4 + 2) >> 2;
1089
108k
    SRC(0,3)=SRC(2,2)=SRC(4,1)=SRC(6,0)= (l3 + l4 + 1) >> 1;
1090
108k
    SRC(1,3)=SRC(3,2)=SRC(5,1)=SRC(7,0)= (l3 + 2*l4 + l5 + 2) >> 2;
1091
108k
    SRC(0,4)=SRC(2,3)=SRC(4,2)=SRC(6,1)= (l4 + l5 + 1) >> 1;
1092
108k
    SRC(1,4)=SRC(3,3)=SRC(5,2)=SRC(7,1)= (l4 + 2*l5 + l6 + 2) >> 2;
1093
108k
    SRC(0,5)=SRC(2,4)=SRC(4,3)=SRC(6,2)= (l5 + l6 + 1) >> 1;
1094
108k
    SRC(1,5)=SRC(3,4)=SRC(5,3)=SRC(7,2)= (l5 + 2*l6 + l7 + 2) >> 2;
1095
108k
    SRC(0,6)=SRC(2,5)=SRC(4,4)=SRC(6,3)= (l6 + l7 + 1) >> 1;
1096
108k
    SRC(1,6)=SRC(3,5)=SRC(5,4)=SRC(7,3)= (l6 + 3*l7 + 2) >> 2;
1097
108k
    SRC(0,7)=SRC(1,7)=SRC(2,6)=SRC(2,7)=SRC(3,6)=
1098
108k
    SRC(3,7)=SRC(4,5)=SRC(4,6)=SRC(4,7)=SRC(5,5)=
1099
108k
    SRC(5,6)=SRC(5,7)=SRC(6,4)=SRC(6,5)=SRC(6,6)=
1100
108k
    SRC(6,7)=SRC(7,4)=SRC(7,5)=SRC(7,6)=SRC(7,7)= l7;
1101
108k
}
1102
1103
static void FUNCC(pred8x8l_vertical_filter_add)(uint8_t *_src, int16_t *_block, int has_topleft,
1104
                                     int has_topright, ptrdiff_t _stride)
1105
140k
{
1106
140k
    int i;
1107
140k
    pixel *src = (pixel*)_src;
1108
140k
    const dctcoef *block = (const dctcoef*)_block;
1109
140k
    pixel pix[8];
1110
140k
    int stride = _stride>>(sizeof(pixel)-1);
1111
140k
    PREDICT_8x8_LOAD_TOP;
1112
1113
140k
    pix[0] = t0;
1114
140k
    pix[1] = t1;
1115
140k
    pix[2] = t2;
1116
140k
    pix[3] = t3;
1117
140k
    pix[4] = t4;
1118
140k
    pix[5] = t5;
1119
140k
    pix[6] = t6;
1120
140k
    pix[7] = t7;
1121
1122
1.26M
    for(i=0; i<8; i++){
1123
1.12M
        pixel v = pix[i];
1124
1.12M
        src[0*stride]= v += block[0];
1125
1.12M
        src[1*stride]= v += block[8];
1126
1.12M
        src[2*stride]= v += block[16];
1127
1.12M
        src[3*stride]= v += block[24];
1128
1.12M
        src[4*stride]= v += block[32];
1129
1.12M
        src[5*stride]= v += block[40];
1130
1.12M
        src[6*stride]= v += block[48];
1131
1.12M
        src[7*stride]= v +  block[56];
1132
1.12M
        src++;
1133
1.12M
        block++;
1134
1.12M
    }
1135
1136
140k
    memset(_block, 0, sizeof(dctcoef) * 64);
1137
140k
}
h264pred.c:pred8x8l_vertical_filter_add_9_c
Line
Count
Source
1105
14.4k
{
1106
14.4k
    int i;
1107
14.4k
    pixel *src = (pixel*)_src;
1108
14.4k
    const dctcoef *block = (const dctcoef*)_block;
1109
14.4k
    pixel pix[8];
1110
14.4k
    int stride = _stride>>(sizeof(pixel)-1);
1111
14.4k
    PREDICT_8x8_LOAD_TOP;
1112
1113
14.4k
    pix[0] = t0;
1114
14.4k
    pix[1] = t1;
1115
14.4k
    pix[2] = t2;
1116
14.4k
    pix[3] = t3;
1117
14.4k
    pix[4] = t4;
1118
14.4k
    pix[5] = t5;
1119
14.4k
    pix[6] = t6;
1120
14.4k
    pix[7] = t7;
1121
1122
129k
    for(i=0; i<8; i++){
1123
115k
        pixel v = pix[i];
1124
115k
        src[0*stride]= v += block[0];
1125
115k
        src[1*stride]= v += block[8];
1126
115k
        src[2*stride]= v += block[16];
1127
115k
        src[3*stride]= v += block[24];
1128
115k
        src[4*stride]= v += block[32];
1129
115k
        src[5*stride]= v += block[40];
1130
115k
        src[6*stride]= v += block[48];
1131
115k
        src[7*stride]= v +  block[56];
1132
115k
        src++;
1133
115k
        block++;
1134
115k
    }
1135
1136
14.4k
    memset(_block, 0, sizeof(dctcoef) * 64);
1137
14.4k
}
h264pred.c:pred8x8l_vertical_filter_add_10_c
Line
Count
Source
1105
26.6k
{
1106
26.6k
    int i;
1107
26.6k
    pixel *src = (pixel*)_src;
1108
26.6k
    const dctcoef *block = (const dctcoef*)_block;
1109
26.6k
    pixel pix[8];
1110
26.6k
    int stride = _stride>>(sizeof(pixel)-1);
1111
26.6k
    PREDICT_8x8_LOAD_TOP;
1112
1113
26.6k
    pix[0] = t0;
1114
26.6k
    pix[1] = t1;
1115
26.6k
    pix[2] = t2;
1116
26.6k
    pix[3] = t3;
1117
26.6k
    pix[4] = t4;
1118
26.6k
    pix[5] = t5;
1119
26.6k
    pix[6] = t6;
1120
26.6k
    pix[7] = t7;
1121
1122
240k
    for(i=0; i<8; i++){
1123
213k
        pixel v = pix[i];
1124
213k
        src[0*stride]= v += block[0];
1125
213k
        src[1*stride]= v += block[8];
1126
213k
        src[2*stride]= v += block[16];
1127
213k
        src[3*stride]= v += block[24];
1128
213k
        src[4*stride]= v += block[32];
1129
213k
        src[5*stride]= v += block[40];
1130
213k
        src[6*stride]= v += block[48];
1131
213k
        src[7*stride]= v +  block[56];
1132
213k
        src++;
1133
213k
        block++;
1134
213k
    }
1135
1136
26.6k
    memset(_block, 0, sizeof(dctcoef) * 64);
1137
26.6k
}
h264pred.c:pred8x8l_vertical_filter_add_12_c
Line
Count
Source
1105
52.5k
{
1106
52.5k
    int i;
1107
52.5k
    pixel *src = (pixel*)_src;
1108
52.5k
    const dctcoef *block = (const dctcoef*)_block;
1109
52.5k
    pixel pix[8];
1110
52.5k
    int stride = _stride>>(sizeof(pixel)-1);
1111
52.5k
    PREDICT_8x8_LOAD_TOP;
1112
1113
52.5k
    pix[0] = t0;
1114
52.5k
    pix[1] = t1;
1115
52.5k
    pix[2] = t2;
1116
52.5k
    pix[3] = t3;
1117
52.5k
    pix[4] = t4;
1118
52.5k
    pix[5] = t5;
1119
52.5k
    pix[6] = t6;
1120
52.5k
    pix[7] = t7;
1121
1122
473k
    for(i=0; i<8; i++){
1123
420k
        pixel v = pix[i];
1124
420k
        src[0*stride]= v += block[0];
1125
420k
        src[1*stride]= v += block[8];
1126
420k
        src[2*stride]= v += block[16];
1127
420k
        src[3*stride]= v += block[24];
1128
420k
        src[4*stride]= v += block[32];
1129
420k
        src[5*stride]= v += block[40];
1130
420k
        src[6*stride]= v += block[48];
1131
420k
        src[7*stride]= v +  block[56];
1132
420k
        src++;
1133
420k
        block++;
1134
420k
    }
1135
1136
52.5k
    memset(_block, 0, sizeof(dctcoef) * 64);
1137
52.5k
}
h264pred.c:pred8x8l_vertical_filter_add_14_c
Line
Count
Source
1105
41.5k
{
1106
41.5k
    int i;
1107
41.5k
    pixel *src = (pixel*)_src;
1108
41.5k
    const dctcoef *block = (const dctcoef*)_block;
1109
41.5k
    pixel pix[8];
1110
41.5k
    int stride = _stride>>(sizeof(pixel)-1);
1111
41.5k
    PREDICT_8x8_LOAD_TOP;
1112
1113
41.5k
    pix[0] = t0;
1114
41.5k
    pix[1] = t1;
1115
41.5k
    pix[2] = t2;
1116
41.5k
    pix[3] = t3;
1117
41.5k
    pix[4] = t4;
1118
41.5k
    pix[5] = t5;
1119
41.5k
    pix[6] = t6;
1120
41.5k
    pix[7] = t7;
1121
1122
373k
    for(i=0; i<8; i++){
1123
332k
        pixel v = pix[i];
1124
332k
        src[0*stride]= v += block[0];
1125
332k
        src[1*stride]= v += block[8];
1126
332k
        src[2*stride]= v += block[16];
1127
332k
        src[3*stride]= v += block[24];
1128
332k
        src[4*stride]= v += block[32];
1129
332k
        src[5*stride]= v += block[40];
1130
332k
        src[6*stride]= v += block[48];
1131
332k
        src[7*stride]= v +  block[56];
1132
332k
        src++;
1133
332k
        block++;
1134
332k
    }
1135
1136
41.5k
    memset(_block, 0, sizeof(dctcoef) * 64);
1137
41.5k
}
h264pred.c:pred8x8l_vertical_filter_add_8_c
Line
Count
Source
1105
4.99k
{
1106
4.99k
    int i;
1107
4.99k
    pixel *src = (pixel*)_src;
1108
4.99k
    const dctcoef *block = (const dctcoef*)_block;
1109
4.99k
    pixel pix[8];
1110
4.99k
    int stride = _stride>>(sizeof(pixel)-1);
1111
4.99k
    PREDICT_8x8_LOAD_TOP;
1112
1113
4.99k
    pix[0] = t0;
1114
4.99k
    pix[1] = t1;
1115
4.99k
    pix[2] = t2;
1116
4.99k
    pix[3] = t3;
1117
4.99k
    pix[4] = t4;
1118
4.99k
    pix[5] = t5;
1119
4.99k
    pix[6] = t6;
1120
4.99k
    pix[7] = t7;
1121
1122
44.9k
    for(i=0; i<8; i++){
1123
39.9k
        pixel v = pix[i];
1124
39.9k
        src[0*stride]= v += block[0];
1125
39.9k
        src[1*stride]= v += block[8];
1126
39.9k
        src[2*stride]= v += block[16];
1127
39.9k
        src[3*stride]= v += block[24];
1128
39.9k
        src[4*stride]= v += block[32];
1129
39.9k
        src[5*stride]= v += block[40];
1130
39.9k
        src[6*stride]= v += block[48];
1131
39.9k
        src[7*stride]= v +  block[56];
1132
39.9k
        src++;
1133
39.9k
        block++;
1134
39.9k
    }
1135
1136
4.99k
    memset(_block, 0, sizeof(dctcoef) * 64);
1137
4.99k
}
1138
1139
static void FUNCC(pred8x8l_horizontal_filter_add)(uint8_t *_src, int16_t *_block, int has_topleft,
1140
                               int has_topright, ptrdiff_t _stride)
1141
48.5k
{
1142
48.5k
    int i;
1143
48.5k
    pixel *src = (pixel*)_src;
1144
48.5k
    const dctcoef *block = (const dctcoef*)_block;
1145
48.5k
    pixel pix[8];
1146
48.5k
    int stride = _stride>>(sizeof(pixel)-1);
1147
48.5k
    PREDICT_8x8_LOAD_LEFT;
1148
1149
48.5k
    pix[0] = l0;
1150
48.5k
    pix[1] = l1;
1151
48.5k
    pix[2] = l2;
1152
48.5k
    pix[3] = l3;
1153
48.5k
    pix[4] = l4;
1154
48.5k
    pix[5] = l5;
1155
48.5k
    pix[6] = l6;
1156
48.5k
    pix[7] = l7;
1157
1158
437k
    for(i=0; i<8; i++){
1159
388k
        pixel v = pix[i];
1160
388k
        src[0]= v += block[0];
1161
388k
        src[1]= v += block[1];
1162
388k
        src[2]= v += block[2];
1163
388k
        src[3]= v += block[3];
1164
388k
        src[4]= v += block[4];
1165
388k
        src[5]= v += block[5];
1166
388k
        src[6]= v += block[6];
1167
388k
        src[7]= v +  block[7];
1168
388k
        src+= stride;
1169
388k
        block+= 8;
1170
388k
    }
1171
1172
48.5k
    memset(_block, 0, sizeof(dctcoef) * 64);
1173
48.5k
}
h264pred.c:pred8x8l_horizontal_filter_add_9_c
Line
Count
Source
1141
13.8k
{
1142
13.8k
    int i;
1143
13.8k
    pixel *src = (pixel*)_src;
1144
13.8k
    const dctcoef *block = (const dctcoef*)_block;
1145
13.8k
    pixel pix[8];
1146
13.8k
    int stride = _stride>>(sizeof(pixel)-1);
1147
13.8k
    PREDICT_8x8_LOAD_LEFT;
1148
1149
13.8k
    pix[0] = l0;
1150
13.8k
    pix[1] = l1;
1151
13.8k
    pix[2] = l2;
1152
13.8k
    pix[3] = l3;
1153
13.8k
    pix[4] = l4;
1154
13.8k
    pix[5] = l5;
1155
13.8k
    pix[6] = l6;
1156
13.8k
    pix[7] = l7;
1157
1158
124k
    for(i=0; i<8; i++){
1159
110k
        pixel v = pix[i];
1160
110k
        src[0]= v += block[0];
1161
110k
        src[1]= v += block[1];
1162
110k
        src[2]= v += block[2];
1163
110k
        src[3]= v += block[3];
1164
110k
        src[4]= v += block[4];
1165
110k
        src[5]= v += block[5];
1166
110k
        src[6]= v += block[6];
1167
110k
        src[7]= v +  block[7];
1168
110k
        src+= stride;
1169
110k
        block+= 8;
1170
110k
    }
1171
1172
13.8k
    memset(_block, 0, sizeof(dctcoef) * 64);
1173
13.8k
}
h264pred.c:pred8x8l_horizontal_filter_add_10_c
Line
Count
Source
1141
21.8k
{
1142
21.8k
    int i;
1143
21.8k
    pixel *src = (pixel*)_src;
1144
21.8k
    const dctcoef *block = (const dctcoef*)_block;
1145
21.8k
    pixel pix[8];
1146
21.8k
    int stride = _stride>>(sizeof(pixel)-1);
1147
21.8k
    PREDICT_8x8_LOAD_LEFT;
1148
1149
21.8k
    pix[0] = l0;
1150
21.8k
    pix[1] = l1;
1151
21.8k
    pix[2] = l2;
1152
21.8k
    pix[3] = l3;
1153
21.8k
    pix[4] = l4;
1154
21.8k
    pix[5] = l5;
1155
21.8k
    pix[6] = l6;
1156
21.8k
    pix[7] = l7;
1157
1158
196k
    for(i=0; i<8; i++){
1159
174k
        pixel v = pix[i];
1160
174k
        src[0]= v += block[0];
1161
174k
        src[1]= v += block[1];
1162
174k
        src[2]= v += block[2];
1163
174k
        src[3]= v += block[3];
1164
174k
        src[4]= v += block[4];
1165
174k
        src[5]= v += block[5];
1166
174k
        src[6]= v += block[6];
1167
174k
        src[7]= v +  block[7];
1168
174k
        src+= stride;
1169
174k
        block+= 8;
1170
174k
    }
1171
1172
21.8k
    memset(_block, 0, sizeof(dctcoef) * 64);
1173
21.8k
}
h264pred.c:pred8x8l_horizontal_filter_add_12_c
Line
Count
Source
1141
6.74k
{
1142
6.74k
    int i;
1143
6.74k
    pixel *src = (pixel*)_src;
1144
6.74k
    const dctcoef *block = (const dctcoef*)_block;
1145
6.74k
    pixel pix[8];
1146
6.74k
    int stride = _stride>>(sizeof(pixel)-1);
1147
6.74k
    PREDICT_8x8_LOAD_LEFT;
1148
1149
6.74k
    pix[0] = l0;
1150
6.74k
    pix[1] = l1;
1151
6.74k
    pix[2] = l2;
1152
6.74k
    pix[3] = l3;
1153
6.74k
    pix[4] = l4;
1154
6.74k
    pix[5] = l5;
1155
6.74k
    pix[6] = l6;
1156
6.74k
    pix[7] = l7;
1157
1158
60.6k
    for(i=0; i<8; i++){
1159
53.9k
        pixel v = pix[i];
1160
53.9k
        src[0]= v += block[0];
1161
53.9k
        src[1]= v += block[1];
1162
53.9k
        src[2]= v += block[2];
1163
53.9k
        src[3]= v += block[3];
1164
53.9k
        src[4]= v += block[4];
1165
53.9k
        src[5]= v += block[5];
1166
53.9k
        src[6]= v += block[6];
1167
53.9k
        src[7]= v +  block[7];
1168
53.9k
        src+= stride;
1169
53.9k
        block+= 8;
1170
53.9k
    }
1171
1172
6.74k
    memset(_block, 0, sizeof(dctcoef) * 64);
1173
6.74k
}
h264pred.c:pred8x8l_horizontal_filter_add_14_c
Line
Count
Source
1141
2.13k
{
1142
2.13k
    int i;
1143
2.13k
    pixel *src = (pixel*)_src;
1144
2.13k
    const dctcoef *block = (const dctcoef*)_block;
1145
2.13k
    pixel pix[8];
1146
2.13k
    int stride = _stride>>(sizeof(pixel)-1);
1147
2.13k
    PREDICT_8x8_LOAD_LEFT;
1148
1149
2.13k
    pix[0] = l0;
1150
2.13k
    pix[1] = l1;
1151
2.13k
    pix[2] = l2;
1152
2.13k
    pix[3] = l3;
1153
2.13k
    pix[4] = l4;
1154
2.13k
    pix[5] = l5;
1155
2.13k
    pix[6] = l6;
1156
2.13k
    pix[7] = l7;
1157
1158
19.1k
    for(i=0; i<8; i++){
1159
17.0k
        pixel v = pix[i];
1160
17.0k
        src[0]= v += block[0];
1161
17.0k
        src[1]= v += block[1];
1162
17.0k
        src[2]= v += block[2];
1163
17.0k
        src[3]= v += block[3];
1164
17.0k
        src[4]= v += block[4];
1165
17.0k
        src[5]= v += block[5];
1166
17.0k
        src[6]= v += block[6];
1167
17.0k
        src[7]= v +  block[7];
1168
17.0k
        src+= stride;
1169
17.0k
        block+= 8;
1170
17.0k
    }
1171
1172
2.13k
    memset(_block, 0, sizeof(dctcoef) * 64);
1173
2.13k
}
h264pred.c:pred8x8l_horizontal_filter_add_8_c
Line
Count
Source
1141
4.09k
{
1142
4.09k
    int i;
1143
4.09k
    pixel *src = (pixel*)_src;
1144
4.09k
    const dctcoef *block = (const dctcoef*)_block;
1145
4.09k
    pixel pix[8];
1146
4.09k
    int stride = _stride>>(sizeof(pixel)-1);
1147
4.09k
    PREDICT_8x8_LOAD_LEFT;
1148
1149
4.09k
    pix[0] = l0;
1150
4.09k
    pix[1] = l1;
1151
4.09k
    pix[2] = l2;
1152
4.09k
    pix[3] = l3;
1153
4.09k
    pix[4] = l4;
1154
4.09k
    pix[5] = l5;
1155
4.09k
    pix[6] = l6;
1156
4.09k
    pix[7] = l7;
1157
1158
36.8k
    for(i=0; i<8; i++){
1159
32.7k
        pixel v = pix[i];
1160
32.7k
        src[0]= v += block[0];
1161
32.7k
        src[1]= v += block[1];
1162
32.7k
        src[2]= v += block[2];
1163
32.7k
        src[3]= v += block[3];
1164
32.7k
        src[4]= v += block[4];
1165
32.7k
        src[5]= v += block[5];
1166
32.7k
        src[6]= v += block[6];
1167
32.7k
        src[7]= v +  block[7];
1168
32.7k
        src+= stride;
1169
32.7k
        block+= 8;
1170
32.7k
    }
1171
1172
4.09k
    memset(_block, 0, sizeof(dctcoef) * 64);
1173
4.09k
}
1174
1175
#undef PREDICT_8x8_LOAD_LEFT
1176
#undef PREDICT_8x8_LOAD_TOP
1177
#undef PREDICT_8x8_LOAD_TOPLEFT
1178
#undef PREDICT_8x8_LOAD_TOPRIGHT
1179
#undef PREDICT_8x8_DC
1180
#undef PTR
1181
#undef PT
1182
#undef PL
1183
#undef SRC
1184
1185
static void FUNCC(pred4x4_vertical_add)(uint8_t *_pix, int16_t *_block,
1186
                                        ptrdiff_t stride)
1187
774k
{
1188
774k
    int i;
1189
774k
    pixel *pix = (pixel*)_pix;
1190
774k
    const dctcoef *block = (const dctcoef*)_block;
1191
774k
    stride >>= sizeof(pixel)-1;
1192
774k
    pix -= stride;
1193
3.87M
    for(i=0; i<4; i++){
1194
3.09M
        pixel v = pix[0];
1195
3.09M
        pix[1*stride]= v += block[0];
1196
3.09M
        pix[2*stride]= v += block[4];
1197
3.09M
        pix[3*stride]= v += block[8];
1198
3.09M
        pix[4*stride]= v +  block[12];
1199
3.09M
        pix++;
1200
3.09M
        block++;
1201
3.09M
    }
1202
1203
774k
    memset(_block, 0, sizeof(dctcoef) * 16);
1204
774k
}
h264pred.c:pred4x4_vertical_add_9_c
Line
Count
Source
1187
25.6k
{
1188
25.6k
    int i;
1189
25.6k
    pixel *pix = (pixel*)_pix;
1190
25.6k
    const dctcoef *block = (const dctcoef*)_block;
1191
25.6k
    stride >>= sizeof(pixel)-1;
1192
25.6k
    pix -= stride;
1193
128k
    for(i=0; i<4; i++){
1194
102k
        pixel v = pix[0];
1195
102k
        pix[1*stride]= v += block[0];
1196
102k
        pix[2*stride]= v += block[4];
1197
102k
        pix[3*stride]= v += block[8];
1198
102k
        pix[4*stride]= v +  block[12];
1199
102k
        pix++;
1200
102k
        block++;
1201
102k
    }
1202
1203
25.6k
    memset(_block, 0, sizeof(dctcoef) * 16);
1204
25.6k
}
h264pred.c:pred4x4_vertical_add_10_c
Line
Count
Source
1187
381k
{
1188
381k
    int i;
1189
381k
    pixel *pix = (pixel*)_pix;
1190
381k
    const dctcoef *block = (const dctcoef*)_block;
1191
381k
    stride >>= sizeof(pixel)-1;
1192
381k
    pix -= stride;
1193
1.90M
    for(i=0; i<4; i++){
1194
1.52M
        pixel v = pix[0];
1195
1.52M
        pix[1*stride]= v += block[0];
1196
1.52M
        pix[2*stride]= v += block[4];
1197
1.52M
        pix[3*stride]= v += block[8];
1198
1.52M
        pix[4*stride]= v +  block[12];
1199
1.52M
        pix++;
1200
1.52M
        block++;
1201
1.52M
    }
1202
1203
381k
    memset(_block, 0, sizeof(dctcoef) * 16);
1204
381k
}
h264pred.c:pred4x4_vertical_add_12_c
Line
Count
Source
1187
34.2k
{
1188
34.2k
    int i;
1189
34.2k
    pixel *pix = (pixel*)_pix;
1190
34.2k
    const dctcoef *block = (const dctcoef*)_block;
1191
34.2k
    stride >>= sizeof(pixel)-1;
1192
34.2k
    pix -= stride;
1193
171k
    for(i=0; i<4; i++){
1194
137k
        pixel v = pix[0];
1195
137k
        pix[1*stride]= v += block[0];
1196
137k
        pix[2*stride]= v += block[4];
1197
137k
        pix[3*stride]= v += block[8];
1198
137k
        pix[4*stride]= v +  block[12];
1199
137k
        pix++;
1200
137k
        block++;
1201
137k
    }
1202
1203
34.2k
    memset(_block, 0, sizeof(dctcoef) * 16);
1204
34.2k
}
h264pred.c:pred4x4_vertical_add_14_c
Line
Count
Source
1187
226k
{
1188
226k
    int i;
1189
226k
    pixel *pix = (pixel*)_pix;
1190
226k
    const dctcoef *block = (const dctcoef*)_block;
1191
226k
    stride >>= sizeof(pixel)-1;
1192
226k
    pix -= stride;
1193
1.13M
    for(i=0; i<4; i++){
1194
907k
        pixel v = pix[0];
1195
907k
        pix[1*stride]= v += block[0];
1196
907k
        pix[2*stride]= v += block[4];
1197
907k
        pix[3*stride]= v += block[8];
1198
907k
        pix[4*stride]= v +  block[12];
1199
907k
        pix++;
1200
907k
        block++;
1201
907k
    }
1202
1203
226k
    memset(_block, 0, sizeof(dctcoef) * 16);
1204
226k
}
h264pred.c:pred4x4_vertical_add_8_c
Line
Count
Source
1187
106k
{
1188
106k
    int i;
1189
106k
    pixel *pix = (pixel*)_pix;
1190
106k
    const dctcoef *block = (const dctcoef*)_block;
1191
106k
    stride >>= sizeof(pixel)-1;
1192
106k
    pix -= stride;
1193
532k
    for(i=0; i<4; i++){
1194
425k
        pixel v = pix[0];
1195
425k
        pix[1*stride]= v += block[0];
1196
425k
        pix[2*stride]= v += block[4];
1197
425k
        pix[3*stride]= v += block[8];
1198
425k
        pix[4*stride]= v +  block[12];
1199
425k
        pix++;
1200
425k
        block++;
1201
425k
    }
1202
1203
106k
    memset(_block, 0, sizeof(dctcoef) * 16);
1204
106k
}
1205
1206
static void FUNCC(pred4x4_horizontal_add)(uint8_t *_pix, int16_t *_block,
1207
                                          ptrdiff_t stride)
1208
593k
{
1209
593k
    int i;
1210
593k
    pixel *pix = (pixel*)_pix;
1211
593k
    const dctcoef *block = (const dctcoef*)_block;
1212
593k
    stride >>= sizeof(pixel)-1;
1213
2.96M
    for(i=0; i<4; i++){
1214
2.37M
        pixel v = pix[-1];
1215
2.37M
        pix[0]= v += block[0];
1216
2.37M
        pix[1]= v += block[1];
1217
2.37M
        pix[2]= v += block[2];
1218
2.37M
        pix[3]= v +  block[3];
1219
2.37M
        pix+= stride;
1220
2.37M
        block+= 4;
1221
2.37M
    }
1222
1223
593k
    memset(_block, 0, sizeof(dctcoef) * 16);
1224
593k
}
h264pred.c:pred4x4_horizontal_add_9_c
Line
Count
Source
1208
50.7k
{
1209
50.7k
    int i;
1210
50.7k
    pixel *pix = (pixel*)_pix;
1211
50.7k
    const dctcoef *block = (const dctcoef*)_block;
1212
50.7k
    stride >>= sizeof(pixel)-1;
1213
253k
    for(i=0; i<4; i++){
1214
202k
        pixel v = pix[-1];
1215
202k
        pix[0]= v += block[0];
1216
202k
        pix[1]= v += block[1];
1217
202k
        pix[2]= v += block[2];
1218
202k
        pix[3]= v +  block[3];
1219
202k
        pix+= stride;
1220
202k
        block+= 4;
1221
202k
    }
1222
1223
50.7k
    memset(_block, 0, sizeof(dctcoef) * 16);
1224
50.7k
}
h264pred.c:pred4x4_horizontal_add_10_c
Line
Count
Source
1208
248k
{
1209
248k
    int i;
1210
248k
    pixel *pix = (pixel*)_pix;
1211
248k
    const dctcoef *block = (const dctcoef*)_block;
1212
248k
    stride >>= sizeof(pixel)-1;
1213
1.24M
    for(i=0; i<4; i++){
1214
992k
        pixel v = pix[-1];
1215
992k
        pix[0]= v += block[0];
1216
992k
        pix[1]= v += block[1];
1217
992k
        pix[2]= v += block[2];
1218
992k
        pix[3]= v +  block[3];
1219
992k
        pix+= stride;
1220
992k
        block+= 4;
1221
992k
    }
1222
1223
248k
    memset(_block, 0, sizeof(dctcoef) * 16);
1224
248k
}
h264pred.c:pred4x4_horizontal_add_12_c
Line
Count
Source
1208
25.8k
{
1209
25.8k
    int i;
1210
25.8k
    pixel *pix = (pixel*)_pix;
1211
25.8k
    const dctcoef *block = (const dctcoef*)_block;
1212
25.8k
    stride >>= sizeof(pixel)-1;
1213
129k
    for(i=0; i<4; i++){
1214
103k
        pixel v = pix[-1];
1215
103k
        pix[0]= v += block[0];
1216
103k
        pix[1]= v += block[1];
1217
103k
        pix[2]= v += block[2];
1218
103k
        pix[3]= v +  block[3];
1219
103k
        pix+= stride;
1220
103k
        block+= 4;
1221
103k
    }
1222
1223
25.8k
    memset(_block, 0, sizeof(dctcoef) * 16);
1224
25.8k
}
h264pred.c:pred4x4_horizontal_add_14_c
Line
Count
Source
1208
101k
{
1209
101k
    int i;
1210
101k
    pixel *pix = (pixel*)_pix;
1211
101k
    const dctcoef *block = (const dctcoef*)_block;
1212
101k
    stride >>= sizeof(pixel)-1;
1213
508k
    for(i=0; i<4; i++){
1214
407k
        pixel v = pix[-1];
1215
407k
        pix[0]= v += block[0];
1216
407k
        pix[1]= v += block[1];
1217
407k
        pix[2]= v += block[2];
1218
407k
        pix[3]= v +  block[3];
1219
407k
        pix+= stride;
1220
407k
        block+= 4;
1221
407k
    }
1222
1223
101k
    memset(_block, 0, sizeof(dctcoef) * 16);
1224
101k
}
h264pred.c:pred4x4_horizontal_add_8_c
Line
Count
Source
1208
167k
{
1209
167k
    int i;
1210
167k
    pixel *pix = (pixel*)_pix;
1211
167k
    const dctcoef *block = (const dctcoef*)_block;
1212
167k
    stride >>= sizeof(pixel)-1;
1213
837k
    for(i=0; i<4; i++){
1214
670k
        pixel v = pix[-1];
1215
670k
        pix[0]= v += block[0];
1216
670k
        pix[1]= v += block[1];
1217
670k
        pix[2]= v += block[2];
1218
670k
        pix[3]= v +  block[3];
1219
670k
        pix+= stride;
1220
670k
        block+= 4;
1221
670k
    }
1222
1223
167k
    memset(_block, 0, sizeof(dctcoef) * 16);
1224
167k
}
1225
1226
static void FUNCC(pred8x8l_vertical_add)(uint8_t *_pix, int16_t *_block,
1227
                                         ptrdiff_t stride)
1228
57.5k
{
1229
57.5k
    int i;
1230
57.5k
    pixel *pix = (pixel*)_pix;
1231
57.5k
    const dctcoef *block = (const dctcoef*)_block;
1232
57.5k
    stride >>= sizeof(pixel)-1;
1233
57.5k
    pix -= stride;
1234
517k
    for(i=0; i<8; i++){
1235
460k
        pixel v = pix[0];
1236
460k
        pix[1*stride]= v += block[0];
1237
460k
        pix[2*stride]= v += block[8];
1238
460k
        pix[3*stride]= v += block[16];
1239
460k
        pix[4*stride]= v += block[24];
1240
460k
        pix[5*stride]= v += block[32];
1241
460k
        pix[6*stride]= v += block[40];
1242
460k
        pix[7*stride]= v += block[48];
1243
460k
        pix[8*stride]= v +  block[56];
1244
460k
        pix++;
1245
460k
        block++;
1246
460k
    }
1247
1248
57.5k
    memset(_block, 0, sizeof(dctcoef) * 64);
1249
57.5k
}
h264pred.c:pred8x8l_vertical_add_9_c
Line
Count
Source
1228
1.74k
{
1229
1.74k
    int i;
1230
1.74k
    pixel *pix = (pixel*)_pix;
1231
1.74k
    const dctcoef *block = (const dctcoef*)_block;
1232
1.74k
    stride >>= sizeof(pixel)-1;
1233
1.74k
    pix -= stride;
1234
15.6k
    for(i=0; i<8; i++){
1235
13.9k
        pixel v = pix[0];
1236
13.9k
        pix[1*stride]= v += block[0];
1237
13.9k
        pix[2*stride]= v += block[8];
1238
13.9k
        pix[3*stride]= v += block[16];
1239
13.9k
        pix[4*stride]= v += block[24];
1240
13.9k
        pix[5*stride]= v += block[32];
1241
13.9k
        pix[6*stride]= v += block[40];
1242
13.9k
        pix[7*stride]= v += block[48];
1243
13.9k
        pix[8*stride]= v +  block[56];
1244
13.9k
        pix++;
1245
13.9k
        block++;
1246
13.9k
    }
1247
1248
1.74k
    memset(_block, 0, sizeof(dctcoef) * 64);
1249
1.74k
}
h264pred.c:pred8x8l_vertical_add_10_c
Line
Count
Source
1228
9.37k
{
1229
9.37k
    int i;
1230
9.37k
    pixel *pix = (pixel*)_pix;
1231
9.37k
    const dctcoef *block = (const dctcoef*)_block;
1232
9.37k
    stride >>= sizeof(pixel)-1;
1233
9.37k
    pix -= stride;
1234
84.3k
    for(i=0; i<8; i++){
1235
74.9k
        pixel v = pix[0];
1236
74.9k
        pix[1*stride]= v += block[0];
1237
74.9k
        pix[2*stride]= v += block[8];
1238
74.9k
        pix[3*stride]= v += block[16];
1239
74.9k
        pix[4*stride]= v += block[24];
1240
74.9k
        pix[5*stride]= v += block[32];
1241
74.9k
        pix[6*stride]= v += block[40];
1242
74.9k
        pix[7*stride]= v += block[48];
1243
74.9k
        pix[8*stride]= v +  block[56];
1244
74.9k
        pix++;
1245
74.9k
        block++;
1246
74.9k
    }
1247
1248
9.37k
    memset(_block, 0, sizeof(dctcoef) * 64);
1249
9.37k
}
h264pred.c:pred8x8l_vertical_add_12_c
Line
Count
Source
1228
42.5k
{
1229
42.5k
    int i;
1230
42.5k
    pixel *pix = (pixel*)_pix;
1231
42.5k
    const dctcoef *block = (const dctcoef*)_block;
1232
42.5k
    stride >>= sizeof(pixel)-1;
1233
42.5k
    pix -= stride;
1234
382k
    for(i=0; i<8; i++){
1235
340k
        pixel v = pix[0];
1236
340k
        pix[1*stride]= v += block[0];
1237
340k
        pix[2*stride]= v += block[8];
1238
340k
        pix[3*stride]= v += block[16];
1239
340k
        pix[4*stride]= v += block[24];
1240
340k
        pix[5*stride]= v += block[32];
1241
340k
        pix[6*stride]= v += block[40];
1242
340k
        pix[7*stride]= v += block[48];
1243
340k
        pix[8*stride]= v +  block[56];
1244
340k
        pix++;
1245
340k
        block++;
1246
340k
    }
1247
1248
42.5k
    memset(_block, 0, sizeof(dctcoef) * 64);
1249
42.5k
}
h264pred.c:pred8x8l_vertical_add_14_c
Line
Count
Source
1228
1.22k
{
1229
1.22k
    int i;
1230
1.22k
    pixel *pix = (pixel*)_pix;
1231
1.22k
    const dctcoef *block = (const dctcoef*)_block;
1232
1.22k
    stride >>= sizeof(pixel)-1;
1233
1.22k
    pix -= stride;
1234
11.0k
    for(i=0; i<8; i++){
1235
9.78k
        pixel v = pix[0];
1236
9.78k
        pix[1*stride]= v += block[0];
1237
9.78k
        pix[2*stride]= v += block[8];
1238
9.78k
        pix[3*stride]= v += block[16];
1239
9.78k
        pix[4*stride]= v += block[24];
1240
9.78k
        pix[5*stride]= v += block[32];
1241
9.78k
        pix[6*stride]= v += block[40];
1242
9.78k
        pix[7*stride]= v += block[48];
1243
9.78k
        pix[8*stride]= v +  block[56];
1244
9.78k
        pix++;
1245
9.78k
        block++;
1246
9.78k
    }
1247
1248
1.22k
    memset(_block, 0, sizeof(dctcoef) * 64);
1249
1.22k
}
h264pred.c:pred8x8l_vertical_add_8_c
Line
Count
Source
1228
2.65k
{
1229
2.65k
    int i;
1230
2.65k
    pixel *pix = (pixel*)_pix;
1231
2.65k
    const dctcoef *block = (const dctcoef*)_block;
1232
2.65k
    stride >>= sizeof(pixel)-1;
1233
2.65k
    pix -= stride;
1234
23.9k
    for(i=0; i<8; i++){
1235
21.2k
        pixel v = pix[0];
1236
21.2k
        pix[1*stride]= v += block[0];
1237
21.2k
        pix[2*stride]= v += block[8];
1238
21.2k
        pix[3*stride]= v += block[16];
1239
21.2k
        pix[4*stride]= v += block[24];
1240
21.2k
        pix[5*stride]= v += block[32];
1241
21.2k
        pix[6*stride]= v += block[40];
1242
21.2k
        pix[7*stride]= v += block[48];
1243
21.2k
        pix[8*stride]= v +  block[56];
1244
21.2k
        pix++;
1245
21.2k
        block++;
1246
21.2k
    }
1247
1248
2.65k
    memset(_block, 0, sizeof(dctcoef) * 64);
1249
2.65k
}
1250
1251
static void FUNCC(pred8x8l_horizontal_add)(uint8_t *_pix, int16_t *_block,
1252
                                           ptrdiff_t stride)
1253
17.9k
{
1254
17.9k
    int i;
1255
17.9k
    pixel *pix = (pixel*)_pix;
1256
17.9k
    const dctcoef *block = (const dctcoef*)_block;
1257
17.9k
    stride >>= sizeof(pixel)-1;
1258
161k
    for(i=0; i<8; i++){
1259
143k
        pixel v = pix[-1];
1260
143k
        pix[0]= v += block[0];
1261
143k
        pix[1]= v += block[1];
1262
143k
        pix[2]= v += block[2];
1263
143k
        pix[3]= v += block[3];
1264
143k
        pix[4]= v += block[4];
1265
143k
        pix[5]= v += block[5];
1266
143k
        pix[6]= v += block[6];
1267
143k
        pix[7]= v +  block[7];
1268
143k
        pix+= stride;
1269
143k
        block+= 8;
1270
143k
    }
1271
1272
17.9k
    memset(_block, 0, sizeof(dctcoef) * 64);
1273
17.9k
}
h264pred.c:pred8x8l_horizontal_add_9_c
Line
Count
Source
1253
1.33k
{
1254
1.33k
    int i;
1255
1.33k
    pixel *pix = (pixel*)_pix;
1256
1.33k
    const dctcoef *block = (const dctcoef*)_block;
1257
1.33k
    stride >>= sizeof(pixel)-1;
1258
12.0k
    for(i=0; i<8; i++){
1259
10.6k
        pixel v = pix[-1];
1260
10.6k
        pix[0]= v += block[0];
1261
10.6k
        pix[1]= v += block[1];
1262
10.6k
        pix[2]= v += block[2];
1263
10.6k
        pix[3]= v += block[3];
1264
10.6k
        pix[4]= v += block[4];
1265
10.6k
        pix[5]= v += block[5];
1266
10.6k
        pix[6]= v += block[6];
1267
10.6k
        pix[7]= v +  block[7];
1268
10.6k
        pix+= stride;
1269
10.6k
        block+= 8;
1270
10.6k
    }
1271
1272
1.33k
    memset(_block, 0, sizeof(dctcoef) * 64);
1273
1.33k
}
h264pred.c:pred8x8l_horizontal_add_10_c
Line
Count
Source
1253
9.68k
{
1254
9.68k
    int i;
1255
9.68k
    pixel *pix = (pixel*)_pix;
1256
9.68k
    const dctcoef *block = (const dctcoef*)_block;
1257
9.68k
    stride >>= sizeof(pixel)-1;
1258
87.1k
    for(i=0; i<8; i++){
1259
77.4k
        pixel v = pix[-1];
1260
77.4k
        pix[0]= v += block[0];
1261
77.4k
        pix[1]= v += block[1];
1262
77.4k
        pix[2]= v += block[2];
1263
77.4k
        pix[3]= v += block[3];
1264
77.4k
        pix[4]= v += block[4];
1265
77.4k
        pix[5]= v += block[5];
1266
77.4k
        pix[6]= v += block[6];
1267
77.4k
        pix[7]= v +  block[7];
1268
77.4k
        pix+= stride;
1269
77.4k
        block+= 8;
1270
77.4k
    }
1271
1272
9.68k
    memset(_block, 0, sizeof(dctcoef) * 64);
1273
9.68k
}
h264pred.c:pred8x8l_horizontal_add_12_c
Line
Count
Source
1253
4.00k
{
1254
4.00k
    int i;
1255
4.00k
    pixel *pix = (pixel*)_pix;
1256
4.00k
    const dctcoef *block = (const dctcoef*)_block;
1257
4.00k
    stride >>= sizeof(pixel)-1;
1258
36.0k
    for(i=0; i<8; i++){
1259
32.0k
        pixel v = pix[-1];
1260
32.0k
        pix[0]= v += block[0];
1261
32.0k
        pix[1]= v += block[1];
1262
32.0k
        pix[2]= v += block[2];
1263
32.0k
        pix[3]= v += block[3];
1264
32.0k
        pix[4]= v += block[4];
1265
32.0k
        pix[5]= v += block[5];
1266
32.0k
        pix[6]= v += block[6];
1267
32.0k
        pix[7]= v +  block[7];
1268
32.0k
        pix+= stride;
1269
32.0k
        block+= 8;
1270
32.0k
    }
1271
1272
4.00k
    memset(_block, 0, sizeof(dctcoef) * 64);
1273
4.00k
}
h264pred.c:pred8x8l_horizontal_add_14_c
Line
Count
Source
1253
605
{
1254
605
    int i;
1255
605
    pixel *pix = (pixel*)_pix;
1256
605
    const dctcoef *block = (const dctcoef*)_block;
1257
605
    stride >>= sizeof(pixel)-1;
1258
5.44k
    for(i=0; i<8; i++){
1259
4.84k
        pixel v = pix[-1];
1260
4.84k
        pix[0]= v += block[0];
1261
4.84k
        pix[1]= v += block[1];
1262
4.84k
        pix[2]= v += block[2];
1263
4.84k
        pix[3]= v += block[3];
1264
4.84k
        pix[4]= v += block[4];
1265
4.84k
        pix[5]= v += block[5];
1266
4.84k
        pix[6]= v += block[6];
1267
4.84k
        pix[7]= v +  block[7];
1268
4.84k
        pix+= stride;
1269
4.84k
        block+= 8;
1270
4.84k
    }
1271
1272
605
    memset(_block, 0, sizeof(dctcoef) * 64);
1273
605
}
h264pred.c:pred8x8l_horizontal_add_8_c
Line
Count
Source
1253
2.37k
{
1254
2.37k
    int i;
1255
2.37k
    pixel *pix = (pixel*)_pix;
1256
2.37k
    const dctcoef *block = (const dctcoef*)_block;
1257
2.37k
    stride >>= sizeof(pixel)-1;
1258
21.3k
    for(i=0; i<8; i++){
1259
19.0k
        pixel v = pix[-1];
1260
19.0k
        pix[0]= v += block[0];
1261
19.0k
        pix[1]= v += block[1];
1262
19.0k
        pix[2]= v += block[2];
1263
19.0k
        pix[3]= v += block[3];
1264
19.0k
        pix[4]= v += block[4];
1265
19.0k
        pix[5]= v += block[5];
1266
19.0k
        pix[6]= v += block[6];
1267
19.0k
        pix[7]= v +  block[7];
1268
19.0k
        pix+= stride;
1269
19.0k
        block+= 8;
1270
19.0k
    }
1271
1272
2.37k
    memset(_block, 0, sizeof(dctcoef) * 64);
1273
2.37k
}
1274
1275
static void FUNCC(pred16x16_vertical_add)(uint8_t *pix, const int *block_offset,
1276
                                          int16_t *block,
1277
                                          ptrdiff_t stride)
1278
29.9k
{
1279
29.9k
    int i;
1280
509k
    for(i=0; i<16; i++)
1281
479k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1282
29.9k
}
h264pred.c:pred16x16_vertical_add_9_c
Line
Count
Source
1278
1.42k
{
1279
1.42k
    int i;
1280
24.1k
    for(i=0; i<16; i++)
1281
22.7k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1282
1.42k
}
h264pred.c:pred16x16_vertical_add_10_c
Line
Count
Source
1278
13.7k
{
1279
13.7k
    int i;
1280
234k
    for(i=0; i<16; i++)
1281
220k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1282
13.7k
}
h264pred.c:pred16x16_vertical_add_12_c
Line
Count
Source
1278
1.83k
{
1279
1.83k
    int i;
1280
31.2k
    for(i=0; i<16; i++)
1281
29.3k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1282
1.83k
}
h264pred.c:pred16x16_vertical_add_14_c
Line
Count
Source
1278
10.9k
{
1279
10.9k
    int i;
1280
186k
    for(i=0; i<16; i++)
1281
175k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1282
10.9k
}
h264pred.c:pred16x16_vertical_add_8_c
Line
Count
Source
1278
1.98k
{
1279
1.98k
    int i;
1280
33.6k
    for(i=0; i<16; i++)
1281
31.6k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1282
1.98k
}
1283
1284
static void FUNCC(pred16x16_horizontal_add)(uint8_t *pix,
1285
                                            const int *block_offset,
1286
                                            int16_t *block,
1287
                                            ptrdiff_t stride)
1288
16.3k
{
1289
16.3k
    int i;
1290
277k
    for(i=0; i<16; i++)
1291
261k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1292
16.3k
}
h264pred.c:pred16x16_horizontal_add_9_c
Line
Count
Source
1288
1.55k
{
1289
1.55k
    int i;
1290
26.4k
    for(i=0; i<16; i++)
1291
24.9k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1292
1.55k
}
h264pred.c:pred16x16_horizontal_add_10_c
Line
Count
Source
1288
5.34k
{
1289
5.34k
    int i;
1290
90.8k
    for(i=0; i<16; i++)
1291
85.5k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1292
5.34k
}
h264pred.c:pred16x16_horizontal_add_12_c
Line
Count
Source
1288
621
{
1289
621
    int i;
1290
10.5k
    for(i=0; i<16; i++)
1291
9.93k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1292
621
}
h264pred.c:pred16x16_horizontal_add_14_c
Line
Count
Source
1288
4.83k
{
1289
4.83k
    int i;
1290
82.1k
    for(i=0; i<16; i++)
1291
77.2k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1292
4.83k
}
h264pred.c:pred16x16_horizontal_add_8_c
Line
Count
Source
1288
3.96k
{
1289
3.96k
    int i;
1290
67.4k
    for(i=0; i<16; i++)
1291
63.4k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1292
3.96k
}
1293
1294
static void FUNCC(pred8x8_vertical_add)(uint8_t *pix, const int *block_offset,
1295
                                        int16_t *block, ptrdiff_t stride)
1296
10.5k
{
1297
10.5k
    int i;
1298
52.6k
    for(i=0; i<4; i++)
1299
42.1k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1300
10.5k
}
h264pred.c:pred8x8_vertical_add_9_c
Line
Count
Source
1296
394
{
1297
394
    int i;
1298
1.97k
    for(i=0; i<4; i++)
1299
1.57k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1300
394
}
h264pred.c:pred8x8_vertical_add_10_c
Line
Count
Source
1296
720
{
1297
720
    int i;
1298
3.60k
    for(i=0; i<4; i++)
1299
2.88k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1300
720
}
Unexecuted instantiation: h264pred.c:pred8x8_vertical_add_12_c
h264pred.c:pred8x8_vertical_add_14_c
Line
Count
Source
1296
2.27k
{
1297
2.27k
    int i;
1298
11.3k
    for(i=0; i<4; i++)
1299
9.08k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1300
2.27k
}
h264pred.c:pred8x8_vertical_add_8_c
Line
Count
Source
1296
7.14k
{
1297
7.14k
    int i;
1298
35.7k
    for(i=0; i<4; i++)
1299
28.5k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1300
7.14k
}
1301
1302
static void FUNCC(pred8x16_vertical_add)(uint8_t *pix, const int *block_offset,
1303
                                         int16_t *block, ptrdiff_t stride)
1304
1.42k
{
1305
1.42k
    int i;
1306
7.10k
    for(i=0; i<4; i++)
1307
5.68k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1308
7.10k
    for(i=4; i<8; i++)
1309
5.68k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1310
1.42k
}
Unexecuted instantiation: h264pred.c:pred8x16_vertical_add_9_c
h264pred.c:pred8x16_vertical_add_10_c
Line
Count
Source
1304
462
{
1305
462
    int i;
1306
2.31k
    for(i=0; i<4; i++)
1307
1.84k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1308
2.31k
    for(i=4; i<8; i++)
1309
1.84k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1310
462
}
h264pred.c:pred8x16_vertical_add_12_c
Line
Count
Source
1304
150
{
1305
150
    int i;
1306
750
    for(i=0; i<4; i++)
1307
600
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1308
750
    for(i=4; i<8; i++)
1309
600
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1310
150
}
h264pred.c:pred8x16_vertical_add_14_c
Line
Count
Source
1304
332
{
1305
332
    int i;
1306
1.66k
    for(i=0; i<4; i++)
1307
1.32k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1308
1.66k
    for(i=4; i<8; i++)
1309
1.32k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1310
332
}
h264pred.c:pred8x16_vertical_add_8_c
Line
Count
Source
1304
476
{
1305
476
    int i;
1306
2.38k
    for(i=0; i<4; i++)
1307
1.90k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1308
2.38k
    for(i=4; i<8; i++)
1309
1.90k
        FUNCC(pred4x4_vertical_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1310
476
}
1311
1312
static void FUNCC(pred8x8_horizontal_add)(uint8_t *pix, const int *block_offset,
1313
                                          int16_t *block,
1314
                                          ptrdiff_t stride)
1315
24.6k
{
1316
24.6k
    int i;
1317
123k
    for(i=0; i<4; i++)
1318
98.4k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1319
24.6k
}
h264pred.c:pred8x8_horizontal_add_9_c
Line
Count
Source
1315
4.27k
{
1316
4.27k
    int i;
1317
21.3k
    for(i=0; i<4; i++)
1318
17.1k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1319
4.27k
}
h264pred.c:pred8x8_horizontal_add_10_c
Line
Count
Source
1315
734
{
1316
734
    int i;
1317
3.67k
    for(i=0; i<4; i++)
1318
2.93k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1319
734
}
Unexecuted instantiation: h264pred.c:pred8x8_horizontal_add_12_c
h264pred.c:pred8x8_horizontal_add_14_c
Line
Count
Source
1315
5.25k
{
1316
5.25k
    int i;
1317
26.2k
    for(i=0; i<4; i++)
1318
21.0k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1319
5.25k
}
h264pred.c:pred8x8_horizontal_add_8_c
Line
Count
Source
1315
14.3k
{
1316
14.3k
    int i;
1317
71.7k
    for(i=0; i<4; i++)
1318
57.4k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1319
14.3k
}
1320
1321
static void FUNCC(pred8x16_horizontal_add)(uint8_t *pix,
1322
                                           const int *block_offset,
1323
                                           int16_t *block, ptrdiff_t stride)
1324
5.67k
{
1325
5.67k
    int i;
1326
28.3k
    for(i=0; i<4; i++)
1327
22.7k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1328
28.3k
    for(i=4; i<8; i++)
1329
22.7k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1330
5.67k
}
Unexecuted instantiation: h264pred.c:pred8x16_horizontal_add_9_c
h264pred.c:pred8x16_horizontal_add_10_c
Line
Count
Source
1324
2.58k
{
1325
2.58k
    int i;
1326
12.9k
    for(i=0; i<4; i++)
1327
10.3k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1328
12.9k
    for(i=4; i<8; i++)
1329
10.3k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1330
2.58k
}
h264pred.c:pred8x16_horizontal_add_12_c
Line
Count
Source
1324
1.96k
{
1325
1.96k
    int i;
1326
9.82k
    for(i=0; i<4; i++)
1327
7.85k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1328
9.82k
    for(i=4; i<8; i++)
1329
7.85k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1330
1.96k
}
h264pred.c:pred8x16_horizontal_add_14_c
Line
Count
Source
1324
270
{
1325
270
    int i;
1326
1.35k
    for(i=0; i<4; i++)
1327
1.08k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1328
1.35k
    for(i=4; i<8; i++)
1329
1.08k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1330
270
}
h264pred.c:pred8x16_horizontal_add_8_c
Line
Count
Source
1324
864
{
1325
864
    int i;
1326
4.32k
    for(i=0; i<4; i++)
1327
3.45k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i], block + i*16*sizeof(pixel), stride);
1328
4.32k
    for(i=4; i<8; i++)
1329
3.45k
        FUNCC(pred4x4_horizontal_add)(pix + block_offset[i+4], block + i*16*sizeof(pixel), stride);
1330
864
}