Coverage Report

Created: 2022-08-24 06:17

/src/aom/av1/common/txb_common.h
Line
Count
Source (jump to first uncovered line)
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
3.02M
static INLINE int get_txb_bwl(TX_SIZE tx_size) {
59
3.02M
  tx_size = av1_get_adjusted_tx_size(tx_size);
60
3.02M
  return tx_size_wide_log2[tx_size];
61
3.02M
}
decodetxb.c:get_txb_bwl
Line
Count
Source
58
1.70M
static INLINE int get_txb_bwl(TX_SIZE tx_size) {
59
1.70M
  tx_size = av1_get_adjusted_tx_size(tx_size);
60
1.70M
  return tx_size_wide_log2[tx_size];
61
1.70M
}
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
962k
static INLINE int get_txb_bwl(TX_SIZE tx_size) {
59
962k
  tx_size = av1_get_adjusted_tx_size(tx_size);
60
962k
  return tx_size_wide_log2[tx_size];
61
962k
}
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
354k
static INLINE int get_txb_bwl(TX_SIZE tx_size) {
59
354k
  tx_size = av1_get_adjusted_tx_size(tx_size);
60
354k
  return tx_size_wide_log2[tx_size];
61
354k
}
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
2.85M
static INLINE int get_txb_wide(TX_SIZE tx_size) {
64
2.85M
  tx_size = av1_get_adjusted_tx_size(tx_size);
65
2.85M
  return tx_size_wide[tx_size];
66
2.85M
}
decodetxb.c:get_txb_wide
Line
Count
Source
63
1.70M
static INLINE int get_txb_wide(TX_SIZE tx_size) {
64
1.70M
  tx_size = av1_get_adjusted_tx_size(tx_size);
65
1.70M
  return tx_size_wide[tx_size];
66
1.70M
}
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
797k
static INLINE int get_txb_wide(TX_SIZE tx_size) {
64
797k
  tx_size = av1_get_adjusted_tx_size(tx_size);
65
797k
  return tx_size_wide[tx_size];
66
797k
}
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
354k
static INLINE int get_txb_wide(TX_SIZE tx_size) {
64
354k
  tx_size = av1_get_adjusted_tx_size(tx_size);
65
354k
  return tx_size_wide[tx_size];
66
354k
}
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
3.02M
static INLINE int get_txb_high(TX_SIZE tx_size) {
69
3.02M
  tx_size = av1_get_adjusted_tx_size(tx_size);
70
3.02M
  return tx_size_high[tx_size];
71
3.02M
}
decodetxb.c:get_txb_high
Line
Count
Source
68
1.70M
static INLINE int get_txb_high(TX_SIZE tx_size) {
69
1.70M
  tx_size = av1_get_adjusted_tx_size(tx_size);
70
1.70M
  return tx_size_high[tx_size];
71
1.70M
}
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
961k
static INLINE int get_txb_high(TX_SIZE tx_size) {
69
961k
  tx_size = av1_get_adjusted_tx_size(tx_size);
70
961k
  return tx_size_high[tx_size];
71
961k
}
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
354k
static INLINE int get_txb_high(TX_SIZE tx_size) {
69
354k
  tx_size = av1_get_adjusted_tx_size(tx_size);
70
354k
  return tx_size_high[tx_size];
71
354k
}
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
2.06M
static INLINE uint8_t *set_levels(uint8_t *const levels_buf, const int width) {
74
2.06M
  return levels_buf + TX_PAD_TOP * (width + TX_PAD_HOR);
75
2.06M
}
decodetxb.c:set_levels
Line
Count
Source
73
1.70M
static INLINE uint8_t *set_levels(uint8_t *const levels_buf, const int width) {
74
1.70M
  return levels_buf + TX_PAD_TOP * (width + TX_PAD_HOR);
75
1.70M
}
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
10.4k
static INLINE uint8_t *set_levels(uint8_t *const levels_buf, const int width) {
74
10.4k
  return levels_buf + TX_PAD_TOP * (width + TX_PAD_HOR);
75
10.4k
}
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
354k
static INLINE uint8_t *set_levels(uint8_t *const levels_buf, const int width) {
74
354k
  return levels_buf + TX_PAD_TOP * (width + TX_PAD_HOR);
75
354k
}
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
52.9M
static INLINE int get_padded_idx(const int idx, const int bwl) {
78
52.9M
  return idx + ((idx >> bwl) << TX_PAD_HOR_LOG2);
79
52.9M
}
decodetxb.c:get_padded_idx
Line
Count
Source
77
50.1M
static INLINE int get_padded_idx(const int idx, const int bwl) {
78
50.1M
  return idx + ((idx >> bwl) << TX_PAD_HOR_LOG2);
79
50.1M
}
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
1.17M
static INLINE int get_padded_idx(const int idx, const int bwl) {
78
1.17M
  return idx + ((idx >> bwl) << TX_PAD_HOR_LOG2);
79
1.17M
}
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
1.62M
static INLINE int get_padded_idx(const int idx, const int bwl) {
78
1.62M
  return idx + ((idx >> bwl) << TX_PAD_HOR_LOG2);
79
1.62M
}
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
2.32M
                                const int bwl) {
149
2.32M
  assert(c > 0);
150
2.32M
  const int row = c >> bwl;
151
2.32M
  const int col = c - (row << bwl);
152
2.32M
  const int stride = (1 << bwl) + TX_PAD_HOR;
153
2.32M
  const int pos = row * stride + col;
154
2.32M
  int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE) +
155
2.32M
            AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE) +
156
2.32M
            AOMMIN(levels[pos + 1 + stride], MAX_BASE_BR_RANGE);
157
2.32M
  mag = AOMMIN((mag + 1) >> 1, 6);
158
  //((row | col) < 2) is equivalent to ((row < 2) && (col < 2))
159
2.32M
  if ((row | col) < 2) return mag + 7;
160
2.20M
  return mag + 14;
161
2.32M
}
decodetxb.c:get_br_ctx_2d
Line
Count
Source
148
2.32M
                                const int bwl) {
149
2.32M
  assert(c > 0);
150
2.32M
  const int row = c >> bwl;
151
2.32M
  const int col = c - (row << bwl);
152
2.32M
  const int stride = (1 << bwl) + TX_PAD_HOR;
153
2.32M
  const int pos = row * stride + col;
154
2.32M
  int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE) +
155
2.32M
            AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE) +
156
2.32M
            AOMMIN(levels[pos + 1 + stride], MAX_BASE_BR_RANGE);
157
2.32M
  mag = AOMMIN((mag + 1) >> 1, 6);
158
  //((row | col) < 2) is equivalent to ((row < 2) && (col < 2))
159
2.32M
  if ((row | col) < 2) return mag + 7;
160
2.20M
  return mag + 14;
161
2.32M
}
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
352k
                                           const TX_CLASS tx_class) {
166
352k
  const int row = c >> bwl;
167
352k
  const int col = c - (row << bwl);
168
352k
  if (c == 0) return 0;
169
75.1k
  if ((tx_class == TX_CLASS_2D && row < 2 && col < 2) ||
170
75.1k
      (tx_class == TX_CLASS_HORIZ && col == 0) ||
171
75.1k
      (tx_class == TX_CLASS_VERT && row == 0))
172
12.6k
    return 7;
173
62.5k
  return 14;
174
75.1k
}
decodetxb.c:get_br_ctx_eob
Line
Count
Source
165
17.2k
                                           const TX_CLASS tx_class) {
166
17.2k
  const int row = c >> bwl;
167
17.2k
  const int col = c - (row << bwl);
168
17.2k
  if (c == 0) return 0;
169
4.68k
  if ((tx_class == TX_CLASS_2D && row < 2 && col < 2) ||
170
4.68k
      (tx_class == TX_CLASS_HORIZ && col == 0) ||
171
4.68k
      (tx_class == TX_CLASS_VERT && row == 0))
172
662
    return 7;
173
4.02k
  return 14;
174
4.68k
}
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
335k
                                           const TX_CLASS tx_class) {
166
335k
  const int row = c >> bwl;
167
335k
  const int col = c - (row << bwl);
168
335k
  if (c == 0) return 0;
169
70.4k
  if ((tx_class == TX_CLASS_2D && row < 2 && col < 2) ||
170
70.4k
      (tx_class == TX_CLASS_HORIZ && col == 0) ||
171
70.4k
      (tx_class == TX_CLASS_VERT && row == 0))
172
11.9k
    return 7;
173
58.5k
  return 14;
174
70.4k
}
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
623k
                                       const int bwl, const TX_CLASS tx_class) {
179
623k
  const int row = c >> bwl;
180
623k
  const int col = c - (row << bwl);
181
623k
  const int stride = (1 << bwl) + TX_PAD_HOR;
182
623k
  const int pos = row * stride + col;
183
623k
  int mag = levels[pos + 1];
184
623k
  mag += levels[pos + stride];
185
623k
  switch (tx_class) {
186
585k
    case TX_CLASS_2D:
187
585k
      mag += levels[pos + stride + 1];
188
585k
      mag = AOMMIN((mag + 1) >> 1, 6);
189
585k
      if (c == 0) return mag;
190
331k
      if ((row < 2) && (col < 2)) return mag + 7;
191
283k
      break;
192
283k
    case TX_CLASS_HORIZ:
193
25.7k
      mag += levels[pos + 2];
194
25.7k
      mag = AOMMIN((mag + 1) >> 1, 6);
195
25.7k
      if (c == 0) return mag;
196
21.1k
      if (col == 0) return mag + 7;
197
8.85k
      break;
198
12.5k
    case TX_CLASS_VERT:
199
12.5k
      mag += levels[pos + (stride << 1)];
200
12.5k
      mag = AOMMIN((mag + 1) >> 1, 6);
201
12.5k
      if (c == 0) return mag;
202
11.1k
      if (row == 0) return mag + 7;
203
5.97k
      break;
204
5.97k
    default: break;
205
623k
  }
206
207
298k
  return mag + 14;
208
623k
}
decodetxb.c:get_br_ctx
Line
Count
Source
178
196k
                                       const int bwl, const TX_CLASS tx_class) {
179
196k
  const int row = c >> bwl;
180
196k
  const int col = c - (row << bwl);
181
196k
  const int stride = (1 << bwl) + TX_PAD_HOR;
182
196k
  const int pos = row * stride + col;
183
196k
  int mag = levels[pos + 1];
184
196k
  mag += levels[pos + stride];
185
196k
  switch (tx_class) {
186
166k
    case TX_CLASS_2D:
187
166k
      mag += levels[pos + stride + 1];
188
166k
      mag = AOMMIN((mag + 1) >> 1, 6);
189
166k
      if (c == 0) return mag;
190
0
      if ((row < 2) && (col < 2)) return mag + 7;
191
0
      break;
192
17.6k
    case TX_CLASS_HORIZ:
193
17.6k
      mag += levels[pos + 2];
194
17.6k
      mag = AOMMIN((mag + 1) >> 1, 6);
195
17.6k
      if (c == 0) return mag;
196
15.6k
      if (col == 0) return mag + 7;
197
8.85k
      break;
198
12.3k
    case TX_CLASS_VERT:
199
12.3k
      mag += levels[pos + (stride << 1)];
200
12.3k
      mag = AOMMIN((mag + 1) >> 1, 6);
201
12.3k
      if (c == 0) return mag;
202
11.0k
      if (row == 0) return mag + 7;
203
5.97k
      break;
204
5.97k
    default: break;
205
196k
  }
206
207
14.8k
  return mag + 14;
208
196k
}
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
7.57k
                                       const int bwl, const TX_CLASS tx_class) {
179
7.57k
  const int row = c >> bwl;
180
7.57k
  const int col = c - (row << bwl);
181
7.57k
  const int stride = (1 << bwl) + TX_PAD_HOR;
182
7.57k
  const int pos = row * stride + col;
183
7.57k
  int mag = levels[pos + 1];
184
7.57k
  mag += levels[pos + stride];
185
7.57k
  switch (tx_class) {
186
7.57k
    case TX_CLASS_2D:
187
7.57k
      mag += levels[pos + stride + 1];
188
7.57k
      mag = AOMMIN((mag + 1) >> 1, 6);
189
7.57k
      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
7.57k
  }
206
207
0
  return mag + 14;
208
7.57k
}
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
419k
                                       const int bwl, const TX_CLASS tx_class) {
179
419k
  const int row = c >> bwl;
180
419k
  const int col = c - (row << bwl);
181
419k
  const int stride = (1 << bwl) + TX_PAD_HOR;
182
419k
  const int pos = row * stride + col;
183
419k
  int mag = levels[pos + 1];
184
419k
  mag += levels[pos + stride];
185
419k
  switch (tx_class) {
186
411k
    case TX_CLASS_2D:
187
411k
      mag += levels[pos + stride + 1];
188
411k
      mag = AOMMIN((mag + 1) >> 1, 6);
189
411k
      if (c == 0) return mag;
190
331k
      if ((row < 2) && (col < 2)) return mag + 7;
191
283k
      break;
192
283k
    case TX_CLASS_HORIZ:
193
8.06k
      mag += levels[pos + 2];
194
8.06k
      mag = AOMMIN((mag + 1) >> 1, 6);
195
8.06k
      if (c == 0) return mag;
196
5.48k
      if (col == 0) return mag + 7;
197
0
      break;
198
170
    case TX_CLASS_VERT:
199
170
      mag += levels[pos + (stride << 1)];
200
170
      mag = AOMMIN((mag + 1) >> 1, 6);
201
170
      if (c == 0) return mag;
202
136
      if (row == 0) return mag + 7;
203
0
      break;
204
0
    default: break;
205
419k
  }
206
207
283k
  return mag + 14;
208
419k
}
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
4.20M
                                       const int bwl, const TX_CLASS tx_class) {
225
4.20M
  int mag;
226
227
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
228
4.20M
  mag = clip_max3[levels[1]];                         // { 0, 1 }
229
4.20M
  mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR]];  // { 1, 0 }
230
231
4.20M
  if (tx_class == TX_CLASS_2D) {
232
3.27M
    mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR + 1]];          // { 1, 1 }
233
3.27M
    mag += clip_max3[levels[2]];                                    // { 0, 2 }
234
3.27M
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
235
3.27M
  } else if (tx_class == TX_CLASS_VERT) {
236
391k
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
237
391k
    mag += clip_max3[levels[(3 << bwl) + (3 << TX_PAD_HOR_LOG2)]];  // { 3, 0 }
238
391k
    mag += clip_max3[levels[(4 << bwl) + (4 << TX_PAD_HOR_LOG2)]];  // { 4, 0 }
239
538k
  } else {
240
538k
    mag += clip_max3[levels[2]];  // { 0, 2 }
241
538k
    mag += clip_max3[levels[3]];  // { 0, 3 }
242
538k
    mag += clip_max3[levels[4]];  // { 0, 4 }
243
538k
  }
244
245
4.20M
  return mag;
246
4.20M
}
decodetxb.c:get_nz_mag
Line
Count
Source
224
1.41M
                                       const int bwl, const TX_CLASS tx_class) {
225
1.41M
  int mag;
226
227
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
228
1.41M
  mag = clip_max3[levels[1]];                         // { 0, 1 }
229
1.41M
  mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR]];  // { 1, 0 }
230
231
1.41M
  if (tx_class == TX_CLASS_2D) {
232
495k
    mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR + 1]];          // { 1, 1 }
233
495k
    mag += clip_max3[levels[2]];                                    // { 0, 2 }
234
495k
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
235
921k
  } else if (tx_class == TX_CLASS_VERT) {
236
391k
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
237
391k
    mag += clip_max3[levels[(3 << bwl) + (3 << TX_PAD_HOR_LOG2)]];  // { 3, 0 }
238
391k
    mag += clip_max3[levels[(4 << bwl) + (4 << TX_PAD_HOR_LOG2)]];  // { 4, 0 }
239
529k
  } else {
240
529k
    mag += clip_max3[levels[2]];  // { 0, 2 }
241
529k
    mag += clip_max3[levels[3]];  // { 0, 3 }
242
529k
    mag += clip_max3[levels[4]];  // { 0, 4 }
243
529k
  }
244
245
1.41M
  return mag;
246
1.41M
}
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
1.17M
                                       const int bwl, const TX_CLASS tx_class) {
225
1.17M
  int mag;
226
227
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
228
1.17M
  mag = clip_max3[levels[1]];                         // { 0, 1 }
229
1.17M
  mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR]];  // { 1, 0 }
230
231
1.17M
  if (tx_class == TX_CLASS_2D) {
232
1.17M
    mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR + 1]];          // { 1, 1 }
233
1.17M
    mag += clip_max3[levels[2]];                                    // { 0, 2 }
234
1.17M
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
235
1.17M
  } 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
1.17M
  return mag;
246
1.17M
}
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
1.60M
                                       const int bwl, const TX_CLASS tx_class) {
225
1.60M
  int mag;
226
227
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
228
1.60M
  mag = clip_max3[levels[1]];                         // { 0, 1 }
229
1.60M
  mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR]];  // { 1, 0 }
230
231
1.60M
  if (tx_class == TX_CLASS_2D) {
232
1.59M
    mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR + 1]];          // { 1, 1 }
233
1.59M
    mag += clip_max3[levels[2]];                                    // { 0, 2 }
234
1.59M
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
235
1.59M
  } else if (tx_class == TX_CLASS_VERT) {
236
196
    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
237
196
    mag += clip_max3[levels[(3 << bwl) + (3 << TX_PAD_HOR_LOG2)]];  // { 3, 0 }
238
196
    mag += clip_max3[levels[(4 << bwl) + (4 << TX_PAD_HOR_LOG2)]];  // { 4, 0 }
239
8.39k
  } else {
240
8.39k
    mag += clip_max3[levels[2]];  // { 0, 2 }
241
8.39k
    mag += clip_max3[levels[3]];  // { 0, 3 }
242
8.39k
    mag += clip_max3[levels[4]];  // { 0, 4 }
243
8.39k
  }
244
245
1.60M
  return mag;
246
1.60M
}
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
4.20M
    const int bwl, const TX_SIZE tx_size, const TX_CLASS tx_class) {
266
  // tx_class == 0(TX_CLASS_2D)
267
4.20M
  if ((tx_class | coeff_idx) == 0) return 0;
268
3.65M
  int ctx = (stats + 1) >> 1;
269
3.65M
  ctx = AOMMIN(ctx, 4);
270
3.65M
  switch (tx_class) {
271
2.72M
    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
2.72M
      return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
284
0
    }
285
538k
    case TX_CLASS_HORIZ: {
286
538k
      const int row = coeff_idx >> bwl;
287
538k
      const int col = coeff_idx - (row << bwl);
288
538k
      return ctx + nz_map_ctx_offset_1d[col];
289
0
    }
290
391k
    case TX_CLASS_VERT: {
291
391k
      const int row = coeff_idx >> bwl;
292
391k
      return ctx + nz_map_ctx_offset_1d[row];
293
0
    }
294
0
    default: break;
295
3.65M
  }
296
0
  return 0;
297
3.65M
}
decodetxb.c:get_nz_map_ctx_from_stats
Line
Count
Source
265
1.41M
    const int bwl, const TX_SIZE tx_size, const TX_CLASS tx_class) {
266
  // tx_class == 0(TX_CLASS_2D)
267
1.41M
  if ((tx_class | coeff_idx) == 0) return 0;
268
921k
  int ctx = (stats + 1) >> 1;
269
921k
  ctx = AOMMIN(ctx, 4);
270
921k
  switch (tx_class) {
271
0
    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
0
      return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
284
0
    }
285
529k
    case TX_CLASS_HORIZ: {
286
529k
      const int row = coeff_idx >> bwl;
287
529k
      const int col = coeff_idx - (row << bwl);
288
529k
      return ctx + nz_map_ctx_offset_1d[col];
289
0
    }
290
391k
    case TX_CLASS_VERT: {
291
391k
      const int row = coeff_idx >> bwl;
292
391k
      return ctx + nz_map_ctx_offset_1d[row];
293
0
    }
294
0
    default: break;
295
921k
  }
296
0
  return 0;
297
921k
}
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
1.17M
    const int bwl, const TX_SIZE tx_size, const TX_CLASS tx_class) {
266
  // tx_class == 0(TX_CLASS_2D)
267
1.17M
  if ((tx_class | coeff_idx) == 0) return 0;
268
1.15M
  int ctx = (stats + 1) >> 1;
269
1.15M
  ctx = AOMMIN(ctx, 4);
270
1.15M
  switch (tx_class) {
271
1.15M
    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
1.15M
      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
1.15M
  }
296
0
  return 0;
297
1.15M
}
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
1.60M
    const int bwl, const TX_SIZE tx_size, const TX_CLASS tx_class) {
266
  // tx_class == 0(TX_CLASS_2D)
267
1.60M
  if ((tx_class | coeff_idx) == 0) return 0;
268
1.57M
  int ctx = (stats + 1) >> 1;
269
1.57M
  ctx = AOMMIN(ctx, 4);
270
1.57M
  switch (tx_class) {
271
1.56M
    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
1.56M
      return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
284
0
    }
285
8.39k
    case TX_CLASS_HORIZ: {
286
8.39k
      const int row = coeff_idx >> bwl;
287
8.39k
      const int col = coeff_idx - (row << bwl);
288
8.39k
      return ctx + nz_map_ctx_offset_1d[col];
289
0
    }
290
196
    case TX_CLASS_VERT: {
291
196
      const int row = coeff_idx >> bwl;
292
196
      return ctx + nz_map_ctx_offset_1d[row];
293
0
    }
294
0
    default: break;
295
1.57M
  }
296
0
  return 0;
297
1.57M
}
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
961k
static INLINE int get_lower_levels_ctx_eob(int bwl, int height, int scan_idx) {
303
961k
  if (scan_idx == 0) return 0;
304
617k
  if (scan_idx <= (height << bwl) / 8) return 1;
305
306k
  if (scan_idx <= (height << bwl) / 4) return 2;
306
211k
  return 3;
307
306k
}
decodetxb.c:get_lower_levels_ctx_eob
Line
Count
Source
302
771k
static INLINE int get_lower_levels_ctx_eob(int bwl, int height, int scan_idx) {
303
771k
  if (scan_idx == 0) return 0;
304
540k
  if (scan_idx <= (height << bwl) / 8) return 1;
305
250k
  if (scan_idx <= (height << bwl) / 4) return 2;
306
169k
  return 3;
307
250k
}
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
189k
static INLINE int get_lower_levels_ctx_eob(int bwl, int height, int scan_idx) {
303
189k
  if (scan_idx == 0) return 0;
304
77.0k
  if (scan_idx <= (height << bwl) / 8) return 1;
305
56.7k
  if (scan_idx <= (height << bwl) / 4) return 2;
306
41.7k
  return 3;
307
56.7k
}
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
14.7M
                                          int bwl, TX_SIZE tx_size) {
311
14.7M
  assert(coeff_idx > 0);
312
14.7M
  int mag;
313
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
314
14.7M
  levels = levels + get_padded_idx(coeff_idx, bwl);
315
14.7M
  mag = AOMMIN(levels[1], 3);                                     // { 0, 1 }
316
14.7M
  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR], 3);              // { 1, 0 }
317
14.7M
  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR + 1], 3);          // { 1, 1 }
318
14.7M
  mag += AOMMIN(levels[2], 3);                                    // { 0, 2 }
319
14.7M
  mag += AOMMIN(levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)], 3);  // { 2, 0 }
320
321
14.7M
  const int ctx = AOMMIN((mag + 1) >> 1, 4);
322
14.7M
  return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
323
14.7M
}
decodetxb.c:get_lower_levels_ctx_2d
Line
Count
Source
310
14.7M
                                          int bwl, TX_SIZE tx_size) {
311
14.7M
  assert(coeff_idx > 0);
312
14.7M
  int mag;
313
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
314
14.7M
  levels = levels + get_padded_idx(coeff_idx, bwl);
315
14.7M
  mag = AOMMIN(levels[1], 3);                                     // { 0, 1 }
316
14.7M
  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR], 3);              // { 1, 0 }
317
14.7M
  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR + 1], 3);          // { 1, 1 }
318
14.7M
  mag += AOMMIN(levels[2], 3);                                    // { 0, 2 }
319
14.7M
  mag += AOMMIN(levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)], 3);  // { 2, 0 }
320
321
14.7M
  const int ctx = AOMMIN((mag + 1) >> 1, 4);
322
14.7M
  return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
323
14.7M
}
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
3.02M
                                                 TX_CLASS tx_class) {
328
3.02M
  const int stats =
329
3.02M
      get_nz_mag(levels + get_padded_idx(coeff_idx, bwl), bwl, tx_class);
330
3.02M
  return get_nz_map_ctx_from_stats(stats, coeff_idx, bwl, tx_size, tx_class);
331
3.02M
}
decodetxb.c:get_lower_levels_ctx
Line
Count
Source
327
1.41M
                                                 TX_CLASS tx_class) {
328
1.41M
  const int stats =
329
1.41M
      get_nz_mag(levels + get_padded_idx(coeff_idx, bwl), bwl, tx_class);
330
1.41M
  return get_nz_map_ctx_from_stats(stats, coeff_idx, bwl, tx_size, tx_class);
331
1.41M
}
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
1.60M
                                                 TX_CLASS tx_class) {
328
1.60M
  const int stats =
329
1.60M
      get_nz_mag(levels + get_padded_idx(coeff_idx, bwl), bwl, tx_class);
330
1.60M
  return get_nz_map_ctx_from_stats(stats, coeff_idx, bwl, tx_size, tx_class);
331
1.60M
}
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
102k
                                               TX_CLASS tx_class) {
338
102k
  if (is_last) {
339
76.8k
    if (scan_idx == 0) return 0;
340
14.1k
    if (scan_idx <= (height << bwl) >> 3) return 1;
341
13.0k
    if (scan_idx <= (height << bwl) >> 2) return 2;
342
11.0k
    return 3;
343
13.0k
  }
344
25.3k
  return get_lower_levels_ctx(levels, coeff_idx, bwl, tx_size, tx_class);
345
102k
}
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
102k
                                               TX_CLASS tx_class) {
338
102k
  if (is_last) {
339
76.8k
    if (scan_idx == 0) return 0;
340
14.1k
    if (scan_idx <= (height << bwl) >> 3) return 1;
341
13.0k
    if (scan_idx <= (height << bwl) >> 2) return 2;
342
11.0k
    return 3;
343
13.0k
  }
344
25.3k
  return get_lower_levels_ctx(levels, coeff_idx, bwl, tx_size, tx_class);
345
102k
}
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
1.14M
static INLINE void set_dc_sign(int *cul_level, int dc_val) {
348
1.14M
  if (dc_val < 0)
349
670k
    *cul_level |= 1 << COEFF_CONTEXT_BITS;
350
470k
  else if (dc_val > 0)
351
328k
    *cul_level += 2 << COEFF_CONTEXT_BITS;
352
1.14M
}
decodetxb.c:set_dc_sign
Line
Count
Source
347
771k
static INLINE void set_dc_sign(int *cul_level, int dc_val) {
348
771k
  if (dc_val < 0)
349
300k
    *cul_level |= 1 << COEFF_CONTEXT_BITS;
350
470k
  else if (dc_val > 0)
351
328k
    *cul_level += 2 << COEFF_CONTEXT_BITS;
352
771k
}
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
369k
static INLINE void set_dc_sign(int *cul_level, int dc_val) {
348
369k
  if (dc_val < 0)
349
369k
    *cul_level |= 1 << COEFF_CONTEXT_BITS;
350
5
  else if (dc_val > 0)
351
0
    *cul_level += 2 << COEFF_CONTEXT_BITS;
352
369k
}
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
47.1M
                               TXB_CTX *const txb_ctx) {
359
47.1M
#define MAX_TX_SIZE_UNIT 16
360
47.1M
  static const int8_t signs[3] = { 0, -1, 1 };
361
47.1M
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
362
47.1M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
363
47.1M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364
47.1M
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
365
47.1M
  };
366
47.1M
  const int txb_w_unit = tx_size_wide_unit[tx_size];
367
47.1M
  const int txb_h_unit = tx_size_high_unit[tx_size];
368
47.1M
  int dc_sign = 0;
369
47.1M
  int k = 0;
370
371
63.7M
  do {
372
63.7M
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
373
63.7M
    assert(sign <= 2);
374
63.7M
    dc_sign += signs[sign];
375
63.7M
  } while (++k < txb_w_unit);
376
377
47.1M
  k = 0;
378
64.0M
  do {
379
64.0M
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
380
64.0M
    assert(sign <= 2);
381
64.0M
    dc_sign += signs[sign];
382
64.0M
  } while (++k < txb_h_unit);
383
384
47.1M
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
385
386
47.1M
  if (plane == 0) {
387
44.5M
    if (plane_bsize == txsize_to_bsize[tx_size]) {
388
3.22M
      txb_ctx->txb_skip_ctx = 0;
389
41.3M
    } 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
41.3M
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
404
41.3M
                                                   { 2, 4, 4, 4, 5 },
405
41.3M
                                                   { 2, 4, 4, 4, 5 },
406
41.3M
                                                   { 2, 4, 4, 4, 5 },
407
41.3M
                                                   { 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
41.3M
      int top = 0;
414
41.3M
      int left = 0;
415
416
41.3M
      k = 0;
417
42.8M
      do {
418
42.8M
        top |= a[k];
419
42.8M
      } while (++k < txb_w_unit);
420
41.3M
      top &= COEFF_CONTEXT_MASK;
421
41.3M
      top = AOMMIN(top, 4);
422
423
41.3M
      k = 0;
424
42.8M
      do {
425
42.8M
        left |= l[k];
426
42.8M
      } while (++k < txb_h_unit);
427
41.3M
      left &= COEFF_CONTEXT_MASK;
428
41.3M
      left = AOMMIN(left, 4);
429
430
41.3M
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
431
41.3M
    }
432
44.5M
  } else {
433
2.57M
    const int ctx_base = get_entropy_context(tx_size, a, l);
434
2.57M
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
435
2.57M
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
436
2.57M
                               ? 10
437
2.57M
                               : 7;
438
2.57M
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
439
2.57M
  }
440
47.1M
#undef MAX_TX_SIZE_UNIT
441
47.1M
}
decodetxb.c:get_txb_ctx
Line
Count
Source
358
1.70M
                               TXB_CTX *const txb_ctx) {
359
1.70M
#define MAX_TX_SIZE_UNIT 16
360
1.70M
  static const int8_t signs[3] = { 0, -1, 1 };
361
1.70M
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
362
1.70M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
363
1.70M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364
1.70M
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
365
1.70M
  };
366
1.70M
  const int txb_w_unit = tx_size_wide_unit[tx_size];
367
1.70M
  const int txb_h_unit = tx_size_high_unit[tx_size];
368
1.70M
  int dc_sign = 0;
369
1.70M
  int k = 0;
370
371
5.86M
  do {
372
5.86M
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
373
5.86M
    assert(sign <= 2);
374
5.86M
    dc_sign += signs[sign];
375
5.86M
  } while (++k < txb_w_unit);
376
377
1.70M
  k = 0;
378
6.10M
  do {
379
6.10M
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
380
6.10M
    assert(sign <= 2);
381
6.10M
    dc_sign += signs[sign];
382
6.10M
  } while (++k < txb_h_unit);
383
384
1.70M
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
385
386
1.70M
  if (plane == 0) {
387
764k
    if (plane_bsize == txsize_to_bsize[tx_size]) {
388
451k
      txb_ctx->txb_skip_ctx = 0;
389
451k
    } 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
312k
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
404
312k
                                                   { 2, 4, 4, 4, 5 },
405
312k
                                                   { 2, 4, 4, 4, 5 },
406
312k
                                                   { 2, 4, 4, 4, 5 },
407
312k
                                                   { 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
312k
      int top = 0;
414
312k
      int left = 0;
415
416
312k
      k = 0;
417
1.16M
      do {
418
1.16M
        top |= a[k];
419
1.16M
      } while (++k < txb_w_unit);
420
312k
      top &= COEFF_CONTEXT_MASK;
421
312k
      top = AOMMIN(top, 4);
422
423
312k
      k = 0;
424
1.16M
      do {
425
1.16M
        left |= l[k];
426
1.16M
      } while (++k < txb_h_unit);
427
312k
      left &= COEFF_CONTEXT_MASK;
428
312k
      left = AOMMIN(left, 4);
429
430
312k
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
431
312k
    }
432
940k
  } else {
433
940k
    const int ctx_base = get_entropy_context(tx_size, a, l);
434
940k
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
435
940k
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
436
940k
                               ? 10
437
940k
                               : 7;
438
940k
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
439
940k
  }
440
1.70M
#undef MAX_TX_SIZE_UNIT
441
1.70M
}
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
792k
                               TXB_CTX *const txb_ctx) {
359
792k
#define MAX_TX_SIZE_UNIT 16
360
792k
  static const int8_t signs[3] = { 0, -1, 1 };
361
792k
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
362
792k
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
363
792k
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364
792k
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
365
792k
  };
366
792k
  const int txb_w_unit = tx_size_wide_unit[tx_size];
367
792k
  const int txb_h_unit = tx_size_high_unit[tx_size];
368
792k
  int dc_sign = 0;
369
792k
  int k = 0;
370
371
1.05M
  do {
372
1.05M
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
373
1.05M
    assert(sign <= 2);
374
1.05M
    dc_sign += signs[sign];
375
1.05M
  } while (++k < txb_w_unit);
376
377
792k
  k = 0;
378
1.05M
  do {
379
1.05M
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
380
1.05M
    assert(sign <= 2);
381
1.05M
    dc_sign += signs[sign];
382
1.05M
  } while (++k < txb_h_unit);
383
384
792k
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
385
386
792k
  if (plane == 0) {
387
523k
    if (plane_bsize == txsize_to_bsize[tx_size]) {
388
4.08k
      txb_ctx->txb_skip_ctx = 0;
389
519k
    } 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
519k
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
404
519k
                                                   { 2, 4, 4, 4, 5 },
405
519k
                                                   { 2, 4, 4, 4, 5 },
406
519k
                                                   { 2, 4, 4, 4, 5 },
407
519k
                                                   { 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
519k
      int top = 0;
414
519k
      int left = 0;
415
416
519k
      k = 0;
417
620k
      do {
418
620k
        top |= a[k];
419
620k
      } while (++k < txb_w_unit);
420
519k
      top &= COEFF_CONTEXT_MASK;
421
519k
      top = AOMMIN(top, 4);
422
423
519k
      k = 0;
424
620k
      do {
425
620k
        left |= l[k];
426
620k
      } while (++k < txb_h_unit);
427
519k
      left &= COEFF_CONTEXT_MASK;
428
519k
      left = AOMMIN(left, 4);
429
430
519k
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
431
519k
    }
432
523k
  } else {
433
269k
    const int ctx_base = get_entropy_context(tx_size, a, l);
434
269k
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
435
269k
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
436
269k
                               ? 10
437
269k
                               : 7;
438
269k
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
439
269k
  }
440
792k
#undef MAX_TX_SIZE_UNIT
441
792k
}
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
44.5M
                               TXB_CTX *const txb_ctx) {
359
44.5M
#define MAX_TX_SIZE_UNIT 16
360
44.5M
  static const int8_t signs[3] = { 0, -1, 1 };
361
44.5M
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
362
44.5M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
363
44.5M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364
44.5M
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
365
44.5M
  };
366
44.5M
  const int txb_w_unit = tx_size_wide_unit[tx_size];
367
44.5M
  const int txb_h_unit = tx_size_high_unit[tx_size];
368
44.5M
  int dc_sign = 0;
369
44.5M
  int k = 0;
370
371
56.5M
  do {
372
56.5M
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
373
56.5M
    assert(sign <= 2);
374
56.5M
    dc_sign += signs[sign];
375
56.5M
  } while (++k < txb_w_unit);
376
377
44.5M
  k = 0;
378
56.5M
  do {
379
56.5M
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
380
56.5M
    assert(sign <= 2);
381
56.5M
    dc_sign += signs[sign];
382
56.5M
  } while (++k < txb_h_unit);
383
384
44.5M
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
385
386
44.5M
  if (plane == 0) {
387
43.2M
    if (plane_bsize == txsize_to_bsize[tx_size]) {
388
2.75M
      txb_ctx->txb_skip_ctx = 0;
389
40.5M
    } 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
40.5M
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
404
40.5M
                                                   { 2, 4, 4, 4, 5 },
405
40.5M
                                                   { 2, 4, 4, 4, 5 },
406
40.5M
                                                   { 2, 4, 4, 4, 5 },
407
40.5M
                                                   { 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
40.5M
      int top = 0;
414
40.5M
      int left = 0;
415
416
40.5M
      k = 0;
417
41.1M
      do {
418
41.1M
        top |= a[k];
419
41.1M
      } while (++k < txb_w_unit);
420
40.5M
      top &= COEFF_CONTEXT_MASK;
421
40.5M
      top = AOMMIN(top, 4);
422
423
40.5M
      k = 0;
424
41.1M
      do {
425
41.1M
        left |= l[k];
426
41.1M
      } while (++k < txb_h_unit);
427
40.5M
      left &= COEFF_CONTEXT_MASK;
428
40.5M
      left = AOMMIN(left, 4);
429
430
40.5M
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
431
40.5M
    }
432
43.2M
  } else {
433
1.28M
    const int ctx_base = get_entropy_context(tx_size, a, l);
434
1.28M
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
435
1.28M
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
436
1.28M
                               ? 10
437
1.28M
                               : 7;
438
1.28M
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
439
1.28M
  }
440
44.5M
#undef MAX_TX_SIZE_UNIT
441
44.5M
}
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
90.8k
                               TXB_CTX *const txb_ctx) {
359
90.8k
#define MAX_TX_SIZE_UNIT 16
360
90.8k
  static const int8_t signs[3] = { 0, -1, 1 };
361
90.8k
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
362
90.8k
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
363
90.8k
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364
90.8k
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
365
90.8k
  };
366
90.8k
  const int txb_w_unit = tx_size_wide_unit[tx_size];
367
90.8k
  const int txb_h_unit = tx_size_high_unit[tx_size];
368
90.8k
  int dc_sign = 0;
369
90.8k
  int k = 0;
370
371
297k
  do {
372
297k
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
373
297k
    assert(sign <= 2);
374
297k
    dc_sign += signs[sign];
375
297k
  } while (++k < txb_w_unit);
376
377
90.8k
  k = 0;
378
297k
  do {
379
297k
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
380
297k
    assert(sign <= 2);
381
297k
    dc_sign += signs[sign];
382
297k
  } while (++k < txb_h_unit);
383
384
90.8k
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
385
386
90.8k
  if (plane == 0) {
387
10.1k
    if (plane_bsize == txsize_to_bsize[tx_size]) {
388
10.0k
      txb_ctx->txb_skip_ctx = 0;
389
10.0k
    } 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
20
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
404
20
                                                   { 2, 4, 4, 4, 5 },
405
20
                                                   { 2, 4, 4, 4, 5 },
406
20
                                                   { 2, 4, 4, 4, 5 },
407
20
                                                   { 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
20
      int top = 0;
414
20
      int left = 0;
415
416
20
      k = 0;
417
40
      do {
418
40
        top |= a[k];
419
40
      } while (++k < txb_w_unit);
420
20
      top &= COEFF_CONTEXT_MASK;
421
20
      top = AOMMIN(top, 4);
422
423
20
      k = 0;
424
40
      do {
425
40
        left |= l[k];
426
40
      } while (++k < txb_h_unit);
427
20
      left &= COEFF_CONTEXT_MASK;
428
20
      left = AOMMIN(left, 4);
429
430
20
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
431
20
    }
432
80.7k
  } else {
433
80.7k
    const int ctx_base = get_entropy_context(tx_size, a, l);
434
80.7k
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
435
80.7k
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
436
80.7k
                               ? 10
437
80.7k
                               : 7;
438
80.7k
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
439
80.7k
  }
440
90.8k
#undef MAX_TX_SIZE_UNIT
441
90.8k
}
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_