Line | Branch | Exec | Source |
---|---|---|---|
1 | /* | ||
2 | * Copyright (c) 2016 Tiancheng "Timothy" Gu | ||
3 | * | ||
4 | * This file is part of FFmpeg. | ||
5 | * | ||
6 | * FFmpeg is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * FFmpeg is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with FFmpeg; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <string.h> | ||
22 | #include "checkasm.h" | ||
23 | #include "libavfilter/vf_blend_init.h" | ||
24 | #include "libavutil/common.h" | ||
25 | #include "libavutil/internal.h" | ||
26 | #include "libavutil/intreadwrite.h" | ||
27 | #include "libavutil/mem.h" | ||
28 | |||
29 | #define WIDTH 256 | ||
30 | #define HEIGHT 256 | ||
31 | #define BUF_UNITS 3 | ||
32 | #define SIZE_PER_UNIT (WIDTH * HEIGHT) | ||
33 | #define BUF_SIZE (BUF_UNITS * SIZE_PER_UNIT) | ||
34 | |||
35 | #define randomize_buffers() \ | ||
36 | do { \ | ||
37 | int i, j; \ | ||
38 | for (i = 0; i < HEIGHT; i++) { \ | ||
39 | for (j = 0; j < WIDTH; j++) { \ | ||
40 | top1[i * WIDTH + j] = \ | ||
41 | top2[i * WIDTH + j] = i; \ | ||
42 | bot1[i * WIDTH + j] = \ | ||
43 | bot2[i * WIDTH + j] = j; \ | ||
44 | } \ | ||
45 | } \ | ||
46 | for (i = 0; i < SIZE_PER_UNIT; i += 4) { \ | ||
47 | uint32_t r = rnd(); \ | ||
48 | AV_WN32A(dst1 + i, r); \ | ||
49 | AV_WN32A(dst2 + i, r); \ | ||
50 | } \ | ||
51 | for (; i < BUF_SIZE; i += 4) { \ | ||
52 | uint32_t r = rnd(); \ | ||
53 | AV_WN32A(top1 + i, r); \ | ||
54 | AV_WN32A(top2 + i, r); \ | ||
55 | r = rnd(); \ | ||
56 | AV_WN32A(bot1 + i, r); \ | ||
57 | AV_WN32A(bot2 + i, r); \ | ||
58 | r = rnd(); \ | ||
59 | AV_WN32A(dst1 + i, r); \ | ||
60 | AV_WN32A(dst2 + i, r); \ | ||
61 | } \ | ||
62 | } while (0) | ||
63 | |||
64 | #define check_blend_func(depth) \ | ||
65 | do { \ | ||
66 | int i, w; \ | ||
67 | declare_func(void, const uint8_t *top, ptrdiff_t top_linesize, \ | ||
68 | const uint8_t *bottom, ptrdiff_t bottom_linesize, \ | ||
69 | uint8_t *dst, ptrdiff_t dst_linesize, \ | ||
70 | ptrdiff_t width, ptrdiff_t height, \ | ||
71 | struct FilterParams *param, struct SliceParams *sliceparam); \ | ||
72 | w = WIDTH / depth; \ | ||
73 | \ | ||
74 | for (i = 0; i < BUF_UNITS - 1; i++) { \ | ||
75 | int src_offset = i * SIZE_PER_UNIT + (BUF_UNITS - 1 - i) * depth; /* Test various alignments */ \ | ||
76 | int dst_offset = i * SIZE_PER_UNIT; /* dst must be aligned */ \ | ||
77 | randomize_buffers(); \ | ||
78 | call_ref(top1 + src_offset, w, bot1 + src_offset, w, \ | ||
79 | dst1 + dst_offset, w, w, HEIGHT, ¶m, NULL); \ | ||
80 | call_new(top2 + src_offset, w, bot2 + src_offset, w, \ | ||
81 | dst2 + dst_offset, w, w, HEIGHT, ¶m, NULL); \ | ||
82 | if (memcmp(top1, top2, BUF_SIZE) || memcmp(bot1, bot2, BUF_SIZE) || memcmp(dst1, dst2, BUF_SIZE)) \ | ||
83 | fail(); \ | ||
84 | } \ | ||
85 | bench_new(top2, w / 4, bot2, w / 4, dst2, w / 4, \ | ||
86 | w / 4, HEIGHT / 4, ¶m, NULL); \ | ||
87 | } while (0) | ||
88 | |||
89 | 13 | void checkasm_check_blend(void) | |
90 | { | ||
91 | 13 | uint8_t *top1 = av_malloc(BUF_SIZE); | |
92 | 13 | uint8_t *top2 = av_malloc(BUF_SIZE); | |
93 | 13 | uint8_t *bot1 = av_malloc(BUF_SIZE); | |
94 | 13 | uint8_t *bot2 = av_malloc(BUF_SIZE); | |
95 | 13 | uint8_t *dst1 = av_malloc(BUF_SIZE); | |
96 | 13 | uint8_t *dst2 = av_malloc(BUF_SIZE); | |
97 | 13 | FilterParams param = { | |
98 | .opacity = 1.0, | ||
99 | }; | ||
100 | |||
101 | #define check_and_report(name, val, depth) \ | ||
102 | param.mode = val; \ | ||
103 | ff_blend_init(¶m, depth * 8); \ | ||
104 | if (check_func(param.blend, #name)) \ | ||
105 | check_blend_func(depth); | ||
106 | |||
107 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(addition, BLEND_ADDITION, 1) |
108 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(grainmerge, BLEND_GRAINMERGE, 1) |
109 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(and, BLEND_AND, 1) |
110 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(average, BLEND_AVERAGE, 1) |
111 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(darken, BLEND_DARKEN, 1) |
112 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(grainextract, BLEND_GRAINEXTRACT, 1) |
113 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(hardmix, BLEND_HARDMIX, 1) |
114 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(lighten, BLEND_LIGHTEN, 1) |
115 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(multiply, BLEND_MULTIPLY, 1) |
116 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(or, BLEND_OR, 1) |
117 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(phoenix, BLEND_PHOENIX, 1) |
118 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(screen, BLEND_SCREEN, 1) |
119 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(subtract, BLEND_SUBTRACT, 1) |
120 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(xor, BLEND_XOR, 1) |
121 |
16/26✓ Branch 4 taken 4 times.
✓ Branch 5 taken 9 times.
✓ Branch 6 taken 524288 times.
✓ Branch 7 taken 2048 times.
✓ Branch 8 taken 2048 times.
✓ Branch 9 taken 8 times.
✓ Branch 11 taken 131072 times.
✓ Branch 12 taken 8 times.
✓ Branch 16 taken 262144 times.
✓ Branch 17 taken 8 times.
✓ Branch 25 taken 8 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 8 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 8 times.
✓ Branch 33 taken 8 times.
✓ Branch 34 taken 4 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 4 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
919573 | check_and_report(difference, BLEND_DIFFERENCE, 1) |
122 |
16/26✓ Branch 4 taken 4 times.
✓ Branch 5 taken 9 times.
✓ Branch 6 taken 524288 times.
✓ Branch 7 taken 2048 times.
✓ Branch 8 taken 2048 times.
✓ Branch 9 taken 8 times.
✓ Branch 11 taken 131072 times.
✓ Branch 12 taken 8 times.
✓ Branch 16 taken 262144 times.
✓ Branch 17 taken 8 times.
✓ Branch 25 taken 8 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 8 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 8 times.
✓ Branch 33 taken 8 times.
✓ Branch 34 taken 4 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 4 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
919573 | check_and_report(extremity, BLEND_EXTREMITY, 1) |
123 |
16/26✓ Branch 4 taken 4 times.
✓ Branch 5 taken 9 times.
✓ Branch 6 taken 524288 times.
✓ Branch 7 taken 2048 times.
✓ Branch 8 taken 2048 times.
✓ Branch 9 taken 8 times.
✓ Branch 11 taken 131072 times.
✓ Branch 12 taken 8 times.
✓ Branch 16 taken 262144 times.
✓ Branch 17 taken 8 times.
✓ Branch 25 taken 8 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 8 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 8 times.
✓ Branch 33 taken 8 times.
✓ Branch 34 taken 4 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 4 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
919573 | check_and_report(negation, BLEND_NEGATION, 1) |
124 | |||
125 | 13 | report("8bit"); | |
126 | |||
127 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(addition_16, BLEND_ADDITION, 2) |
128 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(grainmerge_16, BLEND_GRAINMERGE, 2) |
129 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(and_16, BLEND_AND, 2) |
130 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(average_16, BLEND_AVERAGE, 2) |
131 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(darken_16, BLEND_DARKEN, 2) |
132 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(grainextract_16, BLEND_GRAINEXTRACT, 2) |
133 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(difference_16, BLEND_DIFFERENCE, 2) |
134 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(extremity_16, BLEND_EXTREMITY, 2) |
135 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(negation_16, BLEND_NEGATION, 2) |
136 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(lighten_16, BLEND_LIGHTEN, 2) |
137 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(or_16, BLEND_OR, 2) |
138 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(phoenix_16, BLEND_PHOENIX, 2) |
139 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(subtract_16, BLEND_SUBTRACT, 2) |
140 |
16/26✓ Branch 4 taken 3 times.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 393216 times.
✓ Branch 7 taken 1536 times.
✓ Branch 8 taken 1536 times.
✓ Branch 9 taken 6 times.
✓ Branch 11 taken 98304 times.
✓ Branch 12 taken 6 times.
✓ Branch 16 taken 196608 times.
✓ Branch 17 taken 6 times.
✓ Branch 25 taken 6 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 6 times.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 6 times.
✓ Branch 33 taken 6 times.
✓ Branch 34 taken 3 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 3 times.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
689683 | check_and_report(xor_16, BLEND_SUBTRACT, 2) |
141 | |||
142 | 13 | report("16bit"); | |
143 | |||
144 | 13 | av_freep(&top1); | |
145 | 13 | av_freep(&top2); | |
146 | 13 | av_freep(&bot1); | |
147 | 13 | av_freep(&bot2); | |
148 | 13 | av_freep(&dst1); | |
149 | 13 | av_freep(&dst2); | |
150 | 13 | } | |
151 |