Coverage Report

Created: 2026-05-16 07:49

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
45.1M
#define DIFF_UPDATE_PROB 252
25
26
// Coefficient token alphabet
27
262M
#define ZERO_TOKEN 0        // 0     Extra Bits 0+0
28
201M
#define ONE_TOKEN 1         // 1     Extra Bits 0+1
29
410M
#define TWO_TOKEN 2         // 2     Extra Bits 0+1
30
38.4M
#define THREE_TOKEN 3       // 3     Extra Bits 0+1
31
#define FOUR_TOKEN 4        // 4     Extra Bits 0+1
32
80.1M
#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
528M
#define CATEGORY6_TOKEN 10  // 67+   Extra Bits 14+1
38
3.55G
#define EOB_TOKEN 11        // EOB   Extra Bits 0+0
39
1.08G
#define MAX_TOKEN EOB_TOKEN
40
41
0
#define ENTROPY_TOKENS 12
42
43
1.19G
#define ENTROPY_NODES 11
44
45
2.35G
#define MAX_ENERGY_CLASS 5
46
DECLARE_ALIGNED(16, extern const uint8_t, vp9_pt_energy_class[ENTROPY_TOKENS]);
47
48
3.08M
#define CAT1_MIN_VAL 5
49
2.40M
#define CAT2_MIN_VAL 7
50
1.42M
#define CAT3_MIN_VAL 11
51
844k
#define CAT4_MIN_VAL 19
52
546k
#define CAT5_MIN_VAL 35
53
48.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
63.8M
#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
5.73M
#define REF_TYPES 2  // intra=0, inter=1
89
90
/* Middle dimension reflects the coefficient position within the transform. */
91
26.7M
#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
133M
#define COEFF_CONTEXTS 6
110
149M
#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
140M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
140M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
140M
                           : vp9_coefband_trans_8x8plus;
137
140M
}
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
100M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
100M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
100M
                           : vp9_coefband_trans_8x8plus;
137
100M
}
Unexecuted instantiation: vp9_decoder.c:get_band_translate
Unexecuted instantiation: vp9_dsubexp.c:get_band_translate
Unexecuted instantiation: yv12config.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_pred_common.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_frame_scale.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
10.0M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
10.0M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
10.0M
                           : vp9_coefband_trans_8x8plus;
137
10.0M
}
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: 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_decodemv.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_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
29.9M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
29.9M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
29.9M
                           : vp9_coefband_trans_8x8plus;
137
29.9M
}
Unexecuted instantiation: vp9_encodemv.c:get_band_translate
Unexecuted instantiation: vp9_ethread.c:get_band_translate
Unexecuted instantiation: vp9_firstpass.c:get_band_translate
Unexecuted instantiation: vp9_lookahead.c:get_band_translate
Unexecuted instantiation: vp9_multi_thread.c:get_band_translate
Unexecuted instantiation: vp9_mcomp.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: vp9_mvref_common.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.51G
#define UNCONSTRAINED_NODES 3
145
146
309M
#define PIVOT_NODE 2  // which node is pivot
147
148
38.5M
#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
642M
                                           ENTROPY_CONTEXT b) {
165
642M
  return (a != 0) + (b != 0);
166
642M
}
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: yv12config.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_pred_common.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_frame_scale.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
10.0M
                                           ENTROPY_CONTEXT b) {
165
10.0M
  return (a != 0) + (b != 0);
166
10.0M
}
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: 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_decodemv.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_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
25.2M
                                           ENTROPY_CONTEXT b) {
165
25.2M
  return (a != 0) + (b != 0);
166
25.2M
}
Unexecuted instantiation: vp9_encodemv.c:combine_entropy_contexts
Unexecuted instantiation: vp9_ethread.c:combine_entropy_contexts
Unexecuted instantiation: vp9_firstpass.c:combine_entropy_contexts
Unexecuted instantiation: vp9_lookahead.c:combine_entropy_contexts
Unexecuted instantiation: vp9_multi_thread.c:combine_entropy_contexts
Unexecuted instantiation: vp9_mcomp.c:combine_entropy_contexts
vp9_rdopt.c:combine_entropy_contexts
Line
Count
Source
164
606M
                                           ENTROPY_CONTEXT b) {
165
606M
  return (a != 0) + (b != 0);
166
606M
}
Unexecuted instantiation: vp9_pickmode.c:combine_entropy_contexts
Unexecuted instantiation: vp9_subexp.c:combine_entropy_contexts
Unexecuted instantiation: vp9_mvref_common.c:combine_entropy_contexts
167
168
static INLINE int get_entropy_context(TX_SIZE tx_size, const ENTROPY_CONTEXT *a,
169
10.0M
                                      const ENTROPY_CONTEXT *l) {
170
10.0M
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
171
172
10.0M
  switch (tx_size) {
173
9.42M
    case TX_4X4:
174
9.42M
      above_ec = a[0] != 0;
175
9.42M
      left_ec = l[0] != 0;
176
9.42M
      break;
177
514k
    case TX_8X8:
178
514k
      above_ec = !!*(const uint16_t *)a;
179
514k
      left_ec = !!*(const uint16_t *)l;
180
514k
      break;
181
72.6k
    case TX_16X16:
182
72.6k
      above_ec = !!*(const uint32_t *)a;
183
72.6k
      left_ec = !!*(const uint32_t *)l;
184
72.6k
      break;
185
30.6k
    case TX_32X32:
186
30.6k
      above_ec = !!*(const uint64_t *)a;
187
30.6k
      left_ec = !!*(const uint64_t *)l;
188
30.6k
      break;
189
0
    default: assert(0 && "Invalid transform size."); break;
190
10.0M
  }
191
192
10.0M
  return combine_entropy_contexts(above_ec, left_ec);
193
10.0M
}
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: yv12config.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_pred_common.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_frame_scale.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
10.0M
                                      const ENTROPY_CONTEXT *l) {
170
10.0M
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
171
172
10.0M
  switch (tx_size) {
173
9.42M
    case TX_4X4:
174
9.42M
      above_ec = a[0] != 0;
175
9.42M
      left_ec = l[0] != 0;
176
9.42M
      break;
177
514k
    case TX_8X8:
178
514k
      above_ec = !!*(const uint16_t *)a;
179
514k
      left_ec = !!*(const uint16_t *)l;
180
514k
      break;
181
72.6k
    case TX_16X16:
182
72.6k
      above_ec = !!*(const uint32_t *)a;
183
72.6k
      left_ec = !!*(const uint32_t *)l;
184
72.6k
      break;
185
30.6k
    case TX_32X32:
186
30.6k
      above_ec = !!*(const uint64_t *)a;
187
30.6k
      left_ec = !!*(const uint64_t *)l;
188
30.6k
      break;
189
0
    default: assert(0 && "Invalid transform size."); break;
190
10.0M
  }
191
192
10.0M
  return combine_entropy_contexts(above_ec, left_ec);
193
10.0M
}
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: 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_decodemv.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_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_firstpass.c:get_entropy_context
Unexecuted instantiation: vp9_lookahead.c:get_entropy_context
Unexecuted instantiation: vp9_multi_thread.c:get_entropy_context
Unexecuted instantiation: vp9_mcomp.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: vp9_mvref_common.c:get_entropy_context
194
195
#ifdef __cplusplus
196
}  // extern "C"
197
#endif
198
199
#endif  // VPX_VP9_COMMON_VP9_ENTROPY_H_