/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 | } |
|