Coverage Report

Created: 2025-06-22 08:04

/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
16.6M
static inline int get_txb_bhl(TX_SIZE tx_size) {
51
16.6M
  tx_size = av1_get_adjusted_tx_size(tx_size);
52
16.6M
  return tx_size_high_log2[tx_size];
53
16.6M
}
decodetxb.c:get_txb_bhl
Line
Count
Source
50
16.6M
static inline int get_txb_bhl(TX_SIZE tx_size) {
51
16.6M
  tx_size = av1_get_adjusted_tx_size(tx_size);
52
16.6M
  return tx_size_high_log2[tx_size];
53
16.6M
}
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
16.6M
static inline int get_txb_wide(TX_SIZE tx_size) {
56
16.6M
  tx_size = av1_get_adjusted_tx_size(tx_size);
57
16.6M
  return tx_size_wide[tx_size];
58
16.6M
}
decodetxb.c:get_txb_wide
Line
Count
Source
55
16.6M
static inline int get_txb_wide(TX_SIZE tx_size) {
56
16.6M
  tx_size = av1_get_adjusted_tx_size(tx_size);
57
16.6M
  return tx_size_wide[tx_size];
58
16.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
16.6M
static inline int get_txb_high(TX_SIZE tx_size) {
61
16.6M
  tx_size = av1_get_adjusted_tx_size(tx_size);
62
16.6M
  return tx_size_high[tx_size];
63
16.6M
}
decodetxb.c:get_txb_high
Line
Count
Source
60
16.6M
static inline int get_txb_high(TX_SIZE tx_size) {
61
16.6M
  tx_size = av1_get_adjusted_tx_size(tx_size);
62
16.6M
  return tx_size_high[tx_size];
63
16.6M
}
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
16.5M
static inline uint8_t *set_levels(uint8_t *const levels_buf, const int height) {
66
16.5M
  return levels_buf + TX_PAD_TOP * (height + TX_PAD_HOR);
67
16.5M
}
decodetxb.c:set_levels
Line
Count
Source
65
16.5M
static inline uint8_t *set_levels(uint8_t *const levels_buf, const int height) {
66
16.5M
  return levels_buf + TX_PAD_TOP * (height + TX_PAD_HOR);
67
16.5M
}
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
344M
static inline int get_padded_idx(const int idx, const int bhl) {
70
344M
  return idx + ((idx >> bhl) << TX_PAD_HOR_LOG2);
71
344M
}
decodetxb.c:get_padded_idx
Line
Count
Source
69
344M
static inline int get_padded_idx(const int idx, const int bhl) {
70
344M
  return idx + ((idx >> bhl) << TX_PAD_HOR_LOG2);
71
344M
}
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.5M
                                const int bhl) {
76
13.5M
  assert(c > 0);
77
13.5M
  const int col = c >> bhl;
78
13.5M
  const int row = c - (col << bhl);
79
13.5M
  const int stride = (1 << bhl) + TX_PAD_HOR;
80
13.5M
  const int pos = col * stride + row;
81
13.5M
  int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE) +
82
13.5M
            AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE) +
83
13.5M
            AOMMIN(levels[pos + 1 + stride], MAX_BASE_BR_RANGE);
84
13.5M
  mag = AOMMIN((mag + 1) >> 1, 6);
85
  //((row | col) < 2) is equivalent to ((row < 2) && (col < 2))
86
13.5M
  if ((row | col) < 2) return mag + 7;
87
11.3M
  return mag + 14;
88
13.5M
}
decodetxb.c:get_br_ctx_2d
Line
Count
Source
75
13.5M
                                const int bhl) {
76
13.5M
  assert(c > 0);
77
13.5M
  const int col = c >> bhl;
78
13.5M
  const int row = c - (col << bhl);
79
13.5M
  const int stride = (1 << bhl) + TX_PAD_HOR;
80
13.5M
  const int pos = col * stride + row;
81
13.5M
  int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE) +
82
13.5M
            AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE) +
83
13.5M
            AOMMIN(levels[pos + 1 + stride], MAX_BASE_BR_RANGE);
84
13.5M
  mag = AOMMIN((mag + 1) >> 1, 6);
85
  //((row | col) < 2) is equivalent to ((row < 2) && (col < 2))
86
13.5M
  if ((row | col) < 2) return mag + 7;
87
11.3M
  return mag + 14;
88
13.5M
}
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
597k
                                           const TX_CLASS tx_class) {
93
597k
  const int col = c >> bhl;
94
597k
  const int row = c - (col << bhl);
95
597k
  if (c == 0) return 0;
96
313k
  if ((tx_class == TX_CLASS_2D && row < 2 && col < 2) ||
97
313k
      (tx_class == TX_CLASS_HORIZ && col == 0) ||
98
313k
      (tx_class == TX_CLASS_VERT && row == 0))
99
12.9k
    return 7;
100
300k
  return 14;
101
313k
}
decodetxb.c:get_br_ctx_eob
Line
Count
Source
92
597k
                                           const TX_CLASS tx_class) {
93
597k
  const int col = c >> bhl;
94
597k
  const int row = c - (col << bhl);
95
597k
  if (c == 0) return 0;
96
313k
  if ((tx_class == TX_CLASS_2D && row < 2 && col < 2) ||
97
313k
      (tx_class == TX_CLASS_HORIZ && col == 0) ||
98
313k
      (tx_class == TX_CLASS_VERT && row == 0))
99
12.9k
    return 7;
100
300k
  return 14;
101
313k
}
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.81M
                                       const int bhl, const TX_CLASS tx_class) {
106
1.81M
  const int col = c >> bhl;
107
1.81M
  const int row = c - (col << bhl);
108
1.81M
  const int stride = (1 << bhl) + TX_PAD_HOR;
109
1.81M
  const int pos = col * stride + row;
110
1.81M
  int mag = levels[pos + 1];
111
1.81M
  mag += levels[pos + stride];
112
1.81M
  switch (tx_class) {
113
1.53M
    case TX_CLASS_2D:
114
1.53M
      mag += levels[pos + stride + 1];
115
1.53M
      mag = AOMMIN((mag + 1) >> 1, 6);
116
1.53M
      if (c == 0) return mag;
117
18.4E
      if ((row < 2) && (col < 2)) return mag + 7;
118
18.4E
      break;
119
18.4E
    case TX_CLASS_HORIZ:
120
192k
      mag += levels[pos + (stride << 1)];
121
192k
      mag = AOMMIN((mag + 1) >> 1, 6);
122
192k
      if (c == 0) return mag;
123
177k
      if (col == 0) return mag + 7;
124
126k
      break;
125
126k
    case TX_CLASS_VERT:
126
91.8k
      mag += levels[pos + 2];
127
91.8k
      mag = AOMMIN((mag + 1) >> 1, 6);
128
91.8k
      if (c == 0) return mag;
129
84.8k
      if (row == 0) return mag + 7;
130
57.8k
      break;
131
57.8k
    default: break;
132
1.81M
  }
133
134
184k
  return mag + 14;
135
1.81M
}
decodetxb.c:get_br_ctx
Line
Count
Source
105
1.81M
                                       const int bhl, const TX_CLASS tx_class) {
106
1.81M
  const int col = c >> bhl;
107
1.81M
  const int row = c - (col << bhl);
108
1.81M
  const int stride = (1 << bhl) + TX_PAD_HOR;
109
1.81M
  const int pos = col * stride + row;
110
1.81M
  int mag = levels[pos + 1];
111
1.81M
  mag += levels[pos + stride];
112
1.81M
  switch (tx_class) {
113
1.53M
    case TX_CLASS_2D:
114
1.53M
      mag += levels[pos + stride + 1];
115
1.53M
      mag = AOMMIN((mag + 1) >> 1, 6);
116
1.53M
      if (c == 0) return mag;
117
18.4E
      if ((row < 2) && (col < 2)) return mag + 7;
118
18.4E
      break;
119
18.4E
    case TX_CLASS_HORIZ:
120
192k
      mag += levels[pos + (stride << 1)];
121
192k
      mag = AOMMIN((mag + 1) >> 1, 6);
122
192k
      if (c == 0) return mag;
123
177k
      if (col == 0) return mag + 7;
124
126k
      break;
125
126k
    case TX_CLASS_VERT:
126
91.8k
      mag += levels[pos + 2];
127
91.8k
      mag = AOMMIN((mag + 1) >> 1, 6);
128
91.8k
      if (c == 0) return mag;
129
84.8k
      if (row == 0) return mag + 7;
130
57.8k
      break;
131
57.8k
    default: break;
132
1.81M
  }
133
134
184k
  return mag + 14;
135
1.81M
}
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.54M
                                       const int bhl, const TX_CLASS tx_class) {
152
7.54M
  int mag;
153
154
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
155
7.54M
  mag = clip_max3[levels[(1 << bhl) + TX_PAD_HOR]];  // { 0, 1 }
156
7.54M
  mag += clip_max3[levels[1]];                       // { 1, 0 }
157
158
7.54M
  if (tx_class == TX_CLASS_2D) {
159
3.54M
    mag += clip_max3[levels[(1 << bhl) + TX_PAD_HOR + 1]];          // { 1, 1 }
160
3.54M
    mag += clip_max3[levels[(2 << bhl) + (2 << TX_PAD_HOR_LOG2)]];  // { 0, 2 }
161
3.54M
    mag += clip_max3[levels[2]];                                    // { 2, 0 }
162
3.99M
  } else if (tx_class == TX_CLASS_VERT) {
163
1.36M
    mag += clip_max3[levels[2]];  // { 2, 0 }
164
1.36M
    mag += clip_max3[levels[3]];  // { 3, 0 }
165
1.36M
    mag += clip_max3[levels[4]];  // { 4, 0 }
166
2.63M
  } else {
167
2.63M
    mag += clip_max3[levels[(2 << bhl) + (2 << TX_PAD_HOR_LOG2)]];  // { 0, 2 }
168
2.63M
    mag += clip_max3[levels[(3 << bhl) + (3 << TX_PAD_HOR_LOG2)]];  // { 0, 3 }
169
2.63M
    mag += clip_max3[levels[(4 << bhl) + (4 << TX_PAD_HOR_LOG2)]];  // { 0, 4 }
170
2.63M
  }
171
172
7.54M
  return mag;
173
7.54M
}
decodetxb.c:get_nz_mag
Line
Count
Source
151
7.54M
                                       const int bhl, const TX_CLASS tx_class) {
152
7.54M
  int mag;
153
154
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
155
7.54M
  mag = clip_max3[levels[(1 << bhl) + TX_PAD_HOR]];  // { 0, 1 }
156
7.54M
  mag += clip_max3[levels[1]];                       // { 1, 0 }
157
158
7.54M
  if (tx_class == TX_CLASS_2D) {
159
3.54M
    mag += clip_max3[levels[(1 << bhl) + TX_PAD_HOR + 1]];          // { 1, 1 }
160
3.54M
    mag += clip_max3[levels[(2 << bhl) + (2 << TX_PAD_HOR_LOG2)]];  // { 0, 2 }
161
3.54M
    mag += clip_max3[levels[2]];                                    // { 2, 0 }
162
3.99M
  } else if (tx_class == TX_CLASS_VERT) {
163
1.36M
    mag += clip_max3[levels[2]];  // { 2, 0 }
164
1.36M
    mag += clip_max3[levels[3]];  // { 3, 0 }
165
1.36M
    mag += clip_max3[levels[4]];  // { 4, 0 }
166
2.63M
  } else {
167
2.63M
    mag += clip_max3[levels[(2 << bhl) + (2 << TX_PAD_HOR_LOG2)]];  // { 0, 2 }
168
2.63M
    mag += clip_max3[levels[(3 << bhl) + (3 << TX_PAD_HOR_LOG2)]];  // { 0, 3 }
169
2.63M
    mag += clip_max3[levels[(4 << bhl) + (4 << TX_PAD_HOR_LOG2)]];  // { 0, 4 }
170
2.63M
  }
171
172
7.54M
  return mag;
173
7.54M
}
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.54M
    const int bhl, const TX_SIZE tx_size, const TX_CLASS tx_class) {
193
  // tx_class == 0(TX_CLASS_2D)
194
7.54M
  if ((tx_class | coeff_idx) == 0) return 0;
195
3.99M
  int ctx = (stats + 1) >> 1;
196
3.99M
  ctx = AOMMIN(ctx, 4);
197
3.99M
  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.63M
    case TX_CLASS_HORIZ: {
213
2.63M
      const int col = coeff_idx >> bhl;
214
2.63M
      return ctx + nz_map_ctx_offset_1d[col];
215
0
    }
216
1.36M
    case TX_CLASS_VERT: {
217
1.36M
      const int col = coeff_idx >> bhl;
218
1.36M
      const int row = coeff_idx - (col << bhl);
219
1.36M
      return ctx + nz_map_ctx_offset_1d[row];
220
0
    }
221
0
    default: break;
222
3.99M
  }
223
0
  return 0;
224
3.99M
}
decodetxb.c:get_nz_map_ctx_from_stats
Line
Count
Source
192
7.54M
    const int bhl, const TX_SIZE tx_size, const TX_CLASS tx_class) {
193
  // tx_class == 0(TX_CLASS_2D)
194
7.54M
  if ((tx_class | coeff_idx) == 0) return 0;
195
3.99M
  int ctx = (stats + 1) >> 1;
196
3.99M
  ctx = AOMMIN(ctx, 4);
197
3.99M
  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.63M
    case TX_CLASS_HORIZ: {
213
2.63M
      const int col = coeff_idx >> bhl;
214
2.63M
      return ctx + nz_map_ctx_offset_1d[col];
215
0
    }
216
1.36M
    case TX_CLASS_VERT: {
217
1.36M
      const int col = coeff_idx >> bhl;
218
1.36M
      const int row = coeff_idx - (col << bhl);
219
1.36M
      return ctx + nz_map_ctx_offset_1d[row];
220
0
    }
221
0
    default: break;
222
3.99M
  }
223
0
  return 0;
224
3.99M
}
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.20M
static inline int get_lower_levels_ctx_eob(int bhl, int width, int scan_idx) {
230
6.20M
  if (scan_idx == 0) return 0;
231
3.66M
  if (scan_idx <= (width << bhl) / 8) return 1;
232
2.93M
  if (scan_idx <= (width << bhl) / 4) return 2;
233
2.64M
  return 3;
234
2.93M
}
decodetxb.c:get_lower_levels_ctx_eob
Line
Count
Source
229
6.20M
static inline int get_lower_levels_ctx_eob(int bhl, int width, int scan_idx) {
230
6.20M
  if (scan_idx == 0) return 0;
231
3.66M
  if (scan_idx <= (width << bhl) / 8) return 1;
232
2.93M
  if (scan_idx <= (width << bhl) / 4) return 2;
233
2.64M
  return 3;
234
2.93M
}
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
103M
                                          int bhl, TX_SIZE tx_size) {
238
103M
  assert(coeff_idx > 0);
239
103M
  int mag;
240
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
241
103M
  levels = levels + get_padded_idx(coeff_idx, bhl);
242
103M
  mag = AOMMIN(levels[(1 << bhl) + TX_PAD_HOR], 3);               // { 0, 1 }
243
103M
  mag += AOMMIN(levels[1], 3);                                    // { 1, 0 }
244
103M
  mag += AOMMIN(levels[(1 << bhl) + TX_PAD_HOR + 1], 3);          // { 1, 1 }
245
103M
  mag += AOMMIN(levels[(2 << bhl) + (2 << TX_PAD_HOR_LOG2)], 3);  // { 0, 2 }
246
103M
  mag += AOMMIN(levels[2], 3);                                    // { 2, 0 }
247
248
103M
  const int ctx = AOMMIN((mag + 1) >> 1, 4);
249
103M
  return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
250
103M
}
decodetxb.c:get_lower_levels_ctx_2d
Line
Count
Source
237
103M
                                          int bhl, TX_SIZE tx_size) {
238
103M
  assert(coeff_idx > 0);
239
103M
  int mag;
240
  // Note: AOMMIN(level, 3) is useless for decoder since level < 3.
241
103M
  levels = levels + get_padded_idx(coeff_idx, bhl);
242
103M
  mag = AOMMIN(levels[(1 << bhl) + TX_PAD_HOR], 3);               // { 0, 1 }
243
103M
  mag += AOMMIN(levels[1], 3);                                    // { 1, 0 }
244
103M
  mag += AOMMIN(levels[(1 << bhl) + TX_PAD_HOR + 1], 3);          // { 1, 1 }
245
103M
  mag += AOMMIN(levels[(2 << bhl) + (2 << TX_PAD_HOR_LOG2)], 3);  // { 0, 2 }
246
103M
  mag += AOMMIN(levels[2], 3);                                    // { 2, 0 }
247
248
103M
  const int ctx = AOMMIN((mag + 1) >> 1, 4);
249
103M
  return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx];
250
103M
}
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.54M
                                                 TX_CLASS tx_class) {
255
7.54M
  const int stats =
256
7.54M
      get_nz_mag(levels + get_padded_idx(coeff_idx, bhl), bhl, tx_class);
257
7.54M
  return get_nz_map_ctx_from_stats(stats, coeff_idx, bhl, tx_size, tx_class);
258
7.54M
}
decodetxb.c:get_lower_levels_ctx
Line
Count
Source
254
7.54M
                                                 TX_CLASS tx_class) {
255
7.54M
  const int stats =
256
7.54M
      get_nz_mag(levels + get_padded_idx(coeff_idx, bhl), bhl, tx_class);
257
7.54M
  return get_nz_map_ctx_from_stats(stats, coeff_idx, bhl, tx_size, tx_class);
258
7.54M
}
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
6.21M
static inline void set_dc_sign(int *cul_level, int dc_val) {
275
6.21M
  if (dc_val < 0)
276
1.70M
    *cul_level |= 1 << COEFF_CONTEXT_BITS;
277
4.50M
  else if (dc_val > 0)
278
3.71M
    *cul_level += 2 << COEFF_CONTEXT_BITS;
279
6.21M
}
decodetxb.c:set_dc_sign
Line
Count
Source
274
6.21M
static inline void set_dc_sign(int *cul_level, int dc_val) {
275
6.21M
  if (dc_val < 0)
276
1.70M
    *cul_level |= 1 << COEFF_CONTEXT_BITS;
277
4.50M
  else if (dc_val > 0)
278
3.71M
    *cul_level += 2 << COEFF_CONTEXT_BITS;
279
6.21M
}
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.55M
                                TXB_CTX *const txb_ctx) {
286
16.6M
#define MAX_TX_SIZE_UNIT 16
287
2.55M
  static const int8_t signs[3] = { 0, -1, 1 };
288
2.55M
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
289
2.55M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
290
2.55M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
291
2.55M
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
292
2.55M
  };
293
2.55M
  const int txb_w_unit = tx_size_wide_unit[tx_size];
294
2.55M
  const int txb_h_unit = tx_size_high_unit[tx_size];
295
2.55M
  int dc_sign = 0;
296
2.55M
  int k = 0;
297
298
9.48M
  do {
299
9.48M
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
300
9.48M
    assert(sign <= 2);
301
9.48M
    dc_sign += signs[sign];
302
9.48M
  } while (++k < txb_w_unit);
303
304
2.55M
  k = 0;
305
8.95M
  do {
306
8.95M
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
307
8.95M
    assert(sign <= 2);
308
8.95M
    dc_sign += signs[sign];
309
8.95M
  } while (++k < txb_h_unit);
310
311
2.55M
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
312
313
2.55M
  if (plane == 0) {
314
916k
    if (plane_bsize == txsize_to_bsize[tx_size]) {
315
806k
      txb_ctx->txb_skip_ctx = 0;
316
806k
    } 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
110k
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
331
110k
                                                   { 2, 4, 4, 4, 5 },
332
110k
                                                   { 2, 4, 4, 4, 5 },
333
110k
                                                   { 2, 4, 4, 4, 5 },
334
110k
                                                   { 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
110k
      int top = 0;
341
110k
      int left = 0;
342
343
110k
      k = 0;
344
1.15M
      do {
345
1.15M
        top |= a[k];
346
1.15M
      } while (++k < txb_w_unit);
347
110k
      top &= COEFF_CONTEXT_MASK;
348
110k
      top = AOMMIN(top, 4);
349
350
110k
      k = 0;
351
1.15M
      do {
352
1.15M
        left |= l[k];
353
1.15M
      } while (++k < txb_h_unit);
354
110k
      left &= COEFF_CONTEXT_MASK;
355
110k
      left = AOMMIN(left, 4);
356
357
110k
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
358
110k
    }
359
1.63M
  } else {
360
1.63M
    const int ctx_base = get_entropy_context(tx_size, a, l);
361
1.63M
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
362
1.63M
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
363
1.63M
                               ? 10
364
1.63M
                               : 7;
365
1.63M
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
366
1.63M
  }
367
2.55M
}
decodetxb.c:get_txb_ctx_general
Line
Count
Source
285
2.55M
                                TXB_CTX *const txb_ctx) {
286
2.55M
#define MAX_TX_SIZE_UNIT 16
287
2.55M
  static const int8_t signs[3] = { 0, -1, 1 };
288
2.55M
  static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {
289
2.55M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
290
2.55M
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
291
2.55M
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
292
2.55M
  };
293
2.55M
  const int txb_w_unit = tx_size_wide_unit[tx_size];
294
2.55M
  const int txb_h_unit = tx_size_high_unit[tx_size];
295
2.55M
  int dc_sign = 0;
296
2.55M
  int k = 0;
297
298
9.48M
  do {
299
9.48M
    const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;
300
9.48M
    assert(sign <= 2);
301
9.48M
    dc_sign += signs[sign];
302
9.48M
  } while (++k < txb_w_unit);
303
304
2.55M
  k = 0;
305
8.95M
  do {
306
8.95M
    const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;
307
8.95M
    assert(sign <= 2);
308
8.95M
    dc_sign += signs[sign];
309
8.95M
  } while (++k < txb_h_unit);
310
311
2.55M
  txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];
312
313
2.55M
  if (plane == 0) {
314
916k
    if (plane_bsize == txsize_to_bsize[tx_size]) {
315
806k
      txb_ctx->txb_skip_ctx = 0;
316
806k
    } 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
110k
      static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },
331
110k
                                                   { 2, 4, 4, 4, 5 },
332
110k
                                                   { 2, 4, 4, 4, 5 },
333
110k
                                                   { 2, 4, 4, 4, 5 },
334
110k
                                                   { 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
110k
      int top = 0;
341
110k
      int left = 0;
342
343
110k
      k = 0;
344
1.15M
      do {
345
1.15M
        top |= a[k];
346
1.15M
      } while (++k < txb_w_unit);
347
110k
      top &= COEFF_CONTEXT_MASK;
348
110k
      top = AOMMIN(top, 4);
349
350
110k
      k = 0;
351
1.15M
      do {
352
1.15M
        left |= l[k];
353
1.15M
      } while (++k < txb_h_unit);
354
110k
      left &= COEFF_CONTEXT_MASK;
355
110k
      left = AOMMIN(left, 4);
356
357
110k
      txb_ctx->txb_skip_ctx = skip_contexts[top][left];
358
110k
    }
359
1.63M
  } else {
360
1.63M
    const int ctx_base = get_entropy_context(tx_size, a, l);
361
1.63M
    const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >
362
1.63M
                            num_pels_log2_lookup[txsize_to_bsize[tx_size]])
363
1.63M
                               ? 10
364
1.63M
                               : 7;
365
1.63M
    txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;
366
1.63M
  }
367
2.55M
}
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
14.1M
      TXB_CTX *const txb_ctx) {                                               \
374
14.1M
    static const int8_t signs[3] = { 0, -1, 1 };                              \
375
14.1M
    static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {        \
376
14.1M
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,       \
377
14.1M
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,       \
378
14.1M
      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2           \
379
14.1M
    };                                                                        \
380
14.1M
    const TX_SIZE tx_size = TX_##w##X##h;                                     \
381
14.1M
    const int txb_w_unit = tx_size_wide_unit[tx_size];                        \
382
14.1M
    const int txb_h_unit = tx_size_high_unit[tx_size];                        \
383
14.1M
    int dc_sign = 0;                                                          \
384
14.1M
    int k = 0;                                                                \
385
14.1M
                                                                              \
386
19.8M
    do {                                                                      \
387
19.8M
      const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;        \
388
19.8M
      assert(sign <= 2);                                                      \
389
19.8M
      dc_sign += signs[sign];                                                 \
390
19.8M
    } while (++k < txb_w_unit);                                               \
391
14.1M
                                                                              \
392
14.1M
    k = 0;                                                                    \
393
19.8M
    do {                                                                      \
394
19.8M
      const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;        \
395
19.8M
      assert(sign <= 2);                                                      \
396
19.8M
      dc_sign += signs[sign];                                                 \
397
19.8M
    } while (++k < txb_h_unit);                                               \
398
14.1M
                                                                              \
399
14.1M
    txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];  \
400
14.1M
                                                                              \
401
14.1M
    if (plane == 0) {                                                         \
402
5.33M
      if (plane_bsize == txsize_to_bsize[tx_size]) {                          \
403
685k
        txb_ctx->txb_skip_ctx = 0;                                            \
404
4.64M
      } else {                                                                \
405
4.64M
        static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },       \
406
4.64M
                                                     { 2, 4, 4, 4, 5 },       \
407
4.64M
                                                     { 2, 4, 4, 4, 5 },       \
408
4.64M
                                                     { 2, 4, 4, 4, 5 },       \
409
4.64M
                                                     { 3, 5, 5, 5, 6 } };     \
410
4.64M
        int top = 0;                                                          \
411
4.64M
        int left = 0;                                                         \
412
4.64M
                                                                              \
413
4.64M
        k = 0;                                                                \
414
5.33M
        do {                                                                  \
415
5.33M
          top |= a[k];                                                        \
416
5.33M
        } while (++k < txb_w_unit);                                           \
417
4.64M
        top &= COEFF_CONTEXT_MASK;                                            \
418
4.64M
        top = AOMMIN(top, 4);                                                 \
419
4.64M
                                                                              \
420
4.64M
        k = 0;                                                                \
421
5.33M
        do {                                                                  \
422
5.33M
          left |= l[k];                                                       \
423
5.33M
        } while (++k < txb_h_unit);                                           \
424
4.64M
        left &= COEFF_CONTEXT_MASK;                                           \
425
4.64M
        left = AOMMIN(left, 4);                                               \
426
4.64M
                                                                              \
427
4.64M
        txb_ctx->txb_skip_ctx = skip_contexts[top][left];                     \
428
4.64M
      }                                                                       \
429
8.77M
    } else {                                                                  \
430
8.77M
      const int ctx_base = get_entropy_context(tx_size, a, l);                \
431
8.77M
      const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >             \
432
8.77M
                              num_pels_log2_lookup[txsize_to_bsize[tx_size]]) \
433
8.77M
                                 ? 10                                         \
434
8.77M
                                 : 7;                                         \
435
8.77M
      txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;                          \
436
8.77M
    }                                                                         \
437
14.1M
  }
decodetxb.c:get_txb_ctx_4x4
Line
Count
Source
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
12.1M
    do {                                                                      \
387
12.1M
      const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;        \
388
12.1M
      assert(sign <= 2);                                                      \
389
12.1M
      dc_sign += signs[sign];                                                 \
390
12.1M
    } while (++k < txb_w_unit);                                               \
391
12.1M
                                                                              \
392
12.1M
    k = 0;                                                                    \
393
12.1M
    do {                                                                      \
394
12.1M
      const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;        \
395
12.1M
      assert(sign <= 2);                                                      \
396
12.1M
      dc_sign += signs[sign];                                                 \
397
12.1M
    } 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.53M
      if (plane_bsize == txsize_to_bsize[tx_size]) {                          \
403
263k
        txb_ctx->txb_skip_ctx = 0;                                            \
404
4.27M
      } else {                                                                \
405
4.27M
        static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },       \
406
4.27M
                                                     { 2, 4, 4, 4, 5 },       \
407
4.27M
                                                     { 2, 4, 4, 4, 5 },       \
408
4.27M
                                                     { 2, 4, 4, 4, 5 },       \
409
4.27M
                                                     { 3, 5, 5, 5, 6 } };     \
410
4.27M
        int top = 0;                                                          \
411
4.27M
        int left = 0;                                                         \
412
4.27M
                                                                              \
413
4.27M
        k = 0;                                                                \
414
4.27M
        do {                                                                  \
415
4.27M
          top |= a[k];                                                        \
416
4.27M
        } while (++k < txb_w_unit);                                           \
417
4.27M
        top &= COEFF_CONTEXT_MASK;                                            \
418
4.27M
        top = AOMMIN(top, 4);                                                 \
419
4.27M
                                                                              \
420
4.27M
        k = 0;                                                                \
421
4.27M
        do {                                                                  \
422
4.27M
          left |= l[k];                                                       \
423
4.27M
        } while (++k < txb_h_unit);                                           \
424
4.27M
        left &= COEFF_CONTEXT_MASK;                                           \
425
4.27M
        left = AOMMIN(left, 4);                                               \
426
4.27M
                                                                              \
427
4.27M
        txb_ctx->txb_skip_ctx = skip_contexts[top][left];                     \
428
4.27M
      }                                                                       \
429
7.60M
    } else {                                                                  \
430
7.60M
      const int ctx_base = get_entropy_context(tx_size, a, l);                \
431
7.60M
      const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >             \
432
7.60M
                              num_pels_log2_lookup[txsize_to_bsize[tx_size]]) \
433
7.60M
                                 ? 10                                         \
434
7.60M
                                 : 7;                                         \
435
7.60M
      txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;                          \
436
7.60M
    }                                                                         \
437
12.1M
  }
decodetxb.c:get_txb_ctx_8x8
Line
Count
Source
373
1.03M
      TXB_CTX *const txb_ctx) {                                               \
374
1.03M
    static const int8_t signs[3] = { 0, -1, 1 };                              \
375
1.03M
    static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {        \
376
1.03M
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,       \
377
1.03M
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,       \
378
1.03M
      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2           \
379
1.03M
    };                                                                        \
380
1.03M
    const TX_SIZE tx_size = TX_##w##X##h;                                     \
381
1.03M
    const int txb_w_unit = tx_size_wide_unit[tx_size];                        \
382
1.03M
    const int txb_h_unit = tx_size_high_unit[tx_size];                        \
383
1.03M
    int dc_sign = 0;                                                          \
384
1.03M
    int k = 0;                                                                \
385
1.03M
                                                                              \
386
2.07M
    do {                                                                      \
387
2.07M
      const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;        \
388
2.07M
      assert(sign <= 2);                                                      \
389
2.07M
      dc_sign += signs[sign];                                                 \
390
2.07M
    } while (++k < txb_w_unit);                                               \
391
1.03M
                                                                              \
392
1.03M
    k = 0;                                                                    \
393
2.07M
    do {                                                                      \
394
2.07M
      const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;        \
395
2.07M
      assert(sign <= 2);                                                      \
396
2.07M
      dc_sign += signs[sign];                                                 \
397
2.07M
    } while (++k < txb_h_unit);                                               \
398
1.03M
                                                                              \
399
1.03M
    txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];  \
400
1.03M
                                                                              \
401
1.03M
    if (plane == 0) {                                                         \
402
513k
      if (plane_bsize == txsize_to_bsize[tx_size]) {                          \
403
266k
        txb_ctx->txb_skip_ctx = 0;                                            \
404
266k
      } else {                                                                \
405
247k
        static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },       \
406
247k
                                                     { 2, 4, 4, 4, 5 },       \
407
247k
                                                     { 2, 4, 4, 4, 5 },       \
408
247k
                                                     { 2, 4, 4, 4, 5 },       \
409
247k
                                                     { 3, 5, 5, 5, 6 } };     \
410
247k
        int top = 0;                                                          \
411
247k
        int left = 0;                                                         \
412
247k
                                                                              \
413
247k
        k = 0;                                                                \
414
494k
        do {                                                                  \
415
494k
          top |= a[k];                                                        \
416
494k
        } while (++k < txb_w_unit);                                           \
417
247k
        top &= COEFF_CONTEXT_MASK;                                            \
418
247k
        top = AOMMIN(top, 4);                                                 \
419
247k
                                                                              \
420
247k
        k = 0;                                                                \
421
494k
        do {                                                                  \
422
494k
          left |= l[k];                                                       \
423
494k
        } while (++k < txb_h_unit);                                           \
424
247k
        left &= COEFF_CONTEXT_MASK;                                           \
425
247k
        left = AOMMIN(left, 4);                                               \
426
247k
                                                                              \
427
247k
        txb_ctx->txb_skip_ctx = skip_contexts[top][left];                     \
428
247k
      }                                                                       \
429
522k
    } else {                                                                  \
430
522k
      const int ctx_base = get_entropy_context(tx_size, a, l);                \
431
522k
      const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >             \
432
522k
                              num_pels_log2_lookup[txsize_to_bsize[tx_size]]) \
433
522k
                                 ? 10                                         \
434
522k
                                 : 7;                                         \
435
522k
      txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;                          \
436
522k
    }                                                                         \
437
1.03M
  }
decodetxb.c:get_txb_ctx_16x16
Line
Count
Source
373
456k
      TXB_CTX *const txb_ctx) {                                               \
374
456k
    static const int8_t signs[3] = { 0, -1, 1 };                              \
375
456k
    static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {        \
376
456k
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,       \
377
456k
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,       \
378
456k
      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2           \
379
456k
    };                                                                        \
380
456k
    const TX_SIZE tx_size = TX_##w##X##h;                                     \
381
456k
    const int txb_w_unit = tx_size_wide_unit[tx_size];                        \
382
456k
    const int txb_h_unit = tx_size_high_unit[tx_size];                        \
383
456k
    int dc_sign = 0;                                                          \
384
456k
    int k = 0;                                                                \
385
456k
                                                                              \
386
1.82M
    do {                                                                      \
387
1.82M
      const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;        \
388
1.82M
      assert(sign <= 2);                                                      \
389
1.82M
      dc_sign += signs[sign];                                                 \
390
1.82M
    } while (++k < txb_w_unit);                                               \
391
456k
                                                                              \
392
456k
    k = 0;                                                                    \
393
1.82M
    do {                                                                      \
394
1.82M
      const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;        \
395
1.82M
      assert(sign <= 2);                                                      \
396
1.82M
      dc_sign += signs[sign];                                                 \
397
1.82M
    } while (++k < txb_h_unit);                                               \
398
456k
                                                                              \
399
456k
    txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];  \
400
456k
                                                                              \
401
456k
    if (plane == 0) {                                                         \
402
227k
      if (plane_bsize == txsize_to_bsize[tx_size]) {                          \
403
114k
        txb_ctx->txb_skip_ctx = 0;                                            \
404
114k
      } else {                                                                \
405
113k
        static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },       \
406
113k
                                                     { 2, 4, 4, 4, 5 },       \
407
113k
                                                     { 2, 4, 4, 4, 5 },       \
408
113k
                                                     { 2, 4, 4, 4, 5 },       \
409
113k
                                                     { 3, 5, 5, 5, 6 } };     \
410
113k
        int top = 0;                                                          \
411
113k
        int left = 0;                                                         \
412
113k
                                                                              \
413
113k
        k = 0;                                                                \
414
453k
        do {                                                                  \
415
453k
          top |= a[k];                                                        \
416
453k
        } while (++k < txb_w_unit);                                           \
417
113k
        top &= COEFF_CONTEXT_MASK;                                            \
418
113k
        top = AOMMIN(top, 4);                                                 \
419
113k
                                                                              \
420
113k
        k = 0;                                                                \
421
453k
        do {                                                                  \
422
453k
          left |= l[k];                                                       \
423
453k
        } while (++k < txb_h_unit);                                           \
424
113k
        left &= COEFF_CONTEXT_MASK;                                           \
425
113k
        left = AOMMIN(left, 4);                                               \
426
113k
                                                                              \
427
113k
        txb_ctx->txb_skip_ctx = skip_contexts[top][left];                     \
428
113k
      }                                                                       \
429
228k
    } else {                                                                  \
430
228k
      const int ctx_base = get_entropy_context(tx_size, a, l);                \
431
228k
      const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >             \
432
228k
                              num_pels_log2_lookup[txsize_to_bsize[tx_size]]) \
433
228k
                                 ? 10                                         \
434
228k
                                 : 7;                                         \
435
228k
      txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;                          \
436
228k
    }                                                                         \
437
456k
  }
decodetxb.c:get_txb_ctx_32x32
Line
Count
Source
373
481k
      TXB_CTX *const txb_ctx) {                                               \
374
481k
    static const int8_t signs[3] = { 0, -1, 1 };                              \
375
481k
    static const int8_t dc_sign_contexts[4 * MAX_TX_SIZE_UNIT + 1] = {        \
376
481k
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,       \
377
481k
      1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,       \
378
481k
      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2           \
379
481k
    };                                                                        \
380
481k
    const TX_SIZE tx_size = TX_##w##X##h;                                     \
381
481k
    const int txb_w_unit = tx_size_wide_unit[tx_size];                        \
382
481k
    const int txb_h_unit = tx_size_high_unit[tx_size];                        \
383
481k
    int dc_sign = 0;                                                          \
384
481k
    int k = 0;                                                                \
385
481k
                                                                              \
386
3.85M
    do {                                                                      \
387
3.85M
      const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS;        \
388
3.85M
      assert(sign <= 2);                                                      \
389
3.85M
      dc_sign += signs[sign];                                                 \
390
3.85M
    } while (++k < txb_w_unit);                                               \
391
481k
                                                                              \
392
481k
    k = 0;                                                                    \
393
3.85M
    do {                                                                      \
394
3.85M
      const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS;        \
395
3.85M
      assert(sign <= 2);                                                      \
396
3.85M
      dc_sign += signs[sign];                                                 \
397
3.85M
    } while (++k < txb_h_unit);                                               \
398
481k
                                                                              \
399
481k
    txb_ctx->dc_sign_ctx = dc_sign_contexts[dc_sign + 2 * MAX_TX_SIZE_UNIT];  \
400
481k
                                                                              \
401
481k
    if (plane == 0) {                                                         \
402
54.4k
      if (plane_bsize == txsize_to_bsize[tx_size]) {                          \
403
40.4k
        txb_ctx->txb_skip_ctx = 0;                                            \
404
40.4k
      } else {                                                                \
405
13.9k
        static const uint8_t skip_contexts[5][5] = { { 1, 2, 2, 2, 3 },       \
406
13.9k
                                                     { 2, 4, 4, 4, 5 },       \
407
13.9k
                                                     { 2, 4, 4, 4, 5 },       \
408
13.9k
                                                     { 2, 4, 4, 4, 5 },       \
409
13.9k
                                                     { 3, 5, 5, 5, 6 } };     \
410
13.9k
        int top = 0;                                                          \
411
13.9k
        int left = 0;                                                         \
412
13.9k
                                                                              \
413
13.9k
        k = 0;                                                                \
414
111k
        do {                                                                  \
415
111k
          top |= a[k];                                                        \
416
111k
        } while (++k < txb_w_unit);                                           \
417
13.9k
        top &= COEFF_CONTEXT_MASK;                                            \
418
13.9k
        top = AOMMIN(top, 4);                                                 \
419
13.9k
                                                                              \
420
13.9k
        k = 0;                                                                \
421
111k
        do {                                                                  \
422
111k
          left |= l[k];                                                       \
423
111k
        } while (++k < txb_h_unit);                                           \
424
13.9k
        left &= COEFF_CONTEXT_MASK;                                           \
425
13.9k
        left = AOMMIN(left, 4);                                               \
426
13.9k
                                                                              \
427
13.9k
        txb_ctx->txb_skip_ctx = skip_contexts[top][left];                     \
428
13.9k
      }                                                                       \
429
427k
    } else {                                                                  \
430
427k
      const int ctx_base = get_entropy_context(tx_size, a, l);                \
431
427k
      const int ctx_offset = (num_pels_log2_lookup[plane_bsize] >             \
432
427k
                              num_pels_log2_lookup[txsize_to_bsize[tx_size]]) \
433
427k
                                 ? 10                                         \
434
427k
                                 : 7;                                         \
435
427k
      txb_ctx->txb_skip_ctx = ctx_base + ctx_offset;                          \
436
427k
    }                                                                         \
437
481k
  }
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
16.6M
                               TXB_CTX *const txb_ctx) {
451
16.6M
  switch (tx_size) {
452
12.1M
    case TX_4X4: get_txb_ctx_4x4(plane_bsize, plane, a, l, txb_ctx); break;
453
1.03M
    case TX_8X8: get_txb_ctx_8x8(plane_bsize, plane, a, l, txb_ctx); break;
454
456k
    case TX_16X16: get_txb_ctx_16x16(plane_bsize, plane, a, l, txb_ctx); break;
455
481k
    case TX_32X32: get_txb_ctx_32x32(plane_bsize, plane, a, l, txb_ctx); break;
456
2.55M
    default:
457
2.55M
      get_txb_ctx_general(plane_bsize, tx_size, plane, a, l, txb_ctx);
458
2.55M
      break;
459
16.6M
  }
460
16.6M
}
decodetxb.c:get_txb_ctx
Line
Count
Source
450
16.6M
                               TXB_CTX *const txb_ctx) {
451
16.6M
  switch (tx_size) {
452
12.1M
    case TX_4X4: get_txb_ctx_4x4(plane_bsize, plane, a, l, txb_ctx); break;
453
1.03M
    case TX_8X8: get_txb_ctx_8x8(plane_bsize, plane, a, l, txb_ctx); break;
454
456k
    case TX_16X16: get_txb_ctx_16x16(plane_bsize, plane, a, l, txb_ctx); break;
455
481k
    case TX_32X32: get_txb_ctx_32x32(plane_bsize, plane, a, l, txb_ctx); break;
456
2.55M
    default:
457
2.55M
      get_txb_ctx_general(plane_bsize, tx_size, plane, a, l, txb_ctx);
458
2.55M
      break;
459
16.6M
  }
460
16.6M
}
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_