Coverage Report

Created: 2026-08-13 07:23

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/aom/av1/common/txb_common.h
Line
Count
Source
1
/*
2
 * Copyright (c) 2017, Alliance for Open Media. All rights reserved
3
 *
4
 * This source code is subject to the terms of the BSD 2 Clause License and
5
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6
 * was not distributed with this source code in the LICENSE file, you can
7
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8
 * Media Patent License 1.0 was not distributed with this source code in the
9
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10
 */
11
12
#ifndef AOM_AV1_COMMON_TXB_COMMON_H_
13
#define AOM_AV1_COMMON_TXB_COMMON_H_
14
15
#include "av1/common/av1_common_int.h"
16
17
extern const int16_t av1_eob_group_start[12];
18
extern const int16_t av1_eob_offset_bits[12];
19
20
extern const int8_t av1_coeff_band_4x4[16];
21
22
extern const int8_t av1_coeff_band_8x8[64];
23
24
extern const int8_t av1_coeff_band_16x16[256];
25
26
extern const int8_t av1_coeff_band_32x32[1024];
27
28
extern const int8_t *av1_nz_map_ctx_offset[TX_SIZES_ALL];
29
30
typedef struct txb_ctx {
31
  int txb_skip_ctx;
32
  int dc_sign_ctx;
33
} TXB_CTX;
34
35
static const int base_level_count_to_index[13] = {
36
  0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,
37
};
38
39
static const TX_CLASS tx_type_to_class[TX_TYPES] = {
40
  TX_CLASS_2D,     // DCT_DCT
41
  TX_CLASS_2D,     // ADST_DCT
42
  TX_CLASS_2D,     // DCT_ADST
43
  TX_CLASS_2D,     // ADST_ADST
44
  TX_CLASS_2D,     // FLIPADST_DCT
45
  TX_CLASS_2D,     // DCT_FLIPADST
46
  TX_CLASS_2D,     // FLIPADST_FLIPADST
47
  TX_CLASS_2D,     // ADST_FLIPADST
48
  TX_CLASS_2D,     // FLIPADST_ADST
49
  TX_CLASS_2D,     // IDTX
50
  TX_CLASS_VERT,   // V_DCT
51
  TX_CLASS_HORIZ,  // H_DCT
52
  TX_CLASS_VERT,   // V_ADST
53
  TX_CLASS_HORIZ,  // H_ADST
54
  TX_CLASS_VERT,   // V_FLIPADST
55
  TX_CLASS_HORIZ,  // H_FLIPADST
56
};
57
58
1.13M
static INLINE int get_txb_bwl(TX_SIZE tx_size) {
59
1.13M
  tx_size = av1_get_adjusted_tx_size(tx_size);
60
1.13M
  return tx_size_wide_log2[tx_size];
61
1.13M
}
Unexecuted instantiation: decodetxb.c:get_txb_bwl
Unexecuted instantiation: av1_cx_iface.c:get_txb_bwl
Unexecuted instantiation: av1_quantize.c:get_txb_bwl
Unexecuted instantiation: bitstream.c:get_txb_bwl
Unexecuted instantiation: encodemv.c:get_txb_bwl
Unexecuted instantiation: encoder.c:get_txb_bwl
Unexecuted instantiation: encoder_utils.c:get_txb_bwl
encodetxb.c:get_txb_bwl
Line
Count
Source
58
1.05M
static INLINE int get_txb_bwl(TX_SIZE tx_size) {
59
1.05M
  tx_size = av1_get_adjusted_tx_size(tx_size);
60
1.05M
  return tx_size_wide_log2[tx_size];
61
1.05M
}
Unexecuted instantiation: ethread.c:get_txb_bwl
Unexecuted instantiation: firstpass.c:get_txb_bwl
Unexecuted instantiation: global_motion_facade.c:get_txb_bwl
Unexecuted instantiation: level.c:get_txb_bwl
Unexecuted instantiation: lookahead.c:get_txb_bwl
Unexecuted instantiation: mcomp.c:get_txb_bwl
Unexecuted instantiation: mv_prec.c:get_txb_bwl
Unexecuted instantiation: palette.c:get_txb_bwl
Unexecuted instantiation: pass2_strategy.c:get_txb_bwl
Unexecuted instantiation: pickcdef.c:get_txb_bwl
Unexecuted instantiation: picklpf.c:get_txb_bwl
Unexecuted instantiation: pickrst.c:get_txb_bwl
Unexecuted instantiation: ratectrl.c:get_txb_bwl
Unexecuted instantiation: rd.c:get_txb_bwl
Unexecuted instantiation: rdopt.c:get_txb_bwl
Unexecuted instantiation: segmentation.c:get_txb_bwl
Unexecuted instantiation: speed_features.c:get_txb_bwl
Unexecuted instantiation: superres_scale.c:get_txb_bwl
Unexecuted instantiation: svc_layercontext.c:get_txb_bwl
Unexecuted instantiation: temporal_filter.c:get_txb_bwl
Unexecuted instantiation: thirdpass.c:get_txb_bwl
Unexecuted instantiation: tokenize.c:get_txb_bwl
Unexecuted instantiation: tpl_model.c:get_txb_bwl
Unexecuted instantiation: tx_search.c:get_txb_bwl
txb_rdopt.c:get_txb_bwl
Line
Count
Source
58
71.4k
static INLINE int get_txb_bwl(TX_SIZE tx_size) {
59
71.4k
  tx_size = av1_get_adjusted_tx_size(tx_size);
60
71.4k
  return tx_size_wide_log2[tx_size];
61
71.4k
}
Unexecuted instantiation: intra_mode_search.c:get_txb_bwl
Unexecuted instantiation: var_based_part.c:get_txb_bwl
Unexecuted instantiation: av1_noise_estimate.c:get_txb_bwl
Unexecuted instantiation: entropy.c:get_txb_bwl
Unexecuted instantiation: entropymode.c:get_txb_bwl
Unexecuted instantiation: txb_common.c:get_txb_bwl
Unexecuted instantiation: aq_complexity.c:get_txb_bwl
Unexecuted instantiation: aq_cyclicrefresh.c:get_txb_bwl
Unexecuted instantiation: aq_variance.c:get_txb_bwl
Unexecuted instantiation: allintra_vis.c:get_txb_bwl
Unexecuted instantiation: compound_type.c:get_txb_bwl
Unexecuted instantiation: context_tree.c:get_txb_bwl
Unexecuted instantiation: encodeframe.c:get_txb_bwl
Unexecuted instantiation: encodeframe_utils.c:get_txb_bwl
Unexecuted instantiation: encodemb.c:get_txb_bwl
Unexecuted instantiation: encode_strategy.c:get_txb_bwl
Unexecuted instantiation: global_motion.c:get_txb_bwl
Unexecuted instantiation: gop_structure.c:get_txb_bwl
Unexecuted instantiation: interp_search.c:get_txb_bwl
Unexecuted instantiation: motion_search_facade.c:get_txb_bwl
Unexecuted instantiation: partition_search.c:get_txb_bwl
Unexecuted instantiation: partition_strategy.c:get_txb_bwl
Unexecuted instantiation: nonrd_pickmode.c:get_txb_bwl
62
63
1.10M
static INLINE int get_txb_wide(TX_SIZE tx_size) {
64
1.10M
  tx_size = av1_get_adjusted_tx_size(tx_size);
65
1.10M
  return tx_size_wide[tx_size];
66
1.10M
}
Unexecuted instantiation: decodetxb.c:get_txb_wide
Unexecuted instantiation: av1_cx_iface.c:get_txb_wide
Unexecuted instantiation: av1_quantize.c:get_txb_wide
Unexecuted instantiation: bitstream.c:get_txb_wide
Unexecuted instantiation: encodemv.c:get_txb_wide
Unexecuted instantiation: encoder.c:get_txb_wide
Unexecuted instantiation: encoder_utils.c:get_txb_wide
encodetxb.c:get_txb_wide
Line
Count
Source
63
1.03M
static INLINE int get_txb_wide(TX_SIZE tx_size) {
64
1.03M
  tx_size = av1_get_adjusted_tx_size(tx_size);
65
1.03M
  return tx_size_wide[tx_size];
66
1.03M
}
Unexecuted instantiation: ethread.c:get_txb_wide
Unexecuted instantiation: firstpass.c:get_txb_wide
Unexecuted instantiation: global_motion_facade.c:get_txb_wide
Unexecuted instantiation: level.c:get_txb_wide
Unexecuted instantiation: lookahead.c:get_txb_wide
Unexecuted instantiation: mcomp.c:get_txb_wide
Unexecuted instantiation: mv_prec.c:get_txb_wide
Unexecuted instantiation: palette.c:get_txb_wide
Unexecuted instantiation: pass2_strategy.c:get_txb_wide
Unexecuted instantiation: pickcdef.c:get_txb_wide
Unexecuted instantiation: picklpf.c:get_txb_wide
Unexecuted instantiation: pickrst.c:get_txb_wide
Unexecuted instantiation: ratectrl.c:get_txb_wide
Unexecuted instantiation: rd.c:get_txb_wide
Unexecuted instantiation: rdopt.c:get_txb_wide
Unexecuted instantiation: segmentation.c:get_txb_wide
Unexecuted instantiation: speed_features.c:get_txb_wide
Unexecuted instantiation: superres_scale.c:get_txb_wide
Unexecuted instantiation: svc_layercontext.c:get_txb_wide
Unexecuted instantiation: temporal_filter.c:get_txb_wide
Unexecuted instantiation: thirdpass.c:get_txb_wide
Unexecuted instantiation: tokenize.c:get_txb_wide
Unexecuted instantiation: tpl_model.c:get_txb_wide
Unexecuted instantiation: tx_search.c:get_txb_wide
txb_rdopt.c:get_txb_wide
Line
Count
Source
63
71.4k
static INLINE int get_txb_wide(TX_SIZE tx_size) {
64
71.4k
  tx_size = av1_get_adjusted_tx_size(tx_size);
65
71.4k
  return tx_size_wide[tx_size];
66
71.4k
}
Unexecuted instantiation: intra_mode_search.c:get_txb_wide
Unexecuted instantiation: var_based_part.c:get_txb_wide
Unexecuted instantiation: av1_noise_estimate.c:get_txb_wide
Unexecuted instantiation: entropy.c:get_txb_wide
Unexecuted instantiation: entropymode.c:get_txb_wide
Unexecuted instantiation: txb_common.c:get_txb_wide
Unexecuted instantiation: aq_complexity.c:get_txb_wide
Unexecuted instantiation: aq_cyclicrefresh.c:get_txb_wide
Unexecuted instantiation: aq_variance.c:get_txb_wide
Unexecuted instantiation: allintra_vis.c:get_txb_wide
Unexecuted instantiation: compound_type.c:get_txb_wide
Unexecuted instantiation: context_tree.c:get_txb_wide
Unexecuted instantiation: encodeframe.c:get_txb_wide
Unexecuted instantiation: encodeframe_utils.c:get_txb_wide
Unexecuted instantiation: encodemb.c:get_txb_wide
Unexecuted instantiation: encode_strategy.c:get_txb_wide
Unexecuted instantiation: global_motion.c:get_txb_wide
Unexecuted instantiation: gop_structure.c:get_txb_wide
Unexecuted instantiation: interp_search.c:get_txb_wide
Unexecuted instantiation: motion_search_facade.c:get_txb_wide
Unexecuted instantiation: partition_search.c:get_txb_wide
Unexecuted instantiation: partition_strategy.c:get_txb_wide
Unexecuted instantiation: nonrd_pickmode.c:get_txb_wide
67
68
1.13M
static INLINE int get_txb_high(TX_SIZE tx_size) {
69
1.13M
  tx_size = av1_get_adjusted_tx_size(tx_size);
70
1.13M
  return tx_size_high[tx_size];
71
1.13M
}
Unexecuted instantiation: decodetxb.c:get_txb_high
Unexecuted instantiation: av1_cx_iface.c:get_txb_high
Unexecuted instantiation: av1_quantize.c:get_txb_high
Unexecuted instantiation: bitstream.c:get_txb_high
Unexecuted instantiation: encodemv.c:get_txb_high
Unexecuted instantiation: encoder.c:get_txb_high
Unexecuted instantiation: encoder_utils.c:get_txb_high
encodetxb.c:get_txb_high
Line
Count
Source
68
1.05M
static INLINE int get_txb_high(TX_SIZE tx_size) {
69
1.05M
  tx_size = av1_get_adjusted_tx_size(tx_size);
70
1.05M
  return tx_size_high[tx_size];
71
1.05M
}
Unexecuted instantiation: ethread.c:get_txb_high
Unexecuted instantiation: firstpass.c:get_txb_high
Unexecuted instantiation: global_motion_facade.c:get_txb_high
Unexecuted instantiation: level.c:get_txb_high
Unexecuted instantiation: lookahead.c:get_txb_high
Unexecuted instantiation: mcomp.c:get_txb_high
Unexecuted instantiation: mv_prec.c:get_txb_high
Unexecuted instantiation: palette.c:get_txb_high
Unexecuted instantiation: pass2_strategy.c:get_txb_high
Unexecuted instantiation: pickcdef.c:get_txb_high
Unexecuted instantiation: picklpf.c:get_txb_high
Unexecuted instantiation: pickrst.c:get_txb_high
Unexecuted instantiation: ratectrl.c:get_txb_high
Unexecuted instantiation: rd.c:get_txb_high
Unexecuted instantiation: rdopt.c:get_txb_high
Unexecuted instantiation: segmentation.c:get_txb_high
Unexecuted instantiation: speed_features.c:get_txb_high
Unexecuted instantiation: superres_scale.c:get_txb_high
Unexecuted instantiation: svc_layercontext.c:get_txb_high
Unexecuted instantiation: temporal_filter.c:get_txb_high
Unexecuted instantiation: thirdpass.c:get_txb_high
Unexecuted instantiation: tokenize.c:get_txb_high
Unexecuted instantiation: tpl_model.c:get_txb_high
Unexecuted instantiation: tx_search.c:get_txb_high
txb_rdopt.c:get_txb_high
Line
Count
Source
68
71.4k
static INLINE int get_txb_high(TX_SIZE tx_size) {
69
71.4k
  tx_size = av1_get_adjusted_tx_size(tx_size);
70
71.4k
  return tx_size_high[tx_size];
71
71.4k
}
Unexecuted instantiation: intra_mode_search.c:get_txb_high
Unexecuted instantiation: var_based_part.c:get_txb_high
Unexecuted instantiation: av1_noise_estimate.c:get_txb_high
Unexecuted instantiation: entropy.c:get_txb_high
Unexecuted instantiation: entropymode.c:get_txb_high
Unexecuted instantiation: txb_common.c:get_txb_high
Unexecuted instantiation: aq_complexity.c:get_txb_high
Unexecuted instantiation: aq_cyclicrefresh.c:get_txb_high
Unexecuted instantiation: aq_variance.c:get_txb_high
Unexecuted instantiation: allintra_vis.c:get_txb_high
Unexecuted instantiation: compound_type.c:get_txb_high
Unexecuted instantiation: context_tree.c:get_txb_high
Unexecuted instantiation: encodeframe.c:get_txb_high
Unexecuted instantiation: encodeframe_utils.c:get_txb_high
Unexecuted instantiation: encodemb.c:get_txb_high
Unexecuted instantiation: encode_strategy.c:get_txb_high
Unexecuted instantiation: global_motion.c:get_txb_high
Unexecuted instantiation: gop_structure.c:get_txb_high
Unexecuted instantiation: interp_search.c:get_txb_high
Unexecuted instantiation: motion_search_facade.c:get_txb_high
Unexecuted instantiation: partition_search.c:get_txb_high
Unexecuted instantiation: partition_strategy.c:get_txb_high
Unexecuted instantiation: nonrd_pickmode.c:get_txb_high
72
73
78.3k
static INLINE uint8_t *set_levels(uint8_t *const levels_buf, const int width) {
74
78.3k
  return levels_buf + TX_PAD_TOP * (width + TX_PAD_HOR);
75
78.3k
}
Unexecuted instantiation: decodetxb.c:set_levels
Unexecuted instantiation: av1_cx_iface.c:set_levels
Unexecuted instantiation: av1_quantize.c:set_levels
Unexecuted instantiation: bitstream.c:set_levels
Unexecuted instantiation: encodemv.c:set_levels
Unexecuted instantiation: encoder.c:set_levels
Unexecuted instantiation: encoder_utils.c:set_levels
encodetxb.c:set_levels
Line
Count
Source
73
6.86k
static INLINE uint8_t *set_levels(uint8_t *const levels_buf, const int width) {
74
6.86k
  return levels_buf + TX_PAD_TOP * (width + TX_PAD_HOR);
75
6.86k
}
Unexecuted instantiation: ethread.c:set_levels
Unexecuted instantiation: firstpass.c:set_levels
Unexecuted instantiation: global_motion_facade.c:set_levels
Unexecuted instantiation: level.c:set_levels
Unexecuted instantiation: lookahead.c:set_levels
Unexecuted instantiation: mcomp.c:set_levels
Unexecuted instantiation: mv_prec.c:set_levels
Unexecuted instantiation: palette.c:set_levels
Unexecuted instantiation: pass2_strategy.c:set_levels
Unexecuted instantiation: pickcdef.c:set_levels
Unexecuted instantiation: picklpf.c:set_levels
Unexecuted instantiation: pickrst.c:set_levels
Unexecuted instantiation: ratectrl.c:set_levels
Unexecuted instantiation: rd.c:set_levels
Unexecuted instantiation: rdopt.c:set_levels
Unexecuted instantiation: segmentation.c:set_levels
Unexecuted instantiation: speed_features.c:set_levels
Unexecuted instantiation: superres_scale.c:set_levels
Unexecuted instantiation: svc_layercontext.c:set_levels
Unexecuted instantiation: temporal_filter.c:set_levels
Unexecuted instantiation: thirdpass.c:set_levels
Unexecuted instantiation: tokenize.c:set_levels
Unexecuted instantiation: tpl_model.c:set_levels
Unexecuted instantiation: tx_search.c:set_levels
txb_rdopt.c:set_levels
Line
Count
Source
73
71.4k
static INLINE uint8_t *set_levels(uint8_t *const levels_buf, const int width) {
74
71.4k
  return levels_buf + TX_PAD_TOP * (width + TX_PAD_HOR);
75
71.4k
}
Unexecuted instantiation: intra_mode_search.c:set_levels
Unexecuted instantiation: var_based_part.c:set_levels
Unexecuted instantiation: av1_noise_estimate.c:set_levels
Unexecuted instantiation: entropy.c:set_levels
Unexecuted instantiation: entropymode.c:set_levels
Unexecuted instantiation: txb_common.c:set_levels
Unexecuted instantiation: aq_complexity.c:set_levels
Unexecuted instantiation: aq_cyclicrefresh.c:set_levels
Unexecuted instantiation: aq_variance.c:set_levels
Unexecuted instantiation: allintra_vis.c:set_levels
Unexecuted instantiation: compound_type.c:set_levels
Unexecuted instantiation: context_tree.c:set_levels
Unexecuted instantiation: encodeframe.c:set_levels
Unexecuted instantiation: encodeframe_utils.c:set_levels
Unexecuted instantiation: encodemb.c:set_levels
Unexecuted instantiation: encode_strategy.c:set_levels
Unexecuted instantiation: global_motion.c:set_levels
Unexecuted instantiation: gop_structure.c:set_levels
Unexecuted instantiation: interp_search.c:set_levels
Unexecuted instantiation: motion_search_facade.c:set_levels
Unexecuted instantiation: partition_search.c:set_levels
Unexecuted instantiation: partition_strategy.c:set_levels
Unexecuted instantiation: nonrd_pickmode.c:set_levels
76
77
368k
static INLINE int get_padded_idx(const int idx, const int bwl) {
78
368k
  return idx + ((idx >> bwl) << TX_PAD_HOR_LOG2);
79
368k
}
Unexecuted instantiation: decodetxb.c:get_padded_idx
Unexecuted instantiation: av1_cx_iface.c:get_padded_idx
Unexecuted instantiation: av1_quantize.c:get_padded_idx
Unexecuted instantiation: bitstream.c:get_padded_idx
Unexecuted instantiation: encodemv.c:get_padded_idx
Unexecuted instantiation: encoder.c:get_padded_idx
Unexecuted instantiation: encoder_utils.c:get_padded_idx
encodetxb.c:get_padded_idx
Line
Count
Source
77
338k
static INLINE int get_padded_idx(const int idx, const int bwl) {
78
338k
  return idx + ((idx >> bwl) << TX_PAD_HOR_LOG2);
79
338k
}
Unexecuted instantiation: ethread.c:get_padded_idx
Unexecuted instantiation: firstpass.c:get_padded_idx
Unexecuted instantiation: global_motion_facade.c:get_padded_idx
Unexecuted instantiation: level.c:get_padded_idx
Unexecuted instantiation: lookahead.c:get_padded_idx
Unexecuted instantiation: mcomp.c:get_padded_idx
Unexecuted instantiation: mv_prec.c:get_padded_idx
Unexecuted instantiation: palette.c:get_padded_idx
Unexecuted instantiation: pass2_strategy.c:get_padded_idx
Unexecuted instantiation: pickcdef.c:get_padded_idx
Unexecuted instantiation: picklpf.c:get_padded_idx
Unexecuted instantiation: pickrst.c:get_padded_idx
Unexecuted instantiation: ratectrl.c:get_padded_idx
Unexecuted instantiation: rd.c:get_padded_idx
Unexecuted instantiation: rdopt.c:get_padded_idx
Unexecuted instantiation: segmentation.c:get_padded_idx
Unexecuted instantiation: speed_features.c:get_padded_idx
Unexecuted instantiation: superres_scale.c:get_padded_idx
Unexecuted instantiation: svc_layercontext.c:get_padded_idx
Unexecuted instantiation: temporal_filter.c:get_padded_idx
Unexecuted instantiation: thirdpass.c:get_padded_idx
Unexecuted instantiation: tokenize.c:get_padded_idx
Unexecuted instantiation: tpl_model.c:get_padded_idx
Unexecuted instantiation: tx_search.c:get_padded_idx
txb_rdopt.c:get_padded_idx
Line
Count
Source
77
30.0k
static INLINE int get_padded_idx(const int idx, const int bwl) {
78
30.0k
  return idx + ((idx >> bwl) << TX_PAD_HOR_LOG2);
79
30.0k
}
Unexecuted instantiation: intra_mode_search.c:get_padded_idx
Unexecuted instantiation: var_based_part.c:get_padded_idx
Unexecuted instantiation: av1_noise_estimate.c:get_padded_idx
Unexecuted instantiation: entropy.c:get_padded_idx
Unexecuted instantiation: entropymode.c:get_padded_idx
Unexecuted instantiation: txb_common.c:get_padded_idx
Unexecuted instantiation: aq_complexity.c:get_padded_idx
Unexecuted instantiation: aq_cyclicrefresh.c:get_padded_idx
Unexecuted instantiation: aq_variance.c:get_padded_idx
Unexecuted instantiation: allintra_vis.c:get_padded_idx
Unexecuted instantiation: compound_type.c:get_padded_idx
Unexecuted instantiation: context_tree.c:get_padded_idx
Unexecuted instantiation: encodeframe.c:get_padded_idx
Unexecuted instantiation: encodeframe_utils.c:get_padded_idx
Unexecuted instantiation: encodemb.c:get_padded_idx
Unexecuted instantiation: encode_strategy.c:get_padded_idx
Unexecuted instantiation: global_motion.c:get_padded_idx
Unexecuted instantiation: gop_structure.c:get_padded_idx
Unexecuted instantiation: interp_search.c:get_padded_idx
Unexecuted instantiation: motion_search_facade.c:get_padded_idx
Unexecuted instantiation: partition_search.c:get_padded_idx
Unexecuted instantiation: partition_strategy.c:get_padded_idx
Unexecuted instantiation: nonrd_pickmode.c:get_padded_idx
80
81
static INLINE int get_base_ctx_from_count_mag(int row, int col, int count,
82
0
                                              int sig_mag) {
83
0
  const int ctx = base_level_count_to_index[count];
84
0
  int ctx_idx = -1;
85
0
86
0
  if (row == 0 && col == 0) {
87
0
    if (sig_mag >= 2) return 0;
88
0
89
0
    if (sig_mag == 1) {
90
0
      if (count >= 2)
91
0
        ctx_idx = 1;
92
0
      else
93
0
        ctx_idx = 2;
94
0
95
0
      return ctx_idx;
96
0
    }
97
0
98
0
    ctx_idx = 3 + ctx;
99
0
    assert(ctx_idx <= 6);
100
0
    return ctx_idx;
101
0
  } else if (row == 0) {
102
0
    if (sig_mag >= 2) return 6;
103
0
    if (sig_mag == 1) {
104
0
      if (count >= 2)
105
0
        ctx_idx = 7;
106
0
      else
107
0
        ctx_idx = 8;
108
0
      return ctx_idx;
109
0
    }
110
0
111
0
    ctx_idx = 9 + ctx;
112
0
    assert(ctx_idx <= 11);
113
0
    return ctx_idx;
114
0
  } else if (col == 0) {
115
0
    if (sig_mag >= 2) return 12;
116
0
    if (sig_mag == 1) {
117
0
      if (count >= 2)
118
0
        ctx_idx = 13;
119
0
      else
120
0
        ctx_idx = 14;
121
0
122
0
      return ctx_idx;
123
0
    }
124
0
125
0
    ctx_idx = 15 + ctx;
126
0
    assert(ctx_idx <= 17);
127
0
    // TODO(angiebird): turn this on once the optimization is finalized
128
0
    // assert(ctx_idx < 28);
129
0
  } else {
130
0
    if (sig_mag >= 2) return 18;
131
0
    if (sig_mag == 1) {
132
0
      if (count >= 2)
133
0
        ctx_idx = 19;
134
0
      else
135
0
        ctx_idx = 20;
136
0
      return ctx_idx;
137
0
    }
138
0
139
0
    ctx_idx = 21 + ctx;
140
0
141
0
    assert(ctx_idx <= 24);
142
0
  }
143
0
  return ctx_idx;
144
0
}
Unexecuted instantiation: decodetxb.c:get_base_ctx_from_count_mag
Unexecuted instantiation: av1_cx_iface.c:get_base_ctx_from_count_mag
Unexecuted instantiation: av1_quantize.c:get_base_ctx_from_count_mag
Unexecuted instantiation: bitstream.c:get_base_ctx_from_count_mag
Unexecuted instantiation: encodemv.c:get_base_ctx_from_count_mag
Unexecuted instantiation: encoder.c:get_base_ctx_from_count_mag
Unexecuted instantiation: encoder_utils.c:get_base_ctx_from_count_mag
Unexecuted instantiation: encodetxb.c:get_base_ctx_from_count_mag
Unexecuted instantiation: ethread.c:get_base_ctx_from_count_mag
Unexecuted instantiation: firstpass.c:get_base_ctx_from_count_mag
Unexecuted instantiation: global_motion_facade.c:get_base_ctx_from_count_mag
Unexecuted instantiation: level.c:get_base_ctx_from_count_mag
Unexecuted instantiation: lookahead.c:get_base_ctx_from_count_mag
Unexecuted instantiation: mcomp.c:get_base_ctx_from_count_mag
Unexecuted instantiation: mv_prec.c:get_base_ctx_from_count_mag
Unexecuted instantiation: palette.c:get_base_ctx_from_count_mag
Unexecuted instantiation: pass2_strategy.c:get_base_ctx_from_count_mag
Unexecuted instantiation: pickcdef.c:get_base_ctx_from_count_mag
Unexecuted instantiation: picklpf.c:get_base_ctx_from_count_mag
Unexecuted instantiation: pickrst.c:get_base_ctx_from_count_mag
Unexecuted instantiation: ratectrl.c:get_base_ctx_from_count_mag
Unexecuted instantiation: rd.c:get_base_ctx_from_count_mag
Unexecuted instantiation: rdopt.c:get_base_ctx_from_count_mag
Unexecuted instantiation: segmentation.c:get_base_ctx_from_count_mag
Unexecuted instantiation: speed_features.c:get_base_ctx_from_count_mag
Unexecuted instantiation: superres_scale.c:get_base_ctx_from_count_mag
Unexecuted instantiation: svc_layercontext.c:get_base_ctx_from_count_mag
Unexecuted instantiation: temporal_filter.c:get_base_ctx_from_count_mag
Unexecuted instantiation: thirdpass.c:get_base_ctx_from_count_mag
Unexecuted instantiation: tokenize.c:get_base_ctx_from_count_mag
Unexecuted instantiation: tpl_model.c:get_base_ctx_from_count_mag
Unexecuted instantiation: tx_search.c:get_base_ctx_from_count_mag
Unexecuted instantiation: txb_rdopt.c:get_base_ctx_from_count_mag
Unexecuted instantiation: intra_mode_search.c:get_base_ctx_from_count_mag
Unexecuted instantiation: var_based_part.c:get_base_ctx_from_count_mag
Unexecuted instantiation: av1_noise_estimate.c:get_base_ctx_from_count_mag
Unexecuted instantiation: entropy.c:get_base_ctx_from_count_mag
Unexecuted instantiation: entropymode.c:get_base_ctx_from_count_mag
Unexecuted instantiation: txb_common.c:get_base_ctx_from_count_mag
Unexecuted instantiation: aq_complexity.c:get_base_ctx_from_count_mag
Unexecuted instantiation: aq_cyclicrefresh.c:get_base_ctx_from_count_mag
Unexecuted instantiation: aq_variance.c:get_base_ctx_from_count_mag
Unexecuted instantiation: allintra_vis.c:get_base_ctx_from_count_mag
Unexecuted instantiation: compound_type.c:get_base_ctx_from_count_mag
Unexecuted instantiation: context_tree.c:get_base_ctx_from_count_mag
Unexecuted instantiation: encodeframe.c:get_base_ctx_from_count_mag
Unexecuted instantiation: encodeframe_utils.c:get_base_ctx_from_count_mag
Unexecuted instantiation: encodemb.c:get_base_ctx_from_count_mag
Unexecuted instantiation: encode_strategy.c:get_base_ctx_from_count_mag
Unexecuted instantiation: global_motion.c:get_base_ctx_from_count_mag
Unexecuted instantiation: gop_structure.c:get_base_ctx_from_count_mag
Unexecuted instantiation: interp_search.c:get_base_ctx_from_count_mag
Unexecuted instantiation: motion_search_facade.c:get_base_ctx_from_count_mag
Unexecuted instantiation: partition_search.c:get_base_ctx_from_count_mag
Unexecuted instantiation: partition_strategy.c:get_base_ctx_from_count_mag
Unexecuted instantiation: nonrd_pickmode.c:get_base_ctx_from_count_mag
145
146
static INLINE int get_br_ctx_2d(const uint8_t *const levels,
147
                                const int c,  // raster order
148
0
                                const int bwl) {
149
0
  assert(c > 0);
150
0
  const int row = c >> bwl;
151
0
  const int col = c - (row << bwl);
152
0
  const int stride = (1 << bwl) + TX_PAD_HOR;
153
0
  const int pos = row * stride + col;
154
0
  int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE) +
155
0
            AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE) +
156
0
            AOMMIN(levels[pos + 1 + stride], MAX_BASE_BR_RANGE);
157
0
  mag = AOMMIN((mag + 1) >> 1, 6);
158
  //((row | col) < 2) is equivalent to ((row < 2) && (col < 2))
159
0
  if ((row | col) < 2) return mag + 7;
160
0
  return mag + 14;
161
0
}
Unexecuted instantiation: decodetxb.c:get_br_ctx_2d
Unexecuted instantiation: av1_cx_iface.c:get_br_ctx_2d
Unexecuted instantiation: av1_quantize.c:get_br_ctx_2d
Unexecuted instantiation: bitstream.c:get_br_ctx_2d
Unexecuted instantiation: encodemv.c:get_br_ctx_2d
Unexecuted instantiation: encoder.c:get_br_ctx_2d
Unexecuted instantiation: encoder_utils.c:get_br_ctx_2d
Unexecuted instantiation: encodetxb.c:get_br_ctx_2d
Unexecuted instantiation: ethread.c:get_br_ctx_2d
Unexecuted instantiation: firstpass.c:get_br_ctx_2d
Unexecuted instantiation: global_motion_facade.c:get_br_ctx_2d
Unexecuted instantiation: level.c:get_br_ctx_2d
Unexecuted instantiation: lookahead.c:get_br_ctx_2d
Unexecuted instantiation: mcomp.c:get_br_ctx_2d
Unexecuted instantiation: mv_prec.c:get_br_ctx_2d
Unexecuted instantiation: palette.c:get_br_ctx_2d
Unexecuted instantiation: pass2_strategy.c:get_br_ctx_2d
Unexecuted instantiation: pickcdef.c:get_br_ctx_2d
Unexecuted instantiation: picklpf.c:get_br_ctx_2d
Unexecuted instantiation: pickrst.c:get_br_ctx_2d
Unexecuted instantiation: ratectrl.c:get_br_ctx_2d
Unexecuted instantiation: rd.c:get_br_ctx_2d
Unexecuted instantiation: rdopt.c:get_br_ctx_2d
Unexecuted instantiation: segmentation.c:get_br_ctx_2d
Unexecuted instantiation: speed_features.c:get_br_ctx_2d
Unexecuted instantiation: superres_scale.c:get_br_ctx_2d
Unexecuted instantiation: svc_layercontext.c:get_br_ctx_2d
Unexecuted instantiation: temporal_filter.c:get_br_ctx_2d
Unexecuted instantiation: thirdpass.c:get_br_ctx_2d
Unexecuted instantiation: tokenize.c:get_br_ctx_2d
Unexecuted instantiation: tpl_model.c:get_br_ctx_2d
Unexecuted instantiation: tx_search.c:get_br_ctx_2d
Unexecuted instantiation: txb_rdopt.c:get_br_ctx_2d
Unexecuted instantiation: intra_mode_search.c:get_br_ctx_2d
Unexecuted instantiation: var_based_part.c:get_br_ctx_2d
Unexecuted instantiation: av1_noise_estimate.c:get_br_ctx_2d
Unexecuted instantiation: entropy.c:get_br_ctx_2d
Unexecuted instantiation: entropymode.c:get_br_ctx_2d
Unexecuted instantiation: txb_common.c:get_br_ctx_2d
Unexecuted instantiation: aq_complexity.c:get_br_ctx_2d
Unexecuted instantiation: aq_cyclicrefresh.c:get_br_ctx_2d
Unexecuted instantiation: aq_variance.c:get_br_ctx_2d
Unexecuted instantiation: allintra_vis.c:get_br_ctx_2d
Unexecuted instantiation: compound_type.c:get_br_ctx_2d
Unexecuted instantiation: context_tree.c:get_br_ctx_2d
Unexecuted instantiation: encodeframe.c:get_br_ctx_2d
Unexecuted instantiation: encodeframe_utils.c:get_br_ctx_2d
Unexecuted instantiation: encodemb.c:get_br_ctx_2d
Unexecuted instantiation: encode_strategy.c:get_br_ctx_2d
Unexecuted instantiation: global_motion.c:get_br_ctx_2d
Unexecuted instantiation: gop_structure.c:get_br_ctx_2d
Unexecuted instantiation: interp_search.c:get_br_ctx_2d
Unexecuted instantiation: motion_search_facade.c:get_br_ctx_2d
Unexecuted instantiation: partition_search.c:get_br_ctx_2d
Unexecuted instantiation: partition_strategy.c:get_br_ctx_2d
Unexecuted instantiation: nonrd_pickmode.c:get_br_ctx_2d
162
163
static AOM_FORCE_INLINE int get_br_ctx_eob(const int c,  // raster order
164
                                           const int bwl,
165
39.6k
                                           const TX_CLASS tx_class) {
166
39.6k
  const int row = c >> bwl;
167
39.6k
  const int col = c - (row << bwl);
168
39.6k
  if (c == 0) return 0;
169
1.29k
  if ((tx_class == TX_CLASS_2D && row < 2 && col < 2) ||
170
1.29k
      (tx_class == TX_CLASS_HORIZ && col == 0) ||
171
1.29k
      (tx_class == TX_CLASS_VERT && row == 0))
172
0
    return 7;
173
1.29k
  return 14;
174
1.29k
}
Unexecuted instantiation: decodetxb.c:get_br_ctx_eob
Unexecuted instantiation: av1_cx_iface.c:get_br_ctx_eob
Unexecuted instantiation: av1_quantize.c:get_br_ctx_eob
Unexecuted instantiation: bitstream.c:get_br_ctx_eob
Unexecuted instantiation: encodemv.c:get_br_ctx_eob
Unexecuted instantiation: encoder.c:get_br_ctx_eob
Unexecuted instantiation: encoder_utils.c:get_br_ctx_eob
Unexecuted instantiation: encodetxb.c:get_br_ctx_eob
Unexecuted instantiation: ethread.c:get_br_ctx_eob
Unexecuted instantiation: firstpass.c:get_br_ctx_eob
Unexecuted instantiation: global_motion_facade.c:get_br_ctx_eob
Unexecuted instantiation: level.c:get_br_ctx_eob
Unexecuted instantiation: lookahead.c:get_br_ctx_eob
Unexecuted instantiation: mcomp.c:get_br_ctx_eob
Unexecuted instantiation: mv_prec.c:get_br_ctx_eob
Unexecuted instantiation: palette.c:get_br_ctx_eob
Unexecuted instantiation: pass2_strategy.c:get_br_ctx_eob
Unexecuted instantiation: pickcdef.c:get_br_ctx_eob
Unexecuted instantiation: picklpf.c:get_br_ctx_eob
Unexecuted instantiation: pickrst.c:get_br_ctx_eob
Unexecuted instantiation: ratectrl.c:get_br_ctx_eob
Unexecuted instantiation: rd.c:get_br_ctx_eob
Unexecuted instantiation: rdopt.c:get_br_ctx_eob
Unexecuted instantiation: segmentation.c:get_br_ctx_eob
Unexecuted instantiation: speed_features.c:get_br_ctx_eob
Unexecuted instantiation: superres_scale.c:get_br_ctx_eob
Unexecuted instantiation: svc_layercontext.c:get_br_ctx_eob
Unexecuted instantiation: temporal_filter.c:get_br_ctx_eob
Unexecuted instantiation: thirdpass.c:get_br_ctx_eob
Unexecuted instantiation: tokenize.c:get_br_ctx_eob
Unexecuted instantiation: tpl_model.c:get_br_ctx_eob
Unexecuted instantiation: tx_search.c:get_br_ctx_eob
txb_rdopt.c:get_br_ctx_eob
Line
Count
Source
165
39.6k
                                           const TX_CLASS tx_class) {
166
39.6k
  const int row = c >> bwl;
167
39.6k
  const int col = c - (row << bwl);
168
39.6k
  if (c == 0) return 0;
169
1.29k
  if ((tx_class == TX_CLASS_2D && row < 2 && col < 2) ||
170
1.29k
      (tx_class == TX_CLASS_HORIZ && col == 0) ||
171
1.29k
      (tx_class == TX_CLASS_VERT && row == 0))
172
0
    return 7;
173
1.29k
  return 14;
174
1.29k
}
Unexecuted instantiation: intra_mode_search.c:get_br_ctx_eob
Unexecuted instantiation: var_based_part.c:get_br_ctx_eob
Unexecuted instantiation: av1_noise_estimate.c:get_br_ctx_eob
Unexecuted instantiation: entropy.c:get_br_ctx_eob
Unexecuted instantiation: entropymode.c:get_br_ctx_eob
Unexecuted instantiation: txb_common.c:get_br_ctx_eob
Unexecuted instantiation: aq_complexity.c:get_br_ctx_eob
Unexecuted instantiation: aq_cyclicrefresh.c:get_br_ctx_eob
Unexecuted instantiation: aq_variance.c:get_br_ctx_eob
Unexecuted instantiation: allintra_vis.c:get_br_ctx_eob
Unexecuted instantiation: compound_type.c:get_br_ctx_eob
Unexecuted instantiation: context_tree.c:get_br_ctx_eob
Unexecuted instantiation: encodeframe.c:get_br_ctx_eob
Unexecuted instantiation: encodeframe_utils.c:get_br_ctx_eob
Unexecuted instantiation: encodemb.c:get_br_ctx_eob
Unexecuted instantiation: encode_strategy.c:get_br_ctx_eob
Unexecuted instantiation: global_motion.c:get_br_ctx_eob
Unexecuted instantiation: gop_structure.c:get_br_ctx_eob
Unexecuted instantiation: interp_search.c:get_br_ctx_eob
Unexecuted instantiation: motion_search_facade.c:get_br_ctx_eob
Unexecuted instantiation: partition_search.c:get_br_ctx_eob
Unexecuted instantiation: partition_strategy.c:get_br_ctx_eob
Unexecuted instantiation: nonrd_pickmode.c:get_br_ctx_eob
175
176
static AOM_FORCE_INLINE int get_br_ctx(const uint8_t *const levels,
177
                                       const int c,  // raster order
178
73.3k
                                       const int bwl, const TX_CLASS tx_class) {
179
73.3k
  const int row = c >> bwl;
180
73.3k
  const int col = c - (row << bwl);
181
73.3k
  const int stride = (1 << bwl) + TX_PAD_HOR;
182
73.3k
  const int pos = row * stride + col;
183
73.3k
  int mag = levels[pos + 1];
184
73.3k
  mag += levels[pos + stride];
185
73.3k
  switch (tx_class) {
186
73.3k
    case TX_CLASS_2D:
187
73.3k
      mag += levels[pos + stride + 1];
188
73.3k
      mag = AOMMIN((mag + 1) >> 1, 6);
189
73.3k
      if (c == 0) return mag;
190
60.9k
      if ((row < 2) && (col < 2)) return mag + 7;
191
54.5k
      break;
192
54.5k
    case TX_CLASS_HORIZ:
193
0
      mag += levels[pos + 2];
194
0
      mag = AOMMIN((mag + 1) >> 1, 6);
195
0
      if (c == 0) return mag;
196
0
      if (col == 0) return mag + 7;
197
0
      break;
198
0
    case TX_CLASS_VERT:
199
0
      mag += levels[pos + (stride << 1)];
200
0
      mag = AOMMIN((mag + 1) >> 1, 6);
201
0
      if (c == 0) return mag;
202
0
      if (row == 0) return mag + 7;
203
0
      break;
204
0
    default: break;
205
73.3k
  }
206
207
54.5k
  return mag + 14;
208
73.3k
}
Unexecuted instantiation: decodetxb.c:get_br_ctx
Unexecuted instantiation: av1_cx_iface.c:get_br_ctx
Unexecuted instantiation: av1_quantize.c:get_br_ctx
Unexecuted instantiation: bitstream.c:get_br_ctx
Unexecuted instantiation: encodemv.c:get_br_ctx
Unexecuted instantiation: encoder.c:get_br_ctx
Unexecuted instantiation: encoder_utils.c:get_br_ctx
encodetxb.c:get_br_ctx
Line
Count
Source
178
5.43k
                                       const int bwl, const TX_CLASS tx_class) {
179
5.43k
  const int row = c >> bwl;
180
5.43k
  const int col = c - (row << bwl);
181
5.43k
  const int stride = (1 << bwl) + TX_PAD_HOR;
182
5.43k
  const int pos = row * stride + col;
183
5.43k
  int mag = levels[pos + 1];
184
5.43k
  mag += levels[pos + stride];
185
5.43k
  switch (tx_class) {
186
5.43k
    case TX_CLASS_2D:
187
5.43k
      mag += levels[pos + stride + 1];
188
5.43k
      mag = AOMMIN((mag + 1) >> 1, 6);
189
5.43k
      if (c == 0) return mag;
190
0
      if ((row < 2) && (col < 2)) return mag + 7;
191
0
      break;
192
0
    case TX_CLASS_HORIZ:
193
0
      mag += levels[pos + 2];
194
0
      mag = AOMMIN((mag + 1) >> 1, 6);
195
0
      if (c == 0) return mag;
196
0
      if (col == 0) return mag + 7;
197
0
      break;
198
0
    case TX_CLASS_VERT:
199
0
      mag += levels[pos + (stride << 1)];
200
0
      mag = AOMMIN((mag + 1) >> 1, 6);
201
0
      if (c == 0) return mag;
202
0
      if (row == 0) return mag + 7;
203
0
      break;
204
0
    default: break;
205
5.43k
  }
206
207
0
  return mag + 14;
208
5.43k
}
Unexecuted instantiation: ethread.c:get_br_ctx
Unexecuted instantiation: firstpass.c:get_br_ctx
Unexecuted instantiation: global_motion_facade.c:get_br_ctx
Unexecuted instantiation: level.c:get_br_ctx
Unexecuted instantiation: lookahead.c:get_br_ctx
Unexecuted instantiation: mcomp.c:get_br_ctx
Unexecuted instantiation: mv_prec.c:get_br_ctx
Unexecuted instantiation: palette.c:get_br_ctx
Unexecuted instantiation: pass2_strategy.c:get_br_ctx
Unexecuted instantiation: pickcdef.c:get_br_ctx
Unexecuted instantiation: picklpf.c:get_br_ctx
Unexecuted instantiation: pickrst.c:get_br_ctx
Unexecuted instantiation: ratectrl.c:get_br_ctx
Unexecuted instantiation: rd.c:get_br_ctx
Unexecuted instantiation: rdopt.c:get_br_ctx
Unexecuted instantiation: segmentation.c:get_br_ctx
Unexecuted instantiation: speed_features.c:get_br_ctx
Unexecuted instantiation: superres_scale.c:get_br_ctx
Unexecuted instantiation: svc_layercontext.c:get_br_ctx
Unexecuted instantiation: temporal_filter.c:get_br_ctx
Unexecuted instantiation: thirdpass.c:get_br_ctx
Unexecuted instantiation: tokenize.c:get_br_ctx
Unexecuted instantiation: tpl_model.c:get_br_ctx
Unexecuted instantiation: tx_search.c:get_br_ctx
txb_rdopt.c:get_br_ctx
Line
Count
Source
178
67.9k
                                       const int bwl, const TX_CLASS tx_class) {
179
67.9k
  const int row = c >> bwl;
180
67.9k
  const int col = c - (row << bwl);
181
67.9k
  const int stride = (1 << bwl) + TX_PAD_HOR;
182
67.9k
  const int pos = row * stride + col;
183
67.9k
  int mag = levels[pos + 1];
184
67.9k
  mag += levels[pos + stride];
185
67.9k
  switch (tx_class) {
186
67.9k
    case TX_CLASS_2D:
187
67.9k
      mag += levels[pos + stride + 1];
188
67.9k
      mag = AOMMIN((mag + 1) >> 1, 6);
189
67.9k
      if (c == 0) return mag;
190
60.9k
      if ((row < 2) && (col < 2)) return mag + 7;
191
54.5k
      break;
192
54.5k
    case TX_CLASS_HORIZ:
193
0
      mag += levels[pos + 2];
194
0
      mag = AOMMIN((mag + 1) >> 1, 6);
195
0
      if (c == 0) return mag;
196
0
      if (col == 0) return mag + 7;
197
0
      break;
198
0
    case TX_CLASS_VERT:
199
0
      mag += levels[pos + (stride << 1)];
200
0
      mag = AOMMIN((mag + 1) >> 1, 6);
201
0
      if (c == 0) return mag;
202
0
      if (row == 0) return mag + 7;
203
0
      break;
204
0
    default: break;
205
67.9k
  }
206
207
54.5k
  return mag + 14;
208
67.9k
}
Unexecuted instantiation: intra_mode_search.c:get_br_ctx
Unexecuted instantiation: var_based_part.c:get_br_ctx
Unexecuted instantiation: av1_noise_estimate.c:get_br_ctx
Unexecuted instantiation: entropy.c:get_br_ctx
Unexecuted instantiation: entropymode.c:get_br_ctx
Unexecuted instantiation: txb_common.c:get_br_ctx
Unexecuted instantiation: aq_complexity.c:get_br_ctx
Unexecuted instantiation: aq_cyclicrefresh.c:get_br_ctx
Unexecuted instantiation: aq_variance.c:get_br_ctx
Unexecuted instantiation: allintra_vis.c:get_br_ctx
Unexecuted instantiation: compound_type.c:get_br_ctx
Unexecuted instantiation: context_tree.c:get_br_ctx
Unexecuted instantiation: encodeframe.c:get_br_ctx
Unexecuted instantiation: encodeframe_utils.c:get_br_ctx
Unexecuted instantiation: encodemb.c:get_br_ctx
Unexecuted instantiation: encode_strategy.c:get_br_ctx
Unexecuted instantiation: global_motion.c:get_br_ctx
Unexecuted instantiation: gop_structure.c:get_br_ctx
Unexecuted instantiation: interp_search.c:get_br_ctx
Unexecuted instantiation: motion_search_facade.c:get_br_ctx
Unexecuted instantiation: partition_search.c:get_br_ctx
Unexecuted instantiation: partition_strategy.c:get_br_ctx
Unexecuted instantiation: nonrd_pickmode.c:get_br_ctx
209
210
static const uint8_t clip_max3[256] = {
211
  0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
212
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
213
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
214
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
215
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
216
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
217
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
218
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
219
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
220
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
221
};
222
223
static AOM_FORCE_INLINE int get_nz_mag(const uint8_t *const levels,
224
366k
                                       const int bwl, const TX_CLASS tx_class) {
225
366k
  int mag;
226
227
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
228
366k
  mag = clip_max3[levels[1]];                         // { 0, 1 }
229
366k
  mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR]];  // { 1, 0 }
230
231
366k
  if (tx_class == TX_CLASS_2D) {
232
366k
    mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR + 1]];          // { 1, 1 }
233
366k
    mag += clip_max3[levels[2]];                                    // { 0, 2 }
234
366k
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
235
366k
  } else if (tx_class == TX_CLASS_VERT) {
236
0
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
237
0
    mag += clip_max3[levels[(3 << bwl) + (3 << TX_PAD_HOR_LOG2)]];  // { 3, 0 }
238
0
    mag += clip_max3[levels[(4 << bwl) + (4 << TX_PAD_HOR_LOG2)]];  // { 4, 0 }
239
0
  } else {
240
0
    mag += clip_max3[levels[2]];  // { 0, 2 }
241
0
    mag += clip_max3[levels[3]];  // { 0, 3 }
242
0
    mag += clip_max3[levels[4]];  // { 0, 4 }
243
0
  }
244
245
366k
  return mag;
246
366k
}
Unexecuted instantiation: decodetxb.c:get_nz_mag
Unexecuted instantiation: av1_cx_iface.c:get_nz_mag
Unexecuted instantiation: av1_quantize.c:get_nz_mag
Unexecuted instantiation: bitstream.c:get_nz_mag
Unexecuted instantiation: encodemv.c:get_nz_mag
Unexecuted instantiation: encoder.c:get_nz_mag
Unexecuted instantiation: encoder_utils.c:get_nz_mag
encodetxb.c:get_nz_mag
Line
Count
Source
224
338k
                                       const int bwl, const TX_CLASS tx_class) {
225
338k
  int mag;
226
227
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
228
338k
  mag = clip_max3[levels[1]];                         // { 0, 1 }
229
338k
  mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR]];  // { 1, 0 }
230
231
338k
  if (tx_class == TX_CLASS_2D) {
232
338k
    mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR + 1]];          // { 1, 1 }
233
338k
    mag += clip_max3[levels[2]];                                    // { 0, 2 }
234
338k
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
235
338k
  } else if (tx_class == TX_CLASS_VERT) {
236
0
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
237
0
    mag += clip_max3[levels[(3 << bwl) + (3 << TX_PAD_HOR_LOG2)]];  // { 3, 0 }
238
0
    mag += clip_max3[levels[(4 << bwl) + (4 << TX_PAD_HOR_LOG2)]];  // { 4, 0 }
239
0
  } else {
240
0
    mag += clip_max3[levels[2]];  // { 0, 2 }
241
0
    mag += clip_max3[levels[3]];  // { 0, 3 }
242
0
    mag += clip_max3[levels[4]];  // { 0, 4 }
243
0
  }
244
245
338k
  return mag;
246
338k
}
Unexecuted instantiation: ethread.c:get_nz_mag
Unexecuted instantiation: firstpass.c:get_nz_mag
Unexecuted instantiation: global_motion_facade.c:get_nz_mag
Unexecuted instantiation: level.c:get_nz_mag
Unexecuted instantiation: lookahead.c:get_nz_mag
Unexecuted instantiation: mcomp.c:get_nz_mag
Unexecuted instantiation: mv_prec.c:get_nz_mag
Unexecuted instantiation: palette.c:get_nz_mag
Unexecuted instantiation: pass2_strategy.c:get_nz_mag
Unexecuted instantiation: pickcdef.c:get_nz_mag
Unexecuted instantiation: picklpf.c:get_nz_mag
Unexecuted instantiation: pickrst.c:get_nz_mag
Unexecuted instantiation: ratectrl.c:get_nz_mag
Unexecuted instantiation: rd.c:get_nz_mag
Unexecuted instantiation: rdopt.c:get_nz_mag
Unexecuted instantiation: segmentation.c:get_nz_mag
Unexecuted instantiation: speed_features.c:get_nz_mag
Unexecuted instantiation: superres_scale.c:get_nz_mag
Unexecuted instantiation: svc_layercontext.c:get_nz_mag
Unexecuted instantiation: temporal_filter.c:get_nz_mag
Unexecuted instantiation: thirdpass.c:get_nz_mag
Unexecuted instantiation: tokenize.c:get_nz_mag
Unexecuted instantiation: tpl_model.c:get_nz_mag
Unexecuted instantiation: tx_search.c:get_nz_mag
txb_rdopt.c:get_nz_mag
Line
Count
Source
224
27.9k
                                       const int bwl, const TX_CLASS tx_class) {
225
27.9k
  int mag;
226
227
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
228
27.9k
  mag = clip_max3[levels[1]];                         // { 0, 1 }
229
27.9k
  mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR]];  // { 1, 0 }
230
231
27.9k
  if (tx_class == TX_CLASS_2D) {
232
27.9k
    mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR + 1]];          // { 1, 1 }
233
27.9k
    mag += clip_max3[levels[2]];                                    // { 0, 2 }
234
27.9k
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
235
27.9k
  } else if (tx_class == TX_CLASS_VERT) {
236
0
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
237
0
    mag += clip_max3[levels[(3 << bwl) + (3 << TX_PAD_HOR_LOG2)]];  // { 3, 0 }
238
0
    mag += clip_max3[levels[(4 << bwl) + (4 << TX_PAD_HOR_LOG2)]];  // { 4, 0 }
239
0
  } else {
240
0
    mag += clip_max3[levels[2]];  // { 0, 2 }
241
0
    mag += clip_max3[levels[3]];  // { 0, 3 }
242
0
    mag += clip_max3[levels[4]];  // { 0, 4 }
243
0
  }
244
245
27.9k
  return mag;
246
27.9k
}
Unexecuted instantiation: intra_mode_search.c:get_nz_mag
Unexecuted instantiation: var_based_part.c:get_nz_mag
Unexecuted instantiation: av1_noise_estimate.c:get_nz_mag
Unexecuted instantiation: entropy.c:get_nz_mag
Unexecuted instantiation: entropymode.c:get_nz_mag
Unexecuted instantiation: txb_common.c:get_nz_mag
Unexecuted instantiation: aq_complexity.c:get_nz_mag
Unexecuted instantiation: aq_cyclicrefresh.c:get_nz_mag
Unexecuted instantiation: aq_variance.c:get_nz_mag
Unexecuted instantiation: allintra_vis.c:get_nz_mag
Unexecuted instantiation: compound_type.c:get_nz_mag
Unexecuted instantiation: context_tree.c:get_nz_mag
Unexecuted instantiation: encodeframe.c:get_nz_mag
Unexecuted instantiation: encodeframe_utils.c:get_nz_mag
Unexecuted instantiation: encodemb.c:get_nz_mag
Unexecuted instantiation: encode_strategy.c:get_nz_mag
Unexecuted instantiation: global_motion.c:get_nz_mag
Unexecuted instantiation: gop_structure.c:get_nz_mag
Unexecuted instantiation: interp_search.c:get_nz_mag
Unexecuted instantiation: motion_search_facade.c:get_nz_mag
Unexecuted instantiation: partition_search.c:get_nz_mag
Unexecuted instantiation: partition_strategy.c:get_nz_mag
Unexecuted instantiation: nonrd_pickmode.c:get_nz_mag
247
248
#define NZ_MAP_CTX_0 SIG_COEF_CONTEXTS_2D
249
#define NZ_MAP_CTX_5 (NZ_MAP_CTX_0 + 5)
250
#define NZ_MAP_CTX_10 (NZ_MAP_CTX_0 + 10)
251
252
static const int nz_map_ctx_offset_1d[32] = {
253
  NZ_MAP_CTX_0,  NZ_MAP_CTX_5,  NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10,
254
  NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10,
255
  NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10,
256
  NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10,
257
  NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10,
258
  NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10,
259
  NZ_MAP_CTX_10, NZ_MAP_CTX_10,
260
};
261
262
static AOM_FORCE_INLINE int get_nz_map_ctx_from_stats(
263
    const int stats,
264
    const int coeff_idx,  // raster order
265
366k
    const int bwl, const TX_SIZE tx_size, const TX_CLASS tx_class) {
266
  // tx_class == 0(TX_CLASS_2D)
267
366k
  if ((tx_class | coeff_idx) == 0) return 0;
268
360k
  int ctx = (stats + 1) >> 1;
269
360k
  ctx = AOMMIN(ctx, 4);
270
360k
  switch (tx_class) {
271
360k
    case TX_CLASS_2D: {
272
      // This is the algorithm to generate av1_nz_map_ctx_offset[][]
273
      //   const int width = tx_size_wide[tx_size];
274
      //   const int height = tx_size_high[tx_size];
275
      //   if (width < height) {
276
      //     if (row < 2) return 11 + ctx;
277
      //   } else if (width > height) {
278
      //     if (col < 2) return 16 + ctx;
279
      //   }
280
      //   if (row + col < 2) return ctx + 1;
281
      //   if (row + col < 4) return 5 + ctx + 1;
282
      //   return 21 + ctx;
283
360k
      return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
284
0
    }
285
0
    case TX_CLASS_HORIZ: {
286
0
      const int row = coeff_idx >> bwl;
287
0
      const int col = coeff_idx - (row << bwl);
288
0
      return ctx + nz_map_ctx_offset_1d[col];
289
0
    }
290
0
    case TX_CLASS_VERT: {
291
0
      const int row = coeff_idx >> bwl;
292
0
      return ctx + nz_map_ctx_offset_1d[row];
293
0
    }
294
0
    default: break;
295
360k
  }
296
0
  return 0;
297
360k
}
Unexecuted instantiation: decodetxb.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: av1_cx_iface.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: av1_quantize.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: bitstream.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: encodemv.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: encoder.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: encoder_utils.c:get_nz_map_ctx_from_stats
encodetxb.c:get_nz_map_ctx_from_stats
Line
Count
Source
265
338k
    const int bwl, const TX_SIZE tx_size, const TX_CLASS tx_class) {
266
  // tx_class == 0(TX_CLASS_2D)
267
338k
  if ((tx_class | coeff_idx) == 0) return 0;
268
333k
  int ctx = (stats + 1) >> 1;
269
333k
  ctx = AOMMIN(ctx, 4);
270
333k
  switch (tx_class) {
271
333k
    case TX_CLASS_2D: {
272
      // This is the algorithm to generate av1_nz_map_ctx_offset[][]
273
      //   const int width = tx_size_wide[tx_size];
274
      //   const int height = tx_size_high[tx_size];
275
      //   if (width < height) {
276
      //     if (row < 2) return 11 + ctx;
277
      //   } else if (width > height) {
278
      //     if (col < 2) return 16 + ctx;
279
      //   }
280
      //   if (row + col < 2) return ctx + 1;
281
      //   if (row + col < 4) return 5 + ctx + 1;
282
      //   return 21 + ctx;
283
333k
      return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
284
0
    }
285
0
    case TX_CLASS_HORIZ: {
286
0
      const int row = coeff_idx >> bwl;
287
0
      const int col = coeff_idx - (row << bwl);
288
0
      return ctx + nz_map_ctx_offset_1d[col];
289
0
    }
290
0
    case TX_CLASS_VERT: {
291
0
      const int row = coeff_idx >> bwl;
292
0
      return ctx + nz_map_ctx_offset_1d[row];
293
0
    }
294
0
    default: break;
295
333k
  }
296
0
  return 0;
297
333k
}
Unexecuted instantiation: ethread.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: firstpass.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: global_motion_facade.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: level.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: lookahead.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: mcomp.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: mv_prec.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: palette.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: pass2_strategy.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: pickcdef.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: picklpf.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: pickrst.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: ratectrl.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: rd.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: rdopt.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: segmentation.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: speed_features.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: superres_scale.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: svc_layercontext.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: temporal_filter.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: thirdpass.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: tokenize.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: tpl_model.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: tx_search.c:get_nz_map_ctx_from_stats
txb_rdopt.c:get_nz_map_ctx_from_stats
Line
Count
Source
265
27.9k
    const int bwl, const TX_SIZE tx_size, const TX_CLASS tx_class) {
266
  // tx_class == 0(TX_CLASS_2D)
267
27.9k
  if ((tx_class | coeff_idx) == 0) return 0;
268
27.0k
  int ctx = (stats + 1) >> 1;
269
27.0k
  ctx = AOMMIN(ctx, 4);
270
27.0k
  switch (tx_class) {
271
27.0k
    case TX_CLASS_2D: {
272
      // This is the algorithm to generate av1_nz_map_ctx_offset[][]
273
      //   const int width = tx_size_wide[tx_size];
274
      //   const int height = tx_size_high[tx_size];
275
      //   if (width < height) {
276
      //     if (row < 2) return 11 + ctx;
277
      //   } else if (width > height) {
278
      //     if (col < 2) return 16 + ctx;
279
      //   }
280
      //   if (row + col < 2) return ctx + 1;
281
      //   if (row + col < 4) return 5 + ctx + 1;
282
      //   return 21 + ctx;
283
27.0k
      return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
284
0
    }
285
0
    case TX_CLASS_HORIZ: {
286
0
      const int row = coeff_idx >> bwl;
287
0
      const int col = coeff_idx - (row << bwl);
288
0
      return ctx + nz_map_ctx_offset_1d[col];
289
0
    }
290
0
    case TX_CLASS_VERT: {
291
0
      const int row = coeff_idx >> bwl;
292
0
      return ctx + nz_map_ctx_offset_1d[row];
293
0
    }
294
0
    default: break;
295
27.0k
  }
296
0
  return 0;
297
27.0k
}
Unexecuted instantiation: intra_mode_search.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: var_based_part.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: av1_noise_estimate.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: entropy.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: entropymode.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: txb_common.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: aq_complexity.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: aq_cyclicrefresh.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: aq_variance.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: allintra_vis.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: compound_type.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: context_tree.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: encodeframe.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: encodeframe_utils.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: encodemb.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: encode_strategy.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: global_motion.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: gop_structure.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: interp_search.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: motion_search_facade.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: partition_search.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: partition_strategy.c:get_nz_map_ctx_from_stats
Unexecuted instantiation: nonrd_pickmode.c:get_nz_map_ctx_from_stats
298
299
typedef aom_cdf_prob (*base_cdf_arr)[CDF_SIZE(4)];
300
typedef aom_cdf_prob (*br_cdf_arr)[CDF_SIZE(BR_CDF_SIZE)];
301
302
41.9k
static INLINE int get_lower_levels_ctx_eob(int bwl, int height, int scan_idx) {
303
41.9k
  if (scan_idx == 0) return 0;
304
3.86k
  if (scan_idx <= (height << bwl) / 8) return 1;
305
1.98k
  if (scan_idx <= (height << bwl) / 4) return 2;
306
963
  return 3;
307
1.98k
}
Unexecuted instantiation: decodetxb.c:get_lower_levels_ctx_eob
Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx_eob
Unexecuted instantiation: av1_quantize.c:get_lower_levels_ctx_eob
Unexecuted instantiation: bitstream.c:get_lower_levels_ctx_eob
Unexecuted instantiation: encodemv.c:get_lower_levels_ctx_eob
Unexecuted instantiation: encoder.c:get_lower_levels_ctx_eob
Unexecuted instantiation: encoder_utils.c:get_lower_levels_ctx_eob
Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx_eob
Unexecuted instantiation: ethread.c:get_lower_levels_ctx_eob
Unexecuted instantiation: firstpass.c:get_lower_levels_ctx_eob
Unexecuted instantiation: global_motion_facade.c:get_lower_levels_ctx_eob
Unexecuted instantiation: level.c:get_lower_levels_ctx_eob
Unexecuted instantiation: lookahead.c:get_lower_levels_ctx_eob
Unexecuted instantiation: mcomp.c:get_lower_levels_ctx_eob
Unexecuted instantiation: mv_prec.c:get_lower_levels_ctx_eob
Unexecuted instantiation: palette.c:get_lower_levels_ctx_eob
Unexecuted instantiation: pass2_strategy.c:get_lower_levels_ctx_eob
Unexecuted instantiation: pickcdef.c:get_lower_levels_ctx_eob
Unexecuted instantiation: picklpf.c:get_lower_levels_ctx_eob
Unexecuted instantiation: pickrst.c:get_lower_levels_ctx_eob
Unexecuted instantiation: ratectrl.c:get_lower_levels_ctx_eob
Unexecuted instantiation: rd.c:get_lower_levels_ctx_eob
Unexecuted instantiation: rdopt.c:get_lower_levels_ctx_eob
Unexecuted instantiation: segmentation.c:get_lower_levels_ctx_eob
Unexecuted instantiation: speed_features.c:get_lower_levels_ctx_eob
Unexecuted instantiation: superres_scale.c:get_lower_levels_ctx_eob
Unexecuted instantiation: svc_layercontext.c:get_lower_levels_ctx_eob
Unexecuted instantiation: temporal_filter.c:get_lower_levels_ctx_eob
Unexecuted instantiation: thirdpass.c:get_lower_levels_ctx_eob
Unexecuted instantiation: tokenize.c:get_lower_levels_ctx_eob
Unexecuted instantiation: tpl_model.c:get_lower_levels_ctx_eob
Unexecuted instantiation: tx_search.c:get_lower_levels_ctx_eob
txb_rdopt.c:get_lower_levels_ctx_eob
Line
Count
Source
302
41.9k
static INLINE int get_lower_levels_ctx_eob(int bwl, int height, int scan_idx) {
303
41.9k
  if (scan_idx == 0) return 0;
304
3.86k
  if (scan_idx <= (height << bwl) / 8) return 1;
305
1.98k
  if (scan_idx <= (height << bwl) / 4) return 2;
306
963
  return 3;
307
1.98k
}
Unexecuted instantiation: intra_mode_search.c:get_lower_levels_ctx_eob
Unexecuted instantiation: var_based_part.c:get_lower_levels_ctx_eob
Unexecuted instantiation: av1_noise_estimate.c:get_lower_levels_ctx_eob
Unexecuted instantiation: entropy.c:get_lower_levels_ctx_eob
Unexecuted instantiation: entropymode.c:get_lower_levels_ctx_eob
Unexecuted instantiation: txb_common.c:get_lower_levels_ctx_eob
Unexecuted instantiation: aq_complexity.c:get_lower_levels_ctx_eob
Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx_eob
Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx_eob
Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx_eob
Unexecuted instantiation: compound_type.c:get_lower_levels_ctx_eob
Unexecuted instantiation: context_tree.c:get_lower_levels_ctx_eob
Unexecuted instantiation: encodeframe.c:get_lower_levels_ctx_eob
Unexecuted instantiation: encodeframe_utils.c:get_lower_levels_ctx_eob
Unexecuted instantiation: encodemb.c:get_lower_levels_ctx_eob
Unexecuted instantiation: encode_strategy.c:get_lower_levels_ctx_eob
Unexecuted instantiation: global_motion.c:get_lower_levels_ctx_eob
Unexecuted instantiation: gop_structure.c:get_lower_levels_ctx_eob
Unexecuted instantiation: interp_search.c:get_lower_levels_ctx_eob
Unexecuted instantiation: motion_search_facade.c:get_lower_levels_ctx_eob
Unexecuted instantiation: partition_search.c:get_lower_levels_ctx_eob
Unexecuted instantiation: partition_strategy.c:get_lower_levels_ctx_eob
Unexecuted instantiation: nonrd_pickmode.c:get_lower_levels_ctx_eob
308
309
static INLINE int get_lower_levels_ctx_2d(const uint8_t *levels, int coeff_idx,
310
0
                                          int bwl, TX_SIZE tx_size) {
311
0
  assert(coeff_idx > 0);
312
0
  int mag;
313
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
314
0
  levels = levels + get_padded_idx(coeff_idx, bwl);
315
0
  mag = AOMMIN(levels[1], 3);                                     // { 0, 1 }
316
0
  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR], 3);              // { 1, 0 }
317
0
  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR + 1], 3);          // { 1, 1 }
318
0
  mag += AOMMIN(levels[2], 3);                                    // { 0, 2 }
319
0
  mag += AOMMIN(levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)], 3);  // { 2, 0 }
320
321
0
  const int ctx = AOMMIN((mag + 1) >> 1, 4);
322
0
  return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
323
0
}
Unexecuted instantiation: decodetxb.c:get_lower_levels_ctx_2d
Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx_2d
Unexecuted instantiation: av1_quantize.c:get_lower_levels_ctx_2d
Unexecuted instantiation: bitstream.c:get_lower_levels_ctx_2d
Unexecuted instantiation: encodemv.c:get_lower_levels_ctx_2d
Unexecuted instantiation: encoder.c:get_lower_levels_ctx_2d
Unexecuted instantiation: encoder_utils.c:get_lower_levels_ctx_2d
Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx_2d
Unexecuted instantiation: ethread.c:get_lower_levels_ctx_2d
Unexecuted instantiation: firstpass.c:get_lower_levels_ctx_2d
Unexecuted instantiation: global_motion_facade.c:get_lower_levels_ctx_2d
Unexecuted instantiation: level.c:get_lower_levels_ctx_2d
Unexecuted instantiation: lookahead.c:get_lower_levels_ctx_2d
Unexecuted instantiation: mcomp.c:get_lower_levels_ctx_2d
Unexecuted instantiation: mv_prec.c:get_lower_levels_ctx_2d
Unexecuted instantiation: palette.c:get_lower_levels_ctx_2d
Unexecuted instantiation: pass2_strategy.c:get_lower_levels_ctx_2d
Unexecuted instantiation: pickcdef.c:get_lower_levels_ctx_2d
Unexecuted instantiation: picklpf.c:get_lower_levels_ctx_2d
Unexecuted instantiation: pickrst.c:get_lower_levels_ctx_2d
Unexecuted instantiation: ratectrl.c:get_lower_levels_ctx_2d
Unexecuted instantiation: rd.c:get_lower_levels_ctx_2d
Unexecuted instantiation: rdopt.c:get_lower_levels_ctx_2d
Unexecuted instantiation: segmentation.c:get_lower_levels_ctx_2d
Unexecuted instantiation: speed_features.c:get_lower_levels_ctx_2d
Unexecuted instantiation: superres_scale.c:get_lower_levels_ctx_2d
Unexecuted instantiation: svc_layercontext.c:get_lower_levels_ctx_2d
Unexecuted instantiation: temporal_filter.c:get_lower_levels_ctx_2d
Unexecuted instantiation: thirdpass.c:get_lower_levels_ctx_2d
Unexecuted instantiation: tokenize.c:get_lower_levels_ctx_2d
Unexecuted instantiation: tpl_model.c:get_lower_levels_ctx_2d
Unexecuted instantiation: tx_search.c:get_lower_levels_ctx_2d
Unexecuted instantiation: txb_rdopt.c:get_lower_levels_ctx_2d
Unexecuted instantiation: intra_mode_search.c:get_lower_levels_ctx_2d
Unexecuted instantiation: var_based_part.c:get_lower_levels_ctx_2d
Unexecuted instantiation: av1_noise_estimate.c:get_lower_levels_ctx_2d
Unexecuted instantiation: entropy.c:get_lower_levels_ctx_2d
Unexecuted instantiation: entropymode.c:get_lower_levels_ctx_2d
Unexecuted instantiation: txb_common.c:get_lower_levels_ctx_2d
Unexecuted instantiation: aq_complexity.c:get_lower_levels_ctx_2d
Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx_2d
Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx_2d
Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx_2d
Unexecuted instantiation: compound_type.c:get_lower_levels_ctx_2d
Unexecuted instantiation: context_tree.c:get_lower_levels_ctx_2d
Unexecuted instantiation: encodeframe.c:get_lower_levels_ctx_2d
Unexecuted instantiation: encodeframe_utils.c:get_lower_levels_ctx_2d
Unexecuted instantiation: encodemb.c:get_lower_levels_ctx_2d
Unexecuted instantiation: encode_strategy.c:get_lower_levels_ctx_2d
Unexecuted instantiation: global_motion.c:get_lower_levels_ctx_2d
Unexecuted instantiation: gop_structure.c:get_lower_levels_ctx_2d
Unexecuted instantiation: interp_search.c:get_lower_levels_ctx_2d
Unexecuted instantiation: motion_search_facade.c:get_lower_levels_ctx_2d
Unexecuted instantiation: partition_search.c:get_lower_levels_ctx_2d
Unexecuted instantiation: partition_strategy.c:get_lower_levels_ctx_2d
Unexecuted instantiation: nonrd_pickmode.c:get_lower_levels_ctx_2d
324
static AOM_FORCE_INLINE int get_lower_levels_ctx(const uint8_t *levels,
325
                                                 int coeff_idx, int bwl,
326
                                                 TX_SIZE tx_size,
327
27.9k
                                                 TX_CLASS tx_class) {
328
27.9k
  const int stats =
329
27.9k
      get_nz_mag(levels + get_padded_idx(coeff_idx, bwl), bwl, tx_class);
330
27.9k
  return get_nz_map_ctx_from_stats(stats, coeff_idx, bwl, tx_size, tx_class);
331
27.9k
}
Unexecuted instantiation: decodetxb.c:get_lower_levels_ctx
Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx
Unexecuted instantiation: av1_quantize.c:get_lower_levels_ctx
Unexecuted instantiation: bitstream.c:get_lower_levels_ctx
Unexecuted instantiation: encodemv.c:get_lower_levels_ctx
Unexecuted instantiation: encoder.c:get_lower_levels_ctx
Unexecuted instantiation: encoder_utils.c:get_lower_levels_ctx
Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx
Unexecuted instantiation: ethread.c:get_lower_levels_ctx
Unexecuted instantiation: firstpass.c:get_lower_levels_ctx
Unexecuted instantiation: global_motion_facade.c:get_lower_levels_ctx
Unexecuted instantiation: level.c:get_lower_levels_ctx
Unexecuted instantiation: lookahead.c:get_lower_levels_ctx
Unexecuted instantiation: mcomp.c:get_lower_levels_ctx
Unexecuted instantiation: mv_prec.c:get_lower_levels_ctx
Unexecuted instantiation: palette.c:get_lower_levels_ctx
Unexecuted instantiation: pass2_strategy.c:get_lower_levels_ctx
Unexecuted instantiation: pickcdef.c:get_lower_levels_ctx
Unexecuted instantiation: picklpf.c:get_lower_levels_ctx
Unexecuted instantiation: pickrst.c:get_lower_levels_ctx
Unexecuted instantiation: ratectrl.c:get_lower_levels_ctx
Unexecuted instantiation: rd.c:get_lower_levels_ctx
Unexecuted instantiation: rdopt.c:get_lower_levels_ctx
Unexecuted instantiation: segmentation.c:get_lower_levels_ctx
Unexecuted instantiation: speed_features.c:get_lower_levels_ctx
Unexecuted instantiation: superres_scale.c:get_lower_levels_ctx
Unexecuted instantiation: svc_layercontext.c:get_lower_levels_ctx
Unexecuted instantiation: temporal_filter.c:get_lower_levels_ctx
Unexecuted instantiation: thirdpass.c:get_lower_levels_ctx
Unexecuted instantiation: tokenize.c:get_lower_levels_ctx
Unexecuted instantiation: tpl_model.c:get_lower_levels_ctx
Unexecuted instantiation: tx_search.c:get_lower_levels_ctx
txb_rdopt.c:get_lower_levels_ctx
Line
Count
Source
327
27.9k
                                                 TX_CLASS tx_class) {
328
27.9k
  const int stats =
329
27.9k
      get_nz_mag(levels + get_padded_idx(coeff_idx, bwl), bwl, tx_class);
330
27.9k
  return get_nz_map_ctx_from_stats(stats, coeff_idx, bwl, tx_size, tx_class);
331
27.9k
}
Unexecuted instantiation: intra_mode_search.c:get_lower_levels_ctx
Unexecuted instantiation: var_based_part.c:get_lower_levels_ctx
Unexecuted instantiation: av1_noise_estimate.c:get_lower_levels_ctx
Unexecuted instantiation: entropy.c:get_lower_levels_ctx
Unexecuted instantiation: entropymode.c:get_lower_levels_ctx
Unexecuted instantiation: txb_common.c:get_lower_levels_ctx
Unexecuted instantiation: aq_complexity.c:get_lower_levels_ctx
Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx
Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx
Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx
Unexecuted instantiation: compound_type.c:get_lower_levels_ctx
Unexecuted instantiation: context_tree.c:get_lower_levels_ctx
Unexecuted instantiation: encodeframe.c:get_lower_levels_ctx
Unexecuted instantiation: encodeframe_utils.c:get_lower_levels_ctx
Unexecuted instantiation: encodemb.c:get_lower_levels_ctx
Unexecuted instantiation: encode_strategy.c:get_lower_levels_ctx
Unexecuted instantiation: global_motion.c:get_lower_levels_ctx
Unexecuted instantiation: gop_structure.c:get_lower_levels_ctx
Unexecuted instantiation: interp_search.c:get_lower_levels_ctx
Unexecuted instantiation: motion_search_facade.c:get_lower_levels_ctx
Unexecuted instantiation: partition_search.c:get_lower_levels_ctx
Unexecuted instantiation: partition_strategy.c:get_lower_levels_ctx
Unexecuted instantiation: nonrd_pickmode.c:get_lower_levels_ctx
332
333
static INLINE int get_lower_levels_ctx_general(int is_last, int scan_idx,
334
                                               int bwl, int height,
335
                                               const uint8_t *levels,
336
                                               int coeff_idx, TX_SIZE tx_size,
337
11.2k
                                               TX_CLASS tx_class) {
338
11.2k
  if (is_last) {
339
10.5k
    if (scan_idx == 0) return 0;
340
0
    if (scan_idx <= (height << bwl) >> 3) return 1;
341
0
    if (scan_idx <= (height << bwl) >> 2) return 2;
342
0
    return 3;
343
0
  }
344
648
  return get_lower_levels_ctx(levels, coeff_idx, bwl, tx_size, tx_class);
345
11.2k
}
Unexecuted instantiation: decodetxb.c:get_lower_levels_ctx_general
Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx_general
Unexecuted instantiation: av1_quantize.c:get_lower_levels_ctx_general
Unexecuted instantiation: bitstream.c:get_lower_levels_ctx_general
Unexecuted instantiation: encodemv.c:get_lower_levels_ctx_general
Unexecuted instantiation: encoder.c:get_lower_levels_ctx_general
Unexecuted instantiation: encoder_utils.c:get_lower_levels_ctx_general
Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx_general
Unexecuted instantiation: ethread.c:get_lower_levels_ctx_general
Unexecuted instantiation: firstpass.c:get_lower_levels_ctx_general
Unexecuted instantiation: global_motion_facade.c:get_lower_levels_ctx_general
Unexecuted instantiation: level.c:get_lower_levels_ctx_general
Unexecuted instantiation: lookahead.c:get_lower_levels_ctx_general
Unexecuted instantiation: mcomp.c:get_lower_levels_ctx_general
Unexecuted instantiation: mv_prec.c:get_lower_levels_ctx_general
Unexecuted instantiation: palette.c:get_lower_levels_ctx_general
Unexecuted instantiation: pass2_strategy.c:get_lower_levels_ctx_general
Unexecuted instantiation: pickcdef.c:get_lower_levels_ctx_general
Unexecuted instantiation: picklpf.c:get_lower_levels_ctx_general
Unexecuted instantiation: pickrst.c:get_lower_levels_ctx_general
Unexecuted instantiation: ratectrl.c:get_lower_levels_ctx_general
Unexecuted instantiation: rd.c:get_lower_levels_ctx_general
Unexecuted instantiation: rdopt.c:get_lower_levels_ctx_general
Unexecuted instantiation: segmentation.c:get_lower_levels_ctx_general
Unexecuted instantiation: speed_features.c:get_lower_levels_ctx_general
Unexecuted instantiation: superres_scale.c:get_lower_levels_ctx_general
Unexecuted instantiation: svc_layercontext.c:get_lower_levels_ctx_general
Unexecuted instantiation: temporal_filter.c:get_lower_levels_ctx_general
Unexecuted instantiation: thirdpass.c:get_lower_levels_ctx_general
Unexecuted instantiation: tokenize.c:get_lower_levels_ctx_general
Unexecuted instantiation: tpl_model.c:get_lower_levels_ctx_general
Unexecuted instantiation: tx_search.c:get_lower_levels_ctx_general
txb_rdopt.c:get_lower_levels_ctx_general
Line
Count
Source
337
11.2k
                                               TX_CLASS tx_class) {
338
11.2k
  if (is_last) {
339
10.5k
    if (scan_idx == 0) return 0;
340
0
    if (scan_idx <= (height << bwl) >> 3) return 1;
341
0
    if (scan_idx <= (height << bwl) >> 2) return 2;
342
0
    return 3;
343
0
  }
344
648
  return get_lower_levels_ctx(levels, coeff_idx, bwl, tx_size, tx_class);
345
11.2k
}
Unexecuted instantiation: intra_mode_search.c:get_lower_levels_ctx_general
Unexecuted instantiation: var_based_part.c:get_lower_levels_ctx_general
Unexecuted instantiation: av1_noise_estimate.c:get_lower_levels_ctx_general
Unexecuted instantiation: entropy.c:get_lower_levels_ctx_general
Unexecuted instantiation: entropymode.c:get_lower_levels_ctx_general
Unexecuted instantiation: txb_common.c:get_lower_levels_ctx_general
Unexecuted instantiation: aq_complexity.c:get_lower_levels_ctx_general
Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx_general
Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx_general
Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx_general
Unexecuted instantiation: compound_type.c:get_lower_levels_ctx_general
Unexecuted instantiation: context_tree.c:get_lower_levels_ctx_general
Unexecuted instantiation: encodeframe.c:get_lower_levels_ctx_general
Unexecuted instantiation: encodeframe_utils.c:get_lower_levels_ctx_general
Unexecuted instantiation: encodemb.c:get_lower_levels_ctx_general
Unexecuted instantiation: encode_strategy.c:get_lower_levels_ctx_general
Unexecuted instantiation: global_motion.c:get_lower_levels_ctx_general
Unexecuted instantiation: gop_structure.c:get_lower_levels_ctx_general
Unexecuted instantiation: interp_search.c:get_lower_levels_ctx_general
Unexecuted instantiation: motion_search_facade.c:get_lower_levels_ctx_general
Unexecuted instantiation: partition_search.c:get_lower_levels_ctx_general
Unexecuted instantiation: partition_strategy.c:get_lower_levels_ctx_general
Unexecuted instantiation: nonrd_pickmode.c:get_lower_levels_ctx_general
346
347
58.3k
static INLINE void set_dc_sign(int *cul_level, int dc_val) {
348
58.3k
  if (dc_val < 0)
349
58.3k
    *cul_level |= 1 << COEFF_CONTEXT_BITS;
350
0
  else if (dc_val > 0)
351
0
    *cul_level += 2 << COEFF_CONTEXT_BITS;
352
58.3k
}
Unexecuted instantiation: decodetxb.c:set_dc_sign
Unexecuted instantiation: av1_cx_iface.c:set_dc_sign
Unexecuted instantiation: av1_quantize.c:set_dc_sign
Unexecuted instantiation: bitstream.c:set_dc_sign
Unexecuted instantiation: encodemv.c:set_dc_sign
Unexecuted instantiation: encoder.c:set_dc_sign
Unexecuted instantiation: encoder_utils.c:set_dc_sign
encodetxb.c:set_dc_sign
Line
Count
Source
347
58.3k
static INLINE void set_dc_sign(int *cul_level, int dc_val) {
348
58.3k
  if (dc_val < 0)
349
58.3k
    *cul_level |= 1 << COEFF_CONTEXT_BITS;
350
0
  else if (dc_val > 0)
351
0
    *cul_level += 2 << COEFF_CONTEXT_BITS;
352
58.3k
}
Unexecuted instantiation: ethread.c:set_dc_sign
Unexecuted instantiation: firstpass.c:set_dc_sign
Unexecuted instantiation: global_motion_facade.c:set_dc_sign
Unexecuted instantiation: level.c:set_dc_sign
Unexecuted instantiation: lookahead.c:set_dc_sign
Unexecuted instantiation: mcomp.c:set_dc_sign
Unexecuted instantiation: mv_prec.c:set_dc_sign
Unexecuted instantiation: palette.c:set_dc_sign
Unexecuted instantiation: pass2_strategy.c:set_dc_sign
Unexecuted instantiation: pickcdef.c:set_dc_sign
Unexecuted instantiation: picklpf.c:set_dc_sign
Unexecuted instantiation: pickrst.c:set_dc_sign
Unexecuted instantiation: ratectrl.c:set_dc_sign
Unexecuted instantiation: rd.c:set_dc_sign
Unexecuted instantiation: rdopt.c:set_dc_sign
Unexecuted instantiation: segmentation.c:set_dc_sign
Unexecuted instantiation: speed_features.c:set_dc_sign
Unexecuted instantiation: superres_scale.c:set_dc_sign
Unexecuted instantiation: svc_layercontext.c:set_dc_sign
Unexecuted instantiation: temporal_filter.c:set_dc_sign
Unexecuted instantiation: thirdpass.c:set_dc_sign
Unexecuted instantiation: tokenize.c:set_dc_sign
Unexecuted instantiation: tpl_model.c:set_dc_sign
Unexecuted instantiation: tx_search.c:set_dc_sign
Unexecuted instantiation: txb_rdopt.c:set_dc_sign
Unexecuted instantiation: intra_mode_search.c:set_dc_sign
Unexecuted instantiation: var_based_part.c:set_dc_sign
Unexecuted instantiation: av1_noise_estimate.c:set_dc_sign
Unexecuted instantiation: entropy.c:set_dc_sign
Unexecuted instantiation: entropymode.c:set_dc_sign
Unexecuted instantiation: txb_common.c:set_dc_sign
Unexecuted instantiation: aq_complexity.c:set_dc_sign
Unexecuted instantiation: aq_cyclicrefresh.c:set_dc_sign
Unexecuted instantiation: aq_variance.c:set_dc_sign
Unexecuted instantiation: allintra_vis.c:set_dc_sign
Unexecuted instantiation: compound_type.c:set_dc_sign
Unexecuted instantiation: context_tree.c:set_dc_sign
Unexecuted instantiation: encodeframe.c:set_dc_sign
Unexecuted instantiation: encodeframe_utils.c:set_dc_sign
Unexecuted instantiation: encodemb.c:set_dc_sign
Unexecuted instantiation: encode_strategy.c:set_dc_sign
Unexecuted instantiation: global_motion.c:set_dc_sign
Unexecuted instantiation: gop_structure.c:set_dc_sign
Unexecuted instantiation: interp_search.c:set_dc_sign
Unexecuted instantiation: motion_search_facade.c:set_dc_sign
Unexecuted instantiation: partition_search.c:set_dc_sign
Unexecuted instantiation: partition_strategy.c:set_dc_sign
Unexecuted instantiation: nonrd_pickmode.c:set_dc_sign
353
354
static INLINE void get_txb_ctx(const BLOCK_SIZE plane_bsize,
355
                               const TX_SIZE tx_size, const int plane,
356
                               const ENTROPY_CONTEXT *const a,
357
                               const ENTROPY_CONTEXT *const l,
358
15.4M
                               TXB_CTX *const txb_ctx) {
359
15.4M
#define MAX_TX_SIZE_UNIT 16
360
15.4M
  static const int8_t signs[3] = { 0, -1, 1 };
361
15.4M
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
362
15.4M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
363
15.4M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364
15.4M
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
365
15.4M
  };
366
15.4M
  const int txb_w_unit = tx_size_wide_unit[tx_size];
367
15.4M
  const int txb_h_unit = tx_size_high_unit[tx_size];
368
15.4M
  int dc_sign = 0;
369
15.4M
  int k = 0;
370
371
19.1M
  do {
372
19.1M
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
373
19.1M
    assert(sign <= 2);
374
19.1M
    dc_sign += signs[sign];
375
19.1M
  } while (++k < txb_w_unit);
376
377
15.4M
  k = 0;
378
19.1M
  do {
379
19.1M
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
380
19.1M
    assert(sign <= 2);
381
19.1M
    dc_sign += signs[sign];
382
19.1M
  } while (++k < txb_h_unit);
383
384
15.4M
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
385
386
15.4M
  if (plane == 0) {
387
14.0M
    if (plane_bsize == txsize_to_bsize[tx_size]) {
388
763k
      txb_ctx->txb_skip_ctx = 0;
389
13.2M
    } else {
390
      // This is the algorithm to generate table skip_contexts[top][left].
391
      //    const int max = AOMMIN(top | left, 4);
392
      //    const int min = AOMMIN(AOMMIN(top, left), 4);
393
      //    if (!max)
394
      //      txb_skip_ctx = 1;
395
      //    else if (!min)
396
      //      txb_skip_ctx = 2 + (max > 3);
397
      //    else if (max <= 3)
398
      //      txb_skip_ctx = 4;
399
      //    else if (min <= 3)
400
      //      txb_skip_ctx = 5;
401
      //    else
402
      //      txb_skip_ctx = 6;
403
13.2M
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
404
13.2M
                                                   { 2, 4, 4, 4, 5 },
405
13.2M
                                                   { 2, 4, 4, 4, 5 },
406
13.2M
                                                   { 2, 4, 4, 4, 5 },
407
13.2M
                                                   { 3, 5, 5, 5, 6 } };
408
      // For top and left, we only care about which of the following three
409
      // categories they belong to: { 0 }, { 1, 2, 3 }, or { 4, 5, ... }. The
410
      // spec calculates top and left with the Max() function. We can calculate
411
      // an approximate max with bitwise OR because the real max and the
412
      // approximate max belong to the same category.
413
13.2M
      int top = 0;
414
13.2M
      int left = 0;
415
416
13.2M
      k = 0;
417
13.2M
      do {
418
13.2M
        top |= a[k];
419
13.2M
      } while (++k < txb_w_unit);
420
13.2M
      top &= COEFF_CONTEXT_MASK;
421
13.2M
      top = AOMMIN(top, 4);
422
423
13.2M
      k = 0;
424
13.2M
      do {
425
13.2M
        left |= l[k];
426
13.2M
      } while (++k < txb_h_unit);
427
13.2M
      left &= COEFF_CONTEXT_MASK;
428
13.2M
      left = AOMMIN(left, 4);
429
430
13.2M
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
431
13.2M
    }
432
14.0M
  } else {
433
1.43M
    const int ctx_base = get_entropy_context(tx_size, a, l);
434
1.43M
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
435
1.43M
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
436
1.43M
                               ? 10
437
1.43M
                               : 7;
438
1.43M
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
439
1.43M
  }
440
15.4M
#undef MAX_TX_SIZE_UNIT
441
15.4M
}
Unexecuted instantiation: decodetxb.c:get_txb_ctx
Unexecuted instantiation: av1_cx_iface.c:get_txb_ctx
Unexecuted instantiation: av1_quantize.c:get_txb_ctx
Unexecuted instantiation: bitstream.c:get_txb_ctx
Unexecuted instantiation: encodemv.c:get_txb_ctx
Unexecuted instantiation: encoder.c:get_txb_ctx
Unexecuted instantiation: encoder_utils.c:get_txb_ctx
encodetxb.c:get_txb_ctx
Line
Count
Source
358
1.02M
                               TXB_CTX *const txb_ctx) {
359
1.02M
#define MAX_TX_SIZE_UNIT 16
360
1.02M
  static const int8_t signs[3] = { 0, -1, 1 };
361
1.02M
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
362
1.02M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
363
1.02M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364
1.02M
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
365
1.02M
  };
366
1.02M
  const int txb_w_unit = tx_size_wide_unit[tx_size];
367
1.02M
  const int txb_h_unit = tx_size_high_unit[tx_size];
368
1.02M
  int dc_sign = 0;
369
1.02M
  int k = 0;
370
371
1.26M
  do {
372
1.26M
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
373
1.26M
    assert(sign <= 2);
374
1.26M
    dc_sign += signs[sign];
375
1.26M
  } while (++k < txb_w_unit);
376
377
1.02M
  k = 0;
378
1.26M
  do {
379
1.26M
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
380
1.26M
    assert(sign <= 2);
381
1.26M
    dc_sign += signs[sign];
382
1.26M
  } while (++k < txb_h_unit);
383
384
1.02M
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
385
386
1.02M
  if (plane == 0) {
387
665k
    if (plane_bsize == txsize_to_bsize[tx_size]) {
388
19.9k
      txb_ctx->txb_skip_ctx = 0;
389
645k
    } else {
390
      // This is the algorithm to generate table skip_contexts[top][left].
391
      //    const int max = AOMMIN(top | left, 4);
392
      //    const int min = AOMMIN(AOMMIN(top, left), 4);
393
      //    if (!max)
394
      //      txb_skip_ctx = 1;
395
      //    else if (!min)
396
      //      txb_skip_ctx = 2 + (max > 3);
397
      //    else if (max <= 3)
398
      //      txb_skip_ctx = 4;
399
      //    else if (min <= 3)
400
      //      txb_skip_ctx = 5;
401
      //    else
402
      //      txb_skip_ctx = 6;
403
645k
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
404
645k
                                                   { 2, 4, 4, 4, 5 },
405
645k
                                                   { 2, 4, 4, 4, 5 },
406
645k
                                                   { 2, 4, 4, 4, 5 },
407
645k
                                                   { 3, 5, 5, 5, 6 } };
408
      // For top and left, we only care about which of the following three
409
      // categories they belong to: { 0 }, { 1, 2, 3 }, or { 4, 5, ... }. The
410
      // spec calculates top and left with the Max() function. We can calculate
411
      // an approximate max with bitwise OR because the real max and the
412
      // approximate max belong to the same category.
413
645k
      int top = 0;
414
645k
      int left = 0;
415
416
645k
      k = 0;
417
645k
      do {
418
645k
        top |= a[k];
419
645k
      } while (++k < txb_w_unit);
420
645k
      top &= COEFF_CONTEXT_MASK;
421
645k
      top = AOMMIN(top, 4);
422
423
645k
      k = 0;
424
645k
      do {
425
645k
        left |= l[k];
426
645k
      } while (++k < txb_h_unit);
427
645k
      left &= COEFF_CONTEXT_MASK;
428
645k
      left = AOMMIN(left, 4);
429
430
645k
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
431
645k
    }
432
665k
  } else {
433
361k
    const int ctx_base = get_entropy_context(tx_size, a, l);
434
361k
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
435
361k
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
436
361k
                               ? 10
437
361k
                               : 7;
438
361k
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
439
361k
  }
440
1.02M
#undef MAX_TX_SIZE_UNIT
441
1.02M
}
Unexecuted instantiation: ethread.c:get_txb_ctx
Unexecuted instantiation: firstpass.c:get_txb_ctx
Unexecuted instantiation: global_motion_facade.c:get_txb_ctx
Unexecuted instantiation: level.c:get_txb_ctx
Unexecuted instantiation: lookahead.c:get_txb_ctx
Unexecuted instantiation: mcomp.c:get_txb_ctx
Unexecuted instantiation: mv_prec.c:get_txb_ctx
Unexecuted instantiation: palette.c:get_txb_ctx
Unexecuted instantiation: pass2_strategy.c:get_txb_ctx
Unexecuted instantiation: pickcdef.c:get_txb_ctx
Unexecuted instantiation: picklpf.c:get_txb_ctx
Unexecuted instantiation: pickrst.c:get_txb_ctx
Unexecuted instantiation: ratectrl.c:get_txb_ctx
Unexecuted instantiation: rd.c:get_txb_ctx
Unexecuted instantiation: rdopt.c:get_txb_ctx
Unexecuted instantiation: segmentation.c:get_txb_ctx
Unexecuted instantiation: speed_features.c:get_txb_ctx
Unexecuted instantiation: superres_scale.c:get_txb_ctx
Unexecuted instantiation: svc_layercontext.c:get_txb_ctx
Unexecuted instantiation: temporal_filter.c:get_txb_ctx
Unexecuted instantiation: thirdpass.c:get_txb_ctx
Unexecuted instantiation: tokenize.c:get_txb_ctx
Unexecuted instantiation: tpl_model.c:get_txb_ctx
tx_search.c:get_txb_ctx
Line
Count
Source
358
14.3M
                               TXB_CTX *const txb_ctx) {
359
14.3M
#define MAX_TX_SIZE_UNIT 16
360
14.3M
  static const int8_t signs[3] = { 0, -1, 1 };
361
14.3M
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
362
14.3M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
363
14.3M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364
14.3M
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
365
14.3M
  };
366
14.3M
  const int txb_w_unit = tx_size_wide_unit[tx_size];
367
14.3M
  const int txb_h_unit = tx_size_high_unit[tx_size];
368
14.3M
  int dc_sign = 0;
369
14.3M
  int k = 0;
370
371
17.5M
  do {
372
17.5M
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
373
17.5M
    assert(sign <= 2);
374
17.5M
    dc_sign += signs[sign];
375
17.5M
  } while (++k < txb_w_unit);
376
377
14.3M
  k = 0;
378
17.5M
  do {
379
17.5M
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
380
17.5M
    assert(sign <= 2);
381
17.5M
    dc_sign += signs[sign];
382
17.5M
  } while (++k < txb_h_unit);
383
384
14.3M
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
385
386
14.3M
  if (plane == 0) {
387
13.3M
    if (plane_bsize == txsize_to_bsize[tx_size]) {
388
739k
      txb_ctx->txb_skip_ctx = 0;
389
12.6M
    } else {
390
      // This is the algorithm to generate table skip_contexts[top][left].
391
      //    const int max = AOMMIN(top | left, 4);
392
      //    const int min = AOMMIN(AOMMIN(top, left), 4);
393
      //    if (!max)
394
      //      txb_skip_ctx = 1;
395
      //    else if (!min)
396
      //      txb_skip_ctx = 2 + (max > 3);
397
      //    else if (max <= 3)
398
      //      txb_skip_ctx = 4;
399
      //    else if (min <= 3)
400
      //      txb_skip_ctx = 5;
401
      //    else
402
      //      txb_skip_ctx = 6;
403
12.6M
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
404
12.6M
                                                   { 2, 4, 4, 4, 5 },
405
12.6M
                                                   { 2, 4, 4, 4, 5 },
406
12.6M
                                                   { 2, 4, 4, 4, 5 },
407
12.6M
                                                   { 3, 5, 5, 5, 6 } };
408
      // For top and left, we only care about which of the following three
409
      // categories they belong to: { 0 }, { 1, 2, 3 }, or { 4, 5, ... }. The
410
      // spec calculates top and left with the Max() function. We can calculate
411
      // an approximate max with bitwise OR because the real max and the
412
      // approximate max belong to the same category.
413
12.6M
      int top = 0;
414
12.6M
      int left = 0;
415
416
12.6M
      k = 0;
417
12.6M
      do {
418
12.6M
        top |= a[k];
419
12.6M
      } while (++k < txb_w_unit);
420
12.6M
      top &= COEFF_CONTEXT_MASK;
421
12.6M
      top = AOMMIN(top, 4);
422
423
12.6M
      k = 0;
424
12.6M
      do {
425
12.6M
        left |= l[k];
426
12.6M
      } while (++k < txb_h_unit);
427
12.6M
      left &= COEFF_CONTEXT_MASK;
428
12.6M
      left = AOMMIN(left, 4);
429
430
12.6M
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
431
12.6M
    }
432
13.3M
  } else {
433
964k
    const int ctx_base = get_entropy_context(tx_size, a, l);
434
964k
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
435
964k
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
436
964k
                               ? 10
437
964k
                               : 7;
438
964k
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
439
964k
  }
440
14.3M
#undef MAX_TX_SIZE_UNIT
441
14.3M
}
Unexecuted instantiation: txb_rdopt.c:get_txb_ctx
Unexecuted instantiation: intra_mode_search.c:get_txb_ctx
Unexecuted instantiation: var_based_part.c:get_txb_ctx
Unexecuted instantiation: av1_noise_estimate.c:get_txb_ctx
Unexecuted instantiation: entropy.c:get_txb_ctx
Unexecuted instantiation: entropymode.c:get_txb_ctx
Unexecuted instantiation: txb_common.c:get_txb_ctx
Unexecuted instantiation: aq_complexity.c:get_txb_ctx
Unexecuted instantiation: aq_cyclicrefresh.c:get_txb_ctx
Unexecuted instantiation: aq_variance.c:get_txb_ctx
Unexecuted instantiation: allintra_vis.c:get_txb_ctx
Unexecuted instantiation: compound_type.c:get_txb_ctx
Unexecuted instantiation: context_tree.c:get_txb_ctx
Unexecuted instantiation: encodeframe.c:get_txb_ctx
Unexecuted instantiation: encodeframe_utils.c:get_txb_ctx
encodemb.c:get_txb_ctx
Line
Count
Source
358
111k
                               TXB_CTX *const txb_ctx) {
359
111k
#define MAX_TX_SIZE_UNIT 16
360
111k
  static const int8_t signs[3] = { 0, -1, 1 };
361
111k
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
362
111k
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
363
111k
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364
111k
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
365
111k
  };
366
111k
  const int txb_w_unit = tx_size_wide_unit[tx_size];
367
111k
  const int txb_h_unit = tx_size_high_unit[tx_size];
368
111k
  int dc_sign = 0;
369
111k
  int k = 0;
370
371
348k
  do {
372
348k
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
373
348k
    assert(sign <= 2);
374
348k
    dc_sign += signs[sign];
375
348k
  } while (++k < txb_w_unit);
376
377
111k
  k = 0;
378
343k
  do {
379
343k
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
380
343k
    assert(sign <= 2);
381
343k
    dc_sign += signs[sign];
382
343k
  } while (++k < txb_h_unit);
383
384
111k
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
385
386
111k
  if (plane == 0) {
387
4.90k
    if (plane_bsize == txsize_to_bsize[tx_size]) {
388
4.90k
      txb_ctx->txb_skip_ctx = 0;
389
4.90k
    } else {
390
      // This is the algorithm to generate table skip_contexts[top][left].
391
      //    const int max = AOMMIN(top | left, 4);
392
      //    const int min = AOMMIN(AOMMIN(top, left), 4);
393
      //    if (!max)
394
      //      txb_skip_ctx = 1;
395
      //    else if (!min)
396
      //      txb_skip_ctx = 2 + (max > 3);
397
      //    else if (max <= 3)
398
      //      txb_skip_ctx = 4;
399
      //    else if (min <= 3)
400
      //      txb_skip_ctx = 5;
401
      //    else
402
      //      txb_skip_ctx = 6;
403
0
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
404
0
                                                   { 2, 4, 4, 4, 5 },
405
0
                                                   { 2, 4, 4, 4, 5 },
406
0
                                                   { 2, 4, 4, 4, 5 },
407
0
                                                   { 3, 5, 5, 5, 6 } };
408
      // For top and left, we only care about which of the following three
409
      // categories they belong to: { 0 }, { 1, 2, 3 }, or { 4, 5, ... }. The
410
      // spec calculates top and left with the Max() function. We can calculate
411
      // an approximate max with bitwise OR because the real max and the
412
      // approximate max belong to the same category.
413
0
      int top = 0;
414
0
      int left = 0;
415
416
0
      k = 0;
417
0
      do {
418
0
        top |= a[k];
419
0
      } while (++k < txb_w_unit);
420
0
      top &= COEFF_CONTEXT_MASK;
421
0
      top = AOMMIN(top, 4);
422
423
0
      k = 0;
424
0
      do {
425
0
        left |= l[k];
426
0
      } while (++k < txb_h_unit);
427
0
      left &= COEFF_CONTEXT_MASK;
428
0
      left = AOMMIN(left, 4);
429
430
0
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
431
0
    }
432
106k
  } else {
433
106k
    const int ctx_base = get_entropy_context(tx_size, a, l);
434
106k
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
435
106k
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
436
106k
                               ? 10
437
106k
                               : 7;
438
106k
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
439
106k
  }
440
111k
#undef MAX_TX_SIZE_UNIT
441
111k
}
Unexecuted instantiation: encode_strategy.c:get_txb_ctx
Unexecuted instantiation: global_motion.c:get_txb_ctx
Unexecuted instantiation: gop_structure.c:get_txb_ctx
Unexecuted instantiation: interp_search.c:get_txb_ctx
Unexecuted instantiation: motion_search_facade.c:get_txb_ctx
Unexecuted instantiation: partition_search.c:get_txb_ctx
Unexecuted instantiation: partition_strategy.c:get_txb_ctx
Unexecuted instantiation: nonrd_pickmode.c:get_txb_ctx
442
443
#endif  // AOM_AV1_COMMON_TXB_COMMON_H_