Coverage Report

Created: 2026-02-14 06:59

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
44.4M
#define DIFF_UPDATE_PROB 252
25
26
// Coefficient token alphabet
27
199M
#define ZERO_TOKEN 0        // 0     Extra Bits 0+0
28
156M
#define ONE_TOKEN 1         // 1     Extra Bits 0+1
29
349M
#define TWO_TOKEN 2         // 2     Extra Bits 0+1
30
32.3M
#define THREE_TOKEN 3       // 3     Extra Bits 0+1
31
#define FOUR_TOKEN 4        // 4     Extra Bits 0+1
32
52.8M
#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
294M
#define CATEGORY6_TOKEN 10  // 67+   Extra Bits 14+1
38
2.82G
#define EOB_TOKEN 11        // EOB   Extra Bits 0+0
39
869M
#define MAX_TOKEN EOB_TOKEN
40
41
0
#define ENTROPY_TOKENS 12
42
43
911M
#define ENTROPY_NODES 11
44
45
1.86G
#define MAX_ENERGY_CLASS 5
46
DECLARE_ALIGNED(16, extern const uint8_t, vp9_pt_energy_class[ENTROPY_TOKENS]);
47
48
2.12M
#define CAT1_MIN_VAL 5
49
1.65M
#define CAT2_MIN_VAL 7
50
983k
#define CAT3_MIN_VAL 11
51
574k
#define CAT4_MIN_VAL 19
52
374k
#define CAT5_MIN_VAL 35
53
33.9G
#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
58.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.07M
#define REF_TYPES 2  // intra=0, inter=1
89
90
/* Middle dimension reflects the coefficient position within the transform. */
91
23.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
118M
#define COEFF_CONTEXTS 6
110
132M
#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
119M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
119M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
119M
                           : vp9_coefband_trans_8x8plus;
137
119M
}
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
88.6M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
88.6M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
88.6M
                           : vp9_coefband_trans_8x8plus;
137
88.6M
}
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
7.22M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
7.22M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
7.22M
                           : vp9_coefband_trans_8x8plus;
137
7.22M
}
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
23.2M
static INLINE const uint8_t *get_band_translate(TX_SIZE tx_size) {
135
23.2M
  return tx_size == TX_4X4 ? vp9_coefband_trans_4x4
136
23.2M
                           : vp9_coefband_trans_8x8plus;
137
23.2M
}
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.19G
#define UNCONSTRAINED_NODES 3
145
146
227M
#define PIVOT_NODE 2  // which node is pivot
147
148
32.3M
#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
454M
                                           ENTROPY_CONTEXT b) {
165
454M
  return (a != 0) + (b != 0);
166
454M
}
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
7.22M
                                           ENTROPY_CONTEXT b) {
165
7.22M
  return (a != 0) + (b != 0);
166
7.22M
}
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
19.4M
                                           ENTROPY_CONTEXT b) {
165
19.4M
  return (a != 0) + (b != 0);
166
19.4M
}
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
427M
                                           ENTROPY_CONTEXT b) {
165
427M
  return (a != 0) + (b != 0);
166
427M
}
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
7.22M
                                      const ENTROPY_CONTEXT *l) {
170
7.22M
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
171
172
7.22M
  switch (tx_size) {
173
6.74M
    case TX_4X4:
174
6.74M
      above_ec = a[0] != 0;
175
6.74M
      left_ec = l[0] != 0;
176
6.74M
      break;
177
397k
    case TX_8X8:
178
397k
      above_ec = !!*(const uint16_t *)a;
179
397k
      left_ec = !!*(const uint16_t *)l;
180
397k
      break;
181
53.3k
    case TX_16X16:
182
53.3k
      above_ec = !!*(const uint32_t *)a;
183
53.3k
      left_ec = !!*(const uint32_t *)l;
184
53.3k
      break;
185
22.5k
    case TX_32X32:
186
22.5k
      above_ec = !!*(const uint64_t *)a;
187
22.5k
      left_ec = !!*(const uint64_t *)l;
188
22.5k
      break;
189
0
    default: assert(0 && "Invalid transform size."); break;
190
7.22M
  }
191
192
7.22M
  return combine_entropy_contexts(above_ec, left_ec);
193
7.22M
}
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
7.22M
                                      const ENTROPY_CONTEXT *l) {
170
7.22M
  ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
171
172
7.22M
  switch (tx_size) {
173
6.74M
    case TX_4X4:
174
6.74M
      above_ec = a[0] != 0;
175
6.74M
      left_ec = l[0] != 0;
176
6.74M
      break;
177
397k
    case TX_8X8:
178
397k
      above_ec = !!*(const uint16_t *)a;
179
397k
      left_ec = !!*(const uint16_t *)l;
180
397k
      break;
181
53.3k
    case TX_16X16:
182
53.3k
      above_ec = !!*(const uint32_t *)a;
183
53.3k
      left_ec = !!*(const uint32_t *)l;
184
53.3k
      break;
185
22.5k
    case TX_32X32:
186
22.5k
      above_ec = !!*(const uint64_t *)a;
187
22.5k
      left_ec = !!*(const uint64_t *)l;
188
22.5k
      break;
189
0
    default: assert(0 && "Invalid transform size."); break;
190
7.22M
  }
191
192
7.22M
  return combine_entropy_contexts(above_ec, left_ec);
193
7.22M
}
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_