/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 | } 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 | } 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 | } 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 | } 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 | } 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 | } 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 | } 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 | } 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_ |