Coverage Report

Created: 2026-03-15 06:28

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
109M
#define DIFF_UPDATE_PROB 252
25
26
// Coefficient token alphabet
27
977M
#define ZERO_TOKEN 0        // 0     Extra Bits 0+0
28
670M
#define ONE_TOKEN 1         // 1     Extra Bits 0+1
29
2.47G
#define TWO_TOKEN 2         // 2     Extra Bits 0+1
30
242M
#define THREE_TOKEN 3       // 3     Extra Bits 0+1
31
#define FOUR_TOKEN 4        // 4     Extra Bits 0+1
32
82.0M
#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
247M
#define CATEGORY6_TOKEN 10  // 67+   Extra Bits 14+1
38
9.51G
#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.40G
#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.52M
#define CAT1_MIN_VAL 5
49
2.50M
#define CAT2_MIN_VAL 7
50
1.55M
#define CAT3_MIN_VAL 11
51
906k
#define CAT4_MIN_VAL 19
52
626k
#define CAT5_MIN_VAL 35
53
122G
#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
293M
#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
22.0M
#define REF_TYPES 2  // intra=0, inter=1
89
90
/* Middle dimension reflects the coefficient position within the transform. */
91
103M
#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
520M
#define COEFF_CONTEXTS 6
110
545M
#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
758M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
758M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
758M
                           : vp9_coefband_trans_8x8plus;
137
758M
}
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
15.5M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
15.5M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
15.5M
                           : vp9_coefband_trans_8x8plus;
137
15.5M
}
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
281M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
281M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
281M
                           : vp9_coefband_trans_8x8plus;
137
281M
}
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
461M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
461M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
461M
                           : vp9_coefband_trans_8x8plus;
137
461M
}
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
2.17G
#define UNCONSTRAINED_NODES 3
145
146
444M
#define PIVOT_NODE 2  // which node is pivot
147
148
123M
#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
827M
                                           ENTROPY_CONTEXT b) {
165
827M
  return (a != 0) + (b != 0);
166
827M
}
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
15.5M
                                           ENTROPY_CONTEXT b) {
165
15.5M
  return (a != 0) + (b != 0);
166
15.5M
}
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
177M
                                           ENTROPY_CONTEXT b) {
165
177M
  return (a != 0) + (b != 0);
166
177M
}
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
633M
                                           ENTROPY_CONTEXT b) {
165
633M
  return (a != 0) + (b != 0);
166
633M
}
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
15.5M
                                      const ENTROPY_CONTEXT *l) {
170
15.5M
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
171
172
15.5M
  switch (tx_size) {
173
10.2M
    case TX_4X4:
174
10.2M
      above_ec = a[0] != 0;
175
10.2M
      left_ec = l[0] != 0;
176
10.2M
      break;
177
5.14M
    case TX_8X8:
178
5.14M
      above_ec = !!*(const uint16_t *)a;
179
5.14M
      left_ec = !!*(const uint16_t *)l;
180
5.14M
      break;
181
137k
    case TX_16X16:
182
137k
      above_ec = !!*(const uint32_t *)a;
183
137k
      left_ec = !!*(const uint32_t *)l;
184
137k
      break;
185
17.2k
    case TX_32X32:
186
17.2k
      above_ec = !!*(const uint64_t *)a;
187
17.2k
      left_ec = !!*(const uint64_t *)l;
188
17.2k
      break;
189
0
    default: assert(0 && "Invalid transform size."); break;
190
15.5M
  }
191
192
15.5M
  return combine_entropy_contexts(above_ec, left_ec);
193
15.5M
}
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
15.5M
                                      const ENTROPY_CONTEXT *l) {
170
15.5M
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
171
172
15.5M
  switch (tx_size) {
173
10.2M
    case TX_4X4:
174
10.2M
      above_ec = a[0] != 0;
175
10.2M
      left_ec = l[0] != 0;
176
10.2M
      break;
177
5.14M
    case TX_8X8:
178
5.14M
      above_ec = !!*(const uint16_t *)a;
179
5.14M
      left_ec = !!*(const uint16_t *)l;
180
5.14M
      break;
181
137k
    case TX_16X16:
182
137k
      above_ec = !!*(const uint32_t *)a;
183
137k
      left_ec = !!*(const uint32_t *)l;
184
137k
      break;
185
17.2k
    case TX_32X32:
186
17.2k
      above_ec = !!*(const uint64_t *)a;
187
17.2k
      left_ec = !!*(const uint64_t *)l;
188
17.2k
      break;
189
0
    default: assert(0 && "Invalid transform size."); break;
190
15.5M
  }
191
192
15.5M
  return combine_entropy_contexts(above_ec, left_ec);
193
15.5M
}
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_