Coverage Report

Created: 2026-06-10 07:00

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/aom/av1/common/entropy.h
Line
Count
Source
1
/*
2
 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
3
 *
4
 * This source code is subject to the terms of the BSD 2 Clause License and
5
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6
 * was not distributed with this source code in the LICENSE file, you can
7
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8
 * Media Patent License 1.0 was not distributed with this source code in the
9
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10
 */
11
12
#ifndef AOM_AV1_COMMON_ENTROPY_H_
13
#define AOM_AV1_COMMON_ENTROPY_H_
14
15
#include "config/aom_config.h"
16
17
#include "aom/aom_integer.h"
18
#include "aom_dsp/prob.h"
19
20
#include "av1/common/common.h"
21
#include "av1/common/common_data.h"
22
#include "av1/common/enums.h"
23
24
#ifdef __cplusplus
25
extern "C" {
26
#endif
27
28
#define TOKEN_CDF_Q_CTXS 4
29
30
1.27M
#define TXB_SKIP_CONTEXTS 13
31
32
910k
#define EOB_COEF_CONTEXTS 9
33
34
7.78M
#define SIG_COEF_CONTEXTS_2D 26
35
7.78M
#define SIG_COEF_CONTEXTS_1D 16
36
455k
#define SIG_COEF_CONTEXTS_EOB 4
37
7.78M
#define SIG_COEF_CONTEXTS (SIG_COEF_CONTEXTS_2D + SIG_COEF_CONTEXTS_1D)
38
39
#define COEFF_BASE_CONTEXTS (SIG_COEF_CONTEXTS)
40
364k
#define DC_SIGN_CONTEXTS 3
41
42
#define BR_TMP_OFFSET 12
43
#define BR_REF_CAT 4
44
4.00M
#define LEVEL_CONTEXTS 21
45
46
373k
#define NUM_BASE_LEVELS 2
47
48
96.9M
#define BR_CDF_SIZE (4)
49
59.0M
#define COEFF_BASE_RANGE (4 * (BR_CDF_SIZE - 1))
50
51
53.7M
#define COEFF_CONTEXT_BITS 3
52
21.7M
#define COEFF_CONTEXT_MASK ((1 << COEFF_CONTEXT_BITS) - 1)
53
0
#define MAX_BASE_BR_RANGE (COEFF_BASE_RANGE + NUM_BASE_LEVELS + 1)
54
55
#define BASE_CONTEXT_POSITION_NUM 12
56
57
enum {
58
  TX_CLASS_2D = 0,
59
  TX_CLASS_HORIZ = 1,
60
  TX_CLASS_VERT = 2,
61
  TX_CLASSES = 3,
62
} UENUM1BYTE(TX_CLASS);
63
64
#define DCT_MAX_VALUE 16384
65
#define DCT_MAX_VALUE_HIGH10 65536
66
#define DCT_MAX_VALUE_HIGH12 262144
67
68
/* Coefficients are predicted via a 3-dimensional probability table indexed on
69
 * REF_TYPES, COEF_BANDS and COEF_CONTEXTS. */
70
#define REF_TYPES 2  // intra=0, inter=1
71
72
struct AV1Common;
73
struct frame_contexts;
74
void av1_reset_cdf_symbol_counters(struct frame_contexts *fc);
75
void av1_default_coef_probs(struct AV1Common *cm);
76
void av1_init_mode_probs(struct frame_contexts *fc);
77
78
struct frame_contexts;
79
80
typedef char ENTROPY_CONTEXT;
81
82
static INLINE int combine_entropy_contexts(ENTROPY_CONTEXT a,
83
1.20M
                                           ENTROPY_CONTEXT b) {
84
1.20M
  return (a != 0) + (b != 0);
85
1.20M
}
Unexecuted instantiation: av1_dx_iface.c:combine_entropy_contexts
Unexecuted instantiation: decodeframe.c:combine_entropy_contexts
Unexecuted instantiation: decodemv.c:combine_entropy_contexts
Unexecuted instantiation: decoder.c:combine_entropy_contexts
Unexecuted instantiation: decodetxb.c:combine_entropy_contexts
Unexecuted instantiation: detokenize.c:combine_entropy_contexts
Unexecuted instantiation: obu.c:combine_entropy_contexts
Unexecuted instantiation: av1_cx_iface.c:combine_entropy_contexts
Unexecuted instantiation: av1_quantize.c:combine_entropy_contexts
Unexecuted instantiation: bitstream.c:combine_entropy_contexts
Unexecuted instantiation: encodemv.c:combine_entropy_contexts
Unexecuted instantiation: encoder.c:combine_entropy_contexts
Unexecuted instantiation: encoder_utils.c:combine_entropy_contexts
encodetxb.c:combine_entropy_contexts
Line
Count
Source
83
299k
                                           ENTROPY_CONTEXT b) {
84
299k
  return (a != 0) + (b != 0);
85
299k
}
Unexecuted instantiation: ethread.c:combine_entropy_contexts
Unexecuted instantiation: firstpass.c:combine_entropy_contexts
Unexecuted instantiation: global_motion_facade.c:combine_entropy_contexts
Unexecuted instantiation: hash_motion.c:combine_entropy_contexts
Unexecuted instantiation: level.c:combine_entropy_contexts
Unexecuted instantiation: lookahead.c:combine_entropy_contexts
Unexecuted instantiation: mcomp.c:combine_entropy_contexts
Unexecuted instantiation: mv_prec.c:combine_entropy_contexts
Unexecuted instantiation: palette.c:combine_entropy_contexts
Unexecuted instantiation: pass2_strategy.c:combine_entropy_contexts
Unexecuted instantiation: pickcdef.c:combine_entropy_contexts
Unexecuted instantiation: picklpf.c:combine_entropy_contexts
Unexecuted instantiation: pickrst.c:combine_entropy_contexts
Unexecuted instantiation: ratectrl.c:combine_entropy_contexts
Unexecuted instantiation: rd.c:combine_entropy_contexts
Unexecuted instantiation: rdopt.c:combine_entropy_contexts
Unexecuted instantiation: reconinter_enc.c:combine_entropy_contexts
Unexecuted instantiation: segmentation.c:combine_entropy_contexts
Unexecuted instantiation: speed_features.c:combine_entropy_contexts
Unexecuted instantiation: superres_scale.c:combine_entropy_contexts
Unexecuted instantiation: svc_layercontext.c:combine_entropy_contexts
Unexecuted instantiation: temporal_filter.c:combine_entropy_contexts
Unexecuted instantiation: thirdpass.c:combine_entropy_contexts
Unexecuted instantiation: tokenize.c:combine_entropy_contexts
Unexecuted instantiation: tpl_model.c:combine_entropy_contexts
tx_search.c:combine_entropy_contexts
Line
Count
Source
83
815k
                                           ENTROPY_CONTEXT b) {
84
815k
  return (a != 0) + (b != 0);
85
815k
}
Unexecuted instantiation: txb_rdopt.c:combine_entropy_contexts
Unexecuted instantiation: intra_mode_search.c:combine_entropy_contexts
Unexecuted instantiation: var_based_part.c:combine_entropy_contexts
Unexecuted instantiation: av1_noise_estimate.c:combine_entropy_contexts
Unexecuted instantiation: dwt.c:combine_entropy_contexts
Unexecuted instantiation: aom_dsp_rtcd.c:combine_entropy_contexts
Unexecuted instantiation: av1_rtcd.c:combine_entropy_contexts
Unexecuted instantiation: aom_convolve.c:combine_entropy_contexts
Unexecuted instantiation: blend_a64_mask.c:combine_entropy_contexts
Unexecuted instantiation: avg.c:combine_entropy_contexts
Unexecuted instantiation: blk_sse_sum.c:combine_entropy_contexts
Unexecuted instantiation: noise_util.c:combine_entropy_contexts
Unexecuted instantiation: psnr.c:combine_entropy_contexts
Unexecuted instantiation: sad.c:combine_entropy_contexts
Unexecuted instantiation: sad_av1.c:combine_entropy_contexts
Unexecuted instantiation: sse.c:combine_entropy_contexts
Unexecuted instantiation: sum_squares.c:combine_entropy_contexts
Unexecuted instantiation: variance.c:combine_entropy_contexts
Unexecuted instantiation: alloccommon.c:combine_entropy_contexts
Unexecuted instantiation: av1_loopfilter.c:combine_entropy_contexts
Unexecuted instantiation: blockd.c:combine_entropy_contexts
Unexecuted instantiation: cdef.c:combine_entropy_contexts
Unexecuted instantiation: cdef_block.c:combine_entropy_contexts
Unexecuted instantiation: cfl.c:combine_entropy_contexts
Unexecuted instantiation: debugmodes.c:combine_entropy_contexts
Unexecuted instantiation: entropy.c:combine_entropy_contexts
Unexecuted instantiation: entropymode.c:combine_entropy_contexts
Unexecuted instantiation: entropymv.c:combine_entropy_contexts
Unexecuted instantiation: idct.c:combine_entropy_contexts
Unexecuted instantiation: mvref_common.c:combine_entropy_contexts
Unexecuted instantiation: pred_common.c:combine_entropy_contexts
Unexecuted instantiation: quant_common.c:combine_entropy_contexts
Unexecuted instantiation: reconinter.c:combine_entropy_contexts
Unexecuted instantiation: reconintra.c:combine_entropy_contexts
Unexecuted instantiation: resize.c:combine_entropy_contexts
Unexecuted instantiation: restoration.c:combine_entropy_contexts
Unexecuted instantiation: scale.c:combine_entropy_contexts
Unexecuted instantiation: scan.c:combine_entropy_contexts
Unexecuted instantiation: seg_common.c:combine_entropy_contexts
Unexecuted instantiation: thread_common.c:combine_entropy_contexts
Unexecuted instantiation: tile_common.c:combine_entropy_contexts
Unexecuted instantiation: txb_common.c:combine_entropy_contexts
Unexecuted instantiation: warped_motion.c:combine_entropy_contexts
Unexecuted instantiation: aq_complexity.c:combine_entropy_contexts
Unexecuted instantiation: aq_cyclicrefresh.c:combine_entropy_contexts
Unexecuted instantiation: aq_variance.c:combine_entropy_contexts
Unexecuted instantiation: allintra_vis.c:combine_entropy_contexts
Unexecuted instantiation: av1_fwd_txfm2d.c:combine_entropy_contexts
Unexecuted instantiation: compound_type.c:combine_entropy_contexts
Unexecuted instantiation: context_tree.c:combine_entropy_contexts
Unexecuted instantiation: cost.c:combine_entropy_contexts
Unexecuted instantiation: encodeframe.c:combine_entropy_contexts
Unexecuted instantiation: encodeframe_utils.c:combine_entropy_contexts
encodemb.c:combine_entropy_contexts
Line
Count
Source
83
93.2k
                                           ENTROPY_CONTEXT b) {
84
93.2k
  return (a != 0) + (b != 0);
85
93.2k
}
Unexecuted instantiation: encode_strategy.c:combine_entropy_contexts
Unexecuted instantiation: global_motion.c:combine_entropy_contexts
Unexecuted instantiation: gop_structure.c:combine_entropy_contexts
Unexecuted instantiation: hybrid_fwd_txfm.c:combine_entropy_contexts
Unexecuted instantiation: interp_search.c:combine_entropy_contexts
Unexecuted instantiation: ml.c:combine_entropy_contexts
Unexecuted instantiation: motion_search_facade.c:combine_entropy_contexts
Unexecuted instantiation: partition_search.c:combine_entropy_contexts
Unexecuted instantiation: partition_strategy.c:combine_entropy_contexts
Unexecuted instantiation: nonrd_pickmode.c:combine_entropy_contexts
Unexecuted instantiation: wedge_utils.c:combine_entropy_contexts
Unexecuted instantiation: blend_a64_hmask.c:combine_entropy_contexts
Unexecuted instantiation: blend_a64_vmask.c:combine_entropy_contexts
Unexecuted instantiation: intrapred.c:combine_entropy_contexts
Unexecuted instantiation: loopfilter.c:combine_entropy_contexts
Unexecuted instantiation: subtract.c:combine_entropy_contexts
Unexecuted instantiation: fwd_txfm.c:combine_entropy_contexts
Unexecuted instantiation: av1_inv_txfm2d.c:combine_entropy_contexts
Unexecuted instantiation: av1_txfm.c:combine_entropy_contexts
Unexecuted instantiation: convolve.c:combine_entropy_contexts
Unexecuted instantiation: av1_fwd_txfm1d.c:combine_entropy_contexts
Unexecuted instantiation: cnn.c:combine_entropy_contexts
Unexecuted instantiation: corner_match.c:combine_entropy_contexts
Unexecuted instantiation: av1_inv_txfm1d.c:combine_entropy_contexts
86
87
static INLINE int get_entropy_context(TX_SIZE tx_size, const ENTROPY_CONTEXT *a,
88
1.20M
                                      const ENTROPY_CONTEXT *l) {
89
1.20M
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
90
91
1.20M
  switch (tx_size) {
92
942k
    case TX_4X4:
93
942k
      above_ec = a[0] != 0;
94
942k
      left_ec = l[0] != 0;
95
942k
      break;
96
11.9k
    case TX_4X8:
97
11.9k
      above_ec = a[0] != 0;
98
11.9k
      left_ec = !!*(const uint16_t *)l;
99
11.9k
      break;
100
16.9k
    case TX_8X4:
101
16.9k
      above_ec = !!*(const uint16_t *)a;
102
16.9k
      left_ec = l[0] != 0;
103
16.9k
      break;
104
17.5k
    case TX_8X16:
105
17.5k
      above_ec = !!*(const uint16_t *)a;
106
17.5k
      left_ec = !!*(const uint32_t *)l;
107
17.5k
      break;
108
23.9k
    case TX_16X8:
109
23.9k
      above_ec = !!*(const uint32_t *)a;
110
23.9k
      left_ec = !!*(const uint16_t *)l;
111
23.9k
      break;
112
0
    case TX_16X32:
113
0
      above_ec = !!*(const uint32_t *)a;
114
0
      left_ec = !!*(const uint64_t *)l;
115
0
      break;
116
0
    case TX_32X16:
117
0
      above_ec = !!*(const uint64_t *)a;
118
0
      left_ec = !!*(const uint32_t *)l;
119
0
      break;
120
35.2k
    case TX_8X8:
121
35.2k
      above_ec = !!*(const uint16_t *)a;
122
35.2k
      left_ec = !!*(const uint16_t *)l;
123
35.2k
      break;
124
159k
    case TX_16X16:
125
159k
      above_ec = !!*(const uint32_t *)a;
126
159k
      left_ec = !!*(const uint32_t *)l;
127
159k
      break;
128
0
    case TX_32X32:
129
0
      above_ec = !!*(const uint64_t *)a;
130
0
      left_ec = !!*(const uint64_t *)l;
131
0
      break;
132
0
    case TX_64X64:
133
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
134
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
135
0
      break;
136
0
    case TX_32X64:
137
0
      above_ec = !!*(const uint64_t *)a;
138
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
139
0
      break;
140
0
    case TX_64X32:
141
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
142
0
      left_ec = !!*(const uint64_t *)l;
143
0
      break;
144
0
    case TX_4X16:
145
0
      above_ec = a[0] != 0;
146
0
      left_ec = !!*(const uint32_t *)l;
147
0
      break;
148
0
    case TX_16X4:
149
0
      above_ec = !!*(const uint32_t *)a;
150
0
      left_ec = l[0] != 0;
151
0
      break;
152
0
    case TX_8X32:
153
0
      above_ec = !!*(const uint16_t *)a;
154
0
      left_ec = !!*(const uint64_t *)l;
155
0
      break;
156
0
    case TX_32X8:
157
0
      above_ec = !!*(const uint64_t *)a;
158
0
      left_ec = !!*(const uint16_t *)l;
159
0
      break;
160
0
    case TX_16X64:
161
0
      above_ec = !!*(const uint32_t *)a;
162
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
163
0
      break;
164
0
    case TX_64X16:
165
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
166
0
      left_ec = !!*(const uint32_t *)l;
167
0
      break;
168
0
    default: assert(0 && "Invalid transform size."); break;
169
1.20M
  }
170
1.20M
  return combine_entropy_contexts(above_ec, left_ec);
171
1.20M
}
Unexecuted instantiation: av1_dx_iface.c:get_entropy_context
Unexecuted instantiation: decodeframe.c:get_entropy_context
Unexecuted instantiation: decodemv.c:get_entropy_context
Unexecuted instantiation: decoder.c:get_entropy_context
Unexecuted instantiation: decodetxb.c:get_entropy_context
Unexecuted instantiation: detokenize.c:get_entropy_context
Unexecuted instantiation: obu.c:get_entropy_context
Unexecuted instantiation: av1_cx_iface.c:get_entropy_context
Unexecuted instantiation: av1_quantize.c:get_entropy_context
Unexecuted instantiation: bitstream.c:get_entropy_context
Unexecuted instantiation: encodemv.c:get_entropy_context
Unexecuted instantiation: encoder.c:get_entropy_context
Unexecuted instantiation: encoder_utils.c:get_entropy_context
encodetxb.c:get_entropy_context
Line
Count
Source
88
299k
                                      const ENTROPY_CONTEXT *l) {
89
299k
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
90
91
299k
  switch (tx_size) {
92
264k
    case TX_4X4:
93
264k
      above_ec = a[0] != 0;
94
264k
      left_ec = l[0] != 0;
95
264k
      break;
96
76
    case TX_4X8:
97
76
      above_ec = a[0] != 0;
98
76
      left_ec = !!*(const uint16_t *)l;
99
76
      break;
100
90
    case TX_8X4:
101
90
      above_ec = !!*(const uint16_t *)a;
102
90
      left_ec = l[0] != 0;
103
90
      break;
104
3.02k
    case TX_8X16:
105
3.02k
      above_ec = !!*(const uint16_t *)a;
106
3.02k
      left_ec = !!*(const uint32_t *)l;
107
3.02k
      break;
108
4.00k
    case TX_16X8:
109
4.00k
      above_ec = !!*(const uint32_t *)a;
110
4.00k
      left_ec = !!*(const uint16_t *)l;
111
4.00k
      break;
112
0
    case TX_16X32:
113
0
      above_ec = !!*(const uint32_t *)a;
114
0
      left_ec = !!*(const uint64_t *)l;
115
0
      break;
116
0
    case TX_32X16:
117
0
      above_ec = !!*(const uint64_t *)a;
118
0
      left_ec = !!*(const uint32_t *)l;
119
0
      break;
120
212
    case TX_8X8:
121
212
      above_ec = !!*(const uint16_t *)a;
122
212
      left_ec = !!*(const uint16_t *)l;
123
212
      break;
124
27.6k
    case TX_16X16:
125
27.6k
      above_ec = !!*(const uint32_t *)a;
126
27.6k
      left_ec = !!*(const uint32_t *)l;
127
27.6k
      break;
128
0
    case TX_32X32:
129
0
      above_ec = !!*(const uint64_t *)a;
130
0
      left_ec = !!*(const uint64_t *)l;
131
0
      break;
132
0
    case TX_64X64:
133
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
134
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
135
0
      break;
136
0
    case TX_32X64:
137
0
      above_ec = !!*(const uint64_t *)a;
138
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
139
0
      break;
140
0
    case TX_64X32:
141
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
142
0
      left_ec = !!*(const uint64_t *)l;
143
0
      break;
144
0
    case TX_4X16:
145
0
      above_ec = a[0] != 0;
146
0
      left_ec = !!*(const uint32_t *)l;
147
0
      break;
148
0
    case TX_16X4:
149
0
      above_ec = !!*(const uint32_t *)a;
150
0
      left_ec = l[0] != 0;
151
0
      break;
152
0
    case TX_8X32:
153
0
      above_ec = !!*(const uint16_t *)a;
154
0
      left_ec = !!*(const uint64_t *)l;
155
0
      break;
156
0
    case TX_32X8:
157
0
      above_ec = !!*(const uint64_t *)a;
158
0
      left_ec = !!*(const uint16_t *)l;
159
0
      break;
160
0
    case TX_16X64:
161
0
      above_ec = !!*(const uint32_t *)a;
162
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
163
0
      break;
164
0
    case TX_64X16:
165
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
166
0
      left_ec = !!*(const uint32_t *)l;
167
0
      break;
168
0
    default: assert(0 && "Invalid transform size."); break;
169
299k
  }
170
299k
  return combine_entropy_contexts(above_ec, left_ec);
171
299k
}
Unexecuted instantiation: ethread.c:get_entropy_context
Unexecuted instantiation: firstpass.c:get_entropy_context
Unexecuted instantiation: global_motion_facade.c:get_entropy_context
Unexecuted instantiation: hash_motion.c:get_entropy_context
Unexecuted instantiation: level.c:get_entropy_context
Unexecuted instantiation: lookahead.c:get_entropy_context
Unexecuted instantiation: mcomp.c:get_entropy_context
Unexecuted instantiation: mv_prec.c:get_entropy_context
Unexecuted instantiation: palette.c:get_entropy_context
Unexecuted instantiation: pass2_strategy.c:get_entropy_context
Unexecuted instantiation: pickcdef.c:get_entropy_context
Unexecuted instantiation: picklpf.c:get_entropy_context
Unexecuted instantiation: pickrst.c:get_entropy_context
Unexecuted instantiation: ratectrl.c:get_entropy_context
Unexecuted instantiation: rd.c:get_entropy_context
Unexecuted instantiation: rdopt.c:get_entropy_context
Unexecuted instantiation: reconinter_enc.c:get_entropy_context
Unexecuted instantiation: segmentation.c:get_entropy_context
Unexecuted instantiation: speed_features.c:get_entropy_context
Unexecuted instantiation: superres_scale.c:get_entropy_context
Unexecuted instantiation: svc_layercontext.c:get_entropy_context
Unexecuted instantiation: temporal_filter.c:get_entropy_context
Unexecuted instantiation: thirdpass.c:get_entropy_context
Unexecuted instantiation: tokenize.c:get_entropy_context
Unexecuted instantiation: tpl_model.c:get_entropy_context
tx_search.c:get_entropy_context
Line
Count
Source
88
815k
                                      const ENTROPY_CONTEXT *l) {
89
815k
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
90
91
815k
  switch (tx_size) {
92
662k
    case TX_4X4:
93
662k
      above_ec = a[0] != 0;
94
662k
      left_ec = l[0] != 0;
95
662k
      break;
96
9.18k
    case TX_4X8:
97
9.18k
      above_ec = a[0] != 0;
98
9.18k
      left_ec = !!*(const uint16_t *)l;
99
9.18k
      break;
100
13.3k
    case TX_8X4:
101
13.3k
      above_ec = !!*(const uint16_t *)a;
102
13.3k
      left_ec = l[0] != 0;
103
13.3k
      break;
104
9.03k
    case TX_8X16:
105
9.03k
      above_ec = !!*(const uint16_t *)a;
106
9.03k
      left_ec = !!*(const uint32_t *)l;
107
9.03k
      break;
108
12.5k
    case TX_16X8:
109
12.5k
      above_ec = !!*(const uint32_t *)a;
110
12.5k
      left_ec = !!*(const uint16_t *)l;
111
12.5k
      break;
112
0
    case TX_16X32:
113
0
      above_ec = !!*(const uint32_t *)a;
114
0
      left_ec = !!*(const uint64_t *)l;
115
0
      break;
116
0
    case TX_32X16:
117
0
      above_ec = !!*(const uint64_t *)a;
118
0
      left_ec = !!*(const uint32_t *)l;
119
0
      break;
120
26.3k
    case TX_8X8:
121
26.3k
      above_ec = !!*(const uint16_t *)a;
122
26.3k
      left_ec = !!*(const uint16_t *)l;
123
26.3k
      break;
124
82.4k
    case TX_16X16:
125
82.4k
      above_ec = !!*(const uint32_t *)a;
126
82.4k
      left_ec = !!*(const uint32_t *)l;
127
82.4k
      break;
128
0
    case TX_32X32:
129
0
      above_ec = !!*(const uint64_t *)a;
130
0
      left_ec = !!*(const uint64_t *)l;
131
0
      break;
132
0
    case TX_64X64:
133
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
134
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
135
0
      break;
136
0
    case TX_32X64:
137
0
      above_ec = !!*(const uint64_t *)a;
138
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
139
0
      break;
140
0
    case TX_64X32:
141
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
142
0
      left_ec = !!*(const uint64_t *)l;
143
0
      break;
144
0
    case TX_4X16:
145
0
      above_ec = a[0] != 0;
146
0
      left_ec = !!*(const uint32_t *)l;
147
0
      break;
148
0
    case TX_16X4:
149
0
      above_ec = !!*(const uint32_t *)a;
150
0
      left_ec = l[0] != 0;
151
0
      break;
152
0
    case TX_8X32:
153
0
      above_ec = !!*(const uint16_t *)a;
154
0
      left_ec = !!*(const uint64_t *)l;
155
0
      break;
156
0
    case TX_32X8:
157
0
      above_ec = !!*(const uint64_t *)a;
158
0
      left_ec = !!*(const uint16_t *)l;
159
0
      break;
160
0
    case TX_16X64:
161
0
      above_ec = !!*(const uint32_t *)a;
162
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
163
0
      break;
164
0
    case TX_64X16:
165
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
166
0
      left_ec = !!*(const uint32_t *)l;
167
0
      break;
168
0
    default: assert(0 && "Invalid transform size."); break;
169
815k
  }
170
815k
  return combine_entropy_contexts(above_ec, left_ec);
171
815k
}
Unexecuted instantiation: txb_rdopt.c:get_entropy_context
Unexecuted instantiation: intra_mode_search.c:get_entropy_context
Unexecuted instantiation: var_based_part.c:get_entropy_context
Unexecuted instantiation: av1_noise_estimate.c:get_entropy_context
Unexecuted instantiation: dwt.c:get_entropy_context
Unexecuted instantiation: aom_dsp_rtcd.c:get_entropy_context
Unexecuted instantiation: av1_rtcd.c:get_entropy_context
Unexecuted instantiation: aom_convolve.c:get_entropy_context
Unexecuted instantiation: blend_a64_mask.c:get_entropy_context
Unexecuted instantiation: avg.c:get_entropy_context
Unexecuted instantiation: blk_sse_sum.c:get_entropy_context
Unexecuted instantiation: noise_util.c:get_entropy_context
Unexecuted instantiation: psnr.c:get_entropy_context
Unexecuted instantiation: sad.c:get_entropy_context
Unexecuted instantiation: sad_av1.c:get_entropy_context
Unexecuted instantiation: sse.c:get_entropy_context
Unexecuted instantiation: sum_squares.c:get_entropy_context
Unexecuted instantiation: variance.c:get_entropy_context
Unexecuted instantiation: alloccommon.c:get_entropy_context
Unexecuted instantiation: av1_loopfilter.c:get_entropy_context
Unexecuted instantiation: blockd.c:get_entropy_context
Unexecuted instantiation: cdef.c:get_entropy_context
Unexecuted instantiation: cdef_block.c:get_entropy_context
Unexecuted instantiation: cfl.c:get_entropy_context
Unexecuted instantiation: debugmodes.c:get_entropy_context
Unexecuted instantiation: entropy.c:get_entropy_context
Unexecuted instantiation: entropymode.c:get_entropy_context
Unexecuted instantiation: entropymv.c:get_entropy_context
Unexecuted instantiation: idct.c:get_entropy_context
Unexecuted instantiation: mvref_common.c:get_entropy_context
Unexecuted instantiation: pred_common.c:get_entropy_context
Unexecuted instantiation: quant_common.c:get_entropy_context
Unexecuted instantiation: reconinter.c:get_entropy_context
Unexecuted instantiation: reconintra.c:get_entropy_context
Unexecuted instantiation: resize.c:get_entropy_context
Unexecuted instantiation: restoration.c:get_entropy_context
Unexecuted instantiation: scale.c:get_entropy_context
Unexecuted instantiation: scan.c:get_entropy_context
Unexecuted instantiation: seg_common.c:get_entropy_context
Unexecuted instantiation: thread_common.c:get_entropy_context
Unexecuted instantiation: tile_common.c:get_entropy_context
Unexecuted instantiation: txb_common.c:get_entropy_context
Unexecuted instantiation: warped_motion.c:get_entropy_context
Unexecuted instantiation: aq_complexity.c:get_entropy_context
Unexecuted instantiation: aq_cyclicrefresh.c:get_entropy_context
Unexecuted instantiation: aq_variance.c:get_entropy_context
Unexecuted instantiation: allintra_vis.c:get_entropy_context
Unexecuted instantiation: av1_fwd_txfm2d.c:get_entropy_context
Unexecuted instantiation: compound_type.c:get_entropy_context
Unexecuted instantiation: context_tree.c:get_entropy_context
Unexecuted instantiation: cost.c:get_entropy_context
Unexecuted instantiation: encodeframe.c:get_entropy_context
Unexecuted instantiation: encodeframe_utils.c:get_entropy_context
encodemb.c:get_entropy_context
Line
Count
Source
88
93.2k
                                      const ENTROPY_CONTEXT *l) {
89
93.2k
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
90
91
93.2k
  switch (tx_size) {
92
16.1k
    case TX_4X4:
93
16.1k
      above_ec = a[0] != 0;
94
16.1k
      left_ec = l[0] != 0;
95
16.1k
      break;
96
2.69k
    case TX_4X8:
97
2.69k
      above_ec = a[0] != 0;
98
2.69k
      left_ec = !!*(const uint16_t *)l;
99
2.69k
      break;
100
3.50k
    case TX_8X4:
101
3.50k
      above_ec = !!*(const uint16_t *)a;
102
3.50k
      left_ec = l[0] != 0;
103
3.50k
      break;
104
5.54k
    case TX_8X16:
105
5.54k
      above_ec = !!*(const uint16_t *)a;
106
5.54k
      left_ec = !!*(const uint32_t *)l;
107
5.54k
      break;
108
7.41k
    case TX_16X8:
109
7.41k
      above_ec = !!*(const uint32_t *)a;
110
7.41k
      left_ec = !!*(const uint16_t *)l;
111
7.41k
      break;
112
0
    case TX_16X32:
113
0
      above_ec = !!*(const uint32_t *)a;
114
0
      left_ec = !!*(const uint64_t *)l;
115
0
      break;
116
0
    case TX_32X16:
117
0
      above_ec = !!*(const uint64_t *)a;
118
0
      left_ec = !!*(const uint32_t *)l;
119
0
      break;
120
8.62k
    case TX_8X8:
121
8.62k
      above_ec = !!*(const uint16_t *)a;
122
8.62k
      left_ec = !!*(const uint16_t *)l;
123
8.62k
      break;
124
49.3k
    case TX_16X16:
125
49.3k
      above_ec = !!*(const uint32_t *)a;
126
49.3k
      left_ec = !!*(const uint32_t *)l;
127
49.3k
      break;
128
0
    case TX_32X32:
129
0
      above_ec = !!*(const uint64_t *)a;
130
0
      left_ec = !!*(const uint64_t *)l;
131
0
      break;
132
0
    case TX_64X64:
133
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
134
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
135
0
      break;
136
0
    case TX_32X64:
137
0
      above_ec = !!*(const uint64_t *)a;
138
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
139
0
      break;
140
0
    case TX_64X32:
141
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
142
0
      left_ec = !!*(const uint64_t *)l;
143
0
      break;
144
0
    case TX_4X16:
145
0
      above_ec = a[0] != 0;
146
0
      left_ec = !!*(const uint32_t *)l;
147
0
      break;
148
0
    case TX_16X4:
149
0
      above_ec = !!*(const uint32_t *)a;
150
0
      left_ec = l[0] != 0;
151
0
      break;
152
0
    case TX_8X32:
153
0
      above_ec = !!*(const uint16_t *)a;
154
0
      left_ec = !!*(const uint64_t *)l;
155
0
      break;
156
0
    case TX_32X8:
157
0
      above_ec = !!*(const uint64_t *)a;
158
0
      left_ec = !!*(const uint16_t *)l;
159
0
      break;
160
0
    case TX_16X64:
161
0
      above_ec = !!*(const uint32_t *)a;
162
0
      left_ec = !!(*(const uint64_t *)l | *(const uint64_t *)(l + 8));
163
0
      break;
164
0
    case TX_64X16:
165
0
      above_ec = !!(*(const uint64_t *)a | *(const uint64_t *)(a + 8));
166
0
      left_ec = !!*(const uint32_t *)l;
167
0
      break;
168
0
    default: assert(0 && "Invalid transform size."); break;
169
93.2k
  }
170
93.2k
  return combine_entropy_contexts(above_ec, left_ec);
171
93.2k
}
Unexecuted instantiation: encode_strategy.c:get_entropy_context
Unexecuted instantiation: global_motion.c:get_entropy_context
Unexecuted instantiation: gop_structure.c:get_entropy_context
Unexecuted instantiation: hybrid_fwd_txfm.c:get_entropy_context
Unexecuted instantiation: interp_search.c:get_entropy_context
Unexecuted instantiation: ml.c:get_entropy_context
Unexecuted instantiation: motion_search_facade.c:get_entropy_context
Unexecuted instantiation: partition_search.c:get_entropy_context
Unexecuted instantiation: partition_strategy.c:get_entropy_context
Unexecuted instantiation: nonrd_pickmode.c:get_entropy_context
Unexecuted instantiation: wedge_utils.c:get_entropy_context
Unexecuted instantiation: blend_a64_hmask.c:get_entropy_context
Unexecuted instantiation: blend_a64_vmask.c:get_entropy_context
Unexecuted instantiation: intrapred.c:get_entropy_context
Unexecuted instantiation: loopfilter.c:get_entropy_context
Unexecuted instantiation: subtract.c:get_entropy_context
Unexecuted instantiation: fwd_txfm.c:get_entropy_context
Unexecuted instantiation: av1_inv_txfm2d.c:get_entropy_context
Unexecuted instantiation: av1_txfm.c:get_entropy_context
Unexecuted instantiation: convolve.c:get_entropy_context
Unexecuted instantiation: av1_fwd_txfm1d.c:get_entropy_context
Unexecuted instantiation: cnn.c:get_entropy_context
Unexecuted instantiation: corner_match.c:get_entropy_context
Unexecuted instantiation: av1_inv_txfm1d.c:get_entropy_context
172
173
13.5M
static INLINE TX_SIZE get_txsize_entropy_ctx(TX_SIZE txsize) {
174
13.5M
  return (TX_SIZE)((txsize_sqr_map[txsize] + txsize_sqr_up_map[txsize] + 1) >>
175
13.5M
                   1);
176
13.5M
}
Unexecuted instantiation: av1_dx_iface.c:get_txsize_entropy_ctx
Unexecuted instantiation: decodeframe.c:get_txsize_entropy_ctx
Unexecuted instantiation: decodemv.c:get_txsize_entropy_ctx
Unexecuted instantiation: decoder.c:get_txsize_entropy_ctx
Unexecuted instantiation: decodetxb.c:get_txsize_entropy_ctx
Unexecuted instantiation: detokenize.c:get_txsize_entropy_ctx
Unexecuted instantiation: obu.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_cx_iface.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_quantize.c:get_txsize_entropy_ctx
Unexecuted instantiation: bitstream.c:get_txsize_entropy_ctx
Unexecuted instantiation: encodemv.c:get_txsize_entropy_ctx
Unexecuted instantiation: encoder.c:get_txsize_entropy_ctx
Unexecuted instantiation: encoder_utils.c:get_txsize_entropy_ctx
encodetxb.c:get_txsize_entropy_ctx
Line
Count
Source
173
1.69M
static INLINE TX_SIZE get_txsize_entropy_ctx(TX_SIZE txsize) {
174
1.69M
  return (TX_SIZE)((txsize_sqr_map[txsize] + txsize_sqr_up_map[txsize] + 1) >>
175
1.69M
                   1);
176
1.69M
}
Unexecuted instantiation: ethread.c:get_txsize_entropy_ctx
Unexecuted instantiation: firstpass.c:get_txsize_entropy_ctx
Unexecuted instantiation: global_motion_facade.c:get_txsize_entropy_ctx
Unexecuted instantiation: hash_motion.c:get_txsize_entropy_ctx
Unexecuted instantiation: level.c:get_txsize_entropy_ctx
Unexecuted instantiation: lookahead.c:get_txsize_entropy_ctx
Unexecuted instantiation: mcomp.c:get_txsize_entropy_ctx
Unexecuted instantiation: mv_prec.c:get_txsize_entropy_ctx
Unexecuted instantiation: palette.c:get_txsize_entropy_ctx
Unexecuted instantiation: pass2_strategy.c:get_txsize_entropy_ctx
Unexecuted instantiation: pickcdef.c:get_txsize_entropy_ctx
Unexecuted instantiation: picklpf.c:get_txsize_entropy_ctx
Unexecuted instantiation: pickrst.c:get_txsize_entropy_ctx
Unexecuted instantiation: ratectrl.c:get_txsize_entropy_ctx
Unexecuted instantiation: rd.c:get_txsize_entropy_ctx
Unexecuted instantiation: rdopt.c:get_txsize_entropy_ctx
Unexecuted instantiation: reconinter_enc.c:get_txsize_entropy_ctx
Unexecuted instantiation: segmentation.c:get_txsize_entropy_ctx
Unexecuted instantiation: speed_features.c:get_txsize_entropy_ctx
Unexecuted instantiation: superres_scale.c:get_txsize_entropy_ctx
Unexecuted instantiation: svc_layercontext.c:get_txsize_entropy_ctx
Unexecuted instantiation: temporal_filter.c:get_txsize_entropy_ctx
Unexecuted instantiation: thirdpass.c:get_txsize_entropy_ctx
Unexecuted instantiation: tokenize.c:get_txsize_entropy_ctx
Unexecuted instantiation: tpl_model.c:get_txsize_entropy_ctx
Unexecuted instantiation: tx_search.c:get_txsize_entropy_ctx
txb_rdopt.c:get_txsize_entropy_ctx
Line
Count
Source
173
10.9M
static INLINE TX_SIZE get_txsize_entropy_ctx(TX_SIZE txsize) {
174
10.9M
  return (TX_SIZE)((txsize_sqr_map[txsize] + txsize_sqr_up_map[txsize] + 1) >>
175
10.9M
                   1);
176
10.9M
}
Unexecuted instantiation: intra_mode_search.c:get_txsize_entropy_ctx
Unexecuted instantiation: var_based_part.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_noise_estimate.c:get_txsize_entropy_ctx
Unexecuted instantiation: dwt.c:get_txsize_entropy_ctx
Unexecuted instantiation: aom_dsp_rtcd.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_rtcd.c:get_txsize_entropy_ctx
Unexecuted instantiation: aom_convolve.c:get_txsize_entropy_ctx
Unexecuted instantiation: blend_a64_mask.c:get_txsize_entropy_ctx
Unexecuted instantiation: avg.c:get_txsize_entropy_ctx
Unexecuted instantiation: blk_sse_sum.c:get_txsize_entropy_ctx
Unexecuted instantiation: noise_util.c:get_txsize_entropy_ctx
Unexecuted instantiation: psnr.c:get_txsize_entropy_ctx
Unexecuted instantiation: sad.c:get_txsize_entropy_ctx
Unexecuted instantiation: sad_av1.c:get_txsize_entropy_ctx
Unexecuted instantiation: sse.c:get_txsize_entropy_ctx
Unexecuted instantiation: sum_squares.c:get_txsize_entropy_ctx
Unexecuted instantiation: variance.c:get_txsize_entropy_ctx
Unexecuted instantiation: alloccommon.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_loopfilter.c:get_txsize_entropy_ctx
Unexecuted instantiation: blockd.c:get_txsize_entropy_ctx
Unexecuted instantiation: cdef.c:get_txsize_entropy_ctx
Unexecuted instantiation: cdef_block.c:get_txsize_entropy_ctx
Unexecuted instantiation: cfl.c:get_txsize_entropy_ctx
Unexecuted instantiation: debugmodes.c:get_txsize_entropy_ctx
Unexecuted instantiation: entropy.c:get_txsize_entropy_ctx
Unexecuted instantiation: entropymode.c:get_txsize_entropy_ctx
Unexecuted instantiation: entropymv.c:get_txsize_entropy_ctx
Unexecuted instantiation: idct.c:get_txsize_entropy_ctx
Unexecuted instantiation: mvref_common.c:get_txsize_entropy_ctx
Unexecuted instantiation: pred_common.c:get_txsize_entropy_ctx
Unexecuted instantiation: quant_common.c:get_txsize_entropy_ctx
Unexecuted instantiation: reconinter.c:get_txsize_entropy_ctx
Unexecuted instantiation: reconintra.c:get_txsize_entropy_ctx
Unexecuted instantiation: resize.c:get_txsize_entropy_ctx
Unexecuted instantiation: restoration.c:get_txsize_entropy_ctx
Unexecuted instantiation: scale.c:get_txsize_entropy_ctx
Unexecuted instantiation: scan.c:get_txsize_entropy_ctx
Unexecuted instantiation: seg_common.c:get_txsize_entropy_ctx
Unexecuted instantiation: thread_common.c:get_txsize_entropy_ctx
Unexecuted instantiation: tile_common.c:get_txsize_entropy_ctx
Unexecuted instantiation: txb_common.c:get_txsize_entropy_ctx
Unexecuted instantiation: warped_motion.c:get_txsize_entropy_ctx
Unexecuted instantiation: aq_complexity.c:get_txsize_entropy_ctx
Unexecuted instantiation: aq_cyclicrefresh.c:get_txsize_entropy_ctx
Unexecuted instantiation: aq_variance.c:get_txsize_entropy_ctx
Unexecuted instantiation: allintra_vis.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_fwd_txfm2d.c:get_txsize_entropy_ctx
Unexecuted instantiation: compound_type.c:get_txsize_entropy_ctx
Unexecuted instantiation: context_tree.c:get_txsize_entropy_ctx
Unexecuted instantiation: cost.c:get_txsize_entropy_ctx
Unexecuted instantiation: encodeframe.c:get_txsize_entropy_ctx
Unexecuted instantiation: encodeframe_utils.c:get_txsize_entropy_ctx
encodemb.c:get_txsize_entropy_ctx
Line
Count
Source
173
887k
static INLINE TX_SIZE get_txsize_entropy_ctx(TX_SIZE txsize) {
174
887k
  return (TX_SIZE)((txsize_sqr_map[txsize] + txsize_sqr_up_map[txsize] + 1) >>
175
887k
                   1);
176
887k
}
Unexecuted instantiation: encode_strategy.c:get_txsize_entropy_ctx
Unexecuted instantiation: global_motion.c:get_txsize_entropy_ctx
Unexecuted instantiation: gop_structure.c:get_txsize_entropy_ctx
Unexecuted instantiation: hybrid_fwd_txfm.c:get_txsize_entropy_ctx
Unexecuted instantiation: interp_search.c:get_txsize_entropy_ctx
Unexecuted instantiation: ml.c:get_txsize_entropy_ctx
Unexecuted instantiation: motion_search_facade.c:get_txsize_entropy_ctx
Unexecuted instantiation: partition_search.c:get_txsize_entropy_ctx
Unexecuted instantiation: partition_strategy.c:get_txsize_entropy_ctx
Unexecuted instantiation: nonrd_pickmode.c:get_txsize_entropy_ctx
Unexecuted instantiation: wedge_utils.c:get_txsize_entropy_ctx
Unexecuted instantiation: blend_a64_hmask.c:get_txsize_entropy_ctx
Unexecuted instantiation: blend_a64_vmask.c:get_txsize_entropy_ctx
Unexecuted instantiation: intrapred.c:get_txsize_entropy_ctx
Unexecuted instantiation: loopfilter.c:get_txsize_entropy_ctx
Unexecuted instantiation: subtract.c:get_txsize_entropy_ctx
Unexecuted instantiation: fwd_txfm.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_inv_txfm2d.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_txfm.c:get_txsize_entropy_ctx
Unexecuted instantiation: convolve.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_fwd_txfm1d.c:get_txsize_entropy_ctx
Unexecuted instantiation: cnn.c:get_txsize_entropy_ctx
Unexecuted instantiation: corner_match.c:get_txsize_entropy_ctx
Unexecuted instantiation: av1_inv_txfm1d.c:get_txsize_entropy_ctx
177
178
#ifdef __cplusplus
179
}  // extern "C"
180
#endif
181
182
#endif  // AOM_AV1_COMMON_ENTROPY_H_