Coverage Report

Created: 2026-02-14 06:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libvpx/vp9/common/vp9_entropy.h
Line
Count
Source
1
/*
2
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3
 *
4
 *  Use of this source code is governed by a BSD-style license
5
 *  that can be found in the LICENSE file in the root of the source
6
 *  tree. An additional intellectual property rights grant can be found
7
 *  in the file PATENTS.  All contributing project authors may
8
 *  be found in the AUTHORS file in the root of the source tree.
9
 */
10
11
#ifndef VPX_VP9_COMMON_VP9_ENTROPY_H_
12
#define VPX_VP9_COMMON_VP9_ENTROPY_H_
13
14
#include "vpx/vpx_integer.h"
15
#include "vpx_dsp/prob.h"
16
17
#include "vp9/common/vp9_common.h"
18
#include "vp9/common/vp9_enums.h"
19
20
#ifdef __cplusplus
21
extern "C" {
22
#endif
23
24
96.1M
#define DIFF_UPDATE_PROB 252
25
26
// Coefficient token alphabet
27
838M
#define ZERO_TOKEN 0        // 0     Extra Bits 0+0
28
547M
#define ONE_TOKEN 1         // 1     Extra Bits 0+1
29
1.93G
#define TWO_TOKEN 2         // 2     Extra Bits 0+1
30
188M
#define THREE_TOKEN 3       // 3     Extra Bits 0+1
31
#define FOUR_TOKEN 4        // 4     Extra Bits 0+1
32
73.7M
#define CATEGORY1_TOKEN 5   // 5-6   Extra Bits 1+1
33
#define CATEGORY2_TOKEN 6   // 7-10  Extra Bits 2+1
34
#define CATEGORY3_TOKEN 7   // 11-18 Extra Bits 3+1
35
#define CATEGORY4_TOKEN 8   // 19-34 Extra Bits 4+1
36
#define CATEGORY5_TOKEN 9   // 35-66 Extra Bits 5+1
37
196M
#define CATEGORY6_TOKEN 10  // 67+   Extra Bits 14+1
38
7.57G
#define EOB_TOKEN 11        // EOB   Extra Bits 0+0
39
#define MAX_TOKEN EOB_TOKEN
40
41
0
#define ENTROPY_TOKENS 12
42
43
1.21G
#define ENTROPY_NODES 11
44
45
#define MAX_ENERGY_CLASS 5
46
DECLARE_ALIGNED(16, extern const uint8_t, vp9_pt_energy_class[ENTROPY_TOKENS]);
47
48
3.47M
#define CAT1_MIN_VAL 5
49
2.60M
#define CAT2_MIN_VAL 7
50
1.73M
#define CAT3_MIN_VAL 11
51
1.05M
#define CAT4_MIN_VAL 19
52
756k
#define CAT5_MIN_VAL 35
53
92.8G
#define CAT6_MIN_VAL 67
54
55
// Extra bit probabilities.
56
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat1_prob[1]);
57
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat2_prob[2]);
58
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat3_prob[3]);
59
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat4_prob[4]);
60
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat5_prob[5]);
61
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat6_prob[14]);
62
63
#if CONFIG_VP9_HIGHBITDEPTH
64
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat1_prob_high10[1]);
65
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat2_prob_high10[2]);
66
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat3_prob_high10[3]);
67
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat4_prob_high10[4]);
68
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat5_prob_high10[5]);
69
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat6_prob_high10[16]);
70
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat1_prob_high12[1]);
71
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat2_prob_high12[2]);
72
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat3_prob_high12[3]);
73
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat4_prob_high12[4]);
74
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat5_prob_high12[5]);
75
DECLARE_ALIGNED(16, extern const uint8_t, vp9_cat6_prob_high12[18]);
76
#endif  // CONFIG_VP9_HIGHBITDEPTH
77
78
236M
#define EOB_MODEL_TOKEN 3
79
80
#define DCT_MAX_VALUE 16384
81
#if CONFIG_VP9_HIGHBITDEPTH
82
#define DCT_MAX_VALUE_HIGH10 65536
83
#define DCT_MAX_VALUE_HIGH12 262144
84
#endif  // CONFIG_VP9_HIGHBITDEPTH
85
86
/* Coefficients are predicted via a 3-dimensional probability table. */
87
88
18.5M
#define REF_TYPES 2  // intra=0, inter=1
89
90
/* Middle dimension reflects the coefficient position within the transform. */
91
86.3M
#define COEF_BANDS 6
92
93
/* Inside dimension is measure of nearby complexity, that reflects the energy
94
   of nearby coefficients are nonzero.  For the first coefficient (DC, unless
95
   block type is 0), we look at the (already encoded) blocks above and to the
96
   left of the current block.  The context index is then the number (0,1,or 2)
97
   of these blocks having nonzero coefficients.
98
   After decoding a coefficient, the measure is determined by the size of the
99
   most recently decoded coefficient.
100
   Note that the intuitive meaning of this measure changes as coefficients
101
   are decoded, e.g., prior to the first token, a zero means that my neighbors
102
   are empty while, after the first token, because of the use of end-of-block,
103
   a zero means we just decoded a zero and hence guarantees that a non-zero
104
   coefficient will appear later in this block.  However, this shift
105
   in meaning is perfectly OK because our context depends also on the
106
   coefficient band (and since zigzag positions 0, 1, and 2 are in
107
   distinct bands). */
108
109
436M
#define COEFF_CONTEXTS 6
110
453M
#define BAND_COEFF_CONTEXTS(band) ((band) == 0 ? 3 : COEFF_CONTEXTS)
111
112
// #define ENTROPY_STATS
113
114
typedef unsigned int vp9_coeff_count[REF_TYPES][COEF_BANDS][COEFF_CONTEXTS]
115
                                    [ENTROPY_TOKENS];
116
typedef unsigned int vp9_coeff_stats[REF_TYPES][COEF_BANDS][COEFF_CONTEXTS]
117
                                    [ENTROPY_NODES][2];
118
119
#define SUBEXP_PARAM 4   /* Subexponential code parameter */
120
#define MODULUS_PARAM 13 /* Modulus parameter */
121
122
struct VP9Common;
123
void vp9_default_coef_probs(struct VP9Common *cm);
124
void vp9_adapt_coef_probs(struct VP9Common *cm);
125
126
// This is the index in the scan order beyond which all coefficients for
127
// 8x8 transform and above are in the top band.
128
// This macro is currently unused but may be used by certain implementations
129
#define MAXBAND_INDEX 21
130
131
DECLARE_ALIGNED(16, extern const uint8_t, vp9_coefband_trans_8x8plus[1024]);
132
DECLARE_ALIGNED(16, extern const uint8_t, vp9_coefband_trans_4x4[16]);
133
134
613M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
613M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
613M
                           : vp9_coefband_trans_8x8plus;
137
613M
}
Unexecuted instantiation: yv12config.c:get_band_translate
Unexecuted instantiation: quantize.c:get_band_translate
Unexecuted instantiation: quantize_sse2.c:get_band_translate
Unexecuted instantiation: quantize_ssse3.c:get_band_translate
Unexecuted instantiation: quantize_avx.c:get_band_translate
Unexecuted instantiation: quantize_avx2.c:get_band_translate
Unexecuted instantiation: highbd_quantize_intrin_sse2.c:get_band_translate
Unexecuted instantiation: highbd_quantize_intrin_avx2.c:get_band_translate
Unexecuted instantiation: vp9_cx_iface.c:get_band_translate
Unexecuted instantiation: vp9_firstpass.c:get_band_translate
Unexecuted instantiation: vp9_mcomp.c:get_band_translate
Unexecuted instantiation: vp9_encoder.c:get_band_translate
Unexecuted instantiation: vp9_picklpf.c:get_band_translate
Unexecuted instantiation: vp9_quantize.c:get_band_translate
Unexecuted instantiation: vp9_ratectrl.c:get_band_translate
Unexecuted instantiation: vp9_rd.c:get_band_translate
Unexecuted instantiation: vp9_segmentation.c:get_band_translate
Unexecuted instantiation: vp9_speed_features.c:get_band_translate
Unexecuted instantiation: vp9_svc_layercontext.c:get_band_translate
vp9_tokenize.c:get_band_translate
Line
Count
Source
134
13.9M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
13.9M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
13.9M
                           : vp9_coefband_trans_8x8plus;
137
13.9M
}
Unexecuted instantiation: vp9_aq_variance.c:get_band_translate
Unexecuted instantiation: vp9_aq_360.c:get_band_translate
Unexecuted instantiation: vp9_aq_cyclicrefresh.c:get_band_translate
Unexecuted instantiation: vp9_aq_complexity.c:get_band_translate
Unexecuted instantiation: vp9_alt_ref_aq.c:get_band_translate
Unexecuted instantiation: vp9_skin_detection.c:get_band_translate
Unexecuted instantiation: vp9_noise_estimate.c:get_band_translate
Unexecuted instantiation: vp9_ext_ratectrl.c:get_band_translate
Unexecuted instantiation: vp9_temporal_filter.c:get_band_translate
Unexecuted instantiation: vp9_tpl_model.c:get_band_translate
Unexecuted instantiation: vp9_mbgraph.c:get_band_translate
Unexecuted instantiation: vp9_alloccommon.c:get_band_translate
Unexecuted instantiation: vp9_blockd.c:get_band_translate
Unexecuted instantiation: vp9_entropy.c:get_band_translate
Unexecuted instantiation: vp9_entropymode.c:get_band_translate
Unexecuted instantiation: vp9_entropymv.c:get_band_translate
Unexecuted instantiation: vp9_idct.c:get_band_translate
Unexecuted instantiation: vp9_seg_common.c:get_band_translate
Unexecuted instantiation: vp9_tile_common.c:get_band_translate
Unexecuted instantiation: vp9_loopfilter.c:get_band_translate
Unexecuted instantiation: vp9_thread_common.c:get_band_translate
Unexecuted instantiation: vp9_reconinter.c:get_band_translate
Unexecuted instantiation: vp9_reconintra.c:get_band_translate
Unexecuted instantiation: vp9_scan.c:get_band_translate
Unexecuted instantiation: vp9_bitstream.c:get_band_translate
Unexecuted instantiation: vp9_context_tree.c:get_band_translate
Unexecuted instantiation: vp9_dct.c:get_band_translate
Unexecuted instantiation: vp9_encodeframe.c:get_band_translate
vp9_encodemb.c:get_band_translate
Line
Count
Source
134
214M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
214M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
214M
                           : vp9_coefband_trans_8x8plus;
137
214M
}
Unexecuted instantiation: vp9_encodemv.c:get_band_translate
Unexecuted instantiation: vp9_ethread.c:get_band_translate
Unexecuted instantiation: vp9_frame_scale.c:get_band_translate
Unexecuted instantiation: vp9_lookahead.c:get_band_translate
Unexecuted instantiation: vp9_multi_thread.c:get_band_translate
Unexecuted instantiation: vp9_rdopt.c:get_band_translate
Unexecuted instantiation: vp9_pickmode.c:get_band_translate
Unexecuted instantiation: vp9_subexp.c:get_band_translate
Unexecuted instantiation: temporal_filter_sse4.c:get_band_translate
Unexecuted instantiation: vp9_quantize_sse2.c:get_band_translate
Unexecuted instantiation: vp9_quantize_ssse3.c:get_band_translate
Unexecuted instantiation: vp9_quantize_avx2.c:get_band_translate
Unexecuted instantiation: highbd_temporal_filter_sse4.c:get_band_translate
Unexecuted instantiation: vp9_pred_common.c:get_band_translate
Unexecuted instantiation: vp9_mvref_common.c:get_band_translate
Unexecuted instantiation: vp9_dx_iface.c:get_band_translate
Unexecuted instantiation: vp9_decodeframe.c:get_band_translate
vp9_detokenize.c:get_band_translate
Line
Count
Source
134
384M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
384M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
384M
                           : vp9_coefband_trans_8x8plus;
137
384M
}
Unexecuted instantiation: vp9_decoder.c:get_band_translate
Unexecuted instantiation: vp9_dsubexp.c:get_band_translate
Unexecuted instantiation: vp9_decodemv.c:get_band_translate
138
139
// 128 lists of probabilities are stored for the following ONE node probs:
140
// 1, 3, 5, 7, ..., 253, 255
141
// In between probabilities are interpolated linearly
142
#define COEFF_PROB_MODELS 255
143
144
1.92G
#define UNCONSTRAINED_NODES 3
145
146
393M
#define PIVOT_NODE 2  // which node is pivot
147
148
105M
#define MODEL_NODES (ENTROPY_NODES - UNCONSTRAINED_NODES)
149
extern const vpx_tree_index vp9_coef_con_tree[TREE_SIZE(ENTROPY_TOKENS)];
150
extern const vpx_prob vp9_pareto8_full[COEFF_PROB_MODELS][MODEL_NODES];
151
152
typedef vpx_prob vp9_coeff_probs_model[REF_TYPES][COEF_BANDS][COEFF_CONTEXTS]
153
                                      [UNCONSTRAINED_NODES];
154
155
typedef unsigned int vp9_coeff_count_model[REF_TYPES][COEF_BANDS]
156
                                          [COEFF_CONTEXTS]
157
                                          [UNCONSTRAINED_NODES + 1];
158
159
void vp9_model_to_full_probs(const vpx_prob *model, vpx_prob *full);
160
161
typedef char ENTROPY_CONTEXT;
162
163
static INLINE int combine_entropy_contexts(ENTROPY_CONTEXT a,
164
644M
                                           ENTROPY_CONTEXT b) {
165
644M
  return (a != 0) + (b != 0);
166
644M
}
Unexecuted instantiation: yv12config.c:combine_entropy_contexts
Unexecuted instantiation: quantize.c:combine_entropy_contexts
Unexecuted instantiation: quantize_sse2.c:combine_entropy_contexts
Unexecuted instantiation: quantize_ssse3.c:combine_entropy_contexts
Unexecuted instantiation: quantize_avx.c:combine_entropy_contexts
Unexecuted instantiation: quantize_avx2.c:combine_entropy_contexts
Unexecuted instantiation: highbd_quantize_intrin_sse2.c:combine_entropy_contexts
Unexecuted instantiation: highbd_quantize_intrin_avx2.c:combine_entropy_contexts
Unexecuted instantiation: vp9_cx_iface.c:combine_entropy_contexts
Unexecuted instantiation: vp9_firstpass.c:combine_entropy_contexts
Unexecuted instantiation: vp9_mcomp.c:combine_entropy_contexts
Unexecuted instantiation: vp9_encoder.c:combine_entropy_contexts
Unexecuted instantiation: vp9_picklpf.c:combine_entropy_contexts
Unexecuted instantiation: vp9_quantize.c:combine_entropy_contexts
Unexecuted instantiation: vp9_ratectrl.c:combine_entropy_contexts
Unexecuted instantiation: vp9_rd.c:combine_entropy_contexts
Unexecuted instantiation: vp9_segmentation.c:combine_entropy_contexts
Unexecuted instantiation: vp9_speed_features.c:combine_entropy_contexts
Unexecuted instantiation: vp9_svc_layercontext.c:combine_entropy_contexts
vp9_tokenize.c:combine_entropy_contexts
Line
Count
Source
164
13.9M
                                           ENTROPY_CONTEXT b) {
165
13.9M
  return (a != 0) + (b != 0);
166
13.9M
}
Unexecuted instantiation: vp9_aq_variance.c:combine_entropy_contexts
Unexecuted instantiation: vp9_aq_360.c:combine_entropy_contexts
Unexecuted instantiation: vp9_aq_cyclicrefresh.c:combine_entropy_contexts
Unexecuted instantiation: vp9_aq_complexity.c:combine_entropy_contexts
Unexecuted instantiation: vp9_alt_ref_aq.c:combine_entropy_contexts
Unexecuted instantiation: vp9_skin_detection.c:combine_entropy_contexts
Unexecuted instantiation: vp9_noise_estimate.c:combine_entropy_contexts
Unexecuted instantiation: vp9_ext_ratectrl.c:combine_entropy_contexts
Unexecuted instantiation: vp9_temporal_filter.c:combine_entropy_contexts
Unexecuted instantiation: vp9_tpl_model.c:combine_entropy_contexts
Unexecuted instantiation: vp9_mbgraph.c:combine_entropy_contexts
Unexecuted instantiation: vp9_alloccommon.c:combine_entropy_contexts
Unexecuted instantiation: vp9_blockd.c:combine_entropy_contexts
Unexecuted instantiation: vp9_entropy.c:combine_entropy_contexts
Unexecuted instantiation: vp9_entropymode.c:combine_entropy_contexts
Unexecuted instantiation: vp9_entropymv.c:combine_entropy_contexts
Unexecuted instantiation: vp9_idct.c:combine_entropy_contexts
Unexecuted instantiation: vp9_seg_common.c:combine_entropy_contexts
Unexecuted instantiation: vp9_tile_common.c:combine_entropy_contexts
Unexecuted instantiation: vp9_loopfilter.c:combine_entropy_contexts
Unexecuted instantiation: vp9_thread_common.c:combine_entropy_contexts
Unexecuted instantiation: vp9_reconinter.c:combine_entropy_contexts
Unexecuted instantiation: vp9_reconintra.c:combine_entropy_contexts
Unexecuted instantiation: vp9_scan.c:combine_entropy_contexts
Unexecuted instantiation: vp9_bitstream.c:combine_entropy_contexts
Unexecuted instantiation: vp9_context_tree.c:combine_entropy_contexts
Unexecuted instantiation: vp9_dct.c:combine_entropy_contexts
Unexecuted instantiation: vp9_encodeframe.c:combine_entropy_contexts
vp9_encodemb.c:combine_entropy_contexts
Line
Count
Source
164
136M
                                           ENTROPY_CONTEXT b) {
165
136M
  return (a != 0) + (b != 0);
166
136M
}
Unexecuted instantiation: vp9_encodemv.c:combine_entropy_contexts
Unexecuted instantiation: vp9_ethread.c:combine_entropy_contexts
Unexecuted instantiation: vp9_frame_scale.c:combine_entropy_contexts
Unexecuted instantiation: vp9_lookahead.c:combine_entropy_contexts
Unexecuted instantiation: vp9_multi_thread.c:combine_entropy_contexts
vp9_rdopt.c:combine_entropy_contexts
Line
Count
Source
164
494M
                                           ENTROPY_CONTEXT b) {
165
494M
  return (a != 0) + (b != 0);
166
494M
}
Unexecuted instantiation: vp9_pickmode.c:combine_entropy_contexts
Unexecuted instantiation: vp9_subexp.c:combine_entropy_contexts
Unexecuted instantiation: temporal_filter_sse4.c:combine_entropy_contexts
Unexecuted instantiation: vp9_quantize_sse2.c:combine_entropy_contexts
Unexecuted instantiation: vp9_quantize_ssse3.c:combine_entropy_contexts
Unexecuted instantiation: vp9_quantize_avx2.c:combine_entropy_contexts
Unexecuted instantiation: highbd_temporal_filter_sse4.c:combine_entropy_contexts
Unexecuted instantiation: vp9_pred_common.c:combine_entropy_contexts
Unexecuted instantiation: vp9_mvref_common.c:combine_entropy_contexts
Unexecuted instantiation: vp9_dx_iface.c:combine_entropy_contexts
Unexecuted instantiation: vp9_decodeframe.c:combine_entropy_contexts
Unexecuted instantiation: vp9_detokenize.c:combine_entropy_contexts
Unexecuted instantiation: vp9_decoder.c:combine_entropy_contexts
Unexecuted instantiation: vp9_dsubexp.c:combine_entropy_contexts
Unexecuted instantiation: vp9_decodemv.c:combine_entropy_contexts
167
168
static INLINE int get_entropy_context(TX_SIZE tx_size, const ENTROPY_CONTEXT *a,
169
13.9M
                                      const ENTROPY_CONTEXT *l) {
170
13.9M
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
171
172
13.9M
  switch (tx_size) {
173
8.94M
    case TX_4X4:
174
8.94M
      above_ec = a[0] != 0;
175
8.94M
      left_ec = l[0] != 0;
176
8.94M
      break;
177
4.84M
    case TX_8X8:
178
4.84M
      above_ec = !!*(const uint16_t *)a;
179
4.84M
      left_ec = !!*(const uint16_t *)l;
180
4.84M
      break;
181
120k
    case TX_16X16:
182
120k
      above_ec = !!*(const uint32_t *)a;
183
120k
      left_ec = !!*(const uint32_t *)l;
184
120k
      break;
185
12.8k
    case TX_32X32:
186
12.8k
      above_ec = !!*(const uint64_t *)a;
187
12.8k
      left_ec = !!*(const uint64_t *)l;
188
12.8k
      break;
189
0
    default: assert(0 && "Invalid transform size."); break;
190
13.9M
  }
191
192
13.9M
  return combine_entropy_contexts(above_ec, left_ec);
193
13.9M
}
Unexecuted instantiation: yv12config.c:get_entropy_context
Unexecuted instantiation: quantize.c:get_entropy_context
Unexecuted instantiation: quantize_sse2.c:get_entropy_context
Unexecuted instantiation: quantize_ssse3.c:get_entropy_context
Unexecuted instantiation: quantize_avx.c:get_entropy_context
Unexecuted instantiation: quantize_avx2.c:get_entropy_context
Unexecuted instantiation: highbd_quantize_intrin_sse2.c:get_entropy_context
Unexecuted instantiation: highbd_quantize_intrin_avx2.c:get_entropy_context
Unexecuted instantiation: vp9_cx_iface.c:get_entropy_context
Unexecuted instantiation: vp9_firstpass.c:get_entropy_context
Unexecuted instantiation: vp9_mcomp.c:get_entropy_context
Unexecuted instantiation: vp9_encoder.c:get_entropy_context
Unexecuted instantiation: vp9_picklpf.c:get_entropy_context
Unexecuted instantiation: vp9_quantize.c:get_entropy_context
Unexecuted instantiation: vp9_ratectrl.c:get_entropy_context
Unexecuted instantiation: vp9_rd.c:get_entropy_context
Unexecuted instantiation: vp9_segmentation.c:get_entropy_context
Unexecuted instantiation: vp9_speed_features.c:get_entropy_context
Unexecuted instantiation: vp9_svc_layercontext.c:get_entropy_context
vp9_tokenize.c:get_entropy_context
Line
Count
Source
169
13.9M
                                      const ENTROPY_CONTEXT *l) {
170
13.9M
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
171
172
13.9M
  switch (tx_size) {
173
8.94M
    case TX_4X4:
174
8.94M
      above_ec = a[0] != 0;
175
8.94M
      left_ec = l[0] != 0;
176
8.94M
      break;
177
4.84M
    case TX_8X8:
178
4.84M
      above_ec = !!*(const uint16_t *)a;
179
4.84M
      left_ec = !!*(const uint16_t *)l;
180
4.84M
      break;
181
120k
    case TX_16X16:
182
120k
      above_ec = !!*(const uint32_t *)a;
183
120k
      left_ec = !!*(const uint32_t *)l;
184
120k
      break;
185
12.8k
    case TX_32X32:
186
12.8k
      above_ec = !!*(const uint64_t *)a;
187
12.8k
      left_ec = !!*(const uint64_t *)l;
188
12.8k
      break;
189
0
    default: assert(0 && "Invalid transform size."); break;
190
13.9M
  }
191
192
13.9M
  return combine_entropy_contexts(above_ec, left_ec);
193
13.9M
}
Unexecuted instantiation: vp9_aq_variance.c:get_entropy_context
Unexecuted instantiation: vp9_aq_360.c:get_entropy_context
Unexecuted instantiation: vp9_aq_cyclicrefresh.c:get_entropy_context
Unexecuted instantiation: vp9_aq_complexity.c:get_entropy_context
Unexecuted instantiation: vp9_alt_ref_aq.c:get_entropy_context
Unexecuted instantiation: vp9_skin_detection.c:get_entropy_context
Unexecuted instantiation: vp9_noise_estimate.c:get_entropy_context
Unexecuted instantiation: vp9_ext_ratectrl.c:get_entropy_context
Unexecuted instantiation: vp9_temporal_filter.c:get_entropy_context
Unexecuted instantiation: vp9_tpl_model.c:get_entropy_context
Unexecuted instantiation: vp9_mbgraph.c:get_entropy_context
Unexecuted instantiation: vp9_alloccommon.c:get_entropy_context
Unexecuted instantiation: vp9_blockd.c:get_entropy_context
Unexecuted instantiation: vp9_entropy.c:get_entropy_context
Unexecuted instantiation: vp9_entropymode.c:get_entropy_context
Unexecuted instantiation: vp9_entropymv.c:get_entropy_context
Unexecuted instantiation: vp9_idct.c:get_entropy_context
Unexecuted instantiation: vp9_seg_common.c:get_entropy_context
Unexecuted instantiation: vp9_tile_common.c:get_entropy_context
Unexecuted instantiation: vp9_loopfilter.c:get_entropy_context
Unexecuted instantiation: vp9_thread_common.c:get_entropy_context
Unexecuted instantiation: vp9_reconinter.c:get_entropy_context
Unexecuted instantiation: vp9_reconintra.c:get_entropy_context
Unexecuted instantiation: vp9_scan.c:get_entropy_context
Unexecuted instantiation: vp9_bitstream.c:get_entropy_context
Unexecuted instantiation: vp9_context_tree.c:get_entropy_context
Unexecuted instantiation: vp9_dct.c:get_entropy_context
Unexecuted instantiation: vp9_encodeframe.c:get_entropy_context
Unexecuted instantiation: vp9_encodemb.c:get_entropy_context
Unexecuted instantiation: vp9_encodemv.c:get_entropy_context
Unexecuted instantiation: vp9_ethread.c:get_entropy_context
Unexecuted instantiation: vp9_frame_scale.c:get_entropy_context
Unexecuted instantiation: vp9_lookahead.c:get_entropy_context
Unexecuted instantiation: vp9_multi_thread.c:get_entropy_context
Unexecuted instantiation: vp9_rdopt.c:get_entropy_context
Unexecuted instantiation: vp9_pickmode.c:get_entropy_context
Unexecuted instantiation: vp9_subexp.c:get_entropy_context
Unexecuted instantiation: temporal_filter_sse4.c:get_entropy_context
Unexecuted instantiation: vp9_quantize_sse2.c:get_entropy_context
Unexecuted instantiation: vp9_quantize_ssse3.c:get_entropy_context
Unexecuted instantiation: vp9_quantize_avx2.c:get_entropy_context
Unexecuted instantiation: highbd_temporal_filter_sse4.c:get_entropy_context
Unexecuted instantiation: vp9_pred_common.c:get_entropy_context
Unexecuted instantiation: vp9_mvref_common.c:get_entropy_context
Unexecuted instantiation: vp9_dx_iface.c:get_entropy_context
Unexecuted instantiation: vp9_decodeframe.c:get_entropy_context
Unexecuted instantiation: vp9_detokenize.c:get_entropy_context
Unexecuted instantiation: vp9_decoder.c:get_entropy_context
Unexecuted instantiation: vp9_dsubexp.c:get_entropy_context
Unexecuted instantiation: vp9_decodemv.c:get_entropy_context
194
195
#ifdef __cplusplus
196
}  // extern "C"
197
#endif
198
199
#endif  // VPX_VP9_COMMON_VP9_ENTROPY_H_