/src/aom/av1/common/txb_common.h
Line | Count | Source |
1 | | /* |
2 | | * Copyright (c) 2017, Alliance for Open Media. All rights reserved. |
3 | | * |
4 | | * This source code is subject to the terms of the BSD 2 Clause License and |
5 | | * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License |
6 | | * was not distributed with this source code in the LICENSE file, you can |
7 | | * obtain it at www.aomedia.org/license/software. If the Alliance for Open |
8 | | * Media Patent License 1.0 was not distributed with this source code in the |
9 | | * PATENTS file, you can obtain it at www.aomedia.org/license/patent. |
10 | | */ |
11 | | |
12 | | #ifndef AOM_AV1_COMMON_TXB_COMMON_H_ |
13 | | #define AOM_AV1_COMMON_TXB_COMMON_H_ |
14 | | |
15 | | #include "av1/common/av1_common_int.h" |
16 | | |
17 | | #ifdef __cplusplus |
18 | | extern "C" { |
19 | | #endif |
20 | | |
21 | | extern const int16_t av1_eob_group_start[12]; |
22 | | extern const int16_t av1_eob_offset_bits[12]; |
23 | | |
24 | | extern const int8_t *const av1_nz_map_ctx_offset[TX_SIZES_ALL]; |
25 | | |
26 | | // Indexed by [bhl - MIN_TX_SIZE_LOG2][coeff_idx]. |
27 | | extern const int16_t *const |
28 | | av1_txb_padded_idx[MAX_TX_SIZE_LOG2 - MIN_TX_SIZE_LOG2]; |
29 | | |
30 | | typedef struct txb_ctx { |
31 | | int txb_skip_ctx; |
32 | | int dc_sign_ctx; |
33 | | } TXB_CTX; |
34 | | |
35 | | static const int base_level_count_to_index[13] = { |
36 | | 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, |
37 | | }; |
38 | | |
39 | | static const TX_CLASS tx_type_to_class[TX_TYPES] = { |
40 | | TX_CLASS_2D, // DCT_DCT |
41 | | TX_CLASS_2D, // ADST_DCT |
42 | | TX_CLASS_2D, // DCT_ADST |
43 | | TX_CLASS_2D, // ADST_ADST |
44 | | TX_CLASS_2D, // FLIPADST_DCT |
45 | | TX_CLASS_2D, // DCT_FLIPADST |
46 | | TX_CLASS_2D, // FLIPADST_FLIPADST |
47 | | TX_CLASS_2D, // ADST_FLIPADST |
48 | | TX_CLASS_2D, // FLIPADST_ADST |
49 | | TX_CLASS_2D, // IDTX |
50 | | TX_CLASS_VERT, // V_DCT |
51 | | TX_CLASS_HORIZ, // H_DCT |
52 | | TX_CLASS_VERT, // V_ADST |
53 | | TX_CLASS_HORIZ, // H_ADST |
54 | | TX_CLASS_VERT, // V_FLIPADST |
55 | | TX_CLASS_HORIZ, // H_FLIPADST |
56 | | }; |
57 | | |
58 | 34.9M | static inline int get_txb_bhl(TX_SIZE tx_size) { |
59 | 34.9M | tx_size = av1_get_adjusted_tx_size(tx_size); |
60 | 34.9M | return tx_size_high_log2[tx_size]; |
61 | 34.9M | } Line | Count | Source | 58 | 34.9M | static inline int get_txb_bhl(TX_SIZE tx_size) { | 59 | 34.9M | tx_size = av1_get_adjusted_tx_size(tx_size); | 60 | 34.9M | return tx_size_high_log2[tx_size]; | 61 | 34.9M | } |
Unexecuted instantiation: entropy.c:get_txb_bhl Unexecuted instantiation: entropymode.c:get_txb_bhl Unexecuted instantiation: txb_common.c:get_txb_bhl Unexecuted instantiation: av1_quantize.c:get_txb_bhl Unexecuted instantiation: encodetxb.c:get_txb_bhl Unexecuted instantiation: pickrst.c:get_txb_bhl Unexecuted instantiation: rd.c:get_txb_bhl Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_txb_bhl Unexecuted instantiation: intra_mode_search_sse2.c:get_txb_bhl Unexecuted instantiation: temporal_filter_sse2.c:get_txb_bhl Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_txb_bhl Unexecuted instantiation: encodetxb_sse4.c:get_txb_bhl Unexecuted instantiation: rdopt_sse4.c:get_txb_bhl Unexecuted instantiation: pickrst_sse4.c:get_txb_bhl Unexecuted instantiation: encodetxb_avx2.c:get_txb_bhl Unexecuted instantiation: rdopt_avx2.c:get_txb_bhl Unexecuted instantiation: temporal_filter_avx2.c:get_txb_bhl Unexecuted instantiation: pickrst_avx2.c:get_txb_bhl Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_txb_bhl Unexecuted instantiation: bitstream.c:get_txb_bhl Unexecuted instantiation: compound_type.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: encode_strategy.c:get_txb_bhl Unexecuted instantiation: encoder.c:get_txb_bhl Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_txb_bhl Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_txb_bhl Unexecuted instantiation: aq_cyclicrefresh.c:get_txb_bhl Unexecuted instantiation: aq_variance.c:get_txb_bhl Unexecuted instantiation: allintra_vis.c:get_txb_bhl Unexecuted instantiation: context_tree.c:get_txb_bhl Unexecuted instantiation: global_motion.c:get_txb_bhl Unexecuted instantiation: av1_cx_iface.c:get_txb_bhl |
62 | | |
63 | 34.9M | static inline int get_txb_wide(TX_SIZE tx_size) { |
64 | 34.9M | tx_size = av1_get_adjusted_tx_size(tx_size); |
65 | 34.9M | return tx_size_wide[tx_size]; |
66 | 34.9M | } Line | Count | Source | 63 | 34.9M | static inline int get_txb_wide(TX_SIZE tx_size) { | 64 | 34.9M | tx_size = av1_get_adjusted_tx_size(tx_size); | 65 | 34.9M | return tx_size_wide[tx_size]; | 66 | 34.9M | } |
Unexecuted instantiation: entropy.c:get_txb_wide Unexecuted instantiation: entropymode.c:get_txb_wide Unexecuted instantiation: txb_common.c:get_txb_wide Unexecuted instantiation: av1_quantize.c:get_txb_wide Unexecuted instantiation: encodetxb.c:get_txb_wide Unexecuted instantiation: pickrst.c:get_txb_wide Unexecuted instantiation: rd.c:get_txb_wide Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_txb_wide Unexecuted instantiation: intra_mode_search_sse2.c:get_txb_wide Unexecuted instantiation: temporal_filter_sse2.c:get_txb_wide Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_txb_wide Unexecuted instantiation: encodetxb_sse4.c:get_txb_wide Unexecuted instantiation: rdopt_sse4.c:get_txb_wide Unexecuted instantiation: pickrst_sse4.c:get_txb_wide Unexecuted instantiation: encodetxb_avx2.c:get_txb_wide Unexecuted instantiation: rdopt_avx2.c:get_txb_wide Unexecuted instantiation: temporal_filter_avx2.c:get_txb_wide Unexecuted instantiation: pickrst_avx2.c:get_txb_wide Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_txb_wide Unexecuted instantiation: bitstream.c:get_txb_wide Unexecuted instantiation: compound_type.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: encode_strategy.c:get_txb_wide Unexecuted instantiation: encoder.c:get_txb_wide Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_txb_wide Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_txb_wide Unexecuted instantiation: aq_cyclicrefresh.c:get_txb_wide Unexecuted instantiation: aq_variance.c:get_txb_wide Unexecuted instantiation: allintra_vis.c:get_txb_wide Unexecuted instantiation: context_tree.c:get_txb_wide Unexecuted instantiation: global_motion.c:get_txb_wide Unexecuted instantiation: av1_cx_iface.c:get_txb_wide |
67 | | |
68 | 34.9M | static inline int get_txb_high(TX_SIZE tx_size) { |
69 | 34.9M | tx_size = av1_get_adjusted_tx_size(tx_size); |
70 | 34.9M | return tx_size_high[tx_size]; |
71 | 34.9M | } Line | Count | Source | 68 | 34.9M | static inline int get_txb_high(TX_SIZE tx_size) { | 69 | 34.9M | tx_size = av1_get_adjusted_tx_size(tx_size); | 70 | 34.9M | return tx_size_high[tx_size]; | 71 | 34.9M | } |
Unexecuted instantiation: entropy.c:get_txb_high Unexecuted instantiation: entropymode.c:get_txb_high Unexecuted instantiation: txb_common.c:get_txb_high Unexecuted instantiation: av1_quantize.c:get_txb_high Unexecuted instantiation: encodetxb.c:get_txb_high Unexecuted instantiation: pickrst.c:get_txb_high Unexecuted instantiation: rd.c:get_txb_high Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_txb_high Unexecuted instantiation: intra_mode_search_sse2.c:get_txb_high Unexecuted instantiation: temporal_filter_sse2.c:get_txb_high Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_txb_high Unexecuted instantiation: encodetxb_sse4.c:get_txb_high Unexecuted instantiation: rdopt_sse4.c:get_txb_high Unexecuted instantiation: pickrst_sse4.c:get_txb_high Unexecuted instantiation: encodetxb_avx2.c:get_txb_high Unexecuted instantiation: rdopt_avx2.c:get_txb_high Unexecuted instantiation: temporal_filter_avx2.c:get_txb_high Unexecuted instantiation: pickrst_avx2.c:get_txb_high Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_txb_high Unexecuted instantiation: bitstream.c:get_txb_high Unexecuted instantiation: compound_type.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: encode_strategy.c:get_txb_high Unexecuted instantiation: encoder.c:get_txb_high Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_txb_high Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_txb_high Unexecuted instantiation: aq_cyclicrefresh.c:get_txb_high Unexecuted instantiation: aq_variance.c:get_txb_high Unexecuted instantiation: allintra_vis.c:get_txb_high Unexecuted instantiation: context_tree.c:get_txb_high Unexecuted instantiation: global_motion.c:get_txb_high Unexecuted instantiation: av1_cx_iface.c:get_txb_high |
72 | | |
73 | 34.6M | static inline uint8_t *set_levels(uint8_t *const levels_buf, const int height) { |
74 | 34.6M | return levels_buf + TX_PAD_TOP * (height + TX_PAD_HOR); |
75 | 34.6M | } Line | Count | Source | 73 | 34.6M | static inline uint8_t *set_levels(uint8_t *const levels_buf, const int height) { | 74 | 34.6M | return levels_buf + TX_PAD_TOP * (height + TX_PAD_HOR); | 75 | 34.6M | } |
Unexecuted instantiation: entropy.c:set_levels Unexecuted instantiation: entropymode.c:set_levels Unexecuted instantiation: txb_common.c:set_levels Unexecuted instantiation: av1_quantize.c:set_levels Unexecuted instantiation: encodetxb.c:set_levels Unexecuted instantiation: pickrst.c:set_levels Unexecuted instantiation: rd.c:set_levels Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:set_levels Unexecuted instantiation: intra_mode_search_sse2.c:set_levels Unexecuted instantiation: temporal_filter_sse2.c:set_levels Unexecuted instantiation: highbd_temporal_filter_sse2.c:set_levels Unexecuted instantiation: encodetxb_sse4.c:set_levels Unexecuted instantiation: rdopt_sse4.c:set_levels Unexecuted instantiation: pickrst_sse4.c:set_levels Unexecuted instantiation: encodetxb_avx2.c:set_levels Unexecuted instantiation: rdopt_avx2.c:set_levels Unexecuted instantiation: temporal_filter_avx2.c:set_levels Unexecuted instantiation: pickrst_avx2.c:set_levels Unexecuted instantiation: highbd_temporal_filter_avx2.c:set_levels Unexecuted instantiation: bitstream.c:set_levels Unexecuted instantiation: compound_type.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: encode_strategy.c:set_levels Unexecuted instantiation: encoder.c:set_levels Unexecuted instantiation: encoder_utils.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: gop_structure.c:set_levels Unexecuted instantiation: interp_search.c:set_levels Unexecuted instantiation: level.c:set_levels Unexecuted instantiation: lookahead.c:set_levels Unexecuted instantiation: mcomp.c:set_levels Unexecuted instantiation: motion_search_facade.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: ratectrl.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: aq_complexity.c:set_levels Unexecuted instantiation: aq_cyclicrefresh.c:set_levels Unexecuted instantiation: aq_variance.c:set_levels Unexecuted instantiation: allintra_vis.c:set_levels Unexecuted instantiation: context_tree.c:set_levels Unexecuted instantiation: global_motion.c:set_levels Unexecuted instantiation: av1_cx_iface.c:set_levels |
76 | | |
77 | 784M | static inline int get_padded_idx(const int idx, const int bhl) { |
78 | 784M | return av1_txb_padded_idx[bhl - MIN_TX_SIZE_LOG2][idx]; |
79 | 784M | } decodetxb.c:get_padded_idx Line | Count | Source | 77 | 784M | static inline int get_padded_idx(const int idx, const int bhl) { | 78 | 784M | return av1_txb_padded_idx[bhl - MIN_TX_SIZE_LOG2][idx]; | 79 | 784M | } |
Unexecuted instantiation: entropy.c:get_padded_idx Unexecuted instantiation: entropymode.c:get_padded_idx Unexecuted instantiation: txb_common.c:get_padded_idx Unexecuted instantiation: av1_quantize.c:get_padded_idx Unexecuted instantiation: encodetxb.c:get_padded_idx Unexecuted instantiation: pickrst.c:get_padded_idx Unexecuted instantiation: rd.c:get_padded_idx Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_padded_idx Unexecuted instantiation: intra_mode_search_sse2.c:get_padded_idx Unexecuted instantiation: temporal_filter_sse2.c:get_padded_idx Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_padded_idx Unexecuted instantiation: encodetxb_sse4.c:get_padded_idx Unexecuted instantiation: rdopt_sse4.c:get_padded_idx Unexecuted instantiation: pickrst_sse4.c:get_padded_idx Unexecuted instantiation: encodetxb_avx2.c:get_padded_idx Unexecuted instantiation: rdopt_avx2.c:get_padded_idx Unexecuted instantiation: temporal_filter_avx2.c:get_padded_idx Unexecuted instantiation: pickrst_avx2.c:get_padded_idx Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_padded_idx Unexecuted instantiation: bitstream.c:get_padded_idx Unexecuted instantiation: compound_type.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: encode_strategy.c:get_padded_idx Unexecuted instantiation: encoder.c:get_padded_idx Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_padded_idx Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_padded_idx Unexecuted instantiation: aq_cyclicrefresh.c:get_padded_idx Unexecuted instantiation: aq_variance.c:get_padded_idx Unexecuted instantiation: allintra_vis.c:get_padded_idx Unexecuted instantiation: context_tree.c:get_padded_idx Unexecuted instantiation: global_motion.c:get_padded_idx Unexecuted instantiation: av1_cx_iface.c:get_padded_idx |
80 | | |
81 | | static inline int get_br_ctx_2d(const uint8_t *const levels, |
82 | | const int c, // raster order |
83 | 13.6M | const int bhl) { |
84 | 13.6M | assert(c > 0); |
85 | 13.6M | const int col = c >> bhl; |
86 | 13.6M | const int row = c - (col << bhl); |
87 | 13.6M | const intptr_t stride = (1 << bhl) + TX_PAD_HOR; |
88 | 13.6M | const uint8_t *const lv = levels + c + (col << TX_PAD_HOR_LOG2); |
89 | 13.6M | const uint8_t *const lvs = lv + stride; |
90 | 13.6M | int mag = lv[1] + lvs[0] + lvs[1]; |
91 | 13.6M | mag = AOMMIN((mag + 1) >> 1, 6); |
92 | | //((row | col) < 2) is equivalent to ((row < 2) && (col < 2)) |
93 | 13.6M | if ((row | col) < 2) return mag + 7; |
94 | 10.7M | return mag + 14; |
95 | 13.6M | } decodetxb.c:get_br_ctx_2d Line | Count | Source | 83 | 13.6M | const int bhl) { | 84 | 13.6M | assert(c > 0); | 85 | 13.6M | const int col = c >> bhl; | 86 | 13.6M | const int row = c - (col << bhl); | 87 | 13.6M | const intptr_t stride = (1 << bhl) + TX_PAD_HOR; | 88 | 13.6M | const uint8_t *const lv = levels + c + (col << TX_PAD_HOR_LOG2); | 89 | 13.6M | const uint8_t *const lvs = lv + stride; | 90 | 13.6M | int mag = lv[1] + lvs[0] + lvs[1]; | 91 | 13.6M | mag = AOMMIN((mag + 1) >> 1, 6); | 92 | | //((row | col) < 2) is equivalent to ((row < 2) && (col < 2)) | 93 | 13.6M | if ((row | col) < 2) return mag + 7; | 94 | 10.7M | return mag + 14; | 95 | 13.6M | } |
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: av1_quantize.c:get_br_ctx_2d Unexecuted instantiation: encodetxb.c:get_br_ctx_2d Unexecuted instantiation: pickrst.c:get_br_ctx_2d Unexecuted instantiation: rd.c:get_br_ctx_2d Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_br_ctx_2d Unexecuted instantiation: intra_mode_search_sse2.c:get_br_ctx_2d Unexecuted instantiation: temporal_filter_sse2.c:get_br_ctx_2d Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_br_ctx_2d Unexecuted instantiation: encodetxb_sse4.c:get_br_ctx_2d Unexecuted instantiation: rdopt_sse4.c:get_br_ctx_2d Unexecuted instantiation: pickrst_sse4.c:get_br_ctx_2d Unexecuted instantiation: encodetxb_avx2.c:get_br_ctx_2d Unexecuted instantiation: rdopt_avx2.c:get_br_ctx_2d Unexecuted instantiation: temporal_filter_avx2.c:get_br_ctx_2d Unexecuted instantiation: pickrst_avx2.c:get_br_ctx_2d Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_br_ctx_2d Unexecuted instantiation: bitstream.c:get_br_ctx_2d Unexecuted instantiation: compound_type.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: encode_strategy.c:get_br_ctx_2d Unexecuted instantiation: encoder.c:get_br_ctx_2d Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_br_ctx_2d Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_br_ctx_2d Unexecuted instantiation: aq_cyclicrefresh.c:get_br_ctx_2d Unexecuted instantiation: aq_variance.c:get_br_ctx_2d Unexecuted instantiation: allintra_vis.c:get_br_ctx_2d Unexecuted instantiation: context_tree.c:get_br_ctx_2d Unexecuted instantiation: global_motion.c:get_br_ctx_2d Unexecuted instantiation: av1_cx_iface.c:get_br_ctx_2d |
96 | | |
97 | | static AOM_FORCE_INLINE int get_br_ctx_eob(const int c, // raster order |
98 | | const int bhl, |
99 | 549k | const TX_CLASS tx_class) { |
100 | 549k | if (c == 0) return 0; |
101 | 188k | const int col = c >> bhl; |
102 | 188k | const int row = c - (col << bhl); |
103 | 188k | if ((tx_class == TX_CLASS_2D && ((row | col) < 2)) || |
104 | 172k | (tx_class == TX_CLASS_HORIZ && col == 0) || |
105 | 170k | (tx_class == TX_CLASS_VERT && row == 0)) |
106 | 18.6k | return 7; |
107 | 169k | return 14; |
108 | 188k | } decodetxb.c:get_br_ctx_eob Line | Count | Source | 99 | 549k | const TX_CLASS tx_class) { | 100 | 549k | if (c == 0) return 0; | 101 | 188k | const int col = c >> bhl; | 102 | 188k | const int row = c - (col << bhl); | 103 | 188k | if ((tx_class == TX_CLASS_2D && ((row | col) < 2)) || | 104 | 172k | (tx_class == TX_CLASS_HORIZ && col == 0) || | 105 | 170k | (tx_class == TX_CLASS_VERT && row == 0)) | 106 | 18.6k | return 7; | 107 | 169k | return 14; | 108 | 188k | } |
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: av1_quantize.c:get_br_ctx_eob Unexecuted instantiation: encodetxb.c:get_br_ctx_eob Unexecuted instantiation: pickrst.c:get_br_ctx_eob Unexecuted instantiation: rd.c:get_br_ctx_eob Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_br_ctx_eob Unexecuted instantiation: intra_mode_search_sse2.c:get_br_ctx_eob Unexecuted instantiation: temporal_filter_sse2.c:get_br_ctx_eob Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_br_ctx_eob Unexecuted instantiation: encodetxb_sse4.c:get_br_ctx_eob Unexecuted instantiation: rdopt_sse4.c:get_br_ctx_eob Unexecuted instantiation: pickrst_sse4.c:get_br_ctx_eob Unexecuted instantiation: encodetxb_avx2.c:get_br_ctx_eob Unexecuted instantiation: rdopt_avx2.c:get_br_ctx_eob Unexecuted instantiation: temporal_filter_avx2.c:get_br_ctx_eob Unexecuted instantiation: pickrst_avx2.c:get_br_ctx_eob Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_br_ctx_eob Unexecuted instantiation: bitstream.c:get_br_ctx_eob Unexecuted instantiation: compound_type.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: encode_strategy.c:get_br_ctx_eob Unexecuted instantiation: encoder.c:get_br_ctx_eob Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_br_ctx_eob Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_br_ctx_eob Unexecuted instantiation: aq_cyclicrefresh.c:get_br_ctx_eob Unexecuted instantiation: aq_variance.c:get_br_ctx_eob Unexecuted instantiation: allintra_vis.c:get_br_ctx_eob Unexecuted instantiation: context_tree.c:get_br_ctx_eob Unexecuted instantiation: global_motion.c:get_br_ctx_eob Unexecuted instantiation: av1_cx_iface.c:get_br_ctx_eob |
109 | | |
110 | | static AOM_FORCE_INLINE int get_br_ctx(const uint8_t *const levels, |
111 | | const int c, // raster order |
112 | 4.44M | const int bhl, const TX_CLASS tx_class) { |
113 | 4.44M | const int col = c >> bhl; |
114 | 4.44M | const int row = c - (col << bhl); |
115 | 4.44M | const intptr_t stride = (1 << bhl) + TX_PAD_HOR; |
116 | 4.44M | const uint8_t *const lv = levels + c + (col << TX_PAD_HOR_LOG2); |
117 | 4.44M | const uint8_t *const lvs = lv + stride; |
118 | 4.44M | int mag = lv[1] + lvs[0]; |
119 | 4.44M | switch (tx_class) { |
120 | 3.49M | case TX_CLASS_2D: |
121 | 3.49M | mag += lvs[1]; |
122 | 3.49M | mag = AOMMIN((mag + 1) >> 1, 6); |
123 | 3.49M | if (c == 0) return mag; |
124 | 18.4E | if ((row | col) < 2) return mag + 7; |
125 | 18.4E | break; |
126 | 18.4E | case TX_CLASS_HORIZ: |
127 | 640k | mag += lvs[stride]; |
128 | 640k | mag = AOMMIN((mag + 1) >> 1, 6); |
129 | 640k | if (c == 0) return mag; |
130 | 574k | if (col == 0) return mag + 7; |
131 | 328k | break; |
132 | 328k | case TX_CLASS_VERT: |
133 | 317k | mag += lv[2]; |
134 | 317k | mag = AOMMIN((mag + 1) >> 1, 6); |
135 | 317k | if (c == 0) return mag; |
136 | 285k | if (row == 0) return mag + 7; |
137 | 148k | break; |
138 | 148k | default: break; |
139 | 4.44M | } |
140 | | |
141 | 481k | return mag + 14; |
142 | 4.44M | } Line | Count | Source | 112 | 4.44M | const int bhl, const TX_CLASS tx_class) { | 113 | 4.44M | const int col = c >> bhl; | 114 | 4.44M | const int row = c - (col << bhl); | 115 | 4.44M | const intptr_t stride = (1 << bhl) + TX_PAD_HOR; | 116 | 4.44M | const uint8_t *const lv = levels + c + (col << TX_PAD_HOR_LOG2); | 117 | 4.44M | const uint8_t *const lvs = lv + stride; | 118 | 4.44M | int mag = lv[1] + lvs[0]; | 119 | 4.44M | switch (tx_class) { | 120 | 3.49M | case TX_CLASS_2D: | 121 | 3.49M | mag += lvs[1]; | 122 | 3.49M | mag = AOMMIN((mag + 1) >> 1, 6); | 123 | 3.49M | if (c == 0) return mag; | 124 | 18.4E | if ((row | col) < 2) return mag + 7; | 125 | 18.4E | break; | 126 | 18.4E | case TX_CLASS_HORIZ: | 127 | 640k | mag += lvs[stride]; | 128 | 640k | mag = AOMMIN((mag + 1) >> 1, 6); | 129 | 640k | if (c == 0) return mag; | 130 | 574k | if (col == 0) return mag + 7; | 131 | 328k | break; | 132 | 328k | case TX_CLASS_VERT: | 133 | 317k | mag += lv[2]; | 134 | 317k | mag = AOMMIN((mag + 1) >> 1, 6); | 135 | 317k | if (c == 0) return mag; | 136 | 285k | if (row == 0) return mag + 7; | 137 | 148k | break; | 138 | 148k | default: break; | 139 | 4.44M | } | 140 | | | 141 | 481k | return mag + 14; | 142 | 4.44M | } |
Unexecuted instantiation: entropy.c:get_br_ctx Unexecuted instantiation: entropymode.c:get_br_ctx Unexecuted instantiation: txb_common.c:get_br_ctx Unexecuted instantiation: av1_quantize.c:get_br_ctx Unexecuted instantiation: encodetxb.c:get_br_ctx Unexecuted instantiation: pickrst.c:get_br_ctx Unexecuted instantiation: rd.c:get_br_ctx Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_br_ctx Unexecuted instantiation: intra_mode_search_sse2.c:get_br_ctx Unexecuted instantiation: temporal_filter_sse2.c:get_br_ctx Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_br_ctx Unexecuted instantiation: encodetxb_sse4.c:get_br_ctx Unexecuted instantiation: rdopt_sse4.c:get_br_ctx Unexecuted instantiation: pickrst_sse4.c:get_br_ctx Unexecuted instantiation: encodetxb_avx2.c:get_br_ctx Unexecuted instantiation: rdopt_avx2.c:get_br_ctx Unexecuted instantiation: temporal_filter_avx2.c:get_br_ctx Unexecuted instantiation: pickrst_avx2.c:get_br_ctx Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_br_ctx Unexecuted instantiation: bitstream.c:get_br_ctx Unexecuted instantiation: compound_type.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: encode_strategy.c:get_br_ctx Unexecuted instantiation: encoder.c:get_br_ctx Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_br_ctx Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_br_ctx Unexecuted instantiation: aq_cyclicrefresh.c:get_br_ctx Unexecuted instantiation: aq_variance.c:get_br_ctx Unexecuted instantiation: allintra_vis.c:get_br_ctx Unexecuted instantiation: context_tree.c:get_br_ctx Unexecuted instantiation: global_motion.c:get_br_ctx Unexecuted instantiation: av1_cx_iface.c:get_br_ctx |
143 | | |
144 | | static AOM_FORCE_INLINE int get_br_ctx_simple(const uint8_t *const levels, |
145 | | const int c, // raster order > 0 |
146 | | const int bhl, |
147 | 0 | const TX_CLASS tx_class) { |
148 | 0 | assert(c > 0); |
149 | 0 | const int col = c >> bhl; |
150 | 0 | const int row = c - (col << bhl); |
151 | 0 | const intptr_t stride = (1 << bhl) + TX_PAD_HOR; |
152 | 0 | const uint8_t *const lv = levels + c + (col << TX_PAD_HOR_LOG2); |
153 | 0 | const uint8_t *const lvs = lv + stride; |
154 | 0 | int mag = lv[1] + lvs[0]; |
155 | 0 | switch (tx_class) { |
156 | 0 | case TX_CLASS_2D: |
157 | 0 | mag += lvs[1]; |
158 | 0 | mag = AOMMIN((mag + 1) >> 1, 6); |
159 | 0 | return mag + (((row | col) < 2) ? 7 : 14); |
160 | 0 | case TX_CLASS_HORIZ: |
161 | 0 | mag += lvs[stride]; |
162 | 0 | mag = AOMMIN((mag + 1) >> 1, 6); |
163 | 0 | return mag + ((col == 0) ? 7 : 14); |
164 | 0 | case TX_CLASS_VERT: |
165 | 0 | mag += lv[2]; |
166 | 0 | mag = AOMMIN((mag + 1) >> 1, 6); |
167 | 0 | return mag + ((row == 0) ? 7 : 14); |
168 | 0 | default: return mag + 14; |
169 | 0 | } |
170 | 0 | } Unexecuted instantiation: decodetxb.c:get_br_ctx_simple Unexecuted instantiation: entropy.c:get_br_ctx_simple Unexecuted instantiation: entropymode.c:get_br_ctx_simple Unexecuted instantiation: txb_common.c:get_br_ctx_simple Unexecuted instantiation: av1_quantize.c:get_br_ctx_simple Unexecuted instantiation: encodetxb.c:get_br_ctx_simple Unexecuted instantiation: pickrst.c:get_br_ctx_simple Unexecuted instantiation: rd.c:get_br_ctx_simple Unexecuted instantiation: rdopt.c:get_br_ctx_simple Unexecuted instantiation: temporal_filter.c:get_br_ctx_simple Unexecuted instantiation: tokenize.c:get_br_ctx_simple Unexecuted instantiation: tpl_model.c:get_br_ctx_simple Unexecuted instantiation: tx_search.c:get_br_ctx_simple Unexecuted instantiation: txb_rdopt.c:get_br_ctx_simple Unexecuted instantiation: intra_mode_search.c:get_br_ctx_simple Unexecuted instantiation: var_based_part.c:get_br_ctx_simple Unexecuted instantiation: av1_noise_estimate.c:get_br_ctx_simple Unexecuted instantiation: encodetxb_sse2.c:get_br_ctx_simple Unexecuted instantiation: intra_mode_search_sse2.c:get_br_ctx_simple Unexecuted instantiation: temporal_filter_sse2.c:get_br_ctx_simple Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_br_ctx_simple Unexecuted instantiation: encodetxb_sse4.c:get_br_ctx_simple Unexecuted instantiation: rdopt_sse4.c:get_br_ctx_simple Unexecuted instantiation: pickrst_sse4.c:get_br_ctx_simple Unexecuted instantiation: encodetxb_avx2.c:get_br_ctx_simple Unexecuted instantiation: rdopt_avx2.c:get_br_ctx_simple Unexecuted instantiation: temporal_filter_avx2.c:get_br_ctx_simple Unexecuted instantiation: pickrst_avx2.c:get_br_ctx_simple Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_br_ctx_simple Unexecuted instantiation: bitstream.c:get_br_ctx_simple Unexecuted instantiation: compound_type.c:get_br_ctx_simple Unexecuted instantiation: encodeframe.c:get_br_ctx_simple Unexecuted instantiation: encodeframe_utils.c:get_br_ctx_simple Unexecuted instantiation: encodemb.c:get_br_ctx_simple Unexecuted instantiation: encodemv.c:get_br_ctx_simple Unexecuted instantiation: encode_strategy.c:get_br_ctx_simple Unexecuted instantiation: encoder.c:get_br_ctx_simple Unexecuted instantiation: encoder_utils.c:get_br_ctx_simple Unexecuted instantiation: ethread.c:get_br_ctx_simple Unexecuted instantiation: firstpass.c:get_br_ctx_simple Unexecuted instantiation: global_motion_facade.c:get_br_ctx_simple Unexecuted instantiation: gop_structure.c:get_br_ctx_simple Unexecuted instantiation: interp_search.c:get_br_ctx_simple Unexecuted instantiation: level.c:get_br_ctx_simple Unexecuted instantiation: lookahead.c:get_br_ctx_simple Unexecuted instantiation: mcomp.c:get_br_ctx_simple Unexecuted instantiation: motion_search_facade.c:get_br_ctx_simple Unexecuted instantiation: mv_prec.c:get_br_ctx_simple Unexecuted instantiation: palette.c:get_br_ctx_simple Unexecuted instantiation: partition_search.c:get_br_ctx_simple Unexecuted instantiation: partition_strategy.c:get_br_ctx_simple Unexecuted instantiation: pass2_strategy.c:get_br_ctx_simple Unexecuted instantiation: pickcdef.c:get_br_ctx_simple Unexecuted instantiation: picklpf.c:get_br_ctx_simple Unexecuted instantiation: ratectrl.c:get_br_ctx_simple Unexecuted instantiation: nonrd_pickmode.c:get_br_ctx_simple Unexecuted instantiation: nonrd_opt.c:get_br_ctx_simple Unexecuted instantiation: segmentation.c:get_br_ctx_simple Unexecuted instantiation: speed_features.c:get_br_ctx_simple Unexecuted instantiation: superres_scale.c:get_br_ctx_simple Unexecuted instantiation: svc_layercontext.c:get_br_ctx_simple Unexecuted instantiation: aq_complexity.c:get_br_ctx_simple Unexecuted instantiation: aq_cyclicrefresh.c:get_br_ctx_simple Unexecuted instantiation: aq_variance.c:get_br_ctx_simple Unexecuted instantiation: allintra_vis.c:get_br_ctx_simple Unexecuted instantiation: context_tree.c:get_br_ctx_simple Unexecuted instantiation: global_motion.c:get_br_ctx_simple Unexecuted instantiation: av1_cx_iface.c:get_br_ctx_simple |
171 | | |
172 | | static const uint8_t clip_max3[256] = { |
173 | | 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, |
174 | | 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, |
175 | | 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, |
176 | | 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, |
177 | | 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, |
178 | | 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, |
179 | | 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, |
180 | | 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, |
181 | | 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, |
182 | | 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 |
183 | | }; |
184 | | |
185 | | static AOM_FORCE_INLINE int get_nz_mag_stride(const uint8_t *const levels, |
186 | | const intptr_t stride, |
187 | 9.40M | const TX_CLASS tx_class) { |
188 | 9.40M | int mag; |
189 | 9.40M | const uint8_t *const lvs = levels + stride; |
190 | | |
191 | | // Note: AOMMIN(level, 3) is useless for decoder since level < 3. |
192 | 9.40M | mag = clip_max3[lvs[0]]; // { 0, 1 } |
193 | 9.40M | mag += clip_max3[levels[1]]; // { 1, 0 } |
194 | | |
195 | 9.40M | if (tx_class == TX_CLASS_2D) { |
196 | 0 | mag += clip_max3[lvs[1]]; // { 1, 1 } |
197 | 0 | mag += clip_max3[lvs[stride]]; // { 0, 2 } |
198 | 0 | mag += clip_max3[levels[2]]; // { 2, 0 } |
199 | 9.40M | } else if (tx_class == TX_CLASS_VERT) { |
200 | 3.20M | mag += clip_max3[levels[2]]; // { 2, 0 } |
201 | 3.20M | mag += clip_max3[levels[3]]; // { 3, 0 } |
202 | 3.20M | mag += clip_max3[levels[4]]; // { 4, 0 } |
203 | 6.19M | } else { |
204 | 6.19M | const uint8_t *const lvs2 = lvs + stride; |
205 | 6.19M | mag += clip_max3[lvs2[0]]; // { 0, 2 } |
206 | 6.19M | mag += clip_max3[lvs2[stride]]; // { 0, 3 } |
207 | 6.19M | mag += clip_max3[lvs2[stride * 2]]; // { 0, 4 } |
208 | 6.19M | } |
209 | | |
210 | 9.40M | return mag; |
211 | 9.40M | } decodetxb.c:get_nz_mag_stride Line | Count | Source | 187 | 9.40M | const TX_CLASS tx_class) { | 188 | 9.40M | int mag; | 189 | 9.40M | const uint8_t *const lvs = levels + stride; | 190 | | | 191 | | // Note: AOMMIN(level, 3) is useless for decoder since level < 3. | 192 | 9.40M | mag = clip_max3[lvs[0]]; // { 0, 1 } | 193 | 9.40M | mag += clip_max3[levels[1]]; // { 1, 0 } | 194 | | | 195 | 9.40M | if (tx_class == TX_CLASS_2D) { | 196 | 0 | mag += clip_max3[lvs[1]]; // { 1, 1 } | 197 | 0 | mag += clip_max3[lvs[stride]]; // { 0, 2 } | 198 | 0 | mag += clip_max3[levels[2]]; // { 2, 0 } | 199 | 9.40M | } else if (tx_class == TX_CLASS_VERT) { | 200 | 3.20M | mag += clip_max3[levels[2]]; // { 2, 0 } | 201 | 3.20M | mag += clip_max3[levels[3]]; // { 3, 0 } | 202 | 3.20M | mag += clip_max3[levels[4]]; // { 4, 0 } | 203 | 6.19M | } else { | 204 | 6.19M | const uint8_t *const lvs2 = lvs + stride; | 205 | 6.19M | mag += clip_max3[lvs2[0]]; // { 0, 2 } | 206 | 6.19M | mag += clip_max3[lvs2[stride]]; // { 0, 3 } | 207 | 6.19M | mag += clip_max3[lvs2[stride * 2]]; // { 0, 4 } | 208 | 6.19M | } | 209 | | | 210 | 9.40M | return mag; | 211 | 9.40M | } |
Unexecuted instantiation: entropy.c:get_nz_mag_stride Unexecuted instantiation: entropymode.c:get_nz_mag_stride Unexecuted instantiation: txb_common.c:get_nz_mag_stride Unexecuted instantiation: av1_quantize.c:get_nz_mag_stride Unexecuted instantiation: encodetxb.c:get_nz_mag_stride Unexecuted instantiation: pickrst.c:get_nz_mag_stride Unexecuted instantiation: rd.c:get_nz_mag_stride Unexecuted instantiation: rdopt.c:get_nz_mag_stride Unexecuted instantiation: temporal_filter.c:get_nz_mag_stride Unexecuted instantiation: tokenize.c:get_nz_mag_stride Unexecuted instantiation: tpl_model.c:get_nz_mag_stride Unexecuted instantiation: tx_search.c:get_nz_mag_stride Unexecuted instantiation: txb_rdopt.c:get_nz_mag_stride Unexecuted instantiation: intra_mode_search.c:get_nz_mag_stride Unexecuted instantiation: var_based_part.c:get_nz_mag_stride Unexecuted instantiation: av1_noise_estimate.c:get_nz_mag_stride Unexecuted instantiation: encodetxb_sse2.c:get_nz_mag_stride Unexecuted instantiation: intra_mode_search_sse2.c:get_nz_mag_stride Unexecuted instantiation: temporal_filter_sse2.c:get_nz_mag_stride Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_nz_mag_stride Unexecuted instantiation: encodetxb_sse4.c:get_nz_mag_stride Unexecuted instantiation: rdopt_sse4.c:get_nz_mag_stride Unexecuted instantiation: pickrst_sse4.c:get_nz_mag_stride Unexecuted instantiation: encodetxb_avx2.c:get_nz_mag_stride Unexecuted instantiation: rdopt_avx2.c:get_nz_mag_stride Unexecuted instantiation: temporal_filter_avx2.c:get_nz_mag_stride Unexecuted instantiation: pickrst_avx2.c:get_nz_mag_stride Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_nz_mag_stride Unexecuted instantiation: bitstream.c:get_nz_mag_stride Unexecuted instantiation: compound_type.c:get_nz_mag_stride Unexecuted instantiation: encodeframe.c:get_nz_mag_stride Unexecuted instantiation: encodeframe_utils.c:get_nz_mag_stride Unexecuted instantiation: encodemb.c:get_nz_mag_stride Unexecuted instantiation: encodemv.c:get_nz_mag_stride Unexecuted instantiation: encode_strategy.c:get_nz_mag_stride Unexecuted instantiation: encoder.c:get_nz_mag_stride Unexecuted instantiation: encoder_utils.c:get_nz_mag_stride Unexecuted instantiation: ethread.c:get_nz_mag_stride Unexecuted instantiation: firstpass.c:get_nz_mag_stride Unexecuted instantiation: global_motion_facade.c:get_nz_mag_stride Unexecuted instantiation: gop_structure.c:get_nz_mag_stride Unexecuted instantiation: interp_search.c:get_nz_mag_stride Unexecuted instantiation: level.c:get_nz_mag_stride Unexecuted instantiation: lookahead.c:get_nz_mag_stride Unexecuted instantiation: mcomp.c:get_nz_mag_stride Unexecuted instantiation: motion_search_facade.c:get_nz_mag_stride Unexecuted instantiation: mv_prec.c:get_nz_mag_stride Unexecuted instantiation: palette.c:get_nz_mag_stride Unexecuted instantiation: partition_search.c:get_nz_mag_stride Unexecuted instantiation: partition_strategy.c:get_nz_mag_stride Unexecuted instantiation: pass2_strategy.c:get_nz_mag_stride Unexecuted instantiation: pickcdef.c:get_nz_mag_stride Unexecuted instantiation: picklpf.c:get_nz_mag_stride Unexecuted instantiation: ratectrl.c:get_nz_mag_stride Unexecuted instantiation: nonrd_pickmode.c:get_nz_mag_stride Unexecuted instantiation: nonrd_opt.c:get_nz_mag_stride Unexecuted instantiation: segmentation.c:get_nz_mag_stride Unexecuted instantiation: speed_features.c:get_nz_mag_stride Unexecuted instantiation: superres_scale.c:get_nz_mag_stride Unexecuted instantiation: svc_layercontext.c:get_nz_mag_stride Unexecuted instantiation: aq_complexity.c:get_nz_mag_stride Unexecuted instantiation: aq_cyclicrefresh.c:get_nz_mag_stride Unexecuted instantiation: aq_variance.c:get_nz_mag_stride Unexecuted instantiation: allintra_vis.c:get_nz_mag_stride Unexecuted instantiation: context_tree.c:get_nz_mag_stride Unexecuted instantiation: global_motion.c:get_nz_mag_stride Unexecuted instantiation: av1_cx_iface.c:get_nz_mag_stride |
212 | | |
213 | | static AOM_FORCE_INLINE int get_nz_mag(const uint8_t *const levels, |
214 | 9.40M | const int bhl, const TX_CLASS tx_class) { |
215 | 9.40M | const intptr_t stride = (1 << bhl) + TX_PAD_HOR; |
216 | 9.40M | return get_nz_mag_stride(levels, stride, tx_class); |
217 | 9.40M | } Line | Count | Source | 214 | 9.40M | const int bhl, const TX_CLASS tx_class) { | 215 | 9.40M | const intptr_t stride = (1 << bhl) + TX_PAD_HOR; | 216 | 9.40M | return get_nz_mag_stride(levels, stride, tx_class); | 217 | 9.40M | } |
Unexecuted instantiation: entropy.c:get_nz_mag Unexecuted instantiation: entropymode.c:get_nz_mag Unexecuted instantiation: txb_common.c:get_nz_mag Unexecuted instantiation: av1_quantize.c:get_nz_mag Unexecuted instantiation: encodetxb.c:get_nz_mag Unexecuted instantiation: pickrst.c:get_nz_mag Unexecuted instantiation: rd.c:get_nz_mag Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_nz_mag Unexecuted instantiation: intra_mode_search_sse2.c:get_nz_mag Unexecuted instantiation: temporal_filter_sse2.c:get_nz_mag Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_nz_mag Unexecuted instantiation: encodetxb_sse4.c:get_nz_mag Unexecuted instantiation: rdopt_sse4.c:get_nz_mag Unexecuted instantiation: pickrst_sse4.c:get_nz_mag Unexecuted instantiation: encodetxb_avx2.c:get_nz_mag Unexecuted instantiation: rdopt_avx2.c:get_nz_mag Unexecuted instantiation: temporal_filter_avx2.c:get_nz_mag Unexecuted instantiation: pickrst_avx2.c:get_nz_mag Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_nz_mag Unexecuted instantiation: bitstream.c:get_nz_mag Unexecuted instantiation: compound_type.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: encode_strategy.c:get_nz_mag Unexecuted instantiation: encoder.c:get_nz_mag Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_nz_mag Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_nz_mag Unexecuted instantiation: aq_cyclicrefresh.c:get_nz_mag Unexecuted instantiation: aq_variance.c:get_nz_mag Unexecuted instantiation: allintra_vis.c:get_nz_mag Unexecuted instantiation: context_tree.c:get_nz_mag Unexecuted instantiation: global_motion.c:get_nz_mag Unexecuted instantiation: av1_cx_iface.c:get_nz_mag |
218 | | |
219 | | #define NZ_MAP_CTX_0 SIG_COEF_CONTEXTS_2D |
220 | | #define NZ_MAP_CTX_5 (NZ_MAP_CTX_0 + 5) |
221 | | #define NZ_MAP_CTX_10 (NZ_MAP_CTX_0 + 10) |
222 | | |
223 | | static const int nz_map_ctx_offset_1d[32] = { |
224 | | NZ_MAP_CTX_0, NZ_MAP_CTX_5, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, |
225 | | NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, |
226 | | NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, |
227 | | NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, |
228 | | NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, |
229 | | NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, NZ_MAP_CTX_10, |
230 | | NZ_MAP_CTX_10, NZ_MAP_CTX_10, |
231 | | }; |
232 | | |
233 | | static AOM_FORCE_INLINE int get_nz_map_ctx_from_stats( |
234 | | const int stats, |
235 | | const int coeff_idx, // raster order |
236 | 9.40M | const int bhl, const TX_SIZE tx_size, const TX_CLASS tx_class) { |
237 | | // tx_class == 0(TX_CLASS_2D) |
238 | 9.40M | if ((tx_class | coeff_idx) == 0) return 0; |
239 | 9.40M | int ctx = (stats + 1) >> 1; |
240 | 9.40M | ctx = AOMMIN(ctx, 4); |
241 | 9.40M | switch (tx_class) { |
242 | 0 | case TX_CLASS_2D: { |
243 | | // This is the algorithm to generate av1_nz_map_ctx_offset[][] |
244 | | // const int width = tx_size_wide[tx_size]; |
245 | | // const int height = tx_size_high[tx_size]; |
246 | | // if (width < height) { |
247 | | // if (row < 2) return 11 + ctx; |
248 | | // } else if (width > height) { |
249 | | // if (col < 2) return 16 + ctx; |
250 | | // } |
251 | | // if (row + col < 2) return ctx + 1; |
252 | | // if (row + col < 4) return 5 + ctx + 1; |
253 | | // return 21 + ctx; |
254 | 0 | return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx]; |
255 | 0 | } |
256 | 6.23M | case TX_CLASS_HORIZ: { |
257 | 6.23M | const int col = coeff_idx >> bhl; |
258 | 6.23M | return ctx + nz_map_ctx_offset_1d[col]; |
259 | 0 | } |
260 | 3.20M | case TX_CLASS_VERT: { |
261 | 3.20M | const int col = coeff_idx >> bhl; |
262 | 3.20M | const int row = coeff_idx - (col << bhl); |
263 | 3.20M | return ctx + nz_map_ctx_offset_1d[row]; |
264 | 0 | } |
265 | 0 | default: break; |
266 | 9.40M | } |
267 | 0 | return 0; |
268 | 9.40M | } decodetxb.c:get_nz_map_ctx_from_stats Line | Count | Source | 236 | 9.40M | const int bhl, const TX_SIZE tx_size, const TX_CLASS tx_class) { | 237 | | // tx_class == 0(TX_CLASS_2D) | 238 | 9.40M | if ((tx_class | coeff_idx) == 0) return 0; | 239 | 9.40M | int ctx = (stats + 1) >> 1; | 240 | 9.40M | ctx = AOMMIN(ctx, 4); | 241 | 9.40M | switch (tx_class) { | 242 | 0 | case TX_CLASS_2D: { | 243 | | // This is the algorithm to generate av1_nz_map_ctx_offset[][] | 244 | | // const int width = tx_size_wide[tx_size]; | 245 | | // const int height = tx_size_high[tx_size]; | 246 | | // if (width < height) { | 247 | | // if (row < 2) return 11 + ctx; | 248 | | // } else if (width > height) { | 249 | | // if (col < 2) return 16 + ctx; | 250 | | // } | 251 | | // if (row + col < 2) return ctx + 1; | 252 | | // if (row + col < 4) return 5 + ctx + 1; | 253 | | // return 21 + ctx; | 254 | 0 | return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx]; | 255 | 0 | } | 256 | 6.23M | case TX_CLASS_HORIZ: { | 257 | 6.23M | const int col = coeff_idx >> bhl; | 258 | 6.23M | return ctx + nz_map_ctx_offset_1d[col]; | 259 | 0 | } | 260 | 3.20M | case TX_CLASS_VERT: { | 261 | 3.20M | const int col = coeff_idx >> bhl; | 262 | 3.20M | const int row = coeff_idx - (col << bhl); | 263 | 3.20M | return ctx + nz_map_ctx_offset_1d[row]; | 264 | 0 | } | 265 | 0 | default: break; | 266 | 9.40M | } | 267 | 0 | return 0; | 268 | 9.40M | } |
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: av1_quantize.c:get_nz_map_ctx_from_stats Unexecuted instantiation: encodetxb.c:get_nz_map_ctx_from_stats Unexecuted instantiation: pickrst.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: 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: encodetxb_sse2.c:get_nz_map_ctx_from_stats Unexecuted instantiation: intra_mode_search_sse2.c:get_nz_map_ctx_from_stats Unexecuted instantiation: temporal_filter_sse2.c:get_nz_map_ctx_from_stats Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_nz_map_ctx_from_stats Unexecuted instantiation: encodetxb_sse4.c:get_nz_map_ctx_from_stats Unexecuted instantiation: rdopt_sse4.c:get_nz_map_ctx_from_stats Unexecuted instantiation: pickrst_sse4.c:get_nz_map_ctx_from_stats Unexecuted instantiation: encodetxb_avx2.c:get_nz_map_ctx_from_stats Unexecuted instantiation: rdopt_avx2.c:get_nz_map_ctx_from_stats Unexecuted instantiation: temporal_filter_avx2.c:get_nz_map_ctx_from_stats Unexecuted instantiation: pickrst_avx2.c:get_nz_map_ctx_from_stats Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_nz_map_ctx_from_stats Unexecuted instantiation: bitstream.c:get_nz_map_ctx_from_stats Unexecuted instantiation: compound_type.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: encode_strategy.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: 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: gop_structure.c:get_nz_map_ctx_from_stats Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_nz_map_ctx_from_stats Unexecuted instantiation: aq_cyclicrefresh.c:get_nz_map_ctx_from_stats Unexecuted instantiation: aq_variance.c:get_nz_map_ctx_from_stats Unexecuted instantiation: allintra_vis.c:get_nz_map_ctx_from_stats Unexecuted instantiation: context_tree.c:get_nz_map_ctx_from_stats Unexecuted instantiation: global_motion.c:get_nz_map_ctx_from_stats Unexecuted instantiation: av1_cx_iface.c:get_nz_map_ctx_from_stats |
269 | | |
270 | | typedef aom_cdf_prob (*base_cdf_arr)[CDF_SIZE(4)]; |
271 | | typedef aom_cdf_prob (*br_cdf_arr)[CDF_SIZE(BR_CDF_SIZE)]; |
272 | | |
273 | 19.4M | static inline int get_lower_levels_ctx_eob(int bhl, int width, int scan_idx) { |
274 | 19.4M | if (scan_idx == 0) return 0; |
275 | 10.7M | if (scan_idx <= ((width << bhl) >> 3)) return 1; |
276 | 5.83M | if (scan_idx <= ((width << bhl) >> 2)) return 2; |
277 | 4.18M | return 3; |
278 | 5.83M | } decodetxb.c:get_lower_levels_ctx_eob Line | Count | Source | 273 | 19.4M | static inline int get_lower_levels_ctx_eob(int bhl, int width, int scan_idx) { | 274 | 19.4M | if (scan_idx == 0) return 0; | 275 | 10.7M | if (scan_idx <= ((width << bhl) >> 3)) return 1; | 276 | 5.83M | if (scan_idx <= ((width << bhl) >> 2)) return 2; | 277 | 4.18M | return 3; | 278 | 5.83M | } |
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: av1_quantize.c:get_lower_levels_ctx_eob Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx_eob Unexecuted instantiation: pickrst.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: 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: encodetxb_sse2.c:get_lower_levels_ctx_eob Unexecuted instantiation: intra_mode_search_sse2.c:get_lower_levels_ctx_eob Unexecuted instantiation: temporal_filter_sse2.c:get_lower_levels_ctx_eob Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_lower_levels_ctx_eob Unexecuted instantiation: encodetxb_sse4.c:get_lower_levels_ctx_eob Unexecuted instantiation: rdopt_sse4.c:get_lower_levels_ctx_eob Unexecuted instantiation: pickrst_sse4.c:get_lower_levels_ctx_eob Unexecuted instantiation: encodetxb_avx2.c:get_lower_levels_ctx_eob Unexecuted instantiation: rdopt_avx2.c:get_lower_levels_ctx_eob Unexecuted instantiation: temporal_filter_avx2.c:get_lower_levels_ctx_eob Unexecuted instantiation: pickrst_avx2.c:get_lower_levels_ctx_eob Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_lower_levels_ctx_eob Unexecuted instantiation: bitstream.c:get_lower_levels_ctx_eob Unexecuted instantiation: compound_type.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: encode_strategy.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: 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: gop_structure.c:get_lower_levels_ctx_eob Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_lower_levels_ctx_eob Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx_eob Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx_eob Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx_eob Unexecuted instantiation: context_tree.c:get_lower_levels_ctx_eob Unexecuted instantiation: global_motion.c:get_lower_levels_ctx_eob Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx_eob |
279 | | |
280 | | static inline int get_lower_levels_ctx_2d(const uint8_t *levels, int coeff_idx, |
281 | 222M | int bhl, TX_SIZE tx_size) { |
282 | 222M | assert(coeff_idx > 0); |
283 | 222M | int mag; |
284 | | // Note: AOMMIN(level, 3) is useless for decoder since level < 3. |
285 | 222M | levels = levels + get_padded_idx(coeff_idx, bhl); |
286 | 222M | mag = AOMMIN(levels[(1 << bhl) + TX_PAD_HOR], 3); // { 0, 1 } |
287 | 222M | mag += AOMMIN(levels[1], 3); // { 1, 0 } |
288 | 222M | mag += AOMMIN(levels[(1 << bhl) + TX_PAD_HOR + 1], 3); // { 1, 1 } |
289 | 222M | mag += AOMMIN(levels[(2 << bhl) + (2 << TX_PAD_HOR_LOG2)], 3); // { 0, 2 } |
290 | 222M | mag += AOMMIN(levels[2], 3); // { 2, 0 } |
291 | | |
292 | 222M | const int ctx = AOMMIN((mag + 1) >> 1, 4); |
293 | 222M | return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx]; |
294 | 222M | } decodetxb.c:get_lower_levels_ctx_2d Line | Count | Source | 281 | 222M | int bhl, TX_SIZE tx_size) { | 282 | 222M | assert(coeff_idx > 0); | 283 | 222M | int mag; | 284 | | // Note: AOMMIN(level, 3) is useless for decoder since level < 3. | 285 | 222M | levels = levels + get_padded_idx(coeff_idx, bhl); | 286 | 222M | mag = AOMMIN(levels[(1 << bhl) + TX_PAD_HOR], 3); // { 0, 1 } | 287 | 222M | mag += AOMMIN(levels[1], 3); // { 1, 0 } | 288 | 222M | mag += AOMMIN(levels[(1 << bhl) + TX_PAD_HOR + 1], 3); // { 1, 1 } | 289 | 222M | mag += AOMMIN(levels[(2 << bhl) + (2 << TX_PAD_HOR_LOG2)], 3); // { 0, 2 } | 290 | 222M | mag += AOMMIN(levels[2], 3); // { 2, 0 } | 291 | | | 292 | 222M | const int ctx = AOMMIN((mag + 1) >> 1, 4); | 293 | 222M | return ctx + av1_nz_map_ctx_offset[tx_size][coeff_idx]; | 294 | 222M | } |
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: av1_quantize.c:get_lower_levels_ctx_2d Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx_2d Unexecuted instantiation: pickrst.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: 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: encodetxb_sse2.c:get_lower_levels_ctx_2d Unexecuted instantiation: intra_mode_search_sse2.c:get_lower_levels_ctx_2d Unexecuted instantiation: temporal_filter_sse2.c:get_lower_levels_ctx_2d Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_lower_levels_ctx_2d Unexecuted instantiation: encodetxb_sse4.c:get_lower_levels_ctx_2d Unexecuted instantiation: rdopt_sse4.c:get_lower_levels_ctx_2d Unexecuted instantiation: pickrst_sse4.c:get_lower_levels_ctx_2d Unexecuted instantiation: encodetxb_avx2.c:get_lower_levels_ctx_2d Unexecuted instantiation: rdopt_avx2.c:get_lower_levels_ctx_2d Unexecuted instantiation: temporal_filter_avx2.c:get_lower_levels_ctx_2d Unexecuted instantiation: pickrst_avx2.c:get_lower_levels_ctx_2d Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_lower_levels_ctx_2d Unexecuted instantiation: bitstream.c:get_lower_levels_ctx_2d Unexecuted instantiation: compound_type.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: encode_strategy.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: 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: gop_structure.c:get_lower_levels_ctx_2d Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_lower_levels_ctx_2d Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx_2d Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx_2d Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx_2d Unexecuted instantiation: context_tree.c:get_lower_levels_ctx_2d Unexecuted instantiation: global_motion.c:get_lower_levels_ctx_2d Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx_2d |
295 | | static AOM_FORCE_INLINE int get_lower_levels_ctx(const uint8_t *levels, |
296 | | int coeff_idx, int bhl, |
297 | | TX_SIZE tx_size, |
298 | 29.3M | TX_CLASS tx_class) { |
299 | 29.3M | assert(bhl >= MIN_TX_SIZE_LOG2 && bhl <= MAX_TX_SIZE_LOG2 - 1); |
300 | 29.3M | const uint8_t *const nb = levels + get_padded_idx(coeff_idx, bhl); |
301 | 29.3M | const int stride = (1 << bhl) + TX_PAD_HOR; |
302 | | // When all the neighbors read by get_nz_mag() are zero, stats is 0 and the |
303 | | // context is the offset alone. |
304 | 29.3M | if (tx_class == TX_CLASS_2D) { |
305 | 9.85M | if (coeff_idx == 0) return 0; |
306 | 18.4E | if ((nb[1] | nb[2] | nb[stride] | nb[stride + 1] | nb[2 * stride]) == 0) |
307 | 0 | return av1_nz_map_ctx_offset[tx_size][coeff_idx]; |
308 | 18.4E | } else if (tx_class == TX_CLASS_VERT) { |
309 | 6.88M | if ((nb[stride] | nb[1] | nb[2] | nb[3] | nb[4]) == 0) |
310 | 3.73M | return nz_map_ctx_offset_1d[coeff_idx & ((1 << bhl) - 1)]; |
311 | 12.6M | } else { |
312 | 12.6M | if ((nb[stride] | nb[1] | nb[2 * stride] | nb[3 * stride] | |
313 | 12.6M | nb[4 * stride]) == 0) |
314 | 6.68M | return nz_map_ctx_offset_1d[coeff_idx >> bhl]; |
315 | 12.6M | } |
316 | 9.12M | const int stats = get_nz_mag(nb, bhl, tx_class); |
317 | 9.12M | return get_nz_map_ctx_from_stats(stats, coeff_idx, bhl, tx_size, tx_class); |
318 | 29.3M | } decodetxb.c:get_lower_levels_ctx Line | Count | Source | 298 | 29.3M | TX_CLASS tx_class) { | 299 | 29.3M | assert(bhl >= MIN_TX_SIZE_LOG2 && bhl <= MAX_TX_SIZE_LOG2 - 1); | 300 | 29.3M | const uint8_t *const nb = levels + get_padded_idx(coeff_idx, bhl); | 301 | 29.3M | const int stride = (1 << bhl) + TX_PAD_HOR; | 302 | | // When all the neighbors read by get_nz_mag() are zero, stats is 0 and the | 303 | | // context is the offset alone. | 304 | 29.3M | if (tx_class == TX_CLASS_2D) { | 305 | 9.85M | if (coeff_idx == 0) return 0; | 306 | 18.4E | if ((nb[1] | nb[2] | nb[stride] | nb[stride + 1] | nb[2 * stride]) == 0) | 307 | 0 | return av1_nz_map_ctx_offset[tx_size][coeff_idx]; | 308 | 18.4E | } else if (tx_class == TX_CLASS_VERT) { | 309 | 6.88M | if ((nb[stride] | nb[1] | nb[2] | nb[3] | nb[4]) == 0) | 310 | 3.73M | return nz_map_ctx_offset_1d[coeff_idx & ((1 << bhl) - 1)]; | 311 | 12.6M | } else { | 312 | 12.6M | if ((nb[stride] | nb[1] | nb[2 * stride] | nb[3 * stride] | | 313 | 12.6M | nb[4 * stride]) == 0) | 314 | 6.68M | return nz_map_ctx_offset_1d[coeff_idx >> bhl]; | 315 | 12.6M | } | 316 | 9.12M | const int stats = get_nz_mag(nb, bhl, tx_class); | 317 | 9.12M | return get_nz_map_ctx_from_stats(stats, coeff_idx, bhl, tx_size, tx_class); | 318 | 29.3M | } |
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: av1_quantize.c:get_lower_levels_ctx Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx Unexecuted instantiation: pickrst.c:get_lower_levels_ctx Unexecuted instantiation: rd.c:get_lower_levels_ctx Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_lower_levels_ctx Unexecuted instantiation: intra_mode_search_sse2.c:get_lower_levels_ctx Unexecuted instantiation: temporal_filter_sse2.c:get_lower_levels_ctx Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_lower_levels_ctx Unexecuted instantiation: encodetxb_sse4.c:get_lower_levels_ctx Unexecuted instantiation: rdopt_sse4.c:get_lower_levels_ctx Unexecuted instantiation: pickrst_sse4.c:get_lower_levels_ctx Unexecuted instantiation: encodetxb_avx2.c:get_lower_levels_ctx Unexecuted instantiation: rdopt_avx2.c:get_lower_levels_ctx Unexecuted instantiation: temporal_filter_avx2.c:get_lower_levels_ctx Unexecuted instantiation: pickrst_avx2.c:get_lower_levels_ctx Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_lower_levels_ctx Unexecuted instantiation: bitstream.c:get_lower_levels_ctx Unexecuted instantiation: compound_type.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: encode_strategy.c:get_lower_levels_ctx Unexecuted instantiation: encoder.c:get_lower_levels_ctx Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_lower_levels_ctx Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_lower_levels_ctx Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx Unexecuted instantiation: context_tree.c:get_lower_levels_ctx Unexecuted instantiation: global_motion.c:get_lower_levels_ctx Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx |
319 | | |
320 | | static AOM_FORCE_INLINE int get_lower_levels_ctx_fast( |
321 | | const uint8_t *levels, int coeff_idx, int bhl, intptr_t stride, |
322 | 0 | const int8_t *nz_map_ctx_offset, TX_CLASS tx_class) { |
323 | 0 | assert(bhl >= MIN_TX_SIZE_LOG2 && bhl <= MAX_TX_SIZE_LOG2 - 1); |
324 | 0 | assert(stride == ((intptr_t)1 << bhl) + TX_PAD_HOR); |
325 | 0 | const uint8_t *const nb = levels + get_padded_idx(coeff_idx, bhl); |
326 | 0 | const uint8_t *const lvs = nb + stride; |
327 | 0 | if (tx_class == TX_CLASS_2D) { |
328 | 0 | if (coeff_idx == 0) return 0; |
329 | 0 | const int offset = nz_map_ctx_offset[coeff_idx]; |
330 | 0 | if ((nb[1] | nb[2] | lvs[0] | lvs[1] | lvs[stride]) == 0) return offset; |
331 | 0 | const int mag = clip_max3[lvs[0]] + clip_max3[nb[1]] + clip_max3[lvs[1]] + |
332 | 0 | clip_max3[lvs[stride]] + clip_max3[nb[2]]; |
333 | 0 | return offset + AOMMIN((mag + 1) >> 1, 4); |
334 | 0 | } else if (tx_class == TX_CLASS_VERT) { |
335 | 0 | const int offset = |
336 | 0 | nz_map_ctx_offset_1d[coeff_idx & ((int)stride - (TX_PAD_HOR + 1))]; |
337 | 0 | if ((lvs[0] | nb[1] | nb[2] | nb[3] | nb[4]) == 0) return offset; |
338 | 0 | const int mag = clip_max3[lvs[0]] + clip_max3[nb[1]] + clip_max3[nb[2]] + |
339 | 0 | clip_max3[nb[3]] + clip_max3[nb[4]]; |
340 | 0 | return offset + AOMMIN((mag + 1) >> 1, 4); |
341 | 0 | } else { |
342 | 0 | assert(tx_class == TX_CLASS_HORIZ); |
343 | 0 | const uint8_t *const lvs2 = lvs + stride; |
344 | 0 | const int offset = nz_map_ctx_offset_1d[coeff_idx >> bhl]; |
345 | 0 | if ((lvs[0] | nb[1] | lvs2[0] | lvs2[stride] | lvs2[stride * 2]) == 0) |
346 | 0 | return offset; |
347 | 0 | const int mag = clip_max3[lvs[0]] + clip_max3[nb[1]] + clip_max3[lvs2[0]] + |
348 | 0 | clip_max3[lvs2[stride]] + clip_max3[lvs2[stride * 2]]; |
349 | 0 | return offset + AOMMIN((mag + 1) >> 1, 4); |
350 | 0 | } |
351 | 0 | } Unexecuted instantiation: decodetxb.c:get_lower_levels_ctx_fast Unexecuted instantiation: entropy.c:get_lower_levels_ctx_fast Unexecuted instantiation: entropymode.c:get_lower_levels_ctx_fast Unexecuted instantiation: txb_common.c:get_lower_levels_ctx_fast Unexecuted instantiation: av1_quantize.c:get_lower_levels_ctx_fast Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx_fast Unexecuted instantiation: pickrst.c:get_lower_levels_ctx_fast Unexecuted instantiation: rd.c:get_lower_levels_ctx_fast Unexecuted instantiation: rdopt.c:get_lower_levels_ctx_fast Unexecuted instantiation: temporal_filter.c:get_lower_levels_ctx_fast Unexecuted instantiation: tokenize.c:get_lower_levels_ctx_fast Unexecuted instantiation: tpl_model.c:get_lower_levels_ctx_fast Unexecuted instantiation: tx_search.c:get_lower_levels_ctx_fast Unexecuted instantiation: txb_rdopt.c:get_lower_levels_ctx_fast Unexecuted instantiation: intra_mode_search.c:get_lower_levels_ctx_fast Unexecuted instantiation: var_based_part.c:get_lower_levels_ctx_fast Unexecuted instantiation: av1_noise_estimate.c:get_lower_levels_ctx_fast Unexecuted instantiation: encodetxb_sse2.c:get_lower_levels_ctx_fast Unexecuted instantiation: intra_mode_search_sse2.c:get_lower_levels_ctx_fast Unexecuted instantiation: temporal_filter_sse2.c:get_lower_levels_ctx_fast Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_lower_levels_ctx_fast Unexecuted instantiation: encodetxb_sse4.c:get_lower_levels_ctx_fast Unexecuted instantiation: rdopt_sse4.c:get_lower_levels_ctx_fast Unexecuted instantiation: pickrst_sse4.c:get_lower_levels_ctx_fast Unexecuted instantiation: encodetxb_avx2.c:get_lower_levels_ctx_fast Unexecuted instantiation: rdopt_avx2.c:get_lower_levels_ctx_fast Unexecuted instantiation: temporal_filter_avx2.c:get_lower_levels_ctx_fast Unexecuted instantiation: pickrst_avx2.c:get_lower_levels_ctx_fast Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_lower_levels_ctx_fast Unexecuted instantiation: bitstream.c:get_lower_levels_ctx_fast Unexecuted instantiation: compound_type.c:get_lower_levels_ctx_fast Unexecuted instantiation: encodeframe.c:get_lower_levels_ctx_fast Unexecuted instantiation: encodeframe_utils.c:get_lower_levels_ctx_fast Unexecuted instantiation: encodemb.c:get_lower_levels_ctx_fast Unexecuted instantiation: encodemv.c:get_lower_levels_ctx_fast Unexecuted instantiation: encode_strategy.c:get_lower_levels_ctx_fast Unexecuted instantiation: encoder.c:get_lower_levels_ctx_fast Unexecuted instantiation: encoder_utils.c:get_lower_levels_ctx_fast Unexecuted instantiation: ethread.c:get_lower_levels_ctx_fast Unexecuted instantiation: firstpass.c:get_lower_levels_ctx_fast Unexecuted instantiation: global_motion_facade.c:get_lower_levels_ctx_fast Unexecuted instantiation: gop_structure.c:get_lower_levels_ctx_fast Unexecuted instantiation: interp_search.c:get_lower_levels_ctx_fast Unexecuted instantiation: level.c:get_lower_levels_ctx_fast Unexecuted instantiation: lookahead.c:get_lower_levels_ctx_fast Unexecuted instantiation: mcomp.c:get_lower_levels_ctx_fast Unexecuted instantiation: motion_search_facade.c:get_lower_levels_ctx_fast Unexecuted instantiation: mv_prec.c:get_lower_levels_ctx_fast Unexecuted instantiation: palette.c:get_lower_levels_ctx_fast Unexecuted instantiation: partition_search.c:get_lower_levels_ctx_fast Unexecuted instantiation: partition_strategy.c:get_lower_levels_ctx_fast Unexecuted instantiation: pass2_strategy.c:get_lower_levels_ctx_fast Unexecuted instantiation: pickcdef.c:get_lower_levels_ctx_fast Unexecuted instantiation: picklpf.c:get_lower_levels_ctx_fast Unexecuted instantiation: ratectrl.c:get_lower_levels_ctx_fast Unexecuted instantiation: nonrd_pickmode.c:get_lower_levels_ctx_fast Unexecuted instantiation: nonrd_opt.c:get_lower_levels_ctx_fast Unexecuted instantiation: segmentation.c:get_lower_levels_ctx_fast Unexecuted instantiation: speed_features.c:get_lower_levels_ctx_fast Unexecuted instantiation: superres_scale.c:get_lower_levels_ctx_fast Unexecuted instantiation: svc_layercontext.c:get_lower_levels_ctx_fast Unexecuted instantiation: aq_complexity.c:get_lower_levels_ctx_fast Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx_fast Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx_fast Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx_fast Unexecuted instantiation: context_tree.c:get_lower_levels_ctx_fast Unexecuted instantiation: global_motion.c:get_lower_levels_ctx_fast Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx_fast |
352 | | |
353 | | // Specialized variant for AC coefficients (coeff_idx > 0), skipping the |
354 | | // redundant coeff_idx == 0 checks and dispatching on tx_class once. |
355 | | static AOM_FORCE_INLINE int get_lower_levels_ctx_simple_fast( |
356 | | const uint8_t *levels, int coeff_idx, int bhl, intptr_t stride, |
357 | 0 | const int8_t *nz_map_ctx_offset, TX_CLASS tx_class) { |
358 | 0 | assert(coeff_idx > 0); |
359 | 0 | assert(bhl >= MIN_TX_SIZE_LOG2 && bhl <= MAX_TX_SIZE_LOG2 - 1); |
360 | 0 | assert(stride == ((intptr_t)1 << bhl) + TX_PAD_HOR); |
361 | 0 | const uint8_t *const nb = levels + get_padded_idx(coeff_idx, bhl); |
362 | 0 | const uint8_t *const lvs = nb + stride; |
363 | 0 | if (tx_class == TX_CLASS_2D) { |
364 | 0 | const int offset = nz_map_ctx_offset[coeff_idx]; |
365 | 0 | if ((nb[1] | nb[2] | lvs[0] | lvs[1] | lvs[stride]) == 0) return offset; |
366 | 0 | const int mag = clip_max3[lvs[0]] + clip_max3[nb[1]] + clip_max3[lvs[1]] + |
367 | 0 | clip_max3[lvs[stride]] + clip_max3[nb[2]]; |
368 | 0 | return offset + AOMMIN((mag + 1) >> 1, 4); |
369 | 0 | } else if (tx_class == TX_CLASS_VERT) { |
370 | 0 | const int offset = |
371 | 0 | nz_map_ctx_offset_1d[coeff_idx & ((int)stride - (TX_PAD_HOR + 1))]; |
372 | 0 | if ((lvs[0] | nb[1] | nb[2] | nb[3] | nb[4]) == 0) return offset; |
373 | 0 | const int mag = clip_max3[lvs[0]] + clip_max3[nb[1]] + clip_max3[nb[2]] + |
374 | 0 | clip_max3[nb[3]] + clip_max3[nb[4]]; |
375 | 0 | return offset + AOMMIN((mag + 1) >> 1, 4); |
376 | 0 | } else { |
377 | 0 | assert(tx_class == TX_CLASS_HORIZ); |
378 | 0 | const uint8_t *const lvs2 = lvs + stride; |
379 | 0 | const int offset = nz_map_ctx_offset_1d[coeff_idx >> bhl]; |
380 | 0 | if ((lvs[0] | nb[1] | lvs2[0] | lvs2[stride] | lvs2[stride * 2]) == 0) |
381 | 0 | return offset; |
382 | 0 | const int mag = clip_max3[lvs[0]] + clip_max3[nb[1]] + clip_max3[lvs2[0]] + |
383 | 0 | clip_max3[lvs2[stride]] + clip_max3[lvs2[stride * 2]]; |
384 | 0 | return offset + AOMMIN((mag + 1) >> 1, 4); |
385 | 0 | } |
386 | 0 | } Unexecuted instantiation: decodetxb.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: entropy.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: entropymode.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: txb_common.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: av1_quantize.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: pickrst.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: rd.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: rdopt.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: temporal_filter.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: tokenize.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: tpl_model.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: tx_search.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: txb_rdopt.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: intra_mode_search.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: var_based_part.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: av1_noise_estimate.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encodetxb_sse2.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: intra_mode_search_sse2.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: temporal_filter_sse2.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encodetxb_sse4.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: rdopt_sse4.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: pickrst_sse4.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encodetxb_avx2.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: rdopt_avx2.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: temporal_filter_avx2.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: pickrst_avx2.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: bitstream.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: compound_type.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encodeframe.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encodeframe_utils.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encodemb.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encodemv.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encode_strategy.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encoder.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: encoder_utils.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: ethread.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: firstpass.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: global_motion_facade.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: gop_structure.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: interp_search.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: level.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: lookahead.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: mcomp.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: motion_search_facade.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: mv_prec.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: palette.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: partition_search.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: partition_strategy.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: pass2_strategy.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: pickcdef.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: picklpf.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: ratectrl.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: nonrd_pickmode.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: nonrd_opt.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: segmentation.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: speed_features.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: superres_scale.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: svc_layercontext.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: aq_complexity.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: context_tree.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: global_motion.c:get_lower_levels_ctx_simple_fast Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx_simple_fast |
387 | | |
388 | | static AOM_FORCE_INLINE int get_lower_levels_ctx_simple(const uint8_t *levels, |
389 | | int coeff_idx, int bhl, |
390 | | TX_SIZE tx_size, |
391 | 0 | TX_CLASS tx_class) { |
392 | 0 | const intptr_t stride = (1 << bhl) + TX_PAD_HOR; |
393 | 0 | const int8_t *const nz_map_ctx = |
394 | 0 | (tx_class == TX_CLASS_2D) ? av1_nz_map_ctx_offset[tx_size] : NULL; |
395 | 0 | return get_lower_levels_ctx_simple_fast(levels, coeff_idx, bhl, stride, |
396 | 0 | nz_map_ctx, tx_class); |
397 | 0 | } Unexecuted instantiation: decodetxb.c:get_lower_levels_ctx_simple Unexecuted instantiation: entropy.c:get_lower_levels_ctx_simple Unexecuted instantiation: entropymode.c:get_lower_levels_ctx_simple Unexecuted instantiation: txb_common.c:get_lower_levels_ctx_simple Unexecuted instantiation: av1_quantize.c:get_lower_levels_ctx_simple Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx_simple Unexecuted instantiation: pickrst.c:get_lower_levels_ctx_simple Unexecuted instantiation: rd.c:get_lower_levels_ctx_simple Unexecuted instantiation: rdopt.c:get_lower_levels_ctx_simple Unexecuted instantiation: temporal_filter.c:get_lower_levels_ctx_simple Unexecuted instantiation: tokenize.c:get_lower_levels_ctx_simple Unexecuted instantiation: tpl_model.c:get_lower_levels_ctx_simple Unexecuted instantiation: tx_search.c:get_lower_levels_ctx_simple Unexecuted instantiation: txb_rdopt.c:get_lower_levels_ctx_simple Unexecuted instantiation: intra_mode_search.c:get_lower_levels_ctx_simple Unexecuted instantiation: var_based_part.c:get_lower_levels_ctx_simple Unexecuted instantiation: av1_noise_estimate.c:get_lower_levels_ctx_simple Unexecuted instantiation: encodetxb_sse2.c:get_lower_levels_ctx_simple Unexecuted instantiation: intra_mode_search_sse2.c:get_lower_levels_ctx_simple Unexecuted instantiation: temporal_filter_sse2.c:get_lower_levels_ctx_simple Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_lower_levels_ctx_simple Unexecuted instantiation: encodetxb_sse4.c:get_lower_levels_ctx_simple Unexecuted instantiation: rdopt_sse4.c:get_lower_levels_ctx_simple Unexecuted instantiation: pickrst_sse4.c:get_lower_levels_ctx_simple Unexecuted instantiation: encodetxb_avx2.c:get_lower_levels_ctx_simple Unexecuted instantiation: rdopt_avx2.c:get_lower_levels_ctx_simple Unexecuted instantiation: temporal_filter_avx2.c:get_lower_levels_ctx_simple Unexecuted instantiation: pickrst_avx2.c:get_lower_levels_ctx_simple Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_lower_levels_ctx_simple Unexecuted instantiation: bitstream.c:get_lower_levels_ctx_simple Unexecuted instantiation: compound_type.c:get_lower_levels_ctx_simple Unexecuted instantiation: encodeframe.c:get_lower_levels_ctx_simple Unexecuted instantiation: encodeframe_utils.c:get_lower_levels_ctx_simple Unexecuted instantiation: encodemb.c:get_lower_levels_ctx_simple Unexecuted instantiation: encodemv.c:get_lower_levels_ctx_simple Unexecuted instantiation: encode_strategy.c:get_lower_levels_ctx_simple Unexecuted instantiation: encoder.c:get_lower_levels_ctx_simple Unexecuted instantiation: encoder_utils.c:get_lower_levels_ctx_simple Unexecuted instantiation: ethread.c:get_lower_levels_ctx_simple Unexecuted instantiation: firstpass.c:get_lower_levels_ctx_simple Unexecuted instantiation: global_motion_facade.c:get_lower_levels_ctx_simple Unexecuted instantiation: gop_structure.c:get_lower_levels_ctx_simple Unexecuted instantiation: interp_search.c:get_lower_levels_ctx_simple Unexecuted instantiation: level.c:get_lower_levels_ctx_simple Unexecuted instantiation: lookahead.c:get_lower_levels_ctx_simple Unexecuted instantiation: mcomp.c:get_lower_levels_ctx_simple Unexecuted instantiation: motion_search_facade.c:get_lower_levels_ctx_simple Unexecuted instantiation: mv_prec.c:get_lower_levels_ctx_simple Unexecuted instantiation: palette.c:get_lower_levels_ctx_simple Unexecuted instantiation: partition_search.c:get_lower_levels_ctx_simple Unexecuted instantiation: partition_strategy.c:get_lower_levels_ctx_simple Unexecuted instantiation: pass2_strategy.c:get_lower_levels_ctx_simple Unexecuted instantiation: pickcdef.c:get_lower_levels_ctx_simple Unexecuted instantiation: picklpf.c:get_lower_levels_ctx_simple Unexecuted instantiation: ratectrl.c:get_lower_levels_ctx_simple Unexecuted instantiation: nonrd_pickmode.c:get_lower_levels_ctx_simple Unexecuted instantiation: nonrd_opt.c:get_lower_levels_ctx_simple Unexecuted instantiation: segmentation.c:get_lower_levels_ctx_simple Unexecuted instantiation: speed_features.c:get_lower_levels_ctx_simple Unexecuted instantiation: superres_scale.c:get_lower_levels_ctx_simple Unexecuted instantiation: svc_layercontext.c:get_lower_levels_ctx_simple Unexecuted instantiation: aq_complexity.c:get_lower_levels_ctx_simple Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx_simple Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx_simple Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx_simple Unexecuted instantiation: context_tree.c:get_lower_levels_ctx_simple Unexecuted instantiation: global_motion.c:get_lower_levels_ctx_simple Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx_simple |
398 | | |
399 | | static inline int get_lower_levels_ctx_general(int is_last, int scan_idx, |
400 | | int bhl, int width, |
401 | | const uint8_t *levels, |
402 | | int coeff_idx, TX_SIZE tx_size, |
403 | 0 | TX_CLASS tx_class) { |
404 | 0 | if (is_last) { |
405 | 0 | if (scan_idx == 0) return 0; |
406 | 0 | if (scan_idx <= (width << bhl) >> 3) return 1; |
407 | 0 | if (scan_idx <= (width << bhl) >> 2) return 2; |
408 | 0 | return 3; |
409 | 0 | } |
410 | 0 | return get_lower_levels_ctx(levels, coeff_idx, bhl, tx_size, tx_class); |
411 | 0 | } Unexecuted instantiation: decodetxb.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: av1_quantize.c:get_lower_levels_ctx_general Unexecuted instantiation: encodetxb.c:get_lower_levels_ctx_general Unexecuted instantiation: pickrst.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: 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: encodetxb_sse2.c:get_lower_levels_ctx_general Unexecuted instantiation: intra_mode_search_sse2.c:get_lower_levels_ctx_general Unexecuted instantiation: temporal_filter_sse2.c:get_lower_levels_ctx_general Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_lower_levels_ctx_general Unexecuted instantiation: encodetxb_sse4.c:get_lower_levels_ctx_general Unexecuted instantiation: rdopt_sse4.c:get_lower_levels_ctx_general Unexecuted instantiation: pickrst_sse4.c:get_lower_levels_ctx_general Unexecuted instantiation: encodetxb_avx2.c:get_lower_levels_ctx_general Unexecuted instantiation: rdopt_avx2.c:get_lower_levels_ctx_general Unexecuted instantiation: temporal_filter_avx2.c:get_lower_levels_ctx_general Unexecuted instantiation: pickrst_avx2.c:get_lower_levels_ctx_general Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_lower_levels_ctx_general Unexecuted instantiation: bitstream.c:get_lower_levels_ctx_general Unexecuted instantiation: compound_type.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: encode_strategy.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: 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: gop_structure.c:get_lower_levels_ctx_general Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_lower_levels_ctx_general Unexecuted instantiation: aq_cyclicrefresh.c:get_lower_levels_ctx_general Unexecuted instantiation: aq_variance.c:get_lower_levels_ctx_general Unexecuted instantiation: allintra_vis.c:get_lower_levels_ctx_general Unexecuted instantiation: context_tree.c:get_lower_levels_ctx_general Unexecuted instantiation: global_motion.c:get_lower_levels_ctx_general Unexecuted instantiation: av1_cx_iface.c:get_lower_levels_ctx_general |
412 | | |
413 | 19.2M | static inline void set_dc_sign(int *cul_level, int dc_val) { |
414 | 19.2M | *cul_level += ((dc_val < 0) + ((dc_val > 0) << 1)) << COEFF_CONTEXT_BITS; |
415 | 19.2M | } Line | Count | Source | 413 | 19.2M | static inline void set_dc_sign(int *cul_level, int dc_val) { | 414 | 19.2M | *cul_level += ((dc_val < 0) + ((dc_val > 0) << 1)) << COEFF_CONTEXT_BITS; | 415 | 19.2M | } |
Unexecuted instantiation: entropy.c:set_dc_sign Unexecuted instantiation: entropymode.c:set_dc_sign Unexecuted instantiation: txb_common.c:set_dc_sign Unexecuted instantiation: av1_quantize.c:set_dc_sign Unexecuted instantiation: encodetxb.c:set_dc_sign Unexecuted instantiation: pickrst.c:set_dc_sign Unexecuted instantiation: rd.c:set_dc_sign Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:set_dc_sign Unexecuted instantiation: intra_mode_search_sse2.c:set_dc_sign Unexecuted instantiation: temporal_filter_sse2.c:set_dc_sign Unexecuted instantiation: highbd_temporal_filter_sse2.c:set_dc_sign Unexecuted instantiation: encodetxb_sse4.c:set_dc_sign Unexecuted instantiation: rdopt_sse4.c:set_dc_sign Unexecuted instantiation: pickrst_sse4.c:set_dc_sign Unexecuted instantiation: encodetxb_avx2.c:set_dc_sign Unexecuted instantiation: rdopt_avx2.c:set_dc_sign Unexecuted instantiation: temporal_filter_avx2.c:set_dc_sign Unexecuted instantiation: pickrst_avx2.c:set_dc_sign Unexecuted instantiation: highbd_temporal_filter_avx2.c:set_dc_sign Unexecuted instantiation: bitstream.c:set_dc_sign Unexecuted instantiation: compound_type.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: encode_strategy.c:set_dc_sign Unexecuted instantiation: encoder.c:set_dc_sign Unexecuted instantiation: encoder_utils.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: gop_structure.c:set_dc_sign Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:set_dc_sign Unexecuted instantiation: aq_cyclicrefresh.c:set_dc_sign Unexecuted instantiation: aq_variance.c:set_dc_sign Unexecuted instantiation: allintra_vis.c:set_dc_sign Unexecuted instantiation: context_tree.c:set_dc_sign Unexecuted instantiation: global_motion.c:set_dc_sign Unexecuted instantiation: av1_cx_iface.c:set_dc_sign |
416 | | |
417 | 35.5M | #define MAX_TX_SIZE_UNIT 16 |
418 | | static const int8_t kTxbCtxSigns[3] = { 0, -1, 1 }; |
419 | | static const int8_t kTxbCtxDcSignContexts[4 * MAX_TX_SIZE_UNIT + 1] = { |
420 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
421 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
422 | | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 |
423 | | }; |
424 | | |
425 | | // This is the algorithm to generate table kTxbCtxSkipContexts[top][left]. |
426 | | // const int max = AOMMIN(top | left, 4); |
427 | | // const int min = AOMMIN(AOMMIN(top, left), 4); |
428 | | // if (!max) |
429 | | // txb_skip_ctx = 1; |
430 | | // else if (!min) |
431 | | // txb_skip_ctx = 2 + (max > 3); |
432 | | // else if (max <= 3) |
433 | | // txb_skip_ctx = 4; |
434 | | // else if (min <= 3) |
435 | | // txb_skip_ctx = 5; |
436 | | // else |
437 | | // txb_skip_ctx = 6; |
438 | | static const uint8_t kTxbCtxSkipContexts[5][5] = { { 1, 2, 2, 2, 3 }, |
439 | | { 2, 4, 4, 4, 5 }, |
440 | | { 2, 4, 4, 4, 5 }, |
441 | | { 2, 4, 4, 4, 5 }, |
442 | | { 3, 5, 5, 5, 6 } }; |
443 | | |
444 | | static void get_txb_ctx_general(const BLOCK_SIZE plane_bsize, |
445 | | const TX_SIZE tx_size, const int plane, |
446 | | const ENTROPY_CONTEXT *const a, |
447 | | const ENTROPY_CONTEXT *const l, |
448 | 14.9M | TXB_CTX *const txb_ctx) { |
449 | 14.9M | const int txb_w_unit = tx_size_wide_unit[tx_size]; |
450 | 14.9M | const int txb_h_unit = tx_size_high_unit[tx_size]; |
451 | 14.9M | int dc_sign = 0; |
452 | 14.9M | int k = 0; |
453 | | |
454 | 67.2M | do { |
455 | 67.2M | const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS; |
456 | 67.2M | assert(sign <= 2); |
457 | 67.2M | dc_sign += kTxbCtxSigns[sign]; |
458 | 67.2M | } while (++k < txb_w_unit); |
459 | | |
460 | 14.9M | k = 0; |
461 | 44.9M | do { |
462 | 44.9M | const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS; |
463 | 44.9M | assert(sign <= 2); |
464 | 44.9M | dc_sign += kTxbCtxSigns[sign]; |
465 | 44.9M | } while (++k < txb_h_unit); |
466 | | |
467 | 14.9M | txb_ctx->dc_sign_ctx = kTxbCtxDcSignContexts[dc_sign + 2 * MAX_TX_SIZE_UNIT]; |
468 | | |
469 | 14.9M | if (plane == 0) { |
470 | 5.99M | if (plane_bsize == txsize_to_bsize[tx_size]) { |
471 | 5.11M | txb_ctx->txb_skip_ctx = 0; |
472 | 5.11M | } else { |
473 | | // For top and left, we only care about which of the following three |
474 | | // categories they belong to: { 0 }, { 1, 2, 3 }, or { 4, 5, ... }. The |
475 | | // spec calculates top and left with the Max() function. We can calculate |
476 | | // an approximate max with bitwise OR because the real max and the |
477 | | // approximate max belong to the same category. |
478 | 886k | int top = 0; |
479 | 886k | int left = 0; |
480 | | |
481 | 886k | k = 0; |
482 | 8.89M | do { |
483 | 8.89M | top |= a[k]; |
484 | 8.89M | } while (++k < txb_w_unit); |
485 | 886k | top &= COEFF_CONTEXT_MASK; |
486 | 886k | top = AOMMIN(top, 4); |
487 | | |
488 | 886k | k = 0; |
489 | 8.80M | do { |
490 | 8.80M | left |= l[k]; |
491 | 8.80M | } while (++k < txb_h_unit); |
492 | 886k | left &= COEFF_CONTEXT_MASK; |
493 | 886k | left = AOMMIN(left, 4); |
494 | | |
495 | 886k | txb_ctx->txb_skip_ctx = kTxbCtxSkipContexts[top][left]; |
496 | 886k | } |
497 | 8.91M | } else { |
498 | 8.91M | const int ctx_base = get_entropy_context(tx_size, a, l); |
499 | 8.91M | const int ctx_offset = (num_pels_log2_lookup[plane_bsize] > |
500 | 8.91M | num_pels_log2_lookup[txsize_to_bsize[tx_size]]) |
501 | 8.91M | ? 10 |
502 | 8.91M | : 7; |
503 | 8.91M | txb_ctx->txb_skip_ctx = ctx_base + ctx_offset; |
504 | 8.91M | } |
505 | 14.9M | } decodetxb.c:get_txb_ctx_general Line | Count | Source | 448 | 14.9M | TXB_CTX *const txb_ctx) { | 449 | 14.9M | const int txb_w_unit = tx_size_wide_unit[tx_size]; | 450 | 14.9M | const int txb_h_unit = tx_size_high_unit[tx_size]; | 451 | 14.9M | int dc_sign = 0; | 452 | 14.9M | int k = 0; | 453 | | | 454 | 67.2M | do { | 455 | 67.2M | const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS; | 456 | 67.2M | assert(sign <= 2); | 457 | 67.2M | dc_sign += kTxbCtxSigns[sign]; | 458 | 67.2M | } while (++k < txb_w_unit); | 459 | | | 460 | 14.9M | k = 0; | 461 | 44.9M | do { | 462 | 44.9M | const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS; | 463 | 44.9M | assert(sign <= 2); | 464 | 44.9M | dc_sign += kTxbCtxSigns[sign]; | 465 | 44.9M | } while (++k < txb_h_unit); | 466 | | | 467 | 14.9M | txb_ctx->dc_sign_ctx = kTxbCtxDcSignContexts[dc_sign + 2 * MAX_TX_SIZE_UNIT]; | 468 | | | 469 | 14.9M | if (plane == 0) { | 470 | 5.99M | if (plane_bsize == txsize_to_bsize[tx_size]) { | 471 | 5.11M | txb_ctx->txb_skip_ctx = 0; | 472 | 5.11M | } else { | 473 | | // For top and left, we only care about which of the following three | 474 | | // categories they belong to: { 0 }, { 1, 2, 3 }, or { 4, 5, ... }. The | 475 | | // spec calculates top and left with the Max() function. We can calculate | 476 | | // an approximate max with bitwise OR because the real max and the | 477 | | // approximate max belong to the same category. | 478 | 886k | int top = 0; | 479 | 886k | int left = 0; | 480 | | | 481 | 886k | k = 0; | 482 | 8.89M | do { | 483 | 8.89M | top |= a[k]; | 484 | 8.89M | } while (++k < txb_w_unit); | 485 | 886k | top &= COEFF_CONTEXT_MASK; | 486 | 886k | top = AOMMIN(top, 4); | 487 | | | 488 | 886k | k = 0; | 489 | 8.80M | do { | 490 | 8.80M | left |= l[k]; | 491 | 8.80M | } while (++k < txb_h_unit); | 492 | 886k | left &= COEFF_CONTEXT_MASK; | 493 | 886k | left = AOMMIN(left, 4); | 494 | | | 495 | 886k | txb_ctx->txb_skip_ctx = kTxbCtxSkipContexts[top][left]; | 496 | 886k | } | 497 | 8.91M | } else { | 498 | 8.91M | const int ctx_base = get_entropy_context(tx_size, a, l); | 499 | 8.91M | const int ctx_offset = (num_pels_log2_lookup[plane_bsize] > | 500 | 8.91M | num_pels_log2_lookup[txsize_to_bsize[tx_size]]) | 501 | 8.91M | ? 10 | 502 | 8.91M | : 7; | 503 | 8.91M | txb_ctx->txb_skip_ctx = ctx_base + ctx_offset; | 504 | 8.91M | } | 505 | 14.9M | } |
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: av1_quantize.c:get_txb_ctx_general Unexecuted instantiation: encodetxb.c:get_txb_ctx_general Unexecuted instantiation: pickrst.c:get_txb_ctx_general Unexecuted instantiation: rd.c:get_txb_ctx_general Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_txb_ctx_general Unexecuted instantiation: intra_mode_search_sse2.c:get_txb_ctx_general Unexecuted instantiation: temporal_filter_sse2.c:get_txb_ctx_general Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_txb_ctx_general Unexecuted instantiation: encodetxb_sse4.c:get_txb_ctx_general Unexecuted instantiation: rdopt_sse4.c:get_txb_ctx_general Unexecuted instantiation: pickrst_sse4.c:get_txb_ctx_general Unexecuted instantiation: encodetxb_avx2.c:get_txb_ctx_general Unexecuted instantiation: rdopt_avx2.c:get_txb_ctx_general Unexecuted instantiation: temporal_filter_avx2.c:get_txb_ctx_general Unexecuted instantiation: pickrst_avx2.c:get_txb_ctx_general Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_txb_ctx_general Unexecuted instantiation: bitstream.c:get_txb_ctx_general Unexecuted instantiation: compound_type.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: encode_strategy.c:get_txb_ctx_general Unexecuted instantiation: encoder.c:get_txb_ctx_general Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_txb_ctx_general Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: 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: allintra_vis.c:get_txb_ctx_general Unexecuted instantiation: context_tree.c:get_txb_ctx_general Unexecuted instantiation: global_motion.c:get_txb_ctx_general Unexecuted instantiation: av1_cx_iface.c:get_txb_ctx_general |
506 | | |
507 | | #define SPECIALIZE_GET_TXB_CTX(w, h) \ |
508 | | static void get_txb_ctx_##w##x##h( \ |
509 | | const BLOCK_SIZE plane_bsize, const int plane, \ |
510 | | const ENTROPY_CONTEXT *const a, const ENTROPY_CONTEXT *const l, \ |
511 | 20.5M | TXB_CTX *const txb_ctx) { \ |
512 | 20.5M | const TX_SIZE tx_size = TX_##w##X##h; \ |
513 | 20.5M | const int txb_w_unit = tx_size_wide_unit[tx_size]; \ |
514 | 20.5M | const int txb_h_unit = tx_size_high_unit[tx_size]; \ |
515 | 20.5M | int dc_sign = 0; \ |
516 | 20.5M | int k = 0; \ |
517 | 20.5M | \ |
518 | 52.2M | do { \ |
519 | 52.2M | const unsigned int sign = ((uint8_t)a[k]) >> COEFF_CONTEXT_BITS; \ |
520 | 52.2M | assert(sign <= 2); \ |
521 | 52.2M | dc_sign += kTxbCtxSigns[sign]; \ |
522 | 52.2M | } while (++k < txb_w_unit); \ |
523 | 20.5M | \ |
524 | 20.6M | k = 0; \ |
525 | 52.2M | do { \ |
526 | 52.2M | const unsigned int sign = ((uint8_t)l[k]) >> COEFF_CONTEXT_BITS; \ |
527 | 52.2M | assert(sign <= 2); \ |
528 | 52.2M | dc_sign += kTxbCtxSigns[sign]; \ |
529 | 52.2M | } while (++k < txb_h_unit); \ |
530 | 20.6M | \ |
531 | 20.6M | txb_ctx->dc_sign_ctx = \ |
532 | 20.6M | kTxbCtxDcSignContexts[dc_sign + 2 * MAX_TX_SIZE_UNIT]; \ |
533 | 20.6M | \ |
534 | 20.6M | if (plane == 0) { \ |
535 | 9.56M | if (plane_bsize == txsize_to_bsize[tx_size]) { \ |
536 | 3.07M | txb_ctx->txb_skip_ctx = 0; \ |
537 | 6.48M | } else { \ |
538 | 6.48M | int top = 0; \ |
539 | 6.48M | int left = 0; \ |
540 | 6.48M | \ |
541 | 6.48M | k = 0; \ |
542 | 9.93M | do { \ |
543 | 9.93M | top |= a[k]; \ |
544 | 9.93M | } while (++k < txb_w_unit); \ |
545 | 6.48M | top &= COEFF_CONTEXT_MASK; \ |
546 | 6.48M | top = AOMMIN(top, 4); \ |
547 | 6.48M | \ |
548 | 6.48M | k = 0; \ |
549 | 9.93M | do { \ |
550 | 9.93M | left |= l[k]; \ |
551 | 9.93M | } while (++k < txb_h_unit); \ |
552 | 6.48M | left &= COEFF_CONTEXT_MASK; \ |
553 | 6.48M | left = AOMMIN(left, 4); \ |
554 | 6.48M | \ |
555 | 6.48M | txb_ctx->txb_skip_ctx = kTxbCtxSkipContexts[top][left]; \ |
556 | 6.48M | } \ |
557 | 11.0M | } else { \ |
558 | 11.0M | const int ctx_base = get_entropy_context(tx_size, a, l); \ |
559 | 11.0M | const int ctx_offset = (num_pels_log2_lookup[plane_bsize] > \ |
560 | 11.0M | num_pels_log2_lookup[txsize_to_bsize[tx_size]]) \ |
561 | 11.0M | ? 10 \ |
562 | 11.0M | : 7; \ |
563 | 11.0M | txb_ctx->txb_skip_ctx = ctx_base + ctx_offset; \ |
564 | 11.0M | } \ |
565 | 20.6M | } 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: 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: 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: 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: 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: 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: encodetxb_sse2.c:get_txb_ctx_4x4 Unexecuted instantiation: encodetxb_sse2.c:get_txb_ctx_8x8 Unexecuted instantiation: encodetxb_sse2.c:get_txb_ctx_16x16 Unexecuted instantiation: encodetxb_sse2.c:get_txb_ctx_32x32 Unexecuted instantiation: intra_mode_search_sse2.c:get_txb_ctx_4x4 Unexecuted instantiation: intra_mode_search_sse2.c:get_txb_ctx_8x8 Unexecuted instantiation: intra_mode_search_sse2.c:get_txb_ctx_16x16 Unexecuted instantiation: intra_mode_search_sse2.c:get_txb_ctx_32x32 Unexecuted instantiation: temporal_filter_sse2.c:get_txb_ctx_4x4 Unexecuted instantiation: temporal_filter_sse2.c:get_txb_ctx_8x8 Unexecuted instantiation: temporal_filter_sse2.c:get_txb_ctx_16x16 Unexecuted instantiation: temporal_filter_sse2.c:get_txb_ctx_32x32 Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_txb_ctx_4x4 Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_txb_ctx_8x8 Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_txb_ctx_16x16 Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_txb_ctx_32x32 Unexecuted instantiation: encodetxb_sse4.c:get_txb_ctx_4x4 Unexecuted instantiation: encodetxb_sse4.c:get_txb_ctx_8x8 Unexecuted instantiation: encodetxb_sse4.c:get_txb_ctx_16x16 Unexecuted instantiation: encodetxb_sse4.c:get_txb_ctx_32x32 Unexecuted instantiation: rdopt_sse4.c:get_txb_ctx_4x4 Unexecuted instantiation: rdopt_sse4.c:get_txb_ctx_8x8 Unexecuted instantiation: rdopt_sse4.c:get_txb_ctx_16x16 Unexecuted instantiation: rdopt_sse4.c:get_txb_ctx_32x32 Unexecuted instantiation: pickrst_sse4.c:get_txb_ctx_4x4 Unexecuted instantiation: pickrst_sse4.c:get_txb_ctx_8x8 Unexecuted instantiation: pickrst_sse4.c:get_txb_ctx_16x16 Unexecuted instantiation: pickrst_sse4.c:get_txb_ctx_32x32 Unexecuted instantiation: encodetxb_avx2.c:get_txb_ctx_4x4 Unexecuted instantiation: encodetxb_avx2.c:get_txb_ctx_8x8 Unexecuted instantiation: encodetxb_avx2.c:get_txb_ctx_16x16 Unexecuted instantiation: encodetxb_avx2.c:get_txb_ctx_32x32 Unexecuted instantiation: rdopt_avx2.c:get_txb_ctx_4x4 Unexecuted instantiation: rdopt_avx2.c:get_txb_ctx_8x8 Unexecuted instantiation: rdopt_avx2.c:get_txb_ctx_16x16 Unexecuted instantiation: rdopt_avx2.c:get_txb_ctx_32x32 Unexecuted instantiation: temporal_filter_avx2.c:get_txb_ctx_4x4 Unexecuted instantiation: temporal_filter_avx2.c:get_txb_ctx_8x8 Unexecuted instantiation: temporal_filter_avx2.c:get_txb_ctx_16x16 Unexecuted instantiation: temporal_filter_avx2.c:get_txb_ctx_32x32 Unexecuted instantiation: pickrst_avx2.c:get_txb_ctx_4x4 Unexecuted instantiation: pickrst_avx2.c:get_txb_ctx_8x8 Unexecuted instantiation: pickrst_avx2.c:get_txb_ctx_16x16 Unexecuted instantiation: pickrst_avx2.c:get_txb_ctx_32x32 Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_txb_ctx_4x4 Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_txb_ctx_8x8 Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_txb_ctx_16x16 Unexecuted instantiation: highbd_temporal_filter_avx2.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: 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: 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: 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: 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: 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: 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: 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: 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: 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 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: 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: 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: 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: 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: 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: 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: 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 |
566 | | |
567 | 10.2M | SPECIALIZE_GET_TXB_CTX(4, 4) decodetxb.c:get_txb_ctx_4x4 Line | Count | Source | 567 | | SPECIALIZE_GET_TXB_CTX(4, 4) |
Unexecuted instantiation: encodetxb.c:get_txb_ctx_4x4 Unexecuted instantiation: tx_search.c:get_txb_ctx_4x4 Unexecuted instantiation: encodemb.c:get_txb_ctx_4x4 |
568 | 4.89M | SPECIALIZE_GET_TXB_CTX(8, 8) decodetxb.c:get_txb_ctx_8x8 Line | Count | Source | 568 | | SPECIALIZE_GET_TXB_CTX(8, 8) |
Unexecuted instantiation: encodetxb.c:get_txb_ctx_8x8 Unexecuted instantiation: tx_search.c:get_txb_ctx_8x8 Unexecuted instantiation: encodemb.c:get_txb_ctx_8x8 |
569 | 2.85M | SPECIALIZE_GET_TXB_CTX(16, 16) decodetxb.c:get_txb_ctx_16x16 Line | Count | Source | 569 | | SPECIALIZE_GET_TXB_CTX(16, 16) |
Unexecuted instantiation: encodetxb.c:get_txb_ctx_16x16 Unexecuted instantiation: tx_search.c:get_txb_ctx_16x16 Unexecuted instantiation: encodemb.c:get_txb_ctx_16x16 |
570 | 2.59M | SPECIALIZE_GET_TXB_CTX(32, 32) decodetxb.c:get_txb_ctx_32x32 Line | Count | Source | 570 | | SPECIALIZE_GET_TXB_CTX(32, 32) |
Unexecuted instantiation: encodetxb.c:get_txb_ctx_32x32 Unexecuted instantiation: tx_search.c:get_txb_ctx_32x32 Unexecuted instantiation: encodemb.c:get_txb_ctx_32x32 |
571 | | |
572 | | // Wrapper for get_txb_ctx that calls the specialized version of get_txb_ctc_* |
573 | | // so that the compiler can compile away the while loops. |
574 | | static inline void get_txb_ctx(const BLOCK_SIZE plane_bsize, |
575 | | const TX_SIZE tx_size, const int plane, |
576 | | const ENTROPY_CONTEXT *const a, |
577 | | const ENTROPY_CONTEXT *const l, |
578 | 35.4M | TXB_CTX *const txb_ctx) { |
579 | 35.4M | switch (tx_size) { |
580 | 10.2M | case TX_4X4: get_txb_ctx_4x4(plane_bsize, plane, a, l, txb_ctx); break; |
581 | 4.89M | case TX_8X8: get_txb_ctx_8x8(plane_bsize, plane, a, l, txb_ctx); break; |
582 | 2.85M | case TX_16X16: get_txb_ctx_16x16(plane_bsize, plane, a, l, txb_ctx); break; |
583 | 2.59M | case TX_32X32: get_txb_ctx_32x32(plane_bsize, plane, a, l, txb_ctx); break; |
584 | 14.9M | default: |
585 | 14.9M | get_txb_ctx_general(plane_bsize, tx_size, plane, a, l, txb_ctx); |
586 | 14.9M | break; |
587 | 35.4M | } |
588 | 35.4M | } Line | Count | Source | 578 | 35.4M | TXB_CTX *const txb_ctx) { | 579 | 35.4M | switch (tx_size) { | 580 | 10.2M | case TX_4X4: get_txb_ctx_4x4(plane_bsize, plane, a, l, txb_ctx); break; | 581 | 4.89M | case TX_8X8: get_txb_ctx_8x8(plane_bsize, plane, a, l, txb_ctx); break; | 582 | 2.85M | case TX_16X16: get_txb_ctx_16x16(plane_bsize, plane, a, l, txb_ctx); break; | 583 | 2.59M | case TX_32X32: get_txb_ctx_32x32(plane_bsize, plane, a, l, txb_ctx); break; | 584 | 14.9M | default: | 585 | 14.9M | get_txb_ctx_general(plane_bsize, tx_size, plane, a, l, txb_ctx); | 586 | 14.9M | break; | 587 | 35.4M | } | 588 | 35.4M | } |
Unexecuted instantiation: entropy.c:get_txb_ctx Unexecuted instantiation: entropymode.c:get_txb_ctx Unexecuted instantiation: txb_common.c:get_txb_ctx Unexecuted instantiation: av1_quantize.c:get_txb_ctx Unexecuted instantiation: encodetxb.c:get_txb_ctx Unexecuted instantiation: pickrst.c:get_txb_ctx Unexecuted instantiation: rd.c:get_txb_ctx Unexecuted instantiation: rdopt.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: encodetxb_sse2.c:get_txb_ctx Unexecuted instantiation: intra_mode_search_sse2.c:get_txb_ctx Unexecuted instantiation: temporal_filter_sse2.c:get_txb_ctx Unexecuted instantiation: highbd_temporal_filter_sse2.c:get_txb_ctx Unexecuted instantiation: encodetxb_sse4.c:get_txb_ctx Unexecuted instantiation: rdopt_sse4.c:get_txb_ctx Unexecuted instantiation: pickrst_sse4.c:get_txb_ctx Unexecuted instantiation: encodetxb_avx2.c:get_txb_ctx Unexecuted instantiation: rdopt_avx2.c:get_txb_ctx Unexecuted instantiation: temporal_filter_avx2.c:get_txb_ctx Unexecuted instantiation: pickrst_avx2.c:get_txb_ctx Unexecuted instantiation: highbd_temporal_filter_avx2.c:get_txb_ctx Unexecuted instantiation: bitstream.c:get_txb_ctx Unexecuted instantiation: compound_type.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: encode_strategy.c:get_txb_ctx Unexecuted instantiation: encoder.c:get_txb_ctx Unexecuted instantiation: encoder_utils.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: gop_structure.c:get_txb_ctx Unexecuted instantiation: interp_search.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: motion_search_facade.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: ratectrl.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: aq_complexity.c:get_txb_ctx Unexecuted instantiation: aq_cyclicrefresh.c:get_txb_ctx Unexecuted instantiation: aq_variance.c:get_txb_ctx Unexecuted instantiation: allintra_vis.c:get_txb_ctx Unexecuted instantiation: context_tree.c:get_txb_ctx Unexecuted instantiation: global_motion.c:get_txb_ctx Unexecuted instantiation: av1_cx_iface.c:get_txb_ctx |
589 | | #undef MAX_TX_SIZE_UNIT |
590 | | |
591 | | #ifdef __cplusplus |
592 | | } // extern "C" |
593 | | #endif |
594 | | |
595 | | #endif // AOM_AV1_COMMON_TXB_COMMON_H_ |