Coverage Report

Created: 2026-05-16 07:03

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibMedia/Video/VP9/SyntaxElementCounter.cpp
Line
Count
Source
1
/*
2
 * Copyright (c) 2021, Hunter Salyer <thefalsehonesty@gmail.com>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#include "SyntaxElementCounter.h"
8
#include <AK/Format.h>
9
10
namespace Media::Video::VP9 {
11
12
SyntaxElementCounter::SyntaxElementCounter()
13
6.41k
{
14
6.41k
    __builtin_memset(m_counts_intra_mode, 0, sizeof(m_counts_intra_mode));
15
6.41k
    __builtin_memset(m_counts_uv_mode, 0, sizeof(m_counts_uv_mode));
16
6.41k
    __builtin_memset(m_counts_partition, 0, sizeof(m_counts_partition));
17
6.41k
    __builtin_memset(m_counts_interp_filter, 0, sizeof(m_counts_interp_filter));
18
6.41k
    __builtin_memset(m_counts_inter_mode, 0, sizeof(m_counts_inter_mode));
19
6.41k
    __builtin_memset(m_counts_tx_size, 0, sizeof(m_counts_tx_size));
20
6.41k
    __builtin_memset(m_counts_is_inter, 0, sizeof(m_counts_is_inter));
21
6.41k
    __builtin_memset(m_counts_comp_mode, 0, sizeof(m_counts_comp_mode));
22
6.41k
    __builtin_memset(m_counts_single_ref, 0, sizeof(m_counts_single_ref));
23
6.41k
    __builtin_memset(m_counts_comp_ref, 0, sizeof(m_counts_comp_ref));
24
6.41k
    __builtin_memset(m_counts_skip, 0, sizeof(m_counts_skip));
25
6.41k
    __builtin_memset(m_counts_mv_joint, 0, sizeof(m_counts_mv_joint));
26
6.41k
    __builtin_memset(m_counts_mv_sign, 0, sizeof(m_counts_mv_sign));
27
6.41k
    __builtin_memset(m_counts_mv_class, 0, sizeof(m_counts_mv_class));
28
6.41k
    __builtin_memset(m_counts_mv_class0_bit, 0, sizeof(m_counts_mv_class0_bit));
29
6.41k
    __builtin_memset(m_counts_mv_class0_fr, 0, sizeof(m_counts_mv_class0_fr));
30
6.41k
    __builtin_memset(m_counts_mv_class0_hp, 0, sizeof(m_counts_mv_class0_hp));
31
6.41k
    __builtin_memset(m_counts_mv_bits, 0, sizeof(m_counts_mv_bits));
32
6.41k
    __builtin_memset(m_counts_mv_fr, 0, sizeof(m_counts_mv_fr));
33
6.41k
    __builtin_memset(m_counts_mv_hp, 0, sizeof(m_counts_mv_hp));
34
6.41k
    __builtin_memset(m_counts_token, 0, sizeof(m_counts_token));
35
6.41k
    __builtin_memset(m_counts_more_coefs, 0, sizeof(m_counts_more_coefs));
36
6.41k
}
37
38
template<typename T, size_t size>
39
static void sum_arrays(T (&destination)[size], T const (&left)[size], T const (&right)[size])
40
2.39M
{
41
8.66M
    for (size_t i = 0; i < size; i++) {
42
6.27M
        destination[i] = left[i] + right[i];
43
6.27M
    }
44
2.39M
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 10ul>(unsigned int (&) [10ul], unsigned int const (&) [10ul], unsigned int const (&) [10ul])
Line
Count
Source
40
26.4k
{
41
291k
    for (size_t i = 0; i < size; i++) {
42
264k
        destination[i] = left[i] + right[i];
43
264k
    }
44
26.4k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 3ul>(unsigned int (&) [3ul], unsigned int const (&) [3ul], unsigned int const (&) [3ul])
Line
Count
Source
40
1.09M
{
41
4.38M
    for (size_t i = 0; i < size; i++) {
42
3.29M
        destination[i] = left[i] + right[i];
43
3.29M
    }
44
1.09M
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 2ul>(unsigned int (&) [2ul], unsigned int const (&) [2ul], unsigned int const (&) [2ul])
Line
Count
Source
40
1.19M
{
41
3.58M
    for (size_t i = 0; i < size; i++) {
42
2.38M
        destination[i] = left[i] + right[i];
43
2.38M
    }
44
1.19M
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 4ul>(unsigned int (&) [4ul], unsigned int const (&) [4ul], unsigned int const (&) [4ul])
Line
Count
Source
40
71.8k
{
41
359k
    for (size_t i = 0; i < size; i++) {
42
287k
        destination[i] = left[i] + right[i];
43
287k
    }
44
71.8k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 11ul>(unsigned int (&) [11ul], unsigned int const (&) [11ul], unsigned int const (&) [11ul])
Line
Count
Source
40
3.78k
{
41
45.4k
    for (size_t i = 0; i < size; i++) {
42
41.6k
        destination[i] = left[i] + right[i];
43
41.6k
    }
44
3.78k
}
45
46
template<typename T, size_t size, size_t size_2>
47
static void sum_arrays(T (&destination)[size][size_2], T const (&left)[size][size_2], T const (&right)[size][size_2])
48
533k
{
49
3.41M
    for (size_t i = 0; i < size; i++) {
50
2.88M
        sum_arrays(destination[i], left[i], right[i]);
51
2.88M
    }
52
533k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 4ul, 10ul>(unsigned int (&) [4ul][10ul], unsigned int const (&) [4ul][10ul], unsigned int const (&) [4ul][10ul])
Line
Count
Source
48
1.89k
{
49
9.46k
    for (size_t i = 0; i < size; i++) {
50
7.56k
        sum_arrays(destination[i], left[i], right[i]);
51
7.56k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 10ul, 10ul>(unsigned int (&) [10ul][10ul], unsigned int const (&) [10ul][10ul], unsigned int const (&) [10ul][10ul])
Line
Count
Source
48
1.89k
{
49
20.8k
    for (size_t i = 0; i < size; i++) {
50
18.9k
        sum_arrays(destination[i], left[i], right[i]);
51
18.9k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 16ul, 4ul>(unsigned int (&) [16ul][4ul], unsigned int const (&) [16ul][4ul], unsigned int const (&) [16ul][4ul])
Line
Count
Source
48
1.89k
{
49
32.1k
    for (size_t i = 0; i < size; i++) {
50
30.2k
        sum_arrays(destination[i], left[i], right[i]);
51
30.2k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 4ul, 3ul>(unsigned int (&) [4ul][3ul], unsigned int const (&) [4ul][3ul], unsigned int const (&) [4ul][3ul])
Line
Count
Source
48
1.89k
{
49
9.46k
    for (size_t i = 0; i < size; i++) {
50
7.56k
        sum_arrays(destination[i], left[i], right[i]);
51
7.56k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 7ul, 4ul>(unsigned int (&) [7ul][4ul], unsigned int const (&) [7ul][4ul], unsigned int const (&) [7ul][4ul])
Line
Count
Source
48
1.89k
{
49
15.1k
    for (size_t i = 0; i < size; i++) {
50
13.2k
        sum_arrays(destination[i], left[i], right[i]);
51
13.2k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [4], 4ul, 2ul>(unsigned int (&) [4ul][2ul][4], unsigned int const (&) [4ul][2ul][4], unsigned int const (&) [4ul][2ul][4])
Line
Count
Source
48
1.89k
{
49
9.46k
    for (size_t i = 0; i < size; i++) {
50
7.56k
        sum_arrays(destination[i], left[i], right[i]);
51
7.56k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 4ul, 2ul>(unsigned int (&) [4ul][2ul], unsigned int const (&) [4ul][2ul], unsigned int const (&) [4ul][2ul])
Line
Count
Source
48
1.89k
{
49
9.46k
    for (size_t i = 0; i < size; i++) {
50
7.56k
        sum_arrays(destination[i], left[i], right[i]);
51
7.56k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 5ul, 2ul>(unsigned int (&) [5ul][2ul], unsigned int const (&) [5ul][2ul], unsigned int const (&) [5ul][2ul])
Line
Count
Source
48
3.78k
{
49
22.7k
    for (size_t i = 0; i < size; i++) {
50
18.9k
        sum_arrays(destination[i], left[i], right[i]);
51
18.9k
    }
52
3.78k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [2], 5ul, 2ul>(unsigned int (&) [5ul][2ul][2], unsigned int const (&) [5ul][2ul][2], unsigned int const (&) [5ul][2ul][2])
Line
Count
Source
48
1.89k
{
49
11.3k
    for (size_t i = 0; i < size; i++) {
50
9.46k
        sum_arrays(destination[i], left[i], right[i]);
51
9.46k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 3ul, 2ul>(unsigned int (&) [3ul][2ul], unsigned int const (&) [3ul][2ul], unsigned int const (&) [3ul][2ul])
Line
Count
Source
48
1.89k
{
49
7.56k
    for (size_t i = 0; i < size; i++) {
50
5.67k
        sum_arrays(destination[i], left[i], right[i]);
51
5.67k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 2ul, 2ul>(unsigned int (&) [2ul][2ul], unsigned int const (&) [2ul][2ul], unsigned int const (&) [2ul][2ul])
Line
Count
Source
48
17.0k
{
49
51.0k
    for (size_t i = 0; i < size; i++) {
50
34.0k
        sum_arrays(destination[i], left[i], right[i]);
51
34.0k
    }
52
17.0k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 2ul, 11ul>(unsigned int (&) [2ul][11ul], unsigned int const (&) [2ul][11ul], unsigned int const (&) [2ul][11ul])
Line
Count
Source
48
1.89k
{
49
5.67k
    for (size_t i = 0; i < size; i++) {
50
3.78k
        sum_arrays(destination[i], left[i], right[i]);
51
3.78k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [4], 2ul, 2ul>(unsigned int (&) [2ul][2ul][4], unsigned int const (&) [2ul][2ul][4], unsigned int const (&) [2ul][2ul][4])
Line
Count
Source
48
1.89k
{
49
5.67k
    for (size_t i = 0; i < size; i++) {
50
3.78k
        sum_arrays(destination[i], left[i], right[i]);
51
3.78k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [2], 2ul, 10ul>(unsigned int (&) [2ul][10ul][2], unsigned int const (&) [2ul][10ul][2], unsigned int const (&) [2ul][10ul][2])
Line
Count
Source
48
1.89k
{
49
5.67k
    for (size_t i = 0; i < size; i++) {
50
3.78k
        sum_arrays(destination[i], left[i], right[i]);
51
3.78k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 10ul, 2ul>(unsigned int (&) [10ul][2ul], unsigned int const (&) [10ul][2ul], unsigned int const (&) [10ul][2ul])
Line
Count
Source
48
3.78k
{
49
41.6k
    for (size_t i = 0; i < size; i++) {
50
37.8k
        sum_arrays(destination[i], left[i], right[i]);
51
37.8k
    }
52
3.78k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 2ul, 4ul>(unsigned int (&) [2ul][4ul], unsigned int const (&) [2ul][4ul], unsigned int const (&) [2ul][4ul])
Line
Count
Source
48
13.2k
{
49
39.7k
    for (size_t i = 0; i < size; i++) {
50
26.4k
        sum_arrays(destination[i], left[i], right[i]);
51
26.4k
    }
52
13.2k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [2][6][6][3], 4ul, 2ul>(unsigned int (&) [4ul][2ul][2][6][6][3], unsigned int const (&) [4ul][2ul][2][6][6][3], unsigned int const (&) [4ul][2ul][2][6][6][3])
Line
Count
Source
48
1.89k
{
49
9.46k
    for (size_t i = 0; i < size; i++) {
50
7.56k
        sum_arrays(destination[i], left[i], right[i]);
51
7.56k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [6][6][3], 2ul, 2ul>(unsigned int (&) [2ul][2ul][6][6][3], unsigned int const (&) [2ul][2ul][6][6][3], unsigned int const (&) [2ul][2ul][6][6][3])
Line
Count
Source
48
7.56k
{
49
22.7k
    for (size_t i = 0; i < size; i++) {
50
15.1k
        sum_arrays(destination[i], left[i], right[i]);
51
15.1k
    }
52
7.56k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [6][3], 2ul, 6ul>(unsigned int (&) [2ul][6ul][6][3], unsigned int const (&) [2ul][6ul][6][3], unsigned int const (&) [2ul][6ul][6][3])
Line
Count
Source
48
15.1k
{
49
45.4k
    for (size_t i = 0; i < size; i++) {
50
30.2k
        sum_arrays(destination[i], left[i], right[i]);
51
30.2k
    }
52
15.1k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [3], 6ul, 6ul>(unsigned int (&) [6ul][6ul][3], unsigned int const (&) [6ul][6ul][3], unsigned int const (&) [6ul][6ul][3])
Line
Count
Source
48
30.2k
{
49
211k
    for (size_t i = 0; i < size; i++) {
50
181k
        sum_arrays(destination[i], left[i], right[i]);
51
181k
    }
52
30.2k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 6ul, 3ul>(unsigned int (&) [6ul][3ul], unsigned int const (&) [6ul][3ul], unsigned int const (&) [6ul][3ul])
Line
Count
Source
48
181k
{
49
1.27M
    for (size_t i = 0; i < size; i++) {
50
1.08M
        sum_arrays(destination[i], left[i], right[i]);
51
1.08M
    }
52
181k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [2][6][6][2], 4ul, 2ul>(unsigned int (&) [4ul][2ul][2][6][6][2], unsigned int const (&) [4ul][2ul][2][6][6][2], unsigned int const (&) [4ul][2ul][2][6][6][2])
Line
Count
Source
48
1.89k
{
49
9.46k
    for (size_t i = 0; i < size; i++) {
50
7.56k
        sum_arrays(destination[i], left[i], right[i]);
51
7.56k
    }
52
1.89k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [6][6][2], 2ul, 2ul>(unsigned int (&) [2ul][2ul][6][6][2], unsigned int const (&) [2ul][2ul][6][6][2], unsigned int const (&) [2ul][2ul][6][6][2])
Line
Count
Source
48
7.56k
{
49
22.7k
    for (size_t i = 0; i < size; i++) {
50
15.1k
        sum_arrays(destination[i], left[i], right[i]);
51
15.1k
    }
52
7.56k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [6][2], 2ul, 6ul>(unsigned int (&) [2ul][6ul][6][2], unsigned int const (&) [2ul][6ul][6][2], unsigned int const (&) [2ul][6ul][6][2])
Line
Count
Source
48
15.1k
{
49
45.4k
    for (size_t i = 0; i < size; i++) {
50
30.2k
        sum_arrays(destination[i], left[i], right[i]);
51
30.2k
    }
52
15.1k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int [2], 6ul, 6ul>(unsigned int (&) [6ul][6ul][2], unsigned int const (&) [6ul][6ul][2], unsigned int const (&) [6ul][6ul][2])
Line
Count
Source
48
30.2k
{
49
211k
    for (size_t i = 0; i < size; i++) {
50
181k
        sum_arrays(destination[i], left[i], right[i]);
51
181k
    }
52
30.2k
}
SyntaxElementCounter.cpp:void Media::Video::VP9::sum_arrays<unsigned int, 6ul, 2ul>(unsigned int (&) [6ul][2ul], unsigned int const (&) [6ul][2ul], unsigned int const (&) [6ul][2ul])
Line
Count
Source
48
181k
{
49
1.27M
    for (size_t i = 0; i < size; i++) {
50
1.08M
        sum_arrays(destination[i], left[i], right[i]);
51
1.08M
    }
52
181k
}
53
54
SyntaxElementCounter SyntaxElementCounter::operator+(SyntaxElementCounter const& other) const
55
1.89k
{
56
1.89k
    SyntaxElementCounter result;
57
1.89k
    sum_arrays(result.m_counts_intra_mode, this->m_counts_intra_mode, other.m_counts_intra_mode);
58
1.89k
    sum_arrays(result.m_counts_uv_mode, this->m_counts_uv_mode, other.m_counts_uv_mode);
59
1.89k
    sum_arrays(result.m_counts_partition, this->m_counts_partition, other.m_counts_partition);
60
1.89k
    sum_arrays(result.m_counts_interp_filter, this->m_counts_interp_filter, other.m_counts_interp_filter);
61
1.89k
    sum_arrays(result.m_counts_inter_mode, this->m_counts_inter_mode, other.m_counts_inter_mode);
62
1.89k
    sum_arrays(result.m_counts_tx_size, this->m_counts_tx_size, other.m_counts_tx_size);
63
1.89k
    sum_arrays(result.m_counts_is_inter, this->m_counts_is_inter, other.m_counts_is_inter);
64
1.89k
    sum_arrays(result.m_counts_comp_mode, this->m_counts_comp_mode, other.m_counts_comp_mode);
65
1.89k
    sum_arrays(result.m_counts_single_ref, this->m_counts_single_ref, other.m_counts_single_ref);
66
1.89k
    sum_arrays(result.m_counts_comp_ref, this->m_counts_comp_ref, other.m_counts_comp_ref);
67
1.89k
    sum_arrays(result.m_counts_skip, this->m_counts_skip, other.m_counts_skip);
68
1.89k
    sum_arrays(result.m_counts_mv_joint, this->m_counts_mv_joint, other.m_counts_mv_joint);
69
1.89k
    sum_arrays(result.m_counts_mv_sign, this->m_counts_mv_sign, other.m_counts_mv_sign);
70
1.89k
    sum_arrays(result.m_counts_mv_class, this->m_counts_mv_class, other.m_counts_mv_class);
71
1.89k
    sum_arrays(result.m_counts_mv_class0_bit, this->m_counts_mv_class0_bit, other.m_counts_mv_class0_bit);
72
1.89k
    sum_arrays(result.m_counts_mv_class0_fr, this->m_counts_mv_class0_fr, other.m_counts_mv_class0_fr);
73
1.89k
    sum_arrays(result.m_counts_mv_class0_hp, this->m_counts_mv_class0_hp, other.m_counts_mv_class0_hp);
74
1.89k
    sum_arrays(result.m_counts_mv_bits, this->m_counts_mv_bits, other.m_counts_mv_bits);
75
1.89k
    sum_arrays(result.m_counts_mv_fr, this->m_counts_mv_fr, other.m_counts_mv_fr);
76
1.89k
    sum_arrays(result.m_counts_mv_hp, this->m_counts_mv_hp, other.m_counts_mv_hp);
77
1.89k
    sum_arrays(result.m_counts_token, this->m_counts_token, other.m_counts_token);
78
1.89k
    sum_arrays(result.m_counts_more_coefs, this->m_counts_more_coefs, other.m_counts_more_coefs);
79
1.89k
    return result;
80
1.89k
}
81
82
SyntaxElementCounter& SyntaxElementCounter::operator+=(SyntaxElementCounter const& other)
83
1.89k
{
84
1.89k
    *this = *this + other;
85
1.89k
    return *this;
86
1.89k
}
87
88
}