Coverage Report

Created: 2026-05-16 06:41

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