/src/ffmpeg/libavcodec/pel_template.c
Line | Count | Source |
1 | | /* |
2 | | * This file is part of FFmpeg. |
3 | | * |
4 | | * FFmpeg is free software; you can redistribute it and/or |
5 | | * modify it under the terms of the GNU Lesser General Public |
6 | | * License as published by the Free Software Foundation; either |
7 | | * version 2.1 of the License, or (at your option) any later version. |
8 | | * |
9 | | * FFmpeg is distributed in the hope that it will be useful, |
10 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | | * Lesser General Public License for more details. |
13 | | * |
14 | | * You should have received a copy of the GNU Lesser General Public |
15 | | * License along with FFmpeg; if not, write to the Free Software |
16 | | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
17 | | */ |
18 | | |
19 | | #include <stddef.h> |
20 | | #include <stdint.h> |
21 | | |
22 | | #include "libavutil/intreadwrite.h" |
23 | | #include "pixels.h" |
24 | | #include "rnd_avg.h" |
25 | | |
26 | | #include "bit_depth_template.c" |
27 | | |
28 | | #define DEF_PEL(OPNAME, OP) \ |
29 | | static inline void FUNCC(OPNAME ## _pixels2)(uint8_t *block, \ |
30 | | const uint8_t *pixels, \ |
31 | | ptrdiff_t line_size, \ |
32 | 323k | int h) \ |
33 | 323k | { \ |
34 | 323k | int i; \ |
35 | 1.11M | for (i = 0; i < h; i++) { \ |
36 | 794k | OP(*((pixel2 *) block), AV_RN2P(pixels)); \ |
37 | 794k | pixels += line_size; \ |
38 | 794k | block += line_size; \ |
39 | 794k | } \ |
40 | 323k | } \ Unexecuted instantiation: qpeldsp.c:avg_pixels2_8_c Unexecuted instantiation: qpeldsp.c:put_pixels2_8_c hpeldsp.c:put_pixels2_8_c Line | Count | Source | 32 | 56.7k | int h) \ | 33 | 56.7k | { \ | 34 | 56.7k | int i; \ | 35 | 265k | for (i = 0; i < h; i++) { \ | 36 | 208k | OP(*((pixel2 *) block), AV_RN2P(pixels)); \ | 37 | 208k | pixels += line_size; \ | 38 | 208k | block += line_size; \ | 39 | 208k | } \ | 40 | 56.7k | } \ |
hpeldsp.c:avg_pixels2_8_c Line | Count | Source | 32 | 30.3k | int h) \ | 33 | 30.3k | { \ | 34 | 30.3k | int i; \ | 35 | 137k | for (i = 0; i < h; i++) { \ | 36 | 106k | OP(*((pixel2 *) block), AV_RN2P(pixels)); \ | 37 | 106k | pixels += line_size; \ | 38 | 106k | block += line_size; \ | 39 | 106k | } \ | 40 | 30.3k | } \ |
Line | Count | Source | 32 | 230k | int h) \ | 33 | 230k | { \ | 34 | 230k | int i; \ | 35 | 690k | for (i = 0; i < h; i++) { \ | 36 | 460k | OP(*((pixel2 *) block), AV_RN2P(pixels)); \ | 37 | 460k | pixels += line_size; \ | 38 | 460k | block += line_size; \ | 39 | 460k | } \ | 40 | 230k | } \ |
Unexecuted instantiation: snow.c:avg_pixels2_8_c Unexecuted instantiation: h264qpel.c:avg_pixels2_8_c Unexecuted instantiation: h264qpel.c:put_pixels2_8_c Unexecuted instantiation: h264qpel.c:avg_pixels2_9_c Unexecuted instantiation: h264qpel.c:put_pixels2_9_c Unexecuted instantiation: h264qpel.c:avg_pixels2_10_c Unexecuted instantiation: h264qpel.c:put_pixels2_10_c Unexecuted instantiation: h264qpel.c:avg_pixels2_12_c Unexecuted instantiation: h264qpel.c:put_pixels2_12_c Unexecuted instantiation: h264qpel.c:avg_pixels2_14_c Unexecuted instantiation: h264qpel.c:put_pixels2_14_c tpeldsp.c:put_pixels2_8_c Line | Count | Source | 32 | 6.14k | int h) \ | 33 | 6.14k | { \ | 34 | 6.14k | int i; \ | 35 | 24.3k | for (i = 0; i < h; i++) { \ | 36 | 18.2k | OP(*((pixel2 *) block), AV_RN2P(pixels)); \ | 37 | 18.2k | pixels += line_size; \ | 38 | 18.2k | block += line_size; \ | 39 | 18.2k | } \ | 40 | 6.14k | } \ |
Unexecuted instantiation: tpeldsp.c:avg_pixels2_8_c |
41 | | \ |
42 | | static inline void FUNCC(OPNAME ## _pixels4)(uint8_t *block, \ |
43 | | const uint8_t *pixels, \ |
44 | | ptrdiff_t line_size, \ |
45 | 17.1M | int h) \ |
46 | 17.1M | { \ |
47 | 17.1M | int i; \ |
48 | 89.7M | for (i = 0; i < h; i++) { \ |
49 | 72.6M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ |
50 | 72.6M | pixels += line_size; \ |
51 | 72.6M | block += line_size; \ |
52 | 72.6M | } \ |
53 | 17.1M | } \ Unexecuted instantiation: qpeldsp.c:avg_pixels4_8_c Unexecuted instantiation: qpeldsp.c:put_pixels4_8_c hpeldsp.c:put_pixels4_8_c Line | Count | Source | 45 | 1.05M | int h) \ | 46 | 1.05M | { \ | 47 | 1.05M | int i; \ | 48 | 9.37M | for (i = 0; i < h; i++) { \ | 49 | 8.31M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 8.31M | pixels += line_size; \ | 51 | 8.31M | block += line_size; \ | 52 | 8.31M | } \ | 53 | 1.05M | } \ |
hpeldsp.c:avg_pixels4_8_c Line | Count | Source | 45 | 18.4k | int h) \ | 46 | 18.4k | { \ | 47 | 18.4k | int i; \ | 48 | 145k | for (i = 0; i < h; i++) { \ | 49 | 127k | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 127k | pixels += line_size; \ | 51 | 127k | block += line_size; \ | 52 | 127k | } \ | 53 | 18.4k | } \ |
Unexecuted instantiation: snow.c:avg_pixels4_8_c Unexecuted instantiation: snow.c:put_pixels4_8_c h264qpel.c:put_pixels4_8_c Line | Count | Source | 45 | 4.08M | int h) \ | 46 | 4.08M | { \ | 47 | 4.08M | int i; \ | 48 | 20.4M | for (i = 0; i < h; i++) { \ | 49 | 16.3M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 16.3M | pixels += line_size; \ | 51 | 16.3M | block += line_size; \ | 52 | 16.3M | } \ | 53 | 4.08M | } \ |
h264qpel.c:avg_pixels4_8_c Line | Count | Source | 45 | 2.55M | int h) \ | 46 | 2.55M | { \ | 47 | 2.55M | int i; \ | 48 | 12.7M | for (i = 0; i < h; i++) { \ | 49 | 10.2M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 10.2M | pixels += line_size; \ | 51 | 10.2M | block += line_size; \ | 52 | 10.2M | } \ | 53 | 2.55M | } \ |
h264qpel.c:put_pixels4_9_c Line | Count | Source | 45 | 2.07M | int h) \ | 46 | 2.07M | { \ | 47 | 2.07M | int i; \ | 48 | 10.3M | for (i = 0; i < h; i++) { \ | 49 | 8.30M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 8.30M | pixels += line_size; \ | 51 | 8.30M | block += line_size; \ | 52 | 8.30M | } \ | 53 | 2.07M | } \ |
h264qpel.c:avg_pixels4_9_c Line | Count | Source | 45 | 1.02M | int h) \ | 46 | 1.02M | { \ | 47 | 1.02M | int i; \ | 48 | 5.11M | for (i = 0; i < h; i++) { \ | 49 | 4.09M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 4.09M | pixels += line_size; \ | 51 | 4.09M | block += line_size; \ | 52 | 4.09M | } \ | 53 | 1.02M | } \ |
h264qpel.c:put_pixels4_10_c Line | Count | Source | 45 | 1.19M | int h) \ | 46 | 1.19M | { \ | 47 | 1.19M | int i; \ | 48 | 5.98M | for (i = 0; i < h; i++) { \ | 49 | 4.78M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 4.78M | pixels += line_size; \ | 51 | 4.78M | block += line_size; \ | 52 | 4.78M | } \ | 53 | 1.19M | } \ |
h264qpel.c:avg_pixels4_10_c Line | Count | Source | 45 | 464k | int h) \ | 46 | 464k | { \ | 47 | 464k | int i; \ | 48 | 2.32M | for (i = 0; i < h; i++) { \ | 49 | 1.85M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 1.85M | pixels += line_size; \ | 51 | 1.85M | block += line_size; \ | 52 | 1.85M | } \ | 53 | 464k | } \ |
h264qpel.c:put_pixels4_12_c Line | Count | Source | 45 | 1.47M | int h) \ | 46 | 1.47M | { \ | 47 | 1.47M | int i; \ | 48 | 7.39M | for (i = 0; i < h; i++) { \ | 49 | 5.91M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 5.91M | pixels += line_size; \ | 51 | 5.91M | block += line_size; \ | 52 | 5.91M | } \ | 53 | 1.47M | } \ |
h264qpel.c:avg_pixels4_12_c Line | Count | Source | 45 | 959k | int h) \ | 46 | 959k | { \ | 47 | 959k | int i; \ | 48 | 4.79M | for (i = 0; i < h; i++) { \ | 49 | 3.83M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 3.83M | pixels += line_size; \ | 51 | 3.83M | block += line_size; \ | 52 | 3.83M | } \ | 53 | 959k | } \ |
h264qpel.c:put_pixels4_14_c Line | Count | Source | 45 | 1.35M | int h) \ | 46 | 1.35M | { \ | 47 | 1.35M | int i; \ | 48 | 6.78M | for (i = 0; i < h; i++) { \ | 49 | 5.43M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 5.43M | pixels += line_size; \ | 51 | 5.43M | block += line_size; \ | 52 | 5.43M | } \ | 53 | 1.35M | } \ |
h264qpel.c:avg_pixels4_14_c Line | Count | Source | 45 | 835k | int h) \ | 46 | 835k | { \ | 47 | 835k | int i; \ | 48 | 4.17M | for (i = 0; i < h; i++) { \ | 49 | 3.34M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 3.34M | pixels += line_size; \ | 51 | 3.34M | block += line_size; \ | 52 | 3.34M | } \ | 53 | 835k | } \ |
tpeldsp.c:put_pixels4_8_c Line | Count | Source | 45 | 12.5k | int h) \ | 46 | 12.5k | { \ | 47 | 12.5k | int i; \ | 48 | 84.0k | for (i = 0; i < h; i++) { \ | 49 | 71.5k | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 50 | 71.5k | pixels += line_size; \ | 51 | 71.5k | block += line_size; \ | 52 | 71.5k | } \ | 53 | 12.5k | } \ |
Unexecuted instantiation: tpeldsp.c:avg_pixels4_8_c |
54 | | \ |
55 | | static inline void FUNCC(OPNAME ## _pixels8)(uint8_t *block, \ |
56 | | const uint8_t *pixels, \ |
57 | | ptrdiff_t line_size, \ |
58 | 2.71G | int h) \ |
59 | 2.71G | { \ |
60 | 2.71G | int i; \ |
61 | 33.7G | for (i = 0; i < h; i++) { \ |
62 | 31.0G | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ |
63 | 31.0G | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ |
64 | 31.0G | AV_RN4P(pixels + 4 * sizeof(pixel))); \ |
65 | 31.0G | pixels += line_size; \ |
66 | 31.0G | block += line_size; \ |
67 | 31.0G | } \ |
68 | 2.71G | } \ qpeldsp.c:put_pixels8_8_c Line | Count | Source | 58 | 377M | int h) \ | 59 | 377M | { \ | 60 | 377M | int i; \ | 61 | 5.34G | for (i = 0; i < h; i++) { \ | 62 | 4.97G | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 4.97G | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 4.97G | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 4.97G | pixels += line_size; \ | 66 | 4.97G | block += line_size; \ | 67 | 4.97G | } \ | 68 | 377M | } \ |
qpeldsp.c:avg_pixels8_8_c Line | Count | Source | 58 | 39.1M | int h) \ | 59 | 39.1M | { \ | 60 | 39.1M | int i; \ | 61 | 150M | for (i = 0; i < h; i++) { \ | 62 | 111M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 111M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 111M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 111M | pixels += line_size; \ | 66 | 111M | block += line_size; \ | 67 | 111M | } \ | 68 | 39.1M | } \ |
hpeldsp.c:put_pixels8_8_c Line | Count | Source | 58 | 1.95G | int h) \ | 59 | 1.95G | { \ | 60 | 1.95G | int i; \ | 61 | 23.0G | for (i = 0; i < h; i++) { \ | 62 | 21.0G | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 21.0G | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 21.0G | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 21.0G | pixels += line_size; \ | 66 | 21.0G | block += line_size; \ | 67 | 21.0G | } \ | 68 | 1.95G | } \ |
hpeldsp.c:avg_pixels8_8_c Line | Count | Source | 58 | 71.2M | int h) \ | 59 | 71.2M | { \ | 60 | 71.2M | int i; \ | 61 | 939M | for (i = 0; i < h; i++) { \ | 62 | 868M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 868M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 868M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 868M | pixels += line_size; \ | 66 | 868M | block += line_size; \ | 67 | 868M | } \ | 68 | 71.2M | } \ |
Unexecuted instantiation: snow.c:avg_pixels8_8_c Unexecuted instantiation: snow.c:put_pixels8_8_c h264qpel.c:put_pixels8_8_c Line | Count | Source | 58 | 105M | int h) \ | 59 | 105M | { \ | 60 | 105M | int i; \ | 61 | 1.73G | for (i = 0; i < h; i++) { \ | 62 | 1.63G | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 1.63G | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 1.63G | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 1.63G | pixels += line_size; \ | 66 | 1.63G | block += line_size; \ | 67 | 1.63G | } \ | 68 | 105M | } \ |
h264qpel.c:avg_pixels8_8_c Line | Count | Source | 58 | 9.37M | int h) \ | 59 | 9.37M | { \ | 60 | 9.37M | int i; \ | 61 | 127M | for (i = 0; i < h; i++) { \ | 62 | 117M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 117M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 117M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 117M | pixels += line_size; \ | 66 | 117M | block += line_size; \ | 67 | 117M | } \ | 68 | 9.37M | } \ |
h264qpel.c:put_pixels8_9_c Line | Count | Source | 58 | 40.2M | int h) \ | 59 | 40.2M | { \ | 60 | 40.2M | int i; \ | 61 | 657M | for (i = 0; i < h; i++) { \ | 62 | 617M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 617M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 617M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 617M | pixels += line_size; \ | 66 | 617M | block += line_size; \ | 67 | 617M | } \ | 68 | 40.2M | } \ |
h264qpel.c:avg_pixels8_9_c Line | Count | Source | 58 | 3.75M | int h) \ | 59 | 3.75M | { \ | 60 | 3.75M | int i; \ | 61 | 46.1M | for (i = 0; i < h; i++) { \ | 62 | 42.4M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 42.4M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 42.4M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 42.4M | pixels += line_size; \ | 66 | 42.4M | block += line_size; \ | 67 | 42.4M | } \ | 68 | 3.75M | } \ |
h264qpel.c:put_pixels8_10_c Line | Count | Source | 58 | 77.9M | int h) \ | 59 | 77.9M | { \ | 60 | 77.9M | int i; \ | 61 | 1.25G | for (i = 0; i < h; i++) { \ | 62 | 1.18G | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 1.18G | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 1.18G | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 1.18G | pixels += line_size; \ | 66 | 1.18G | block += line_size; \ | 67 | 1.18G | } \ | 68 | 77.9M | } \ |
h264qpel.c:avg_pixels8_10_c Line | Count | Source | 58 | 7.32M | int h) \ | 59 | 7.32M | { \ | 60 | 7.32M | int i; \ | 61 | 96.8M | for (i = 0; i < h; i++) { \ | 62 | 89.5M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 89.5M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 89.5M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 89.5M | pixels += line_size; \ | 66 | 89.5M | block += line_size; \ | 67 | 89.5M | } \ | 68 | 7.32M | } \ |
h264qpel.c:put_pixels8_12_c Line | Count | Source | 58 | 9.19M | int h) \ | 59 | 9.19M | { \ | 60 | 9.19M | int i; \ | 61 | 134M | for (i = 0; i < h; i++) { \ | 62 | 125M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 125M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 125M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 125M | pixels += line_size; \ | 66 | 125M | block += line_size; \ | 67 | 125M | } \ | 68 | 9.19M | } \ |
h264qpel.c:avg_pixels8_12_c Line | Count | Source | 58 | 4.06M | int h) \ | 59 | 4.06M | { \ | 60 | 4.06M | int i; \ | 61 | 52.2M | for (i = 0; i < h; i++) { \ | 62 | 48.1M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 48.1M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 48.1M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 48.1M | pixels += line_size; \ | 66 | 48.1M | block += line_size; \ | 67 | 48.1M | } \ | 68 | 4.06M | } \ |
h264qpel.c:put_pixels8_14_c Line | Count | Source | 58 | 9.59M | int h) \ | 59 | 9.59M | { \ | 60 | 9.59M | int i; \ | 61 | 130M | for (i = 0; i < h; i++) { \ | 62 | 121M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 121M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 121M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 121M | pixels += line_size; \ | 66 | 121M | block += line_size; \ | 67 | 121M | } \ | 68 | 9.59M | } \ |
h264qpel.c:avg_pixels8_14_c Line | Count | Source | 58 | 4.89M | int h) \ | 59 | 4.89M | { \ | 60 | 4.89M | int i; \ | 61 | 55.2M | for (i = 0; i < h; i++) { \ | 62 | 50.3M | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 50.3M | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 50.3M | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 50.3M | pixels += line_size; \ | 66 | 50.3M | block += line_size; \ | 67 | 50.3M | } \ | 68 | 4.89M | } \ |
tpeldsp.c:put_pixels8_8_c Line | Count | Source | 58 | 35.1k | int h) \ | 59 | 35.1k | { \ | 60 | 35.1k | int i; \ | 61 | 446k | for (i = 0; i < h; i++) { \ | 62 | 411k | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 411k | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 411k | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 411k | pixels += line_size; \ | 66 | 411k | block += line_size; \ | 67 | 411k | } \ | 68 | 35.1k | } \ |
tpeldsp.c:avg_pixels8_8_c Line | Count | Source | 58 | 10.0k | int h) \ | 59 | 10.0k | { \ | 60 | 10.0k | int i; \ | 61 | 130k | for (i = 0; i < h; i++) { \ | 62 | 120k | OP(*((pixel4 *) block), AV_RN4P(pixels)); \ | 63 | 120k | OP(*((pixel4 *) (block + 4 * sizeof(pixel))), \ | 64 | 120k | AV_RN4P(pixels + 4 * sizeof(pixel))); \ | 65 | 120k | pixels += line_size; \ | 66 | 120k | block += line_size; \ | 67 | 120k | } \ | 68 | 10.0k | } \ |
|
69 | | av_unused \ |
70 | | CALL_2X_PIXELS(FUNCC(OPNAME ## _pixels16), \ |
71 | | FUNCC(OPNAME ## _pixels8), \ |
72 | | 8 * sizeof(pixel)) |
73 | | |
74 | 2.68G | #define op_avg(a, b) a = rnd_avg_pixel4(a, b) |
75 | 59.4G | #define op_put(a, b) a = b |
76 | | |
77 | 2.68G | DEF_PEL(avg, op_avg) |
78 | 59.4G | DEF_PEL(put, op_put) |
79 | | #undef op_avg |
80 | | #undef op_put |