Coverage Report

Created: 2025-06-22 08:04

/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
}
av1_txfm.c:round_shift
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_