Coverage Report

Created: 2025-07-16 07:53

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