/src/aom/av1/common/av1_txfm.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (c) 2016, 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_AV1_TXFM_H_ |
13 | | #define AOM_AV1_COMMON_AV1_TXFM_H_ |
14 | | |
15 | | #include <assert.h> |
16 | | #include <math.h> |
17 | | #include <stdio.h> |
18 | | |
19 | | #include "config/aom_config.h" |
20 | | |
21 | | #include "av1/common/enums.h" |
22 | | #include "av1/common/blockd.h" |
23 | | #include "aom/aom_integer.h" |
24 | | #include "aom_dsp/aom_dsp_common.h" |
25 | | |
26 | | #ifdef __cplusplus |
27 | | extern "C" { |
28 | | #endif |
29 | | |
30 | | #if !defined(DO_RANGE_CHECK_CLAMP) |
31 | | #define DO_RANGE_CHECK_CLAMP 0 |
32 | | #endif |
33 | | |
34 | | extern const int32_t av1_cospi_arr_data[4][64]; |
35 | | extern const int32_t av1_sinpi_arr_data[4][5]; |
36 | | |
37 | 22.3M | #define MAX_TXFM_STAGE_NUM 12 |
38 | | |
39 | | static const int cos_bit_min = 10; |
40 | | |
41 | 108M | #define NewSqrt2Bits ((int32_t)12) |
42 | | // 2^12 * sqrt(2) |
43 | | static const int32_t NewSqrt2 = 5793; |
44 | | // 2^12 / sqrt(2) |
45 | | static const int32_t NewInvSqrt2 = 2896; |
46 | | |
47 | 36.7M | static inline const int32_t *cospi_arr(int n) { |
48 | 36.7M | return av1_cospi_arr_data[n - cos_bit_min]; |
49 | 36.7M | } Unexecuted instantiation: av1_dx_iface.c:cospi_arr Unexecuted instantiation: decodeframe.c:cospi_arr Unexecuted instantiation: decodemv.c:cospi_arr Unexecuted instantiation: decoder.c:cospi_arr Unexecuted instantiation: decodetxb.c:cospi_arr Unexecuted instantiation: detokenize.c:cospi_arr Unexecuted instantiation: obu.c:cospi_arr Unexecuted instantiation: av1_cx_iface.c:cospi_arr Unexecuted instantiation: allintra_vis.c:cospi_arr Unexecuted instantiation: av1_quantize.c:cospi_arr Unexecuted instantiation: bitstream.c:cospi_arr Unexecuted instantiation: context_tree.c:cospi_arr Unexecuted instantiation: encodeframe.c:cospi_arr Unexecuted instantiation: encodeframe_utils.c:cospi_arr Unexecuted instantiation: encodemb.c:cospi_arr Unexecuted instantiation: encodemv.c:cospi_arr Unexecuted instantiation: encoder.c:cospi_arr Unexecuted instantiation: encoder_utils.c:cospi_arr Unexecuted instantiation: encodetxb.c:cospi_arr Unexecuted instantiation: ethread.c:cospi_arr Unexecuted instantiation: firstpass.c:cospi_arr Unexecuted instantiation: global_motion_facade.c:cospi_arr Unexecuted instantiation: hash.c:cospi_arr Unexecuted instantiation: hash_motion.c:cospi_arr Unexecuted instantiation: hybrid_fwd_txfm.c:cospi_arr Unexecuted instantiation: level.c:cospi_arr Unexecuted instantiation: lookahead.c:cospi_arr Unexecuted instantiation: mcomp.c:cospi_arr Unexecuted instantiation: mv_prec.c:cospi_arr Unexecuted instantiation: palette.c:cospi_arr Unexecuted instantiation: partition_search.c:cospi_arr Unexecuted instantiation: partition_strategy.c:cospi_arr Unexecuted instantiation: pass2_strategy.c:cospi_arr Unexecuted instantiation: pickcdef.c:cospi_arr Unexecuted instantiation: picklpf.c:cospi_arr Unexecuted instantiation: pickrst.c:cospi_arr Unexecuted instantiation: ratectrl.c:cospi_arr Unexecuted instantiation: rd.c:cospi_arr Unexecuted instantiation: rdopt.c:cospi_arr Unexecuted instantiation: nonrd_pickmode.c:cospi_arr Unexecuted instantiation: nonrd_opt.c:cospi_arr Unexecuted instantiation: reconinter_enc.c:cospi_arr Unexecuted instantiation: segmentation.c:cospi_arr Unexecuted instantiation: speed_features.c:cospi_arr Unexecuted instantiation: superres_scale.c:cospi_arr Unexecuted instantiation: svc_layercontext.c:cospi_arr Unexecuted instantiation: temporal_filter.c:cospi_arr Unexecuted instantiation: tokenize.c:cospi_arr Unexecuted instantiation: tpl_model.c:cospi_arr Unexecuted instantiation: tx_search.c:cospi_arr Unexecuted instantiation: txb_rdopt.c:cospi_arr Unexecuted instantiation: intra_mode_search.c:cospi_arr Unexecuted instantiation: var_based_part.c:cospi_arr Unexecuted instantiation: av1_noise_estimate.c:cospi_arr Unexecuted instantiation: dwt.c:cospi_arr Unexecuted instantiation: av1_rtcd.c:cospi_arr Unexecuted instantiation: variance.c:cospi_arr Unexecuted instantiation: pyramid.c:cospi_arr Unexecuted instantiation: alloccommon.c:cospi_arr Unexecuted instantiation: av1_loopfilter.c:cospi_arr Unexecuted instantiation: blockd.c:cospi_arr Unexecuted instantiation: cdef.c:cospi_arr Unexecuted instantiation: cdef_block.c:cospi_arr Unexecuted instantiation: cfl.c:cospi_arr Unexecuted instantiation: debugmodes.c:cospi_arr Unexecuted instantiation: entropy.c:cospi_arr Unexecuted instantiation: entropymode.c:cospi_arr Unexecuted instantiation: entropymv.c:cospi_arr Unexecuted instantiation: idct.c:cospi_arr Unexecuted instantiation: mvref_common.c:cospi_arr Unexecuted instantiation: pred_common.c:cospi_arr Unexecuted instantiation: quant_common.c:cospi_arr Unexecuted instantiation: reconinter.c:cospi_arr Unexecuted instantiation: reconintra.c:cospi_arr Unexecuted instantiation: resize.c:cospi_arr Unexecuted instantiation: restoration.c:cospi_arr Unexecuted instantiation: scale.c:cospi_arr Unexecuted instantiation: scan.c:cospi_arr Unexecuted instantiation: thread_common.c:cospi_arr Unexecuted instantiation: tile_common.c:cospi_arr Unexecuted instantiation: txb_common.c:cospi_arr Unexecuted instantiation: warped_motion.c:cospi_arr Unexecuted instantiation: aq_complexity.c:cospi_arr Unexecuted instantiation: aq_cyclicrefresh.c:cospi_arr Unexecuted instantiation: aq_variance.c:cospi_arr Unexecuted instantiation: av1_fwd_txfm2d.c:cospi_arr Unexecuted instantiation: cnn.c:cospi_arr Unexecuted instantiation: compound_type.c:cospi_arr Unexecuted instantiation: encode_strategy.c:cospi_arr Unexecuted instantiation: global_motion.c:cospi_arr Unexecuted instantiation: gop_structure.c:cospi_arr Unexecuted instantiation: interp_search.c:cospi_arr Unexecuted instantiation: ml.c:cospi_arr Unexecuted instantiation: motion_search_facade.c:cospi_arr Unexecuted instantiation: wedge_utils.c:cospi_arr Unexecuted instantiation: av1_inv_txfm2d.c:cospi_arr Unexecuted instantiation: av1_txfm.c:cospi_arr Unexecuted instantiation: convolve.c:cospi_arr Unexecuted instantiation: av1_fwd_txfm1d.c:cospi_arr av1_inv_txfm1d.c:cospi_arr Line | Count | Source | 47 | 36.7M | static inline const int32_t *cospi_arr(int n) { | 48 | 36.7M | return av1_cospi_arr_data[n - cos_bit_min]; | 49 | 36.7M | } |
|
50 | | |
51 | 2.39M | static inline const int32_t *sinpi_arr(int n) { |
52 | 2.39M | return av1_sinpi_arr_data[n - cos_bit_min]; |
53 | 2.39M | } Unexecuted instantiation: av1_dx_iface.c:sinpi_arr Unexecuted instantiation: decodeframe.c:sinpi_arr Unexecuted instantiation: decodemv.c:sinpi_arr Unexecuted instantiation: decoder.c:sinpi_arr Unexecuted instantiation: decodetxb.c:sinpi_arr Unexecuted instantiation: detokenize.c:sinpi_arr Unexecuted instantiation: obu.c:sinpi_arr Unexecuted instantiation: av1_cx_iface.c:sinpi_arr Unexecuted instantiation: allintra_vis.c:sinpi_arr Unexecuted instantiation: av1_quantize.c:sinpi_arr Unexecuted instantiation: bitstream.c:sinpi_arr Unexecuted instantiation: context_tree.c:sinpi_arr Unexecuted instantiation: encodeframe.c:sinpi_arr Unexecuted instantiation: encodeframe_utils.c:sinpi_arr Unexecuted instantiation: encodemb.c:sinpi_arr Unexecuted instantiation: encodemv.c:sinpi_arr Unexecuted instantiation: encoder.c:sinpi_arr Unexecuted instantiation: encoder_utils.c:sinpi_arr Unexecuted instantiation: encodetxb.c:sinpi_arr Unexecuted instantiation: ethread.c:sinpi_arr Unexecuted instantiation: firstpass.c:sinpi_arr Unexecuted instantiation: global_motion_facade.c:sinpi_arr Unexecuted instantiation: hash.c:sinpi_arr Unexecuted instantiation: hash_motion.c:sinpi_arr Unexecuted instantiation: hybrid_fwd_txfm.c:sinpi_arr Unexecuted instantiation: level.c:sinpi_arr Unexecuted instantiation: lookahead.c:sinpi_arr Unexecuted instantiation: mcomp.c:sinpi_arr Unexecuted instantiation: mv_prec.c:sinpi_arr Unexecuted instantiation: palette.c:sinpi_arr Unexecuted instantiation: partition_search.c:sinpi_arr Unexecuted instantiation: partition_strategy.c:sinpi_arr Unexecuted instantiation: pass2_strategy.c:sinpi_arr Unexecuted instantiation: pickcdef.c:sinpi_arr Unexecuted instantiation: picklpf.c:sinpi_arr Unexecuted instantiation: pickrst.c:sinpi_arr Unexecuted instantiation: ratectrl.c:sinpi_arr Unexecuted instantiation: rd.c:sinpi_arr Unexecuted instantiation: rdopt.c:sinpi_arr Unexecuted instantiation: nonrd_pickmode.c:sinpi_arr Unexecuted instantiation: nonrd_opt.c:sinpi_arr Unexecuted instantiation: reconinter_enc.c:sinpi_arr Unexecuted instantiation: segmentation.c:sinpi_arr Unexecuted instantiation: speed_features.c:sinpi_arr Unexecuted instantiation: superres_scale.c:sinpi_arr Unexecuted instantiation: svc_layercontext.c:sinpi_arr Unexecuted instantiation: temporal_filter.c:sinpi_arr Unexecuted instantiation: tokenize.c:sinpi_arr Unexecuted instantiation: tpl_model.c:sinpi_arr Unexecuted instantiation: tx_search.c:sinpi_arr Unexecuted instantiation: txb_rdopt.c:sinpi_arr Unexecuted instantiation: intra_mode_search.c:sinpi_arr Unexecuted instantiation: var_based_part.c:sinpi_arr Unexecuted instantiation: av1_noise_estimate.c:sinpi_arr Unexecuted instantiation: dwt.c:sinpi_arr Unexecuted instantiation: av1_rtcd.c:sinpi_arr Unexecuted instantiation: variance.c:sinpi_arr Unexecuted instantiation: pyramid.c:sinpi_arr Unexecuted instantiation: alloccommon.c:sinpi_arr Unexecuted instantiation: av1_loopfilter.c:sinpi_arr Unexecuted instantiation: blockd.c:sinpi_arr Unexecuted instantiation: cdef.c:sinpi_arr Unexecuted instantiation: cdef_block.c:sinpi_arr Unexecuted instantiation: cfl.c:sinpi_arr Unexecuted instantiation: debugmodes.c:sinpi_arr Unexecuted instantiation: entropy.c:sinpi_arr Unexecuted instantiation: entropymode.c:sinpi_arr Unexecuted instantiation: entropymv.c:sinpi_arr Unexecuted instantiation: idct.c:sinpi_arr Unexecuted instantiation: mvref_common.c:sinpi_arr Unexecuted instantiation: pred_common.c:sinpi_arr Unexecuted instantiation: quant_common.c:sinpi_arr Unexecuted instantiation: reconinter.c:sinpi_arr Unexecuted instantiation: reconintra.c:sinpi_arr Unexecuted instantiation: resize.c:sinpi_arr Unexecuted instantiation: restoration.c:sinpi_arr Unexecuted instantiation: scale.c:sinpi_arr Unexecuted instantiation: scan.c:sinpi_arr Unexecuted instantiation: thread_common.c:sinpi_arr Unexecuted instantiation: tile_common.c:sinpi_arr Unexecuted instantiation: txb_common.c:sinpi_arr Unexecuted instantiation: warped_motion.c:sinpi_arr Unexecuted instantiation: aq_complexity.c:sinpi_arr Unexecuted instantiation: aq_cyclicrefresh.c:sinpi_arr Unexecuted instantiation: aq_variance.c:sinpi_arr Unexecuted instantiation: av1_fwd_txfm2d.c:sinpi_arr Unexecuted instantiation: cnn.c:sinpi_arr Unexecuted instantiation: compound_type.c:sinpi_arr Unexecuted instantiation: encode_strategy.c:sinpi_arr Unexecuted instantiation: global_motion.c:sinpi_arr Unexecuted instantiation: gop_structure.c:sinpi_arr Unexecuted instantiation: interp_search.c:sinpi_arr Unexecuted instantiation: ml.c:sinpi_arr Unexecuted instantiation: motion_search_facade.c:sinpi_arr Unexecuted instantiation: wedge_utils.c:sinpi_arr Unexecuted instantiation: av1_inv_txfm2d.c:sinpi_arr Unexecuted instantiation: av1_txfm.c:sinpi_arr Unexecuted instantiation: convolve.c:sinpi_arr Unexecuted instantiation: av1_fwd_txfm1d.c:sinpi_arr av1_inv_txfm1d.c:sinpi_arr Line | Count | Source | 51 | 2.39M | static inline const int32_t *sinpi_arr(int n) { | 52 | 2.39M | return av1_sinpi_arr_data[n - cos_bit_min]; | 53 | 2.39M | } |
|
54 | | |
55 | | // The reduced bit-width and permuted arrays are only used in the Arm Neon |
56 | | // implementations in av1_fwd_txfm2d_neon.c and highbd_fwd_txfm_neon.c for now. |
57 | | #if HAVE_NEON |
58 | | // Store cospi/sinpi costants in Q2.13 format. |
59 | | // See: https://en.wikipedia.org/wiki/Q_(number_format) |
60 | | extern const int16_t av1_cospi_arr_q13_data[4][128]; |
61 | | extern const int16_t av1_sinpi_arr_q13_data[4][4]; |
62 | | |
63 | | extern const int32_t av1_cospi_arr_s32_data[4][66]; |
64 | | |
65 | | static inline const int16_t *cospi_arr_q13(int n) { |
66 | | return av1_cospi_arr_q13_data[n - cos_bit_min]; |
67 | | } |
68 | | |
69 | | static inline const int16_t *sinpi_arr_q13(int n) { |
70 | | return av1_sinpi_arr_q13_data[n - cos_bit_min]; |
71 | | } |
72 | | |
73 | | static inline const int32_t *cospi_arr_s32(int n) { |
74 | | return av1_cospi_arr_s32_data[n - cos_bit_min]; |
75 | | } |
76 | | #endif // HAVE_NEON |
77 | | |
78 | 55.1M | static inline int32_t range_check_value(int32_t value, int8_t bit) { |
79 | | #if CONFIG_COEFFICIENT_RANGE_CHECKING |
80 | | const int64_t max_value = (1LL << (bit - 1)) - 1; |
81 | | const int64_t min_value = -(1LL << (bit - 1)); |
82 | | if (value < min_value || value > max_value) { |
83 | | fprintf(stderr, "coeff out of bit range, value: %d bit %d\n", value, bit); |
84 | | #if !CONFIG_AV1_ENCODER |
85 | | assert(0); |
86 | | #endif |
87 | | } |
88 | | #endif // CONFIG_COEFFICIENT_RANGE_CHECKING |
89 | 55.1M | #if DO_RANGE_CHECK_CLAMP |
90 | 55.1M | bit = AOMMIN(bit, 31); |
91 | 55.1M | return clamp(value, -(1 << (bit - 1)), (1 << (bit - 1)) - 1); |
92 | 0 | #endif // DO_RANGE_CHECK_CLAMP |
93 | 0 | (void)bit; |
94 | 0 | return value; |
95 | 55.1M | } Unexecuted instantiation: av1_dx_iface.c:range_check_value Unexecuted instantiation: decodeframe.c:range_check_value Unexecuted instantiation: decodemv.c:range_check_value Unexecuted instantiation: decoder.c:range_check_value Unexecuted instantiation: decodetxb.c:range_check_value Unexecuted instantiation: detokenize.c:range_check_value Unexecuted instantiation: obu.c:range_check_value Unexecuted instantiation: av1_cx_iface.c:range_check_value Unexecuted instantiation: allintra_vis.c:range_check_value Unexecuted instantiation: av1_quantize.c:range_check_value Unexecuted instantiation: bitstream.c:range_check_value Unexecuted instantiation: context_tree.c:range_check_value Unexecuted instantiation: encodeframe.c:range_check_value Unexecuted instantiation: encodeframe_utils.c:range_check_value Unexecuted instantiation: encodemb.c:range_check_value Unexecuted instantiation: encodemv.c:range_check_value Unexecuted instantiation: encoder.c:range_check_value Unexecuted instantiation: encoder_utils.c:range_check_value Unexecuted instantiation: encodetxb.c:range_check_value Unexecuted instantiation: ethread.c:range_check_value Unexecuted instantiation: firstpass.c:range_check_value Unexecuted instantiation: global_motion_facade.c:range_check_value Unexecuted instantiation: hash.c:range_check_value Unexecuted instantiation: hash_motion.c:range_check_value Unexecuted instantiation: hybrid_fwd_txfm.c:range_check_value Unexecuted instantiation: level.c:range_check_value Unexecuted instantiation: lookahead.c:range_check_value Unexecuted instantiation: mcomp.c:range_check_value Unexecuted instantiation: mv_prec.c:range_check_value Unexecuted instantiation: palette.c:range_check_value Unexecuted instantiation: partition_search.c:range_check_value Unexecuted instantiation: partition_strategy.c:range_check_value Unexecuted instantiation: pass2_strategy.c:range_check_value Unexecuted instantiation: pickcdef.c:range_check_value Unexecuted instantiation: picklpf.c:range_check_value Unexecuted instantiation: pickrst.c:range_check_value Unexecuted instantiation: ratectrl.c:range_check_value Unexecuted instantiation: rd.c:range_check_value Unexecuted instantiation: rdopt.c:range_check_value Unexecuted instantiation: nonrd_pickmode.c:range_check_value Unexecuted instantiation: nonrd_opt.c:range_check_value Unexecuted instantiation: reconinter_enc.c:range_check_value Unexecuted instantiation: segmentation.c:range_check_value Unexecuted instantiation: speed_features.c:range_check_value Unexecuted instantiation: superres_scale.c:range_check_value Unexecuted instantiation: svc_layercontext.c:range_check_value Unexecuted instantiation: temporal_filter.c:range_check_value Unexecuted instantiation: tokenize.c:range_check_value Unexecuted instantiation: tpl_model.c:range_check_value Unexecuted instantiation: tx_search.c:range_check_value Unexecuted instantiation: txb_rdopt.c:range_check_value Unexecuted instantiation: intra_mode_search.c:range_check_value Unexecuted instantiation: var_based_part.c:range_check_value Unexecuted instantiation: av1_noise_estimate.c:range_check_value Unexecuted instantiation: dwt.c:range_check_value Unexecuted instantiation: av1_rtcd.c:range_check_value Unexecuted instantiation: variance.c:range_check_value Unexecuted instantiation: pyramid.c:range_check_value Unexecuted instantiation: alloccommon.c:range_check_value Unexecuted instantiation: av1_loopfilter.c:range_check_value Unexecuted instantiation: blockd.c:range_check_value Unexecuted instantiation: cdef.c:range_check_value Unexecuted instantiation: cdef_block.c:range_check_value Unexecuted instantiation: cfl.c:range_check_value Unexecuted instantiation: debugmodes.c:range_check_value Unexecuted instantiation: entropy.c:range_check_value Unexecuted instantiation: entropymode.c:range_check_value Unexecuted instantiation: entropymv.c:range_check_value Unexecuted instantiation: idct.c:range_check_value Unexecuted instantiation: mvref_common.c:range_check_value Unexecuted instantiation: pred_common.c:range_check_value Unexecuted instantiation: quant_common.c:range_check_value Unexecuted instantiation: reconinter.c:range_check_value Unexecuted instantiation: reconintra.c:range_check_value Unexecuted instantiation: resize.c:range_check_value Unexecuted instantiation: restoration.c:range_check_value Unexecuted instantiation: scale.c:range_check_value Unexecuted instantiation: scan.c:range_check_value Unexecuted instantiation: thread_common.c:range_check_value Unexecuted instantiation: tile_common.c:range_check_value Unexecuted instantiation: txb_common.c:range_check_value Unexecuted instantiation: warped_motion.c:range_check_value Unexecuted instantiation: aq_complexity.c:range_check_value Unexecuted instantiation: aq_cyclicrefresh.c:range_check_value Unexecuted instantiation: aq_variance.c:range_check_value Unexecuted instantiation: av1_fwd_txfm2d.c:range_check_value Unexecuted instantiation: cnn.c:range_check_value Unexecuted instantiation: compound_type.c:range_check_value Unexecuted instantiation: encode_strategy.c:range_check_value Unexecuted instantiation: global_motion.c:range_check_value Unexecuted instantiation: gop_structure.c:range_check_value Unexecuted instantiation: interp_search.c:range_check_value Unexecuted instantiation: ml.c:range_check_value Unexecuted instantiation: motion_search_facade.c:range_check_value Unexecuted instantiation: wedge_utils.c:range_check_value av1_inv_txfm2d.c:range_check_value Line | Count | Source | 78 | 19.5M | static inline int32_t range_check_value(int32_t value, int8_t bit) { | 79 | | #if CONFIG_COEFFICIENT_RANGE_CHECKING | 80 | | const int64_t max_value = (1LL << (bit - 1)) - 1; | 81 | | const int64_t min_value = -(1LL << (bit - 1)); | 82 | | if (value < min_value || value > max_value) { | 83 | | fprintf(stderr, "coeff out of bit range, value: %d bit %d\n", value, bit); | 84 | | #if !CONFIG_AV1_ENCODER | 85 | | assert(0); | 86 | | #endif | 87 | | } | 88 | | #endif // CONFIG_COEFFICIENT_RANGE_CHECKING | 89 | 19.5M | #if DO_RANGE_CHECK_CLAMP | 90 | 19.5M | bit = AOMMIN(bit, 31); | 91 | 19.5M | return clamp(value, -(1 << (bit - 1)), (1 << (bit - 1)) - 1); | 92 | 0 | #endif // DO_RANGE_CHECK_CLAMP | 93 | 0 | (void)bit; | 94 | 0 | return value; | 95 | 19.5M | } |
Unexecuted instantiation: av1_txfm.c:range_check_value Unexecuted instantiation: convolve.c:range_check_value Unexecuted instantiation: av1_fwd_txfm1d.c:range_check_value av1_inv_txfm1d.c:range_check_value Line | Count | Source | 78 | 35.6M | static inline int32_t range_check_value(int32_t value, int8_t bit) { | 79 | | #if CONFIG_COEFFICIENT_RANGE_CHECKING | 80 | | const int64_t max_value = (1LL << (bit - 1)) - 1; | 81 | | const int64_t min_value = -(1LL << (bit - 1)); | 82 | | if (value < min_value || value > max_value) { | 83 | | fprintf(stderr, "coeff out of bit range, value: %d bit %d\n", value, bit); | 84 | | #if !CONFIG_AV1_ENCODER | 85 | | assert(0); | 86 | | #endif | 87 | | } | 88 | | #endif // CONFIG_COEFFICIENT_RANGE_CHECKING | 89 | 35.6M | #if DO_RANGE_CHECK_CLAMP | 90 | 35.6M | bit = AOMMIN(bit, 31); | 91 | 35.6M | return clamp(value, -(1 << (bit - 1)), (1 << (bit - 1)) - 1); | 92 | 0 | #endif // DO_RANGE_CHECK_CLAMP | 93 | 0 | (void)bit; | 94 | 0 | return value; | 95 | 35.6M | } |
|
96 | | |
97 | 898M | static inline int32_t round_shift(int64_t value, int bit) { |
98 | 898M | assert(bit >= 1); |
99 | 898M | return (int32_t)((value + (1ll << (bit - 1))) >> bit); |
100 | 898M | } Unexecuted instantiation: av1_dx_iface.c:round_shift Unexecuted instantiation: decodeframe.c:round_shift Unexecuted instantiation: decodemv.c:round_shift Unexecuted instantiation: decoder.c:round_shift Unexecuted instantiation: decodetxb.c:round_shift Unexecuted instantiation: detokenize.c:round_shift Unexecuted instantiation: obu.c:round_shift Unexecuted instantiation: av1_cx_iface.c:round_shift Unexecuted instantiation: allintra_vis.c:round_shift Unexecuted instantiation: av1_quantize.c:round_shift Unexecuted instantiation: bitstream.c:round_shift Unexecuted instantiation: context_tree.c:round_shift Unexecuted instantiation: encodeframe.c:round_shift Unexecuted instantiation: encodeframe_utils.c:round_shift Unexecuted instantiation: encodemb.c:round_shift Unexecuted instantiation: encodemv.c:round_shift Unexecuted instantiation: encoder.c:round_shift Unexecuted instantiation: encoder_utils.c:round_shift Unexecuted instantiation: encodetxb.c:round_shift Unexecuted instantiation: ethread.c:round_shift Unexecuted instantiation: firstpass.c:round_shift Unexecuted instantiation: global_motion_facade.c:round_shift Unexecuted instantiation: hash.c:round_shift Unexecuted instantiation: hash_motion.c:round_shift Unexecuted instantiation: hybrid_fwd_txfm.c:round_shift Unexecuted instantiation: level.c:round_shift Unexecuted instantiation: lookahead.c:round_shift Unexecuted instantiation: mcomp.c:round_shift Unexecuted instantiation: mv_prec.c:round_shift Unexecuted instantiation: palette.c:round_shift Unexecuted instantiation: partition_search.c:round_shift Unexecuted instantiation: partition_strategy.c:round_shift Unexecuted instantiation: pass2_strategy.c:round_shift Unexecuted instantiation: pickcdef.c:round_shift Unexecuted instantiation: picklpf.c:round_shift Unexecuted instantiation: pickrst.c:round_shift Unexecuted instantiation: ratectrl.c:round_shift Unexecuted instantiation: rd.c:round_shift Unexecuted instantiation: rdopt.c:round_shift Unexecuted instantiation: nonrd_pickmode.c:round_shift Unexecuted instantiation: nonrd_opt.c:round_shift Unexecuted instantiation: reconinter_enc.c:round_shift Unexecuted instantiation: segmentation.c:round_shift Unexecuted instantiation: speed_features.c:round_shift Unexecuted instantiation: superres_scale.c:round_shift Unexecuted instantiation: svc_layercontext.c:round_shift Unexecuted instantiation: temporal_filter.c:round_shift Unexecuted instantiation: tokenize.c:round_shift Unexecuted instantiation: tpl_model.c:round_shift Unexecuted instantiation: tx_search.c:round_shift Unexecuted instantiation: txb_rdopt.c:round_shift Unexecuted instantiation: intra_mode_search.c:round_shift Unexecuted instantiation: var_based_part.c:round_shift Unexecuted instantiation: av1_noise_estimate.c:round_shift Unexecuted instantiation: dwt.c:round_shift Unexecuted instantiation: av1_rtcd.c:round_shift Unexecuted instantiation: variance.c:round_shift Unexecuted instantiation: pyramid.c:round_shift Unexecuted instantiation: alloccommon.c:round_shift Unexecuted instantiation: av1_loopfilter.c:round_shift Unexecuted instantiation: blockd.c:round_shift Unexecuted instantiation: cdef.c:round_shift Unexecuted instantiation: cdef_block.c:round_shift Unexecuted instantiation: cfl.c:round_shift Unexecuted instantiation: debugmodes.c:round_shift Unexecuted instantiation: entropy.c:round_shift Unexecuted instantiation: entropymode.c:round_shift Unexecuted instantiation: entropymv.c:round_shift Unexecuted instantiation: idct.c:round_shift Unexecuted instantiation: mvref_common.c:round_shift Unexecuted instantiation: pred_common.c:round_shift Unexecuted instantiation: quant_common.c:round_shift Unexecuted instantiation: reconinter.c:round_shift Unexecuted instantiation: reconintra.c:round_shift Unexecuted instantiation: resize.c:round_shift Unexecuted instantiation: restoration.c:round_shift Unexecuted instantiation: scale.c:round_shift Unexecuted instantiation: scan.c:round_shift Unexecuted instantiation: thread_common.c:round_shift Unexecuted instantiation: tile_common.c:round_shift Unexecuted instantiation: txb_common.c:round_shift Unexecuted instantiation: warped_motion.c:round_shift Unexecuted instantiation: aq_complexity.c:round_shift Unexecuted instantiation: aq_cyclicrefresh.c:round_shift Unexecuted instantiation: aq_variance.c:round_shift Unexecuted instantiation: av1_fwd_txfm2d.c:round_shift Unexecuted instantiation: cnn.c:round_shift Unexecuted instantiation: compound_type.c:round_shift Unexecuted instantiation: encode_strategy.c:round_shift Unexecuted instantiation: global_motion.c:round_shift Unexecuted instantiation: gop_structure.c:round_shift Unexecuted instantiation: interp_search.c:round_shift Unexecuted instantiation: ml.c:round_shift Unexecuted instantiation: motion_search_facade.c:round_shift Unexecuted instantiation: wedge_utils.c:round_shift av1_inv_txfm2d.c:round_shift Line | Count | Source | 97 | 97.7M | static inline int32_t round_shift(int64_t value, int bit) { | 98 | 97.7M | assert(bit >= 1); | 99 | 97.7M | return (int32_t)((value + (1ll << (bit - 1))) >> bit); | 100 | 97.7M | } |
Line | Count | Source | 97 | 782M | static inline int32_t round_shift(int64_t value, int bit) { | 98 | 782M | assert(bit >= 1); | 99 | 782M | return (int32_t)((value + (1ll << (bit - 1))) >> bit); | 100 | 782M | } |
Unexecuted instantiation: convolve.c:round_shift Unexecuted instantiation: av1_fwd_txfm1d.c:round_shift av1_inv_txfm1d.c:round_shift Line | Count | Source | 97 | 18.0M | static inline int32_t round_shift(int64_t value, int bit) { | 98 | 18.0M | assert(bit >= 1); | 99 | 18.0M | return (int32_t)((value + (1ll << (bit - 1))) >> bit); | 100 | 18.0M | } |
|
101 | | |
102 | | static inline int32_t half_btf(int32_t w0, int32_t in0, int32_t w1, int32_t in1, |
103 | 1.58G | int bit) { |
104 | 1.58G | int64_t result_64 = (int64_t)(w0 * in0) + (int64_t)(w1 * in1); |
105 | 1.58G | int64_t intermediate = result_64 + (1LL << (bit - 1)); |
106 | | // NOTE(rachelbarker): The value 'result_64' may not necessarily fit |
107 | | // into 32 bits. However, the result of this function is nominally |
108 | | // ROUND_POWER_OF_TWO_64(result_64, bit) |
109 | | // and that is required to fit into stage_range[stage] many bits |
110 | | // (checked by range_check_buf()). |
111 | | // |
112 | | // Here we've unpacked that rounding operation, and it can be shown |
113 | | // that the value of 'intermediate' here *does* fit into 32 bits |
114 | | // for any conformant bitstream. |
115 | | // The upshot is that, if you do all this calculation using |
116 | | // wrapping 32-bit arithmetic instead of (non-wrapping) 64-bit arithmetic, |
117 | | // then you'll still get the correct result. |
118 | | // To provide a check on this logic, we assert that 'intermediate' |
119 | | // would fit into an int32 if range checking is enabled. |
120 | | #if CONFIG_COEFFICIENT_RANGE_CHECKING |
121 | | assert(intermediate >= INT32_MIN && intermediate <= INT32_MAX); |
122 | | #endif |
123 | 1.58G | return (int32_t)(intermediate >> bit); |
124 | 1.58G | } Unexecuted instantiation: av1_dx_iface.c:half_btf Unexecuted instantiation: decodeframe.c:half_btf Unexecuted instantiation: decodemv.c:half_btf Unexecuted instantiation: decoder.c:half_btf Unexecuted instantiation: decodetxb.c:half_btf Unexecuted instantiation: detokenize.c:half_btf Unexecuted instantiation: obu.c:half_btf Unexecuted instantiation: av1_cx_iface.c:half_btf Unexecuted instantiation: allintra_vis.c:half_btf Unexecuted instantiation: av1_quantize.c:half_btf Unexecuted instantiation: bitstream.c:half_btf Unexecuted instantiation: context_tree.c:half_btf Unexecuted instantiation: encodeframe.c:half_btf Unexecuted instantiation: encodeframe_utils.c:half_btf Unexecuted instantiation: encodemb.c:half_btf Unexecuted instantiation: encodemv.c:half_btf Unexecuted instantiation: encoder.c:half_btf Unexecuted instantiation: encoder_utils.c:half_btf Unexecuted instantiation: encodetxb.c:half_btf Unexecuted instantiation: ethread.c:half_btf Unexecuted instantiation: firstpass.c:half_btf Unexecuted instantiation: global_motion_facade.c:half_btf Unexecuted instantiation: hash.c:half_btf Unexecuted instantiation: hash_motion.c:half_btf Unexecuted instantiation: hybrid_fwd_txfm.c:half_btf Unexecuted instantiation: level.c:half_btf Unexecuted instantiation: lookahead.c:half_btf Unexecuted instantiation: mcomp.c:half_btf Unexecuted instantiation: mv_prec.c:half_btf Unexecuted instantiation: palette.c:half_btf Unexecuted instantiation: partition_search.c:half_btf Unexecuted instantiation: partition_strategy.c:half_btf Unexecuted instantiation: pass2_strategy.c:half_btf Unexecuted instantiation: pickcdef.c:half_btf Unexecuted instantiation: picklpf.c:half_btf Unexecuted instantiation: pickrst.c:half_btf Unexecuted instantiation: ratectrl.c:half_btf Unexecuted instantiation: rd.c:half_btf Unexecuted instantiation: rdopt.c:half_btf Unexecuted instantiation: nonrd_pickmode.c:half_btf Unexecuted instantiation: nonrd_opt.c:half_btf Unexecuted instantiation: reconinter_enc.c:half_btf Unexecuted instantiation: segmentation.c:half_btf Unexecuted instantiation: speed_features.c:half_btf Unexecuted instantiation: superres_scale.c:half_btf Unexecuted instantiation: svc_layercontext.c:half_btf Unexecuted instantiation: temporal_filter.c:half_btf Unexecuted instantiation: tokenize.c:half_btf Unexecuted instantiation: tpl_model.c:half_btf Unexecuted instantiation: tx_search.c:half_btf Unexecuted instantiation: txb_rdopt.c:half_btf Unexecuted instantiation: intra_mode_search.c:half_btf Unexecuted instantiation: var_based_part.c:half_btf Unexecuted instantiation: av1_noise_estimate.c:half_btf Unexecuted instantiation: dwt.c:half_btf Unexecuted instantiation: av1_rtcd.c:half_btf Unexecuted instantiation: variance.c:half_btf Unexecuted instantiation: pyramid.c:half_btf Unexecuted instantiation: alloccommon.c:half_btf Unexecuted instantiation: av1_loopfilter.c:half_btf Unexecuted instantiation: blockd.c:half_btf Unexecuted instantiation: cdef.c:half_btf Unexecuted instantiation: cdef_block.c:half_btf Unexecuted instantiation: cfl.c:half_btf Unexecuted instantiation: debugmodes.c:half_btf Unexecuted instantiation: entropy.c:half_btf Unexecuted instantiation: entropymode.c:half_btf Unexecuted instantiation: entropymv.c:half_btf Unexecuted instantiation: idct.c:half_btf Unexecuted instantiation: mvref_common.c:half_btf Unexecuted instantiation: pred_common.c:half_btf Unexecuted instantiation: quant_common.c:half_btf Unexecuted instantiation: reconinter.c:half_btf Unexecuted instantiation: reconintra.c:half_btf Unexecuted instantiation: resize.c:half_btf Unexecuted instantiation: restoration.c:half_btf Unexecuted instantiation: scale.c:half_btf Unexecuted instantiation: scan.c:half_btf Unexecuted instantiation: thread_common.c:half_btf Unexecuted instantiation: tile_common.c:half_btf Unexecuted instantiation: txb_common.c:half_btf Unexecuted instantiation: warped_motion.c:half_btf Unexecuted instantiation: aq_complexity.c:half_btf Unexecuted instantiation: aq_cyclicrefresh.c:half_btf Unexecuted instantiation: aq_variance.c:half_btf Unexecuted instantiation: av1_fwd_txfm2d.c:half_btf Unexecuted instantiation: cnn.c:half_btf Unexecuted instantiation: compound_type.c:half_btf Unexecuted instantiation: encode_strategy.c:half_btf Unexecuted instantiation: global_motion.c:half_btf Unexecuted instantiation: gop_structure.c:half_btf Unexecuted instantiation: interp_search.c:half_btf Unexecuted instantiation: ml.c:half_btf Unexecuted instantiation: motion_search_facade.c:half_btf Unexecuted instantiation: wedge_utils.c:half_btf Unexecuted instantiation: av1_inv_txfm2d.c:half_btf Unexecuted instantiation: av1_txfm.c:half_btf Unexecuted instantiation: convolve.c:half_btf Unexecuted instantiation: av1_fwd_txfm1d.c:half_btf av1_inv_txfm1d.c:half_btf Line | Count | Source | 103 | 1.58G | int bit) { | 104 | 1.58G | int64_t result_64 = (int64_t)(w0 * in0) + (int64_t)(w1 * in1); | 105 | 1.58G | int64_t intermediate = result_64 + (1LL << (bit - 1)); | 106 | | // NOTE(rachelbarker): The value 'result_64' may not necessarily fit | 107 | | // into 32 bits. However, the result of this function is nominally | 108 | | // ROUND_POWER_OF_TWO_64(result_64, bit) | 109 | | // and that is required to fit into stage_range[stage] many bits | 110 | | // (checked by range_check_buf()). | 111 | | // | 112 | | // Here we've unpacked that rounding operation, and it can be shown | 113 | | // that the value of 'intermediate' here *does* fit into 32 bits | 114 | | // for any conformant bitstream. | 115 | | // The upshot is that, if you do all this calculation using | 116 | | // wrapping 32-bit arithmetic instead of (non-wrapping) 64-bit arithmetic, | 117 | | // then you'll still get the correct result. | 118 | | // To provide a check on this logic, we assert that 'intermediate' | 119 | | // would fit into an int32 if range checking is enabled. | 120 | | #if CONFIG_COEFFICIENT_RANGE_CHECKING | 121 | | assert(intermediate >= INT32_MIN && intermediate <= INT32_MAX); | 122 | | #endif | 123 | 1.58G | return (int32_t)(intermediate >> bit); | 124 | 1.58G | } |
|
125 | | |
126 | | static inline uint16_t highbd_clip_pixel_add(uint16_t dest, tran_high_t trans, |
127 | 435M | int bd) { |
128 | 435M | return clip_pixel_highbd(dest + (int)trans, bd); |
129 | 435M | } Unexecuted instantiation: av1_dx_iface.c:highbd_clip_pixel_add Unexecuted instantiation: decodeframe.c:highbd_clip_pixel_add Unexecuted instantiation: decodemv.c:highbd_clip_pixel_add Unexecuted instantiation: decoder.c:highbd_clip_pixel_add Unexecuted instantiation: decodetxb.c:highbd_clip_pixel_add Unexecuted instantiation: detokenize.c:highbd_clip_pixel_add Unexecuted instantiation: obu.c:highbd_clip_pixel_add Unexecuted instantiation: av1_cx_iface.c:highbd_clip_pixel_add Unexecuted instantiation: allintra_vis.c:highbd_clip_pixel_add Unexecuted instantiation: av1_quantize.c:highbd_clip_pixel_add Unexecuted instantiation: bitstream.c:highbd_clip_pixel_add Unexecuted instantiation: context_tree.c:highbd_clip_pixel_add Unexecuted instantiation: encodeframe.c:highbd_clip_pixel_add Unexecuted instantiation: encodeframe_utils.c:highbd_clip_pixel_add Unexecuted instantiation: encodemb.c:highbd_clip_pixel_add Unexecuted instantiation: encodemv.c:highbd_clip_pixel_add Unexecuted instantiation: encoder.c:highbd_clip_pixel_add Unexecuted instantiation: encoder_utils.c:highbd_clip_pixel_add Unexecuted instantiation: encodetxb.c:highbd_clip_pixel_add Unexecuted instantiation: ethread.c:highbd_clip_pixel_add Unexecuted instantiation: firstpass.c:highbd_clip_pixel_add Unexecuted instantiation: global_motion_facade.c:highbd_clip_pixel_add Unexecuted instantiation: hash.c:highbd_clip_pixel_add Unexecuted instantiation: hash_motion.c:highbd_clip_pixel_add Unexecuted instantiation: hybrid_fwd_txfm.c:highbd_clip_pixel_add Unexecuted instantiation: level.c:highbd_clip_pixel_add Unexecuted instantiation: lookahead.c:highbd_clip_pixel_add Unexecuted instantiation: mcomp.c:highbd_clip_pixel_add Unexecuted instantiation: mv_prec.c:highbd_clip_pixel_add Unexecuted instantiation: palette.c:highbd_clip_pixel_add Unexecuted instantiation: partition_search.c:highbd_clip_pixel_add Unexecuted instantiation: partition_strategy.c:highbd_clip_pixel_add Unexecuted instantiation: pass2_strategy.c:highbd_clip_pixel_add Unexecuted instantiation: pickcdef.c:highbd_clip_pixel_add Unexecuted instantiation: picklpf.c:highbd_clip_pixel_add Unexecuted instantiation: pickrst.c:highbd_clip_pixel_add Unexecuted instantiation: ratectrl.c:highbd_clip_pixel_add Unexecuted instantiation: rd.c:highbd_clip_pixel_add Unexecuted instantiation: rdopt.c:highbd_clip_pixel_add Unexecuted instantiation: nonrd_pickmode.c:highbd_clip_pixel_add Unexecuted instantiation: nonrd_opt.c:highbd_clip_pixel_add Unexecuted instantiation: reconinter_enc.c:highbd_clip_pixel_add Unexecuted instantiation: segmentation.c:highbd_clip_pixel_add Unexecuted instantiation: speed_features.c:highbd_clip_pixel_add Unexecuted instantiation: superres_scale.c:highbd_clip_pixel_add Unexecuted instantiation: svc_layercontext.c:highbd_clip_pixel_add Unexecuted instantiation: temporal_filter.c:highbd_clip_pixel_add Unexecuted instantiation: tokenize.c:highbd_clip_pixel_add Unexecuted instantiation: tpl_model.c:highbd_clip_pixel_add Unexecuted instantiation: tx_search.c:highbd_clip_pixel_add Unexecuted instantiation: txb_rdopt.c:highbd_clip_pixel_add Unexecuted instantiation: intra_mode_search.c:highbd_clip_pixel_add Unexecuted instantiation: var_based_part.c:highbd_clip_pixel_add Unexecuted instantiation: av1_noise_estimate.c:highbd_clip_pixel_add Unexecuted instantiation: dwt.c:highbd_clip_pixel_add Unexecuted instantiation: av1_rtcd.c:highbd_clip_pixel_add Unexecuted instantiation: variance.c:highbd_clip_pixel_add Unexecuted instantiation: pyramid.c:highbd_clip_pixel_add Unexecuted instantiation: alloccommon.c:highbd_clip_pixel_add Unexecuted instantiation: av1_loopfilter.c:highbd_clip_pixel_add Unexecuted instantiation: blockd.c:highbd_clip_pixel_add Unexecuted instantiation: cdef.c:highbd_clip_pixel_add Unexecuted instantiation: cdef_block.c:highbd_clip_pixel_add Unexecuted instantiation: cfl.c:highbd_clip_pixel_add Unexecuted instantiation: debugmodes.c:highbd_clip_pixel_add Unexecuted instantiation: entropy.c:highbd_clip_pixel_add Unexecuted instantiation: entropymode.c:highbd_clip_pixel_add Unexecuted instantiation: entropymv.c:highbd_clip_pixel_add Unexecuted instantiation: idct.c:highbd_clip_pixel_add Unexecuted instantiation: mvref_common.c:highbd_clip_pixel_add Unexecuted instantiation: pred_common.c:highbd_clip_pixel_add Unexecuted instantiation: quant_common.c:highbd_clip_pixel_add Unexecuted instantiation: reconinter.c:highbd_clip_pixel_add Unexecuted instantiation: reconintra.c:highbd_clip_pixel_add Unexecuted instantiation: resize.c:highbd_clip_pixel_add Unexecuted instantiation: restoration.c:highbd_clip_pixel_add Unexecuted instantiation: scale.c:highbd_clip_pixel_add Unexecuted instantiation: scan.c:highbd_clip_pixel_add Unexecuted instantiation: thread_common.c:highbd_clip_pixel_add Unexecuted instantiation: tile_common.c:highbd_clip_pixel_add Unexecuted instantiation: txb_common.c:highbd_clip_pixel_add Unexecuted instantiation: warped_motion.c:highbd_clip_pixel_add Unexecuted instantiation: aq_complexity.c:highbd_clip_pixel_add Unexecuted instantiation: aq_cyclicrefresh.c:highbd_clip_pixel_add Unexecuted instantiation: aq_variance.c:highbd_clip_pixel_add Unexecuted instantiation: av1_fwd_txfm2d.c:highbd_clip_pixel_add Unexecuted instantiation: cnn.c:highbd_clip_pixel_add Unexecuted instantiation: compound_type.c:highbd_clip_pixel_add Unexecuted instantiation: encode_strategy.c:highbd_clip_pixel_add Unexecuted instantiation: global_motion.c:highbd_clip_pixel_add Unexecuted instantiation: gop_structure.c:highbd_clip_pixel_add Unexecuted instantiation: interp_search.c:highbd_clip_pixel_add Unexecuted instantiation: ml.c:highbd_clip_pixel_add Unexecuted instantiation: motion_search_facade.c:highbd_clip_pixel_add Unexecuted instantiation: wedge_utils.c:highbd_clip_pixel_add av1_inv_txfm2d.c:highbd_clip_pixel_add Line | Count | Source | 127 | 435M | int bd) { | 128 | 435M | return clip_pixel_highbd(dest + (int)trans, bd); | 129 | 435M | } |
Unexecuted instantiation: av1_txfm.c:highbd_clip_pixel_add Unexecuted instantiation: convolve.c:highbd_clip_pixel_add Unexecuted instantiation: av1_fwd_txfm1d.c:highbd_clip_pixel_add Unexecuted instantiation: av1_inv_txfm1d.c:highbd_clip_pixel_add |
130 | | |
131 | | typedef void (*TxfmFunc)(const int32_t *input, int32_t *output, int8_t cos_bit, |
132 | | const int8_t *stage_range); |
133 | | |
134 | | typedef void (*FwdTxfm2dFunc)(const int16_t *input, int32_t *output, int stride, |
135 | | TX_TYPE tx_type, int bd); |
136 | | |
137 | | enum { |
138 | | TXFM_TYPE_DCT4, |
139 | | TXFM_TYPE_DCT8, |
140 | | TXFM_TYPE_DCT16, |
141 | | TXFM_TYPE_DCT32, |
142 | | TXFM_TYPE_DCT64, |
143 | | TXFM_TYPE_ADST4, |
144 | | TXFM_TYPE_ADST8, |
145 | | TXFM_TYPE_ADST16, |
146 | | TXFM_TYPE_IDENTITY4, |
147 | | TXFM_TYPE_IDENTITY8, |
148 | | TXFM_TYPE_IDENTITY16, |
149 | | TXFM_TYPE_IDENTITY32, |
150 | | TXFM_TYPES, |
151 | | TXFM_TYPE_INVALID, |
152 | | } UENUM1BYTE(TXFM_TYPE); |
153 | | |
154 | | typedef struct TXFM_2D_FLIP_CFG { |
155 | | TX_SIZE tx_size; |
156 | | int ud_flip; // flip upside down |
157 | | int lr_flip; // flip left to right |
158 | | const int8_t *shift; |
159 | | int8_t cos_bit_col; |
160 | | int8_t cos_bit_row; |
161 | | int8_t stage_range_col[MAX_TXFM_STAGE_NUM]; |
162 | | int8_t stage_range_row[MAX_TXFM_STAGE_NUM]; |
163 | | TXFM_TYPE txfm_type_col; |
164 | | TXFM_TYPE txfm_type_row; |
165 | | int stage_num_col; |
166 | | int stage_num_row; |
167 | | } TXFM_2D_FLIP_CFG; |
168 | | |
169 | 1.60M | static inline void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) { |
170 | 1.60M | switch (tx_type) { |
171 | 698k | case DCT_DCT: |
172 | 899k | case ADST_DCT: |
173 | 1.15M | case DCT_ADST: |
174 | 1.42M | case ADST_ADST: |
175 | 1.42M | *ud_flip = 0; |
176 | 1.42M | *lr_flip = 0; |
177 | 1.42M | break; |
178 | 80.1k | case IDTX: |
179 | 107k | case V_DCT: |
180 | 165k | case H_DCT: |
181 | 166k | case V_ADST: |
182 | 169k | case H_ADST: |
183 | 169k | *ud_flip = 0; |
184 | 169k | *lr_flip = 0; |
185 | 169k | break; |
186 | 2.44k | case FLIPADST_DCT: |
187 | 4.33k | case FLIPADST_ADST: |
188 | 5.19k | case V_FLIPADST: |
189 | 5.19k | *ud_flip = 1; |
190 | 5.19k | *lr_flip = 0; |
191 | 5.19k | break; |
192 | 1.04k | case DCT_FLIPADST: |
193 | 2.73k | case ADST_FLIPADST: |
194 | 4.49k | case H_FLIPADST: |
195 | 4.49k | *ud_flip = 0; |
196 | 4.49k | *lr_flip = 1; |
197 | 4.49k | break; |
198 | 839 | case FLIPADST_FLIPADST: |
199 | 839 | *ud_flip = 1; |
200 | 839 | *lr_flip = 1; |
201 | 839 | break; |
202 | 0 | default: |
203 | 0 | *ud_flip = 0; |
204 | 0 | *lr_flip = 0; |
205 | 0 | assert(0); |
206 | 1.60M | } |
207 | 1.60M | } Unexecuted instantiation: av1_dx_iface.c:get_flip_cfg Unexecuted instantiation: decodeframe.c:get_flip_cfg Unexecuted instantiation: decodemv.c:get_flip_cfg Unexecuted instantiation: decoder.c:get_flip_cfg Unexecuted instantiation: decodetxb.c:get_flip_cfg Unexecuted instantiation: detokenize.c:get_flip_cfg Unexecuted instantiation: obu.c:get_flip_cfg Unexecuted instantiation: av1_cx_iface.c:get_flip_cfg Unexecuted instantiation: allintra_vis.c:get_flip_cfg Unexecuted instantiation: av1_quantize.c:get_flip_cfg Unexecuted instantiation: bitstream.c:get_flip_cfg Unexecuted instantiation: context_tree.c:get_flip_cfg Unexecuted instantiation: encodeframe.c:get_flip_cfg Unexecuted instantiation: encodeframe_utils.c:get_flip_cfg Unexecuted instantiation: encodemb.c:get_flip_cfg Unexecuted instantiation: encodemv.c:get_flip_cfg Unexecuted instantiation: encoder.c:get_flip_cfg Unexecuted instantiation: encoder_utils.c:get_flip_cfg Unexecuted instantiation: encodetxb.c:get_flip_cfg Unexecuted instantiation: ethread.c:get_flip_cfg Unexecuted instantiation: firstpass.c:get_flip_cfg Unexecuted instantiation: global_motion_facade.c:get_flip_cfg Unexecuted instantiation: hash.c:get_flip_cfg Unexecuted instantiation: hash_motion.c:get_flip_cfg Unexecuted instantiation: hybrid_fwd_txfm.c:get_flip_cfg Unexecuted instantiation: level.c:get_flip_cfg Unexecuted instantiation: lookahead.c:get_flip_cfg Unexecuted instantiation: mcomp.c:get_flip_cfg Unexecuted instantiation: mv_prec.c:get_flip_cfg Unexecuted instantiation: palette.c:get_flip_cfg Unexecuted instantiation: partition_search.c:get_flip_cfg Unexecuted instantiation: partition_strategy.c:get_flip_cfg Unexecuted instantiation: pass2_strategy.c:get_flip_cfg Unexecuted instantiation: pickcdef.c:get_flip_cfg Unexecuted instantiation: picklpf.c:get_flip_cfg Unexecuted instantiation: pickrst.c:get_flip_cfg Unexecuted instantiation: ratectrl.c:get_flip_cfg Unexecuted instantiation: rd.c:get_flip_cfg Unexecuted instantiation: rdopt.c:get_flip_cfg Unexecuted instantiation: nonrd_pickmode.c:get_flip_cfg Unexecuted instantiation: nonrd_opt.c:get_flip_cfg Unexecuted instantiation: reconinter_enc.c:get_flip_cfg Unexecuted instantiation: segmentation.c:get_flip_cfg Unexecuted instantiation: speed_features.c:get_flip_cfg Unexecuted instantiation: superres_scale.c:get_flip_cfg Unexecuted instantiation: svc_layercontext.c:get_flip_cfg Unexecuted instantiation: temporal_filter.c:get_flip_cfg Unexecuted instantiation: tokenize.c:get_flip_cfg Unexecuted instantiation: tpl_model.c:get_flip_cfg Unexecuted instantiation: tx_search.c:get_flip_cfg Unexecuted instantiation: txb_rdopt.c:get_flip_cfg Unexecuted instantiation: intra_mode_search.c:get_flip_cfg Unexecuted instantiation: var_based_part.c:get_flip_cfg Unexecuted instantiation: av1_noise_estimate.c:get_flip_cfg Unexecuted instantiation: dwt.c:get_flip_cfg Unexecuted instantiation: av1_rtcd.c:get_flip_cfg Unexecuted instantiation: variance.c:get_flip_cfg Unexecuted instantiation: pyramid.c:get_flip_cfg Unexecuted instantiation: alloccommon.c:get_flip_cfg Unexecuted instantiation: av1_loopfilter.c:get_flip_cfg Unexecuted instantiation: blockd.c:get_flip_cfg Unexecuted instantiation: cdef.c:get_flip_cfg Unexecuted instantiation: cdef_block.c:get_flip_cfg Unexecuted instantiation: cfl.c:get_flip_cfg Unexecuted instantiation: debugmodes.c:get_flip_cfg Unexecuted instantiation: entropy.c:get_flip_cfg Unexecuted instantiation: entropymode.c:get_flip_cfg Unexecuted instantiation: entropymv.c:get_flip_cfg Unexecuted instantiation: idct.c:get_flip_cfg Unexecuted instantiation: mvref_common.c:get_flip_cfg Unexecuted instantiation: pred_common.c:get_flip_cfg Unexecuted instantiation: quant_common.c:get_flip_cfg Unexecuted instantiation: reconinter.c:get_flip_cfg Unexecuted instantiation: reconintra.c:get_flip_cfg Unexecuted instantiation: resize.c:get_flip_cfg Unexecuted instantiation: restoration.c:get_flip_cfg Unexecuted instantiation: scale.c:get_flip_cfg Unexecuted instantiation: scan.c:get_flip_cfg Unexecuted instantiation: thread_common.c:get_flip_cfg Unexecuted instantiation: tile_common.c:get_flip_cfg Unexecuted instantiation: txb_common.c:get_flip_cfg Unexecuted instantiation: warped_motion.c:get_flip_cfg Unexecuted instantiation: aq_complexity.c:get_flip_cfg Unexecuted instantiation: aq_cyclicrefresh.c:get_flip_cfg Unexecuted instantiation: aq_variance.c:get_flip_cfg Unexecuted instantiation: av1_fwd_txfm2d.c:get_flip_cfg Unexecuted instantiation: cnn.c:get_flip_cfg Unexecuted instantiation: compound_type.c:get_flip_cfg Unexecuted instantiation: encode_strategy.c:get_flip_cfg Unexecuted instantiation: global_motion.c:get_flip_cfg Unexecuted instantiation: gop_structure.c:get_flip_cfg Unexecuted instantiation: interp_search.c:get_flip_cfg Unexecuted instantiation: ml.c:get_flip_cfg Unexecuted instantiation: motion_search_facade.c:get_flip_cfg Unexecuted instantiation: wedge_utils.c:get_flip_cfg av1_inv_txfm2d.c:get_flip_cfg Line | Count | Source | 169 | 1.60M | static inline void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) { | 170 | 1.60M | switch (tx_type) { | 171 | 698k | case DCT_DCT: | 172 | 899k | case ADST_DCT: | 173 | 1.15M | case DCT_ADST: | 174 | 1.42M | case ADST_ADST: | 175 | 1.42M | *ud_flip = 0; | 176 | 1.42M | *lr_flip = 0; | 177 | 1.42M | break; | 178 | 80.1k | case IDTX: | 179 | 107k | case V_DCT: | 180 | 165k | case H_DCT: | 181 | 166k | case V_ADST: | 182 | 169k | case H_ADST: | 183 | 169k | *ud_flip = 0; | 184 | 169k | *lr_flip = 0; | 185 | 169k | break; | 186 | 2.44k | case FLIPADST_DCT: | 187 | 4.33k | case FLIPADST_ADST: | 188 | 5.19k | case V_FLIPADST: | 189 | 5.19k | *ud_flip = 1; | 190 | 5.19k | *lr_flip = 0; | 191 | 5.19k | break; | 192 | 1.04k | case DCT_FLIPADST: | 193 | 2.73k | case ADST_FLIPADST: | 194 | 4.49k | case H_FLIPADST: | 195 | 4.49k | *ud_flip = 0; | 196 | 4.49k | *lr_flip = 1; | 197 | 4.49k | break; | 198 | 839 | case FLIPADST_FLIPADST: | 199 | 839 | *ud_flip = 1; | 200 | 839 | *lr_flip = 1; | 201 | 839 | break; | 202 | 0 | default: | 203 | 0 | *ud_flip = 0; | 204 | 0 | *lr_flip = 0; | 205 | 0 | assert(0); | 206 | 1.60M | } | 207 | 1.60M | } |
Unexecuted instantiation: av1_txfm.c:get_flip_cfg Unexecuted instantiation: convolve.c:get_flip_cfg Unexecuted instantiation: av1_fwd_txfm1d.c:get_flip_cfg Unexecuted instantiation: av1_inv_txfm1d.c:get_flip_cfg |
208 | | |
209 | 1.60M | static inline void set_flip_cfg(TX_TYPE tx_type, TXFM_2D_FLIP_CFG *cfg) { |
210 | 1.60M | get_flip_cfg(tx_type, &cfg->ud_flip, &cfg->lr_flip); |
211 | 1.60M | } Unexecuted instantiation: av1_dx_iface.c:set_flip_cfg Unexecuted instantiation: decodeframe.c:set_flip_cfg Unexecuted instantiation: decodemv.c:set_flip_cfg Unexecuted instantiation: decoder.c:set_flip_cfg Unexecuted instantiation: decodetxb.c:set_flip_cfg Unexecuted instantiation: detokenize.c:set_flip_cfg Unexecuted instantiation: obu.c:set_flip_cfg Unexecuted instantiation: av1_cx_iface.c:set_flip_cfg Unexecuted instantiation: allintra_vis.c:set_flip_cfg Unexecuted instantiation: av1_quantize.c:set_flip_cfg Unexecuted instantiation: bitstream.c:set_flip_cfg Unexecuted instantiation: context_tree.c:set_flip_cfg Unexecuted instantiation: encodeframe.c:set_flip_cfg Unexecuted instantiation: encodeframe_utils.c:set_flip_cfg Unexecuted instantiation: encodemb.c:set_flip_cfg Unexecuted instantiation: encodemv.c:set_flip_cfg Unexecuted instantiation: encoder.c:set_flip_cfg Unexecuted instantiation: encoder_utils.c:set_flip_cfg Unexecuted instantiation: encodetxb.c:set_flip_cfg Unexecuted instantiation: ethread.c:set_flip_cfg Unexecuted instantiation: firstpass.c:set_flip_cfg Unexecuted instantiation: global_motion_facade.c:set_flip_cfg Unexecuted instantiation: hash.c:set_flip_cfg Unexecuted instantiation: hash_motion.c:set_flip_cfg Unexecuted instantiation: hybrid_fwd_txfm.c:set_flip_cfg Unexecuted instantiation: level.c:set_flip_cfg Unexecuted instantiation: lookahead.c:set_flip_cfg Unexecuted instantiation: mcomp.c:set_flip_cfg Unexecuted instantiation: mv_prec.c:set_flip_cfg Unexecuted instantiation: palette.c:set_flip_cfg Unexecuted instantiation: partition_search.c:set_flip_cfg Unexecuted instantiation: partition_strategy.c:set_flip_cfg Unexecuted instantiation: pass2_strategy.c:set_flip_cfg Unexecuted instantiation: pickcdef.c:set_flip_cfg Unexecuted instantiation: picklpf.c:set_flip_cfg Unexecuted instantiation: pickrst.c:set_flip_cfg Unexecuted instantiation: ratectrl.c:set_flip_cfg Unexecuted instantiation: rd.c:set_flip_cfg Unexecuted instantiation: rdopt.c:set_flip_cfg Unexecuted instantiation: nonrd_pickmode.c:set_flip_cfg Unexecuted instantiation: nonrd_opt.c:set_flip_cfg Unexecuted instantiation: reconinter_enc.c:set_flip_cfg Unexecuted instantiation: segmentation.c:set_flip_cfg Unexecuted instantiation: speed_features.c:set_flip_cfg Unexecuted instantiation: superres_scale.c:set_flip_cfg Unexecuted instantiation: svc_layercontext.c:set_flip_cfg Unexecuted instantiation: temporal_filter.c:set_flip_cfg Unexecuted instantiation: tokenize.c:set_flip_cfg Unexecuted instantiation: tpl_model.c:set_flip_cfg Unexecuted instantiation: tx_search.c:set_flip_cfg Unexecuted instantiation: txb_rdopt.c:set_flip_cfg Unexecuted instantiation: intra_mode_search.c:set_flip_cfg Unexecuted instantiation: var_based_part.c:set_flip_cfg Unexecuted instantiation: av1_noise_estimate.c:set_flip_cfg Unexecuted instantiation: dwt.c:set_flip_cfg Unexecuted instantiation: av1_rtcd.c:set_flip_cfg Unexecuted instantiation: variance.c:set_flip_cfg Unexecuted instantiation: pyramid.c:set_flip_cfg Unexecuted instantiation: alloccommon.c:set_flip_cfg Unexecuted instantiation: av1_loopfilter.c:set_flip_cfg Unexecuted instantiation: blockd.c:set_flip_cfg Unexecuted instantiation: cdef.c:set_flip_cfg Unexecuted instantiation: cdef_block.c:set_flip_cfg Unexecuted instantiation: cfl.c:set_flip_cfg Unexecuted instantiation: debugmodes.c:set_flip_cfg Unexecuted instantiation: entropy.c:set_flip_cfg Unexecuted instantiation: entropymode.c:set_flip_cfg Unexecuted instantiation: entropymv.c:set_flip_cfg Unexecuted instantiation: idct.c:set_flip_cfg Unexecuted instantiation: mvref_common.c:set_flip_cfg Unexecuted instantiation: pred_common.c:set_flip_cfg Unexecuted instantiation: quant_common.c:set_flip_cfg Unexecuted instantiation: reconinter.c:set_flip_cfg Unexecuted instantiation: reconintra.c:set_flip_cfg Unexecuted instantiation: resize.c:set_flip_cfg Unexecuted instantiation: restoration.c:set_flip_cfg Unexecuted instantiation: scale.c:set_flip_cfg Unexecuted instantiation: scan.c:set_flip_cfg Unexecuted instantiation: thread_common.c:set_flip_cfg Unexecuted instantiation: tile_common.c:set_flip_cfg Unexecuted instantiation: txb_common.c:set_flip_cfg Unexecuted instantiation: warped_motion.c:set_flip_cfg Unexecuted instantiation: aq_complexity.c:set_flip_cfg Unexecuted instantiation: aq_cyclicrefresh.c:set_flip_cfg Unexecuted instantiation: aq_variance.c:set_flip_cfg Unexecuted instantiation: av1_fwd_txfm2d.c:set_flip_cfg Unexecuted instantiation: cnn.c:set_flip_cfg Unexecuted instantiation: compound_type.c:set_flip_cfg Unexecuted instantiation: encode_strategy.c:set_flip_cfg Unexecuted instantiation: global_motion.c:set_flip_cfg Unexecuted instantiation: gop_structure.c:set_flip_cfg Unexecuted instantiation: interp_search.c:set_flip_cfg Unexecuted instantiation: ml.c:set_flip_cfg Unexecuted instantiation: motion_search_facade.c:set_flip_cfg Unexecuted instantiation: wedge_utils.c:set_flip_cfg av1_inv_txfm2d.c:set_flip_cfg Line | Count | Source | 209 | 1.60M | static inline void set_flip_cfg(TX_TYPE tx_type, TXFM_2D_FLIP_CFG *cfg) { | 210 | 1.60M | get_flip_cfg(tx_type, &cfg->ud_flip, &cfg->lr_flip); | 211 | 1.60M | } |
Unexecuted instantiation: av1_txfm.c:set_flip_cfg Unexecuted instantiation: convolve.c:set_flip_cfg Unexecuted instantiation: av1_fwd_txfm1d.c:set_flip_cfg Unexecuted instantiation: av1_inv_txfm1d.c:set_flip_cfg |
212 | | |
213 | | // Utility function that returns the log of the ratio of the col and row |
214 | | // sizes. |
215 | 1.60M | static inline int get_rect_tx_log_ratio(int col, int row) { |
216 | 1.60M | if (col == row) return 0; |
217 | 828k | if (col > row) { |
218 | 467k | if (col == row * 2) return 1; |
219 | 165k | if (col == row * 4) return 2; |
220 | 18.4E | assert(0 && "Unsupported transform size"); |
221 | 18.4E | } else { |
222 | 361k | if (row == col * 2) return -1; |
223 | 117k | if (row == col * 4) return -2; |
224 | 18.4E | assert(0 && "Unsupported transform size"); |
225 | 18.4E | } |
226 | 18.4E | return 0; // Invalid |
227 | 828k | } Unexecuted instantiation: av1_dx_iface.c:get_rect_tx_log_ratio Unexecuted instantiation: decodeframe.c:get_rect_tx_log_ratio Unexecuted instantiation: decodemv.c:get_rect_tx_log_ratio Unexecuted instantiation: decoder.c:get_rect_tx_log_ratio Unexecuted instantiation: decodetxb.c:get_rect_tx_log_ratio Unexecuted instantiation: detokenize.c:get_rect_tx_log_ratio Unexecuted instantiation: obu.c:get_rect_tx_log_ratio Unexecuted instantiation: av1_cx_iface.c:get_rect_tx_log_ratio Unexecuted instantiation: allintra_vis.c:get_rect_tx_log_ratio Unexecuted instantiation: av1_quantize.c:get_rect_tx_log_ratio Unexecuted instantiation: bitstream.c:get_rect_tx_log_ratio Unexecuted instantiation: context_tree.c:get_rect_tx_log_ratio Unexecuted instantiation: encodeframe.c:get_rect_tx_log_ratio Unexecuted instantiation: encodeframe_utils.c:get_rect_tx_log_ratio Unexecuted instantiation: encodemb.c:get_rect_tx_log_ratio Unexecuted instantiation: encodemv.c:get_rect_tx_log_ratio Unexecuted instantiation: encoder.c:get_rect_tx_log_ratio Unexecuted instantiation: encoder_utils.c:get_rect_tx_log_ratio Unexecuted instantiation: encodetxb.c:get_rect_tx_log_ratio Unexecuted instantiation: ethread.c:get_rect_tx_log_ratio Unexecuted instantiation: firstpass.c:get_rect_tx_log_ratio Unexecuted instantiation: global_motion_facade.c:get_rect_tx_log_ratio Unexecuted instantiation: hash.c:get_rect_tx_log_ratio Unexecuted instantiation: hash_motion.c:get_rect_tx_log_ratio Unexecuted instantiation: hybrid_fwd_txfm.c:get_rect_tx_log_ratio Unexecuted instantiation: level.c:get_rect_tx_log_ratio Unexecuted instantiation: lookahead.c:get_rect_tx_log_ratio Unexecuted instantiation: mcomp.c:get_rect_tx_log_ratio Unexecuted instantiation: mv_prec.c:get_rect_tx_log_ratio Unexecuted instantiation: palette.c:get_rect_tx_log_ratio Unexecuted instantiation: partition_search.c:get_rect_tx_log_ratio Unexecuted instantiation: partition_strategy.c:get_rect_tx_log_ratio Unexecuted instantiation: pass2_strategy.c:get_rect_tx_log_ratio Unexecuted instantiation: pickcdef.c:get_rect_tx_log_ratio Unexecuted instantiation: picklpf.c:get_rect_tx_log_ratio Unexecuted instantiation: pickrst.c:get_rect_tx_log_ratio Unexecuted instantiation: ratectrl.c:get_rect_tx_log_ratio Unexecuted instantiation: rd.c:get_rect_tx_log_ratio Unexecuted instantiation: rdopt.c:get_rect_tx_log_ratio Unexecuted instantiation: nonrd_pickmode.c:get_rect_tx_log_ratio Unexecuted instantiation: nonrd_opt.c:get_rect_tx_log_ratio Unexecuted instantiation: reconinter_enc.c:get_rect_tx_log_ratio Unexecuted instantiation: segmentation.c:get_rect_tx_log_ratio Unexecuted instantiation: speed_features.c:get_rect_tx_log_ratio Unexecuted instantiation: superres_scale.c:get_rect_tx_log_ratio Unexecuted instantiation: svc_layercontext.c:get_rect_tx_log_ratio Unexecuted instantiation: temporal_filter.c:get_rect_tx_log_ratio Unexecuted instantiation: tokenize.c:get_rect_tx_log_ratio Unexecuted instantiation: tpl_model.c:get_rect_tx_log_ratio Unexecuted instantiation: tx_search.c:get_rect_tx_log_ratio Unexecuted instantiation: txb_rdopt.c:get_rect_tx_log_ratio Unexecuted instantiation: intra_mode_search.c:get_rect_tx_log_ratio Unexecuted instantiation: var_based_part.c:get_rect_tx_log_ratio Unexecuted instantiation: av1_noise_estimate.c:get_rect_tx_log_ratio Unexecuted instantiation: dwt.c:get_rect_tx_log_ratio Unexecuted instantiation: av1_rtcd.c:get_rect_tx_log_ratio Unexecuted instantiation: variance.c:get_rect_tx_log_ratio Unexecuted instantiation: pyramid.c:get_rect_tx_log_ratio Unexecuted instantiation: alloccommon.c:get_rect_tx_log_ratio Unexecuted instantiation: av1_loopfilter.c:get_rect_tx_log_ratio Unexecuted instantiation: blockd.c:get_rect_tx_log_ratio Unexecuted instantiation: cdef.c:get_rect_tx_log_ratio Unexecuted instantiation: cdef_block.c:get_rect_tx_log_ratio Unexecuted instantiation: cfl.c:get_rect_tx_log_ratio Unexecuted instantiation: debugmodes.c:get_rect_tx_log_ratio Unexecuted instantiation: entropy.c:get_rect_tx_log_ratio Unexecuted instantiation: entropymode.c:get_rect_tx_log_ratio Unexecuted instantiation: entropymv.c:get_rect_tx_log_ratio Unexecuted instantiation: idct.c:get_rect_tx_log_ratio Unexecuted instantiation: mvref_common.c:get_rect_tx_log_ratio Unexecuted instantiation: pred_common.c:get_rect_tx_log_ratio Unexecuted instantiation: quant_common.c:get_rect_tx_log_ratio Unexecuted instantiation: reconinter.c:get_rect_tx_log_ratio Unexecuted instantiation: reconintra.c:get_rect_tx_log_ratio Unexecuted instantiation: resize.c:get_rect_tx_log_ratio Unexecuted instantiation: restoration.c:get_rect_tx_log_ratio Unexecuted instantiation: scale.c:get_rect_tx_log_ratio Unexecuted instantiation: scan.c:get_rect_tx_log_ratio Unexecuted instantiation: thread_common.c:get_rect_tx_log_ratio Unexecuted instantiation: tile_common.c:get_rect_tx_log_ratio Unexecuted instantiation: txb_common.c:get_rect_tx_log_ratio Unexecuted instantiation: warped_motion.c:get_rect_tx_log_ratio Unexecuted instantiation: aq_complexity.c:get_rect_tx_log_ratio Unexecuted instantiation: aq_cyclicrefresh.c:get_rect_tx_log_ratio Unexecuted instantiation: aq_variance.c:get_rect_tx_log_ratio Unexecuted instantiation: av1_fwd_txfm2d.c:get_rect_tx_log_ratio Unexecuted instantiation: cnn.c:get_rect_tx_log_ratio Unexecuted instantiation: compound_type.c:get_rect_tx_log_ratio Unexecuted instantiation: encode_strategy.c:get_rect_tx_log_ratio Unexecuted instantiation: global_motion.c:get_rect_tx_log_ratio Unexecuted instantiation: gop_structure.c:get_rect_tx_log_ratio Unexecuted instantiation: interp_search.c:get_rect_tx_log_ratio Unexecuted instantiation: ml.c:get_rect_tx_log_ratio Unexecuted instantiation: motion_search_facade.c:get_rect_tx_log_ratio Unexecuted instantiation: wedge_utils.c:get_rect_tx_log_ratio av1_inv_txfm2d.c:get_rect_tx_log_ratio Line | Count | Source | 215 | 1.60M | static inline int get_rect_tx_log_ratio(int col, int row) { | 216 | 1.60M | if (col == row) return 0; | 217 | 828k | if (col > row) { | 218 | 467k | if (col == row * 2) return 1; | 219 | 165k | if (col == row * 4) return 2; | 220 | 18.4E | assert(0 && "Unsupported transform size"); | 221 | 18.4E | } else { | 222 | 361k | if (row == col * 2) return -1; | 223 | 117k | if (row == col * 4) return -2; | 224 | 18.4E | assert(0 && "Unsupported transform size"); | 225 | 18.4E | } | 226 | 18.4E | return 0; // Invalid | 227 | 828k | } |
Unexecuted instantiation: av1_txfm.c:get_rect_tx_log_ratio Unexecuted instantiation: convolve.c:get_rect_tx_log_ratio Unexecuted instantiation: av1_fwd_txfm1d.c:get_rect_tx_log_ratio Unexecuted instantiation: av1_inv_txfm1d.c:get_rect_tx_log_ratio |
228 | | |
229 | | void av1_gen_fwd_stage_range(int8_t *stage_range_col, int8_t *stage_range_row, |
230 | | const TXFM_2D_FLIP_CFG *cfg, int bd); |
231 | | |
232 | | void av1_gen_inv_stage_range(int8_t *stage_range_col, int8_t *stage_range_row, |
233 | | const TXFM_2D_FLIP_CFG *cfg, TX_SIZE tx_size, |
234 | | int bd); |
235 | | |
236 | | void av1_get_fwd_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size, |
237 | | TXFM_2D_FLIP_CFG *cfg); |
238 | | void av1_get_inv_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size, |
239 | | TXFM_2D_FLIP_CFG *cfg); |
240 | | extern const TXFM_TYPE av1_txfm_type_ls[5][TX_TYPES_1D]; |
241 | | extern const int8_t av1_txfm_stage_num_list[TXFM_TYPES]; |
242 | 1.60M | static inline int get_txw_idx(TX_SIZE tx_size) { |
243 | 1.60M | return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0]; |
244 | 1.60M | } Unexecuted instantiation: av1_dx_iface.c:get_txw_idx Unexecuted instantiation: decodeframe.c:get_txw_idx Unexecuted instantiation: decodemv.c:get_txw_idx Unexecuted instantiation: decoder.c:get_txw_idx Unexecuted instantiation: decodetxb.c:get_txw_idx Unexecuted instantiation: detokenize.c:get_txw_idx Unexecuted instantiation: obu.c:get_txw_idx Unexecuted instantiation: av1_cx_iface.c:get_txw_idx Unexecuted instantiation: allintra_vis.c:get_txw_idx Unexecuted instantiation: av1_quantize.c:get_txw_idx Unexecuted instantiation: bitstream.c:get_txw_idx Unexecuted instantiation: context_tree.c:get_txw_idx Unexecuted instantiation: encodeframe.c:get_txw_idx Unexecuted instantiation: encodeframe_utils.c:get_txw_idx Unexecuted instantiation: encodemb.c:get_txw_idx Unexecuted instantiation: encodemv.c:get_txw_idx Unexecuted instantiation: encoder.c:get_txw_idx Unexecuted instantiation: encoder_utils.c:get_txw_idx Unexecuted instantiation: encodetxb.c:get_txw_idx Unexecuted instantiation: ethread.c:get_txw_idx Unexecuted instantiation: firstpass.c:get_txw_idx Unexecuted instantiation: global_motion_facade.c:get_txw_idx Unexecuted instantiation: hash.c:get_txw_idx Unexecuted instantiation: hash_motion.c:get_txw_idx Unexecuted instantiation: hybrid_fwd_txfm.c:get_txw_idx Unexecuted instantiation: level.c:get_txw_idx Unexecuted instantiation: lookahead.c:get_txw_idx Unexecuted instantiation: mcomp.c:get_txw_idx Unexecuted instantiation: mv_prec.c:get_txw_idx Unexecuted instantiation: palette.c:get_txw_idx Unexecuted instantiation: partition_search.c:get_txw_idx Unexecuted instantiation: partition_strategy.c:get_txw_idx Unexecuted instantiation: pass2_strategy.c:get_txw_idx Unexecuted instantiation: pickcdef.c:get_txw_idx Unexecuted instantiation: picklpf.c:get_txw_idx Unexecuted instantiation: pickrst.c:get_txw_idx Unexecuted instantiation: ratectrl.c:get_txw_idx Unexecuted instantiation: rd.c:get_txw_idx Unexecuted instantiation: rdopt.c:get_txw_idx Unexecuted instantiation: nonrd_pickmode.c:get_txw_idx Unexecuted instantiation: nonrd_opt.c:get_txw_idx Unexecuted instantiation: reconinter_enc.c:get_txw_idx Unexecuted instantiation: segmentation.c:get_txw_idx Unexecuted instantiation: speed_features.c:get_txw_idx Unexecuted instantiation: superres_scale.c:get_txw_idx Unexecuted instantiation: svc_layercontext.c:get_txw_idx Unexecuted instantiation: temporal_filter.c:get_txw_idx Unexecuted instantiation: tokenize.c:get_txw_idx Unexecuted instantiation: tpl_model.c:get_txw_idx Unexecuted instantiation: tx_search.c:get_txw_idx Unexecuted instantiation: txb_rdopt.c:get_txw_idx Unexecuted instantiation: intra_mode_search.c:get_txw_idx Unexecuted instantiation: var_based_part.c:get_txw_idx Unexecuted instantiation: av1_noise_estimate.c:get_txw_idx Unexecuted instantiation: dwt.c:get_txw_idx Unexecuted instantiation: av1_rtcd.c:get_txw_idx Unexecuted instantiation: variance.c:get_txw_idx Unexecuted instantiation: pyramid.c:get_txw_idx Unexecuted instantiation: alloccommon.c:get_txw_idx Unexecuted instantiation: av1_loopfilter.c:get_txw_idx Unexecuted instantiation: blockd.c:get_txw_idx Unexecuted instantiation: cdef.c:get_txw_idx Unexecuted instantiation: cdef_block.c:get_txw_idx Unexecuted instantiation: cfl.c:get_txw_idx Unexecuted instantiation: debugmodes.c:get_txw_idx Unexecuted instantiation: entropy.c:get_txw_idx Unexecuted instantiation: entropymode.c:get_txw_idx Unexecuted instantiation: entropymv.c:get_txw_idx Unexecuted instantiation: idct.c:get_txw_idx Unexecuted instantiation: mvref_common.c:get_txw_idx Unexecuted instantiation: pred_common.c:get_txw_idx Unexecuted instantiation: quant_common.c:get_txw_idx Unexecuted instantiation: reconinter.c:get_txw_idx Unexecuted instantiation: reconintra.c:get_txw_idx Unexecuted instantiation: resize.c:get_txw_idx Unexecuted instantiation: restoration.c:get_txw_idx Unexecuted instantiation: scale.c:get_txw_idx Unexecuted instantiation: scan.c:get_txw_idx Unexecuted instantiation: thread_common.c:get_txw_idx Unexecuted instantiation: tile_common.c:get_txw_idx Unexecuted instantiation: txb_common.c:get_txw_idx Unexecuted instantiation: warped_motion.c:get_txw_idx Unexecuted instantiation: aq_complexity.c:get_txw_idx Unexecuted instantiation: aq_cyclicrefresh.c:get_txw_idx Unexecuted instantiation: aq_variance.c:get_txw_idx Unexecuted instantiation: av1_fwd_txfm2d.c:get_txw_idx Unexecuted instantiation: cnn.c:get_txw_idx Unexecuted instantiation: compound_type.c:get_txw_idx Unexecuted instantiation: encode_strategy.c:get_txw_idx Unexecuted instantiation: global_motion.c:get_txw_idx Unexecuted instantiation: gop_structure.c:get_txw_idx Unexecuted instantiation: interp_search.c:get_txw_idx Unexecuted instantiation: ml.c:get_txw_idx Unexecuted instantiation: motion_search_facade.c:get_txw_idx Unexecuted instantiation: wedge_utils.c:get_txw_idx av1_inv_txfm2d.c:get_txw_idx Line | Count | Source | 242 | 1.60M | static inline int get_txw_idx(TX_SIZE tx_size) { | 243 | 1.60M | return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0]; | 244 | 1.60M | } |
Unexecuted instantiation: av1_txfm.c:get_txw_idx Unexecuted instantiation: convolve.c:get_txw_idx Unexecuted instantiation: av1_fwd_txfm1d.c:get_txw_idx Unexecuted instantiation: av1_inv_txfm1d.c:get_txw_idx |
245 | 1.60M | static inline int get_txh_idx(TX_SIZE tx_size) { |
246 | 1.60M | return tx_size_high_log2[tx_size] - tx_size_high_log2[0]; |
247 | 1.60M | } Unexecuted instantiation: av1_dx_iface.c:get_txh_idx Unexecuted instantiation: decodeframe.c:get_txh_idx Unexecuted instantiation: decodemv.c:get_txh_idx Unexecuted instantiation: decoder.c:get_txh_idx Unexecuted instantiation: decodetxb.c:get_txh_idx Unexecuted instantiation: detokenize.c:get_txh_idx Unexecuted instantiation: obu.c:get_txh_idx Unexecuted instantiation: av1_cx_iface.c:get_txh_idx Unexecuted instantiation: allintra_vis.c:get_txh_idx Unexecuted instantiation: av1_quantize.c:get_txh_idx Unexecuted instantiation: bitstream.c:get_txh_idx Unexecuted instantiation: context_tree.c:get_txh_idx Unexecuted instantiation: encodeframe.c:get_txh_idx Unexecuted instantiation: encodeframe_utils.c:get_txh_idx Unexecuted instantiation: encodemb.c:get_txh_idx Unexecuted instantiation: encodemv.c:get_txh_idx Unexecuted instantiation: encoder.c:get_txh_idx Unexecuted instantiation: encoder_utils.c:get_txh_idx Unexecuted instantiation: encodetxb.c:get_txh_idx Unexecuted instantiation: ethread.c:get_txh_idx Unexecuted instantiation: firstpass.c:get_txh_idx Unexecuted instantiation: global_motion_facade.c:get_txh_idx Unexecuted instantiation: hash.c:get_txh_idx Unexecuted instantiation: hash_motion.c:get_txh_idx Unexecuted instantiation: hybrid_fwd_txfm.c:get_txh_idx Unexecuted instantiation: level.c:get_txh_idx Unexecuted instantiation: lookahead.c:get_txh_idx Unexecuted instantiation: mcomp.c:get_txh_idx Unexecuted instantiation: mv_prec.c:get_txh_idx Unexecuted instantiation: palette.c:get_txh_idx Unexecuted instantiation: partition_search.c:get_txh_idx Unexecuted instantiation: partition_strategy.c:get_txh_idx Unexecuted instantiation: pass2_strategy.c:get_txh_idx Unexecuted instantiation: pickcdef.c:get_txh_idx Unexecuted instantiation: picklpf.c:get_txh_idx Unexecuted instantiation: pickrst.c:get_txh_idx Unexecuted instantiation: ratectrl.c:get_txh_idx Unexecuted instantiation: rd.c:get_txh_idx Unexecuted instantiation: rdopt.c:get_txh_idx Unexecuted instantiation: nonrd_pickmode.c:get_txh_idx Unexecuted instantiation: nonrd_opt.c:get_txh_idx Unexecuted instantiation: reconinter_enc.c:get_txh_idx Unexecuted instantiation: segmentation.c:get_txh_idx Unexecuted instantiation: speed_features.c:get_txh_idx Unexecuted instantiation: superres_scale.c:get_txh_idx Unexecuted instantiation: svc_layercontext.c:get_txh_idx Unexecuted instantiation: temporal_filter.c:get_txh_idx Unexecuted instantiation: tokenize.c:get_txh_idx Unexecuted instantiation: tpl_model.c:get_txh_idx Unexecuted instantiation: tx_search.c:get_txh_idx Unexecuted instantiation: txb_rdopt.c:get_txh_idx Unexecuted instantiation: intra_mode_search.c:get_txh_idx Unexecuted instantiation: var_based_part.c:get_txh_idx Unexecuted instantiation: av1_noise_estimate.c:get_txh_idx Unexecuted instantiation: dwt.c:get_txh_idx Unexecuted instantiation: av1_rtcd.c:get_txh_idx Unexecuted instantiation: variance.c:get_txh_idx Unexecuted instantiation: pyramid.c:get_txh_idx Unexecuted instantiation: alloccommon.c:get_txh_idx Unexecuted instantiation: av1_loopfilter.c:get_txh_idx Unexecuted instantiation: blockd.c:get_txh_idx Unexecuted instantiation: cdef.c:get_txh_idx Unexecuted instantiation: cdef_block.c:get_txh_idx Unexecuted instantiation: cfl.c:get_txh_idx Unexecuted instantiation: debugmodes.c:get_txh_idx Unexecuted instantiation: entropy.c:get_txh_idx Unexecuted instantiation: entropymode.c:get_txh_idx Unexecuted instantiation: entropymv.c:get_txh_idx Unexecuted instantiation: idct.c:get_txh_idx Unexecuted instantiation: mvref_common.c:get_txh_idx Unexecuted instantiation: pred_common.c:get_txh_idx Unexecuted instantiation: quant_common.c:get_txh_idx Unexecuted instantiation: reconinter.c:get_txh_idx Unexecuted instantiation: reconintra.c:get_txh_idx Unexecuted instantiation: resize.c:get_txh_idx Unexecuted instantiation: restoration.c:get_txh_idx Unexecuted instantiation: scale.c:get_txh_idx Unexecuted instantiation: scan.c:get_txh_idx Unexecuted instantiation: thread_common.c:get_txh_idx Unexecuted instantiation: tile_common.c:get_txh_idx Unexecuted instantiation: txb_common.c:get_txh_idx Unexecuted instantiation: warped_motion.c:get_txh_idx Unexecuted instantiation: aq_complexity.c:get_txh_idx Unexecuted instantiation: aq_cyclicrefresh.c:get_txh_idx Unexecuted instantiation: aq_variance.c:get_txh_idx Unexecuted instantiation: av1_fwd_txfm2d.c:get_txh_idx Unexecuted instantiation: cnn.c:get_txh_idx Unexecuted instantiation: compound_type.c:get_txh_idx Unexecuted instantiation: encode_strategy.c:get_txh_idx Unexecuted instantiation: global_motion.c:get_txh_idx Unexecuted instantiation: gop_structure.c:get_txh_idx Unexecuted instantiation: interp_search.c:get_txh_idx Unexecuted instantiation: ml.c:get_txh_idx Unexecuted instantiation: motion_search_facade.c:get_txh_idx Unexecuted instantiation: wedge_utils.c:get_txh_idx av1_inv_txfm2d.c:get_txh_idx Line | Count | Source | 245 | 1.60M | static inline int get_txh_idx(TX_SIZE tx_size) { | 246 | 1.60M | return tx_size_high_log2[tx_size] - tx_size_high_log2[0]; | 247 | 1.60M | } |
Unexecuted instantiation: av1_txfm.c:get_txh_idx Unexecuted instantiation: convolve.c:get_txh_idx Unexecuted instantiation: av1_fwd_txfm1d.c:get_txh_idx Unexecuted instantiation: av1_inv_txfm1d.c:get_txh_idx |
248 | | |
249 | | void av1_range_check_buf(int32_t stage, const int32_t *input, |
250 | | const int32_t *buf, int32_t size, int8_t bit); |
251 | | #define MAX_TXWH_IDX 5 |
252 | | #ifdef __cplusplus |
253 | | } |
254 | | #endif // __cplusplus |
255 | | |
256 | | #endif // AOM_AV1_COMMON_AV1_TXFM_H_ |