Coverage Report

Created: 2026-03-31 06:59

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/aom/av1/common/av1_txfm.h
Line
Count
Source
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 <inttypes.h>
17
#include <math.h>
18
#include <stdio.h>
19
20
#include "config/aom_config.h"
21
22
#include "av1/common/enums.h"
23
#include "av1/common/blockd.h"
24
#include "aom/aom_integer.h"
25
#include "aom_dsp/aom_dsp_common.h"
26
27
#ifdef __cplusplus
28
extern "C" {
29
#endif
30
31
#if !defined(DO_RANGE_CHECK_CLAMP)
32
#define DO_RANGE_CHECK_CLAMP 0
33
#endif
34
35
extern const int32_t av1_cospi_arr_data[4][64];
36
extern const int32_t av1_sinpi_arr_data[4][5];
37
38
0
#define MAX_TXFM_STAGE_NUM 12
39
40
static const int cos_bit_min = 10;
41
42
73.6M
#define NewSqrt2Bits ((int32_t)12)
43
// 2^12 * sqrt(2)
44
static const int32_t NewSqrt2 = 5793;
45
// 2^12 / sqrt(2)
46
static const int32_t NewInvSqrt2 = 2896;
47
48
28.1M
static inline const int32_t *cospi_arr(int n) {
49
28.1M
  return av1_cospi_arr_data[n - cos_bit_min];
50
28.1M
}
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_rtcd.c:cospi_arr
Unexecuted instantiation: highbd_convolve_ssse3.c:cospi_arr
Unexecuted instantiation: intrapred_sse4.c:cospi_arr
Unexecuted instantiation: intrapred_avx2.c:cospi_arr
Unexecuted instantiation: highbd_convolve_avx2.c:cospi_arr
Unexecuted instantiation: alloccommon.c:cospi_arr
Unexecuted instantiation: av1_inv_txfm2d.c:cospi_arr
Unexecuted instantiation: av1_loopfilter.c:cospi_arr
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:cospi_arr
Unexecuted instantiation: convolve_2d_sse2.c:cospi_arr
Unexecuted instantiation: convolve_sse2.c:cospi_arr
Unexecuted instantiation: jnt_convolve_sse2.c:cospi_arr
Unexecuted instantiation: resize_sse2.c:cospi_arr
Unexecuted instantiation: wiener_convolve_sse2.c:cospi_arr
av1_inv_txfm_ssse3.c:cospi_arr
Line
Count
Source
48
6.03M
static inline const int32_t *cospi_arr(int n) {
49
6.03M
  return av1_cospi_arr_data[n - cos_bit_min];
50
6.03M
}
Unexecuted instantiation: cfl_ssse3.c:cospi_arr
Unexecuted instantiation: jnt_convolve_ssse3.c:cospi_arr
Unexecuted instantiation: resize_ssse3.c:cospi_arr
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:cospi_arr
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:cospi_arr
Unexecuted instantiation: reconinter_ssse3.c:cospi_arr
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:cospi_arr
Unexecuted instantiation: av1_convolve_scale_sse4.c:cospi_arr
Unexecuted instantiation: av1_txfm_sse4.c:cospi_arr
Unexecuted instantiation: cdef_block_sse4.c:cospi_arr
Unexecuted instantiation: filterintra_sse4.c:cospi_arr
highbd_inv_txfm_sse4.c:cospi_arr
Line
Count
Source
48
5.99M
static inline const int32_t *cospi_arr(int n) {
49
5.99M
  return av1_cospi_arr_data[n - cos_bit_min];
50
5.99M
}
Unexecuted instantiation: intra_edge_sse4.c:cospi_arr
Unexecuted instantiation: reconinter_sse4.c:cospi_arr
Unexecuted instantiation: selfguided_sse4.c:cospi_arr
Unexecuted instantiation: warp_plane_sse4.c:cospi_arr
Unexecuted instantiation: highbd_convolve_2d_sse4.c:cospi_arr
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:cospi_arr
Unexecuted instantiation: highbd_warp_plane_sse4.c:cospi_arr
av1_inv_txfm_avx2.c:cospi_arr
Line
Count
Source
48
2.86M
static inline const int32_t *cospi_arr(int n) {
49
2.86M
  return av1_cospi_arr_data[n - cos_bit_min];
50
2.86M
}
Unexecuted instantiation: cdef_block_avx2.c:cospi_arr
Unexecuted instantiation: cfl_avx2.c:cospi_arr
Unexecuted instantiation: convolve_2d_avx2.c:cospi_arr
Unexecuted instantiation: convolve_avx2.c:cospi_arr
highbd_inv_txfm_avx2.c:cospi_arr
Line
Count
Source
48
13.3M
static inline const int32_t *cospi_arr(int n) {
49
13.3M
  return av1_cospi_arr_data[n - cos_bit_min];
50
13.3M
}
Unexecuted instantiation: jnt_convolve_avx2.c:cospi_arr
Unexecuted instantiation: reconinter_avx2.c:cospi_arr
Unexecuted instantiation: resize_avx2.c:cospi_arr
Unexecuted instantiation: selfguided_avx2.c:cospi_arr
Unexecuted instantiation: warp_plane_avx2.c:cospi_arr
Unexecuted instantiation: wiener_convolve_avx2.c:cospi_arr
Unexecuted instantiation: highbd_convolve_2d_avx2.c:cospi_arr
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:cospi_arr
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:cospi_arr
Unexecuted instantiation: highbd_warp_affine_avx2.c:cospi_arr
Unexecuted instantiation: av1_inv_txfm1d.c:cospi_arr
51
52
3.32M
static inline const int32_t *sinpi_arr(int n) {
53
3.32M
  return av1_sinpi_arr_data[n - cos_bit_min];
54
3.32M
}
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_rtcd.c:sinpi_arr
Unexecuted instantiation: highbd_convolve_ssse3.c:sinpi_arr
Unexecuted instantiation: intrapred_sse4.c:sinpi_arr
Unexecuted instantiation: intrapred_avx2.c:sinpi_arr
Unexecuted instantiation: highbd_convolve_avx2.c:sinpi_arr
Unexecuted instantiation: alloccommon.c:sinpi_arr
Unexecuted instantiation: av1_inv_txfm2d.c:sinpi_arr
Unexecuted instantiation: av1_loopfilter.c:sinpi_arr
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:sinpi_arr
Unexecuted instantiation: convolve_2d_sse2.c:sinpi_arr
Unexecuted instantiation: convolve_sse2.c:sinpi_arr
Unexecuted instantiation: jnt_convolve_sse2.c:sinpi_arr
Unexecuted instantiation: resize_sse2.c:sinpi_arr
Unexecuted instantiation: wiener_convolve_sse2.c:sinpi_arr
av1_inv_txfm_ssse3.c:sinpi_arr
Line
Count
Source
52
890k
static inline const int32_t *sinpi_arr(int n) {
53
890k
  return av1_sinpi_arr_data[n - cos_bit_min];
54
890k
}
Unexecuted instantiation: cfl_ssse3.c:sinpi_arr
Unexecuted instantiation: jnt_convolve_ssse3.c:sinpi_arr
Unexecuted instantiation: resize_ssse3.c:sinpi_arr
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:sinpi_arr
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:sinpi_arr
Unexecuted instantiation: reconinter_ssse3.c:sinpi_arr
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:sinpi_arr
Unexecuted instantiation: av1_convolve_scale_sse4.c:sinpi_arr
Unexecuted instantiation: av1_txfm_sse4.c:sinpi_arr
Unexecuted instantiation: cdef_block_sse4.c:sinpi_arr
Unexecuted instantiation: filterintra_sse4.c:sinpi_arr
highbd_inv_txfm_sse4.c:sinpi_arr
Line
Count
Source
52
2.43M
static inline const int32_t *sinpi_arr(int n) {
53
2.43M
  return av1_sinpi_arr_data[n - cos_bit_min];
54
2.43M
}
Unexecuted instantiation: intra_edge_sse4.c:sinpi_arr
Unexecuted instantiation: reconinter_sse4.c:sinpi_arr
Unexecuted instantiation: selfguided_sse4.c:sinpi_arr
Unexecuted instantiation: warp_plane_sse4.c:sinpi_arr
Unexecuted instantiation: highbd_convolve_2d_sse4.c:sinpi_arr
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:sinpi_arr
Unexecuted instantiation: highbd_warp_plane_sse4.c:sinpi_arr
Unexecuted instantiation: av1_inv_txfm_avx2.c:sinpi_arr
Unexecuted instantiation: cdef_block_avx2.c:sinpi_arr
Unexecuted instantiation: cfl_avx2.c:sinpi_arr
Unexecuted instantiation: convolve_2d_avx2.c:sinpi_arr
Unexecuted instantiation: convolve_avx2.c:sinpi_arr
Unexecuted instantiation: highbd_inv_txfm_avx2.c:sinpi_arr
Unexecuted instantiation: jnt_convolve_avx2.c:sinpi_arr
Unexecuted instantiation: reconinter_avx2.c:sinpi_arr
Unexecuted instantiation: resize_avx2.c:sinpi_arr
Unexecuted instantiation: selfguided_avx2.c:sinpi_arr
Unexecuted instantiation: warp_plane_avx2.c:sinpi_arr
Unexecuted instantiation: wiener_convolve_avx2.c:sinpi_arr
Unexecuted instantiation: highbd_convolve_2d_avx2.c:sinpi_arr
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:sinpi_arr
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:sinpi_arr
Unexecuted instantiation: highbd_warp_affine_avx2.c:sinpi_arr
Unexecuted instantiation: av1_inv_txfm1d.c:sinpi_arr
55
56
// The reduced bit-width and permuted arrays are only used in the Arm Neon
57
// implementations in av1_fwd_txfm2d_neon.c and highbd_fwd_txfm_neon.c for now.
58
#if HAVE_NEON
59
// Store cospi/sinpi costants in Q2.13 format.
60
// See: https://en.wikipedia.org/wiki/Q_(number_format)
61
extern const int16_t av1_cospi_arr_q13_data[4][128];
62
extern const int16_t av1_sinpi_arr_q13_data[4][4];
63
64
extern const int32_t av1_cospi_arr_s32_data[4][66];
65
66
static inline const int16_t *cospi_arr_q13(int n) {
67
  return av1_cospi_arr_q13_data[n - cos_bit_min];
68
}
69
70
static inline const int16_t *sinpi_arr_q13(int n) {
71
  return av1_sinpi_arr_q13_data[n - cos_bit_min];
72
}
73
74
static inline const int32_t *cospi_arr_s32(int n) {
75
  return av1_cospi_arr_s32_data[n - cos_bit_min];
76
}
77
#endif  // HAVE_NEON
78
79
0
static inline int32_t range_check_value(int32_t value, int8_t bit) {
80
#if CONFIG_COEFFICIENT_RANGE_CHECKING
81
  const int64_t max_value = (1LL << (bit - 1)) - 1;
82
  const int64_t min_value = -(1LL << (bit - 1));
83
  if (value < min_value || value > max_value) {
84
    fprintf(stderr, "coeff out of bit range, value: %d bit %d\n", value, bit);
85
#if !CONFIG_AV1_ENCODER
86
    assert(0);
87
#endif
88
  }
89
#endif  // CONFIG_COEFFICIENT_RANGE_CHECKING
90
0
#if DO_RANGE_CHECK_CLAMP
91
0
  bit = AOMMIN(bit, 31);
92
0
  return clamp(value, -(1 << (bit - 1)), (1 << (bit - 1)) - 1);
93
0
#endif  // DO_RANGE_CHECK_CLAMP
94
0
  (void)bit;
95
0
  return value;
96
0
}
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_rtcd.c:range_check_value
Unexecuted instantiation: highbd_convolve_ssse3.c:range_check_value
Unexecuted instantiation: intrapred_sse4.c:range_check_value
Unexecuted instantiation: intrapred_avx2.c:range_check_value
Unexecuted instantiation: highbd_convolve_avx2.c:range_check_value
Unexecuted instantiation: alloccommon.c:range_check_value
Unexecuted instantiation: av1_inv_txfm2d.c:range_check_value
Unexecuted instantiation: av1_loopfilter.c:range_check_value
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:range_check_value
Unexecuted instantiation: convolve_2d_sse2.c:range_check_value
Unexecuted instantiation: convolve_sse2.c:range_check_value
Unexecuted instantiation: jnt_convolve_sse2.c:range_check_value
Unexecuted instantiation: resize_sse2.c:range_check_value
Unexecuted instantiation: wiener_convolve_sse2.c:range_check_value
Unexecuted instantiation: av1_inv_txfm_ssse3.c:range_check_value
Unexecuted instantiation: cfl_ssse3.c:range_check_value
Unexecuted instantiation: jnt_convolve_ssse3.c:range_check_value
Unexecuted instantiation: resize_ssse3.c:range_check_value
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:range_check_value
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:range_check_value
Unexecuted instantiation: reconinter_ssse3.c:range_check_value
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:range_check_value
Unexecuted instantiation: av1_convolve_scale_sse4.c:range_check_value
Unexecuted instantiation: av1_txfm_sse4.c:range_check_value
Unexecuted instantiation: cdef_block_sse4.c:range_check_value
Unexecuted instantiation: filterintra_sse4.c:range_check_value
Unexecuted instantiation: highbd_inv_txfm_sse4.c:range_check_value
Unexecuted instantiation: intra_edge_sse4.c:range_check_value
Unexecuted instantiation: reconinter_sse4.c:range_check_value
Unexecuted instantiation: selfguided_sse4.c:range_check_value
Unexecuted instantiation: warp_plane_sse4.c:range_check_value
Unexecuted instantiation: highbd_convolve_2d_sse4.c:range_check_value
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:range_check_value
Unexecuted instantiation: highbd_warp_plane_sse4.c:range_check_value
Unexecuted instantiation: av1_inv_txfm_avx2.c:range_check_value
Unexecuted instantiation: cdef_block_avx2.c:range_check_value
Unexecuted instantiation: cfl_avx2.c:range_check_value
Unexecuted instantiation: convolve_2d_avx2.c:range_check_value
Unexecuted instantiation: convolve_avx2.c:range_check_value
Unexecuted instantiation: highbd_inv_txfm_avx2.c:range_check_value
Unexecuted instantiation: jnt_convolve_avx2.c:range_check_value
Unexecuted instantiation: reconinter_avx2.c:range_check_value
Unexecuted instantiation: resize_avx2.c:range_check_value
Unexecuted instantiation: selfguided_avx2.c:range_check_value
Unexecuted instantiation: warp_plane_avx2.c:range_check_value
Unexecuted instantiation: wiener_convolve_avx2.c:range_check_value
Unexecuted instantiation: highbd_convolve_2d_avx2.c:range_check_value
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:range_check_value
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:range_check_value
Unexecuted instantiation: highbd_warp_affine_avx2.c:range_check_value
Unexecuted instantiation: av1_inv_txfm1d.c:range_check_value
97
98
0
static inline int64_t range_check_value64(int64_t value, int8_t bit) {
99
#if CONFIG_COEFFICIENT_RANGE_CHECKING
100
  const int64_t max_value = (1LL << (bit - 1)) - 1;
101
  const int64_t min_value = -(1LL << (bit - 1));
102
  if (value < min_value || value > max_value) {
103
    fprintf(stderr, "coeff out of bit range, value: %" PRId64 " bit %d\n",
104
            value, bit);
105
#if !CONFIG_AV1_ENCODER
106
    assert(0);
107
#endif
108
  }
109
#endif  // CONFIG_COEFFICIENT_RANGE_CHECKING
110
0
#if DO_RANGE_CHECK_CLAMP
111
0
  bit = AOMMIN(bit, 63);
112
0
  return clamp64(value, -(1LL << (bit - 1)), (1LL << (bit - 1)) - 1);
113
0
#endif  // DO_RANGE_CHECK_CLAMP
114
0
  (void)bit;
115
0
  return value;
116
0
}
Unexecuted instantiation: av1_dx_iface.c:range_check_value64
Unexecuted instantiation: decodeframe.c:range_check_value64
Unexecuted instantiation: decodemv.c:range_check_value64
Unexecuted instantiation: decoder.c:range_check_value64
Unexecuted instantiation: decodetxb.c:range_check_value64
Unexecuted instantiation: detokenize.c:range_check_value64
Unexecuted instantiation: obu.c:range_check_value64
Unexecuted instantiation: av1_rtcd.c:range_check_value64
Unexecuted instantiation: highbd_convolve_ssse3.c:range_check_value64
Unexecuted instantiation: intrapred_sse4.c:range_check_value64
Unexecuted instantiation: intrapred_avx2.c:range_check_value64
Unexecuted instantiation: highbd_convolve_avx2.c:range_check_value64
Unexecuted instantiation: alloccommon.c:range_check_value64
Unexecuted instantiation: av1_inv_txfm2d.c:range_check_value64
Unexecuted instantiation: av1_loopfilter.c:range_check_value64
Unexecuted instantiation: av1_txfm.c:range_check_value64
Unexecuted instantiation: blockd.c:range_check_value64
Unexecuted instantiation: cdef.c:range_check_value64
Unexecuted instantiation: cdef_block.c:range_check_value64
Unexecuted instantiation: cfl.c:range_check_value64
Unexecuted instantiation: convolve.c:range_check_value64
Unexecuted instantiation: entropy.c:range_check_value64
Unexecuted instantiation: entropymode.c:range_check_value64
Unexecuted instantiation: entropymv.c:range_check_value64
Unexecuted instantiation: idct.c:range_check_value64
Unexecuted instantiation: mvref_common.c:range_check_value64
Unexecuted instantiation: pred_common.c:range_check_value64
Unexecuted instantiation: quant_common.c:range_check_value64
Unexecuted instantiation: reconinter.c:range_check_value64
Unexecuted instantiation: reconintra.c:range_check_value64
Unexecuted instantiation: resize.c:range_check_value64
Unexecuted instantiation: restoration.c:range_check_value64
Unexecuted instantiation: scale.c:range_check_value64
Unexecuted instantiation: scan.c:range_check_value64
Unexecuted instantiation: thread_common.c:range_check_value64
Unexecuted instantiation: tile_common.c:range_check_value64
Unexecuted instantiation: txb_common.c:range_check_value64
Unexecuted instantiation: warped_motion.c:range_check_value64
Unexecuted instantiation: cfl_sse2.c:range_check_value64
Unexecuted instantiation: convolve_2d_sse2.c:range_check_value64
Unexecuted instantiation: convolve_sse2.c:range_check_value64
Unexecuted instantiation: jnt_convolve_sse2.c:range_check_value64
Unexecuted instantiation: resize_sse2.c:range_check_value64
Unexecuted instantiation: wiener_convolve_sse2.c:range_check_value64
Unexecuted instantiation: av1_inv_txfm_ssse3.c:range_check_value64
Unexecuted instantiation: cfl_ssse3.c:range_check_value64
Unexecuted instantiation: jnt_convolve_ssse3.c:range_check_value64
Unexecuted instantiation: resize_ssse3.c:range_check_value64
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:range_check_value64
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:range_check_value64
Unexecuted instantiation: reconinter_ssse3.c:range_check_value64
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:range_check_value64
Unexecuted instantiation: av1_convolve_scale_sse4.c:range_check_value64
Unexecuted instantiation: av1_txfm_sse4.c:range_check_value64
Unexecuted instantiation: cdef_block_sse4.c:range_check_value64
Unexecuted instantiation: filterintra_sse4.c:range_check_value64
Unexecuted instantiation: highbd_inv_txfm_sse4.c:range_check_value64
Unexecuted instantiation: intra_edge_sse4.c:range_check_value64
Unexecuted instantiation: reconinter_sse4.c:range_check_value64
Unexecuted instantiation: selfguided_sse4.c:range_check_value64
Unexecuted instantiation: warp_plane_sse4.c:range_check_value64
Unexecuted instantiation: highbd_convolve_2d_sse4.c:range_check_value64
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:range_check_value64
Unexecuted instantiation: highbd_warp_plane_sse4.c:range_check_value64
Unexecuted instantiation: av1_inv_txfm_avx2.c:range_check_value64
Unexecuted instantiation: cdef_block_avx2.c:range_check_value64
Unexecuted instantiation: cfl_avx2.c:range_check_value64
Unexecuted instantiation: convolve_2d_avx2.c:range_check_value64
Unexecuted instantiation: convolve_avx2.c:range_check_value64
Unexecuted instantiation: highbd_inv_txfm_avx2.c:range_check_value64
Unexecuted instantiation: jnt_convolve_avx2.c:range_check_value64
Unexecuted instantiation: reconinter_avx2.c:range_check_value64
Unexecuted instantiation: resize_avx2.c:range_check_value64
Unexecuted instantiation: selfguided_avx2.c:range_check_value64
Unexecuted instantiation: warp_plane_avx2.c:range_check_value64
Unexecuted instantiation: wiener_convolve_avx2.c:range_check_value64
Unexecuted instantiation: highbd_convolve_2d_avx2.c:range_check_value64
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:range_check_value64
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:range_check_value64
Unexecuted instantiation: highbd_warp_affine_avx2.c:range_check_value64
Unexecuted instantiation: av1_inv_txfm1d.c:range_check_value64
117
118
0
static inline int32_t round_shift(int64_t value, int bit) {
119
0
  assert(bit >= 1);
120
0
  return (int32_t)((value + (1ll << (bit - 1))) >> bit);
121
0
}
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_rtcd.c:round_shift
Unexecuted instantiation: highbd_convolve_ssse3.c:round_shift
Unexecuted instantiation: intrapred_sse4.c:round_shift
Unexecuted instantiation: intrapred_avx2.c:round_shift
Unexecuted instantiation: highbd_convolve_avx2.c:round_shift
Unexecuted instantiation: alloccommon.c:round_shift
Unexecuted instantiation: av1_inv_txfm2d.c:round_shift
Unexecuted instantiation: av1_loopfilter.c:round_shift
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:round_shift
Unexecuted instantiation: convolve_2d_sse2.c:round_shift
Unexecuted instantiation: convolve_sse2.c:round_shift
Unexecuted instantiation: jnt_convolve_sse2.c:round_shift
Unexecuted instantiation: resize_sse2.c:round_shift
Unexecuted instantiation: wiener_convolve_sse2.c:round_shift
Unexecuted instantiation: av1_inv_txfm_ssse3.c:round_shift
Unexecuted instantiation: cfl_ssse3.c:round_shift
Unexecuted instantiation: jnt_convolve_ssse3.c:round_shift
Unexecuted instantiation: resize_ssse3.c:round_shift
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:round_shift
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:round_shift
Unexecuted instantiation: reconinter_ssse3.c:round_shift
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:round_shift
Unexecuted instantiation: av1_convolve_scale_sse4.c:round_shift
Unexecuted instantiation: av1_txfm_sse4.c:round_shift
Unexecuted instantiation: cdef_block_sse4.c:round_shift
Unexecuted instantiation: filterintra_sse4.c:round_shift
Unexecuted instantiation: highbd_inv_txfm_sse4.c:round_shift
Unexecuted instantiation: intra_edge_sse4.c:round_shift
Unexecuted instantiation: reconinter_sse4.c:round_shift
Unexecuted instantiation: selfguided_sse4.c:round_shift
Unexecuted instantiation: warp_plane_sse4.c:round_shift
Unexecuted instantiation: highbd_convolve_2d_sse4.c:round_shift
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:round_shift
Unexecuted instantiation: highbd_warp_plane_sse4.c:round_shift
Unexecuted instantiation: av1_inv_txfm_avx2.c:round_shift
Unexecuted instantiation: cdef_block_avx2.c:round_shift
Unexecuted instantiation: cfl_avx2.c:round_shift
Unexecuted instantiation: convolve_2d_avx2.c:round_shift
Unexecuted instantiation: convolve_avx2.c:round_shift
Unexecuted instantiation: highbd_inv_txfm_avx2.c:round_shift
Unexecuted instantiation: jnt_convolve_avx2.c:round_shift
Unexecuted instantiation: reconinter_avx2.c:round_shift
Unexecuted instantiation: resize_avx2.c:round_shift
Unexecuted instantiation: selfguided_avx2.c:round_shift
Unexecuted instantiation: warp_plane_avx2.c:round_shift
Unexecuted instantiation: wiener_convolve_avx2.c:round_shift
Unexecuted instantiation: highbd_convolve_2d_avx2.c:round_shift
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:round_shift
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:round_shift
Unexecuted instantiation: highbd_warp_affine_avx2.c:round_shift
Unexecuted instantiation: av1_inv_txfm1d.c:round_shift
122
123
static inline int32_t half_btf(int32_t w0, int32_t in0, int32_t w1, int32_t in1,
124
0
                               int bit) {
125
0
  int64_t result_64 = (int64_t)(w0 * in0) + (int64_t)(w1 * in1);
126
0
  int64_t intermediate = result_64 + (1LL << (bit - 1));
127
  // NOTE(rachelbarker): The value 'result_64' may not necessarily fit
128
  // into 32 bits. However, the result of this function is nominally
129
  // ROUND_POWER_OF_TWO_64(result_64, bit)
130
  // and that is required to fit into stage_range[stage] many bits
131
  // (checked by range_check_buf()).
132
  //
133
  // Here we've unpacked that rounding operation, and it can be shown
134
  // that the value of 'intermediate' here *does* fit into 32 bits
135
  // for any conformant bitstream.
136
  // The upshot is that, if you do all this calculation using
137
  // wrapping 32-bit arithmetic instead of (non-wrapping) 64-bit arithmetic,
138
  // then you'll still get the correct result.
139
  // To provide a check on this logic, we assert that 'intermediate'
140
  // would fit into an int32 if range checking is enabled.
141
#if CONFIG_COEFFICIENT_RANGE_CHECKING
142
  assert(intermediate >= INT32_MIN && intermediate <= INT32_MAX);
143
#endif
144
0
  return (int32_t)(intermediate >> bit);
145
0
}
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_rtcd.c:half_btf
Unexecuted instantiation: highbd_convolve_ssse3.c:half_btf
Unexecuted instantiation: intrapred_sse4.c:half_btf
Unexecuted instantiation: intrapred_avx2.c:half_btf
Unexecuted instantiation: highbd_convolve_avx2.c:half_btf
Unexecuted instantiation: alloccommon.c:half_btf
Unexecuted instantiation: av1_inv_txfm2d.c:half_btf
Unexecuted instantiation: av1_loopfilter.c:half_btf
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:half_btf
Unexecuted instantiation: convolve_2d_sse2.c:half_btf
Unexecuted instantiation: convolve_sse2.c:half_btf
Unexecuted instantiation: jnt_convolve_sse2.c:half_btf
Unexecuted instantiation: resize_sse2.c:half_btf
Unexecuted instantiation: wiener_convolve_sse2.c:half_btf
Unexecuted instantiation: av1_inv_txfm_ssse3.c:half_btf
Unexecuted instantiation: cfl_ssse3.c:half_btf
Unexecuted instantiation: jnt_convolve_ssse3.c:half_btf
Unexecuted instantiation: resize_ssse3.c:half_btf
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:half_btf
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:half_btf
Unexecuted instantiation: reconinter_ssse3.c:half_btf
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:half_btf
Unexecuted instantiation: av1_convolve_scale_sse4.c:half_btf
Unexecuted instantiation: av1_txfm_sse4.c:half_btf
Unexecuted instantiation: cdef_block_sse4.c:half_btf
Unexecuted instantiation: filterintra_sse4.c:half_btf
Unexecuted instantiation: highbd_inv_txfm_sse4.c:half_btf
Unexecuted instantiation: intra_edge_sse4.c:half_btf
Unexecuted instantiation: reconinter_sse4.c:half_btf
Unexecuted instantiation: selfguided_sse4.c:half_btf
Unexecuted instantiation: warp_plane_sse4.c:half_btf
Unexecuted instantiation: highbd_convolve_2d_sse4.c:half_btf
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:half_btf
Unexecuted instantiation: highbd_warp_plane_sse4.c:half_btf
Unexecuted instantiation: av1_inv_txfm_avx2.c:half_btf
Unexecuted instantiation: cdef_block_avx2.c:half_btf
Unexecuted instantiation: cfl_avx2.c:half_btf
Unexecuted instantiation: convolve_2d_avx2.c:half_btf
Unexecuted instantiation: convolve_avx2.c:half_btf
Unexecuted instantiation: highbd_inv_txfm_avx2.c:half_btf
Unexecuted instantiation: jnt_convolve_avx2.c:half_btf
Unexecuted instantiation: reconinter_avx2.c:half_btf
Unexecuted instantiation: resize_avx2.c:half_btf
Unexecuted instantiation: selfguided_avx2.c:half_btf
Unexecuted instantiation: warp_plane_avx2.c:half_btf
Unexecuted instantiation: wiener_convolve_avx2.c:half_btf
Unexecuted instantiation: highbd_convolve_2d_avx2.c:half_btf
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:half_btf
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:half_btf
Unexecuted instantiation: highbd_warp_affine_avx2.c:half_btf
Unexecuted instantiation: av1_inv_txfm1d.c:half_btf
146
147
static inline uint16_t highbd_clip_pixel_add(uint16_t dest, tran_high_t trans,
148
10.2M
                                             int bd) {
149
10.2M
  return clip_pixel_highbd(dest + (int)trans, bd);
150
10.2M
}
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_rtcd.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_convolve_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: intrapred_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: intrapred_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_convolve_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: alloccommon.c:highbd_clip_pixel_add
av1_inv_txfm2d.c:highbd_clip_pixel_add
Line
Count
Source
148
10.2M
                                             int bd) {
149
10.2M
  return clip_pixel_highbd(dest + (int)trans, bd);
150
10.2M
}
Unexecuted instantiation: av1_loopfilter.c:highbd_clip_pixel_add
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:highbd_clip_pixel_add
Unexecuted instantiation: convolve_2d_sse2.c:highbd_clip_pixel_add
Unexecuted instantiation: convolve_sse2.c:highbd_clip_pixel_add
Unexecuted instantiation: jnt_convolve_sse2.c:highbd_clip_pixel_add
Unexecuted instantiation: resize_sse2.c:highbd_clip_pixel_add
Unexecuted instantiation: wiener_convolve_sse2.c:highbd_clip_pixel_add
Unexecuted instantiation: av1_inv_txfm_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: cfl_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: jnt_convolve_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: resize_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: reconinter_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: av1_convolve_scale_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: av1_txfm_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: cdef_block_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: filterintra_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_inv_txfm_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: intra_edge_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: reconinter_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: selfguided_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: warp_plane_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_convolve_2d_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_warp_plane_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: av1_inv_txfm_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: cdef_block_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: cfl_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: convolve_2d_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: convolve_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_inv_txfm_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: jnt_convolve_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: reconinter_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: resize_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: selfguided_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: warp_plane_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: wiener_convolve_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_convolve_2d_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: highbd_warp_affine_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: av1_inv_txfm1d.c:highbd_clip_pixel_add
151
152
typedef void (*TxfmFunc)(const int32_t *input, int32_t *output, int8_t cos_bit,
153
                         const int8_t *stage_range);
154
155
typedef void (*FwdTxfm2dFunc)(const int16_t *input, int32_t *output, int stride,
156
                              TX_TYPE tx_type, int bd);
157
158
enum {
159
  TXFM_TYPE_DCT4,
160
  TXFM_TYPE_DCT8,
161
  TXFM_TYPE_DCT16,
162
  TXFM_TYPE_DCT32,
163
  TXFM_TYPE_DCT64,
164
  TXFM_TYPE_ADST4,
165
  TXFM_TYPE_ADST8,
166
  TXFM_TYPE_ADST16,
167
  TXFM_TYPE_IDENTITY4,
168
  TXFM_TYPE_IDENTITY8,
169
  TXFM_TYPE_IDENTITY16,
170
  TXFM_TYPE_IDENTITY32,
171
  TXFM_TYPES,
172
  TXFM_TYPE_INVALID,
173
} UENUM1BYTE(TXFM_TYPE);
174
175
typedef struct TXFM_2D_FLIP_CFG {
176
  TX_SIZE tx_size;
177
  int ud_flip;  // flip upside down
178
  int lr_flip;  // flip left to right
179
  const int8_t *shift;
180
  int8_t cos_bit_col;
181
  int8_t cos_bit_row;
182
  int8_t stage_range_col[MAX_TXFM_STAGE_NUM];
183
  int8_t stage_range_row[MAX_TXFM_STAGE_NUM];
184
  TXFM_TYPE txfm_type_col;
185
  TXFM_TYPE txfm_type_row;
186
  int stage_num_col;
187
  int stage_num_row;
188
} TXFM_2D_FLIP_CFG;
189
190
9.86M
static inline void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
191
9.86M
  switch (tx_type) {
192
4.84M
    case DCT_DCT:
193
5.64M
    case ADST_DCT:
194
6.84M
    case DCT_ADST:
195
7.79M
    case ADST_ADST:
196
7.79M
      *ud_flip = 0;
197
7.79M
      *lr_flip = 0;
198
7.79M
      break;
199
449k
    case IDTX:
200
591k
    case V_DCT:
201
968k
    case H_DCT:
202
1.03M
    case V_ADST:
203
1.13M
    case H_ADST:
204
1.13M
      *ud_flip = 0;
205
1.13M
      *lr_flip = 0;
206
1.13M
      break;
207
129k
    case FLIPADST_DCT:
208
277k
    case FLIPADST_ADST:
209
322k
    case V_FLIPADST:
210
322k
      *ud_flip = 1;
211
322k
      *lr_flip = 0;
212
322k
      break;
213
312k
    case DCT_FLIPADST:
214
423k
    case ADST_FLIPADST:
215
508k
    case H_FLIPADST:
216
508k
      *ud_flip = 0;
217
508k
      *lr_flip = 1;
218
508k
      break;
219
105k
    case FLIPADST_FLIPADST:
220
105k
      *ud_flip = 1;
221
105k
      *lr_flip = 1;
222
105k
      break;
223
0
    default:
224
0
      *ud_flip = 0;
225
0
      *lr_flip = 0;
226
0
      assert(0);
227
9.86M
  }
228
9.86M
}
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_rtcd.c:get_flip_cfg
Unexecuted instantiation: highbd_convolve_ssse3.c:get_flip_cfg
Unexecuted instantiation: intrapred_sse4.c:get_flip_cfg
Unexecuted instantiation: intrapred_avx2.c:get_flip_cfg
Unexecuted instantiation: highbd_convolve_avx2.c:get_flip_cfg
Unexecuted instantiation: alloccommon.c:get_flip_cfg
Unexecuted instantiation: av1_inv_txfm2d.c:get_flip_cfg
Unexecuted instantiation: av1_loopfilter.c:get_flip_cfg
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:get_flip_cfg
Unexecuted instantiation: convolve_2d_sse2.c:get_flip_cfg
Unexecuted instantiation: convolve_sse2.c:get_flip_cfg
Unexecuted instantiation: jnt_convolve_sse2.c:get_flip_cfg
Unexecuted instantiation: resize_sse2.c:get_flip_cfg
Unexecuted instantiation: wiener_convolve_sse2.c:get_flip_cfg
av1_inv_txfm_ssse3.c:get_flip_cfg
Line
Count
Source
190
2.53M
static inline void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
191
2.53M
  switch (tx_type) {
192
1.03M
    case DCT_DCT:
193
1.21M
    case ADST_DCT:
194
1.49M
    case DCT_ADST:
195
1.78M
    case ADST_ADST:
196
1.78M
      *ud_flip = 0;
197
1.78M
      *lr_flip = 0;
198
1.78M
      break;
199
213k
    case IDTX:
200
281k
    case V_DCT:
201
424k
    case H_DCT:
202
448k
    case V_ADST:
203
493k
    case H_ADST:
204
493k
      *ud_flip = 0;
205
493k
      *lr_flip = 0;
206
493k
      break;
207
42.1k
    case FLIPADST_DCT:
208
97.0k
    case FLIPADST_ADST:
209
114k
    case V_FLIPADST:
210
114k
      *ud_flip = 1;
211
114k
      *lr_flip = 0;
212
114k
      break;
213
46.9k
    case DCT_FLIPADST:
214
92.5k
    case ADST_FLIPADST:
215
121k
    case H_FLIPADST:
216
121k
      *ud_flip = 0;
217
121k
      *lr_flip = 1;
218
121k
      break;
219
20.7k
    case FLIPADST_FLIPADST:
220
20.7k
      *ud_flip = 1;
221
20.7k
      *lr_flip = 1;
222
20.7k
      break;
223
0
    default:
224
0
      *ud_flip = 0;
225
0
      *lr_flip = 0;
226
      assert(0);
227
2.53M
  }
228
2.53M
}
Unexecuted instantiation: cfl_ssse3.c:get_flip_cfg
Unexecuted instantiation: jnt_convolve_ssse3.c:get_flip_cfg
Unexecuted instantiation: resize_ssse3.c:get_flip_cfg
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_flip_cfg
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_flip_cfg
Unexecuted instantiation: reconinter_ssse3.c:get_flip_cfg
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_flip_cfg
Unexecuted instantiation: av1_convolve_scale_sse4.c:get_flip_cfg
Unexecuted instantiation: av1_txfm_sse4.c:get_flip_cfg
Unexecuted instantiation: cdef_block_sse4.c:get_flip_cfg
Unexecuted instantiation: filterintra_sse4.c:get_flip_cfg
highbd_inv_txfm_sse4.c:get_flip_cfg
Line
Count
Source
190
2.29M
static inline void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
191
2.29M
  switch (tx_type) {
192
590k
    case DCT_DCT:
193
802k
    case ADST_DCT:
194
1.06M
    case DCT_ADST:
195
1.29M
    case ADST_ADST:
196
1.29M
      *ud_flip = 0;
197
1.29M
      *lr_flip = 0;
198
1.29M
      break;
199
236k
    case IDTX:
200
305k
    case V_DCT:
201
525k
    case H_DCT:
202
565k
    case V_ADST:
203
625k
    case H_ADST:
204
625k
      *ud_flip = 0;
205
625k
      *lr_flip = 0;
206
625k
      break;
207
21.9k
    case FLIPADST_DCT:
208
56.7k
    case FLIPADST_ADST:
209
84.3k
    case V_FLIPADST:
210
84.3k
      *ud_flip = 1;
211
84.3k
      *lr_flip = 0;
212
84.3k
      break;
213
163k
    case DCT_FLIPADST:
214
185k
    case ADST_FLIPADST:
215
241k
    case H_FLIPADST:
216
241k
      *ud_flip = 0;
217
241k
      *lr_flip = 1;
218
241k
      break;
219
53.6k
    case FLIPADST_FLIPADST:
220
53.6k
      *ud_flip = 1;
221
53.6k
      *lr_flip = 1;
222
53.6k
      break;
223
0
    default:
224
0
      *ud_flip = 0;
225
0
      *lr_flip = 0;
226
      assert(0);
227
2.29M
  }
228
2.29M
}
Unexecuted instantiation: intra_edge_sse4.c:get_flip_cfg
Unexecuted instantiation: reconinter_sse4.c:get_flip_cfg
Unexecuted instantiation: selfguided_sse4.c:get_flip_cfg
Unexecuted instantiation: warp_plane_sse4.c:get_flip_cfg
Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_flip_cfg
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_flip_cfg
Unexecuted instantiation: highbd_warp_plane_sse4.c:get_flip_cfg
av1_inv_txfm_avx2.c:get_flip_cfg
Line
Count
Source
190
1.54M
static inline void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
191
1.54M
  switch (tx_type) {
192
969k
    case DCT_DCT:
193
1.09M
    case ADST_DCT:
194
1.30M
    case DCT_ADST:
195
1.44M
    case ADST_ADST:
196
1.44M
      *ud_flip = 0;
197
1.44M
      *lr_flip = 0;
198
1.44M
      break;
199
0
    case IDTX:
200
3.82k
    case V_DCT:
201
17.7k
    case H_DCT:
202
17.7k
    case V_ADST:
203
17.7k
    case H_ADST:
204
17.7k
      *ud_flip = 0;
205
17.7k
      *lr_flip = 0;
206
17.7k
      break;
207
22.3k
    case FLIPADST_DCT:
208
43.8k
    case FLIPADST_ADST:
209
43.8k
    case V_FLIPADST:
210
43.8k
      *ud_flip = 1;
211
43.8k
      *lr_flip = 0;
212
43.8k
      break;
213
18.0k
    case DCT_FLIPADST:
214
35.6k
    case ADST_FLIPADST:
215
35.6k
    case H_FLIPADST:
216
35.6k
      *ud_flip = 0;
217
35.6k
      *lr_flip = 1;
218
35.6k
      break;
219
6.72k
    case FLIPADST_FLIPADST:
220
6.72k
      *ud_flip = 1;
221
6.72k
      *lr_flip = 1;
222
6.72k
      break;
223
0
    default:
224
0
      *ud_flip = 0;
225
0
      *lr_flip = 0;
226
      assert(0);
227
1.54M
  }
228
1.54M
}
Unexecuted instantiation: cdef_block_avx2.c:get_flip_cfg
Unexecuted instantiation: cfl_avx2.c:get_flip_cfg
Unexecuted instantiation: convolve_2d_avx2.c:get_flip_cfg
Unexecuted instantiation: convolve_avx2.c:get_flip_cfg
highbd_inv_txfm_avx2.c:get_flip_cfg
Line
Count
Source
190
3.48M
static inline void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
191
3.48M
  switch (tx_type) {
192
2.24M
    case DCT_DCT:
193
2.53M
    case ADST_DCT:
194
2.98M
    case DCT_ADST:
195
3.27M
    case ADST_ADST:
196
3.27M
      *ud_flip = 0;
197
3.27M
      *lr_flip = 0;
198
3.27M
      break;
199
0
    case IDTX:
200
0
    case V_DCT:
201
0
    case H_DCT:
202
0
    case V_ADST:
203
0
    case H_ADST:
204
0
      *ud_flip = 0;
205
0
      *lr_flip = 0;
206
0
      break;
207
43.0k
    case FLIPADST_DCT:
208
79.6k
    case FLIPADST_ADST:
209
79.6k
    case V_FLIPADST:
210
79.6k
      *ud_flip = 1;
211
79.6k
      *lr_flip = 0;
212
79.6k
      break;
213
83.4k
    case DCT_FLIPADST:
214
109k
    case ADST_FLIPADST:
215
109k
    case H_FLIPADST:
216
109k
      *ud_flip = 0;
217
109k
      *lr_flip = 1;
218
109k
      break;
219
23.9k
    case FLIPADST_FLIPADST:
220
23.9k
      *ud_flip = 1;
221
23.9k
      *lr_flip = 1;
222
23.9k
      break;
223
0
    default:
224
0
      *ud_flip = 0;
225
0
      *lr_flip = 0;
226
      assert(0);
227
3.48M
  }
228
3.48M
}
Unexecuted instantiation: jnt_convolve_avx2.c:get_flip_cfg
Unexecuted instantiation: reconinter_avx2.c:get_flip_cfg
Unexecuted instantiation: resize_avx2.c:get_flip_cfg
Unexecuted instantiation: selfguided_avx2.c:get_flip_cfg
Unexecuted instantiation: warp_plane_avx2.c:get_flip_cfg
Unexecuted instantiation: wiener_convolve_avx2.c:get_flip_cfg
Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_flip_cfg
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_flip_cfg
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_flip_cfg
Unexecuted instantiation: highbd_warp_affine_avx2.c:get_flip_cfg
Unexecuted instantiation: av1_inv_txfm1d.c:get_flip_cfg
229
230
0
static inline void set_flip_cfg(TX_TYPE tx_type, TXFM_2D_FLIP_CFG *cfg) {
231
0
  get_flip_cfg(tx_type, &cfg->ud_flip, &cfg->lr_flip);
232
0
}
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_rtcd.c:set_flip_cfg
Unexecuted instantiation: highbd_convolve_ssse3.c:set_flip_cfg
Unexecuted instantiation: intrapred_sse4.c:set_flip_cfg
Unexecuted instantiation: intrapred_avx2.c:set_flip_cfg
Unexecuted instantiation: highbd_convolve_avx2.c:set_flip_cfg
Unexecuted instantiation: alloccommon.c:set_flip_cfg
Unexecuted instantiation: av1_inv_txfm2d.c:set_flip_cfg
Unexecuted instantiation: av1_loopfilter.c:set_flip_cfg
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:set_flip_cfg
Unexecuted instantiation: convolve_2d_sse2.c:set_flip_cfg
Unexecuted instantiation: convolve_sse2.c:set_flip_cfg
Unexecuted instantiation: jnt_convolve_sse2.c:set_flip_cfg
Unexecuted instantiation: resize_sse2.c:set_flip_cfg
Unexecuted instantiation: wiener_convolve_sse2.c:set_flip_cfg
Unexecuted instantiation: av1_inv_txfm_ssse3.c:set_flip_cfg
Unexecuted instantiation: cfl_ssse3.c:set_flip_cfg
Unexecuted instantiation: jnt_convolve_ssse3.c:set_flip_cfg
Unexecuted instantiation: resize_ssse3.c:set_flip_cfg
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:set_flip_cfg
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:set_flip_cfg
Unexecuted instantiation: reconinter_ssse3.c:set_flip_cfg
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:set_flip_cfg
Unexecuted instantiation: av1_convolve_scale_sse4.c:set_flip_cfg
Unexecuted instantiation: av1_txfm_sse4.c:set_flip_cfg
Unexecuted instantiation: cdef_block_sse4.c:set_flip_cfg
Unexecuted instantiation: filterintra_sse4.c:set_flip_cfg
Unexecuted instantiation: highbd_inv_txfm_sse4.c:set_flip_cfg
Unexecuted instantiation: intra_edge_sse4.c:set_flip_cfg
Unexecuted instantiation: reconinter_sse4.c:set_flip_cfg
Unexecuted instantiation: selfguided_sse4.c:set_flip_cfg
Unexecuted instantiation: warp_plane_sse4.c:set_flip_cfg
Unexecuted instantiation: highbd_convolve_2d_sse4.c:set_flip_cfg
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:set_flip_cfg
Unexecuted instantiation: highbd_warp_plane_sse4.c:set_flip_cfg
Unexecuted instantiation: av1_inv_txfm_avx2.c:set_flip_cfg
Unexecuted instantiation: cdef_block_avx2.c:set_flip_cfg
Unexecuted instantiation: cfl_avx2.c:set_flip_cfg
Unexecuted instantiation: convolve_2d_avx2.c:set_flip_cfg
Unexecuted instantiation: convolve_avx2.c:set_flip_cfg
Unexecuted instantiation: highbd_inv_txfm_avx2.c:set_flip_cfg
Unexecuted instantiation: jnt_convolve_avx2.c:set_flip_cfg
Unexecuted instantiation: reconinter_avx2.c:set_flip_cfg
Unexecuted instantiation: resize_avx2.c:set_flip_cfg
Unexecuted instantiation: selfguided_avx2.c:set_flip_cfg
Unexecuted instantiation: warp_plane_avx2.c:set_flip_cfg
Unexecuted instantiation: wiener_convolve_avx2.c:set_flip_cfg
Unexecuted instantiation: highbd_convolve_2d_avx2.c:set_flip_cfg
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:set_flip_cfg
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:set_flip_cfg
Unexecuted instantiation: highbd_warp_affine_avx2.c:set_flip_cfg
Unexecuted instantiation: av1_inv_txfm1d.c:set_flip_cfg
233
234
// Utility function that returns the log of the ratio of the col and row
235
// sizes.
236
5.87M
static inline int get_rect_tx_log_ratio(int col, int row) {
237
5.87M
  if (col == row) return 0;
238
2.79M
  if (col > row) {
239
2.08M
    if (col == row * 2) return 1;
240
974k
    if (col == row * 4) return 2;
241
18.4E
    assert(0 && "Unsupported transform size");
242
18.4E
  } else {
243
711k
    if (row == col * 2) return -1;
244
165k
    if (row == col * 4) return -2;
245
18.4E
    assert(0 && "Unsupported transform size");
246
18.4E
  }
247
0
  return 0;  // Invalid
248
2.79M
}
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_rtcd.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_convolve_ssse3.c:get_rect_tx_log_ratio
Unexecuted instantiation: intrapred_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: intrapred_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_convolve_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: alloccommon.c:get_rect_tx_log_ratio
Unexecuted instantiation: av1_inv_txfm2d.c:get_rect_tx_log_ratio
Unexecuted instantiation: av1_loopfilter.c:get_rect_tx_log_ratio
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:get_rect_tx_log_ratio
Unexecuted instantiation: convolve_2d_sse2.c:get_rect_tx_log_ratio
Unexecuted instantiation: convolve_sse2.c:get_rect_tx_log_ratio
Unexecuted instantiation: jnt_convolve_sse2.c:get_rect_tx_log_ratio
Unexecuted instantiation: resize_sse2.c:get_rect_tx_log_ratio
Unexecuted instantiation: wiener_convolve_sse2.c:get_rect_tx_log_ratio
av1_inv_txfm_ssse3.c:get_rect_tx_log_ratio
Line
Count
Source
236
942k
static inline int get_rect_tx_log_ratio(int col, int row) {
237
942k
  if (col == row) return 0;
238
823k
  if (col > row) {
239
591k
    if (col == row * 2) return 1;
240
260k
    if (col == row * 4) return 2;
241
18.4E
    assert(0 && "Unsupported transform size");
242
18.4E
  } else {
243
232k
    if (row == col * 2) return -1;
244
72.8k
    if (row == col * 4) return -2;
245
18.4E
    assert(0 && "Unsupported transform size");
246
18.4E
  }
247
0
  return 0;  // Invalid
248
823k
}
Unexecuted instantiation: cfl_ssse3.c:get_rect_tx_log_ratio
Unexecuted instantiation: jnt_convolve_ssse3.c:get_rect_tx_log_ratio
Unexecuted instantiation: resize_ssse3.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_rect_tx_log_ratio
Unexecuted instantiation: reconinter_ssse3.c:get_rect_tx_log_ratio
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: av1_convolve_scale_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: av1_txfm_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: cdef_block_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: filterintra_sse4.c:get_rect_tx_log_ratio
highbd_inv_txfm_sse4.c:get_rect_tx_log_ratio
Line
Count
Source
236
410k
static inline int get_rect_tx_log_ratio(int col, int row) {
237
410k
  if (col == row) return 0;
238
159k
  if (col > row) {
239
108k
    if (col == row * 2) return 1;
240
7.43k
    if (col == row * 4) return 2;
241
7.43k
    assert(0 && "Unsupported transform size");
242
51.7k
  } else {
243
51.7k
    if (row == col * 2) return -1;
244
6.22k
    if (row == col * 4) return -2;
245
18.4E
    assert(0 && "Unsupported transform size");
246
18.4E
  }
247
0
  return 0;  // Invalid
248
159k
}
Unexecuted instantiation: intra_edge_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: reconinter_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: selfguided_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: warp_plane_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_warp_plane_sse4.c:get_rect_tx_log_ratio
av1_inv_txfm_avx2.c:get_rect_tx_log_ratio
Line
Count
Source
236
1.03M
static inline int get_rect_tx_log_ratio(int col, int row) {
237
1.03M
  if (col == row) return 0;
238
279k
  if (col > row) {
239
211k
    if (col == row * 2) return 1;
240
91.4k
    if (col == row * 4) return 2;
241
18.4E
    assert(0 && "Unsupported transform size");
242
18.4E
  } else {
243
67.7k
    if (row == col * 2) return -1;
244
12.1k
    if (row == col * 4) return -2;
245
18.4E
    assert(0 && "Unsupported transform size");
246
18.4E
  }
247
0
  return 0;  // Invalid
248
279k
}
Unexecuted instantiation: cdef_block_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: cfl_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: convolve_2d_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: convolve_avx2.c:get_rect_tx_log_ratio
highbd_inv_txfm_avx2.c:get_rect_tx_log_ratio
Line
Count
Source
236
3.48M
static inline int get_rect_tx_log_ratio(int col, int row) {
237
3.48M
  if (col == row) return 0;
238
1.53M
  if (col > row) {
239
1.17M
    if (col == row * 2) return 1;
240
615k
    if (col == row * 4) return 2;
241
18.4E
    assert(0 && "Unsupported transform size");
242
18.4E
  } else {
243
359k
    if (row == col * 2) return -1;
244
74.3k
    if (row == col * 4) return -2;
245
18.4E
    assert(0 && "Unsupported transform size");
246
18.4E
  }
247
0
  return 0;  // Invalid
248
1.53M
}
Unexecuted instantiation: jnt_convolve_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: reconinter_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: resize_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: selfguided_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: warp_plane_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: wiener_convolve_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: highbd_warp_affine_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: av1_inv_txfm1d.c:get_rect_tx_log_ratio
249
250
void av1_gen_fwd_stage_range(int8_t *stage_range_col, int8_t *stage_range_row,
251
                             const TXFM_2D_FLIP_CFG *cfg, int bd);
252
253
void av1_gen_inv_stage_range(int8_t *stage_range_col, int8_t *stage_range_row,
254
                             const TXFM_2D_FLIP_CFG *cfg, TX_SIZE tx_size,
255
                             int bd);
256
257
void av1_get_fwd_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size,
258
                          TXFM_2D_FLIP_CFG *cfg);
259
void av1_get_inv_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size,
260
                          TXFM_2D_FLIP_CFG *cfg);
261
extern const TXFM_TYPE av1_txfm_type_ls[5][TX_TYPES_1D];
262
extern const int8_t av1_txfm_stage_num_list[TXFM_TYPES];
263
9.65M
static inline int get_txw_idx(TX_SIZE tx_size) {
264
9.65M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
265
9.65M
}
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_rtcd.c:get_txw_idx
Unexecuted instantiation: highbd_convolve_ssse3.c:get_txw_idx
Unexecuted instantiation: intrapred_sse4.c:get_txw_idx
Unexecuted instantiation: intrapred_avx2.c:get_txw_idx
Unexecuted instantiation: highbd_convolve_avx2.c:get_txw_idx
Unexecuted instantiation: alloccommon.c:get_txw_idx
Unexecuted instantiation: av1_inv_txfm2d.c:get_txw_idx
Unexecuted instantiation: av1_loopfilter.c:get_txw_idx
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:get_txw_idx
Unexecuted instantiation: convolve_2d_sse2.c:get_txw_idx
Unexecuted instantiation: convolve_sse2.c:get_txw_idx
Unexecuted instantiation: jnt_convolve_sse2.c:get_txw_idx
Unexecuted instantiation: resize_sse2.c:get_txw_idx
Unexecuted instantiation: wiener_convolve_sse2.c:get_txw_idx
av1_inv_txfm_ssse3.c:get_txw_idx
Line
Count
Source
263
2.65M
static inline int get_txw_idx(TX_SIZE tx_size) {
264
2.65M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
265
2.65M
}
Unexecuted instantiation: cfl_ssse3.c:get_txw_idx
Unexecuted instantiation: jnt_convolve_ssse3.c:get_txw_idx
Unexecuted instantiation: resize_ssse3.c:get_txw_idx
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_txw_idx
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_txw_idx
Unexecuted instantiation: reconinter_ssse3.c:get_txw_idx
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_txw_idx
Unexecuted instantiation: av1_convolve_scale_sse4.c:get_txw_idx
Unexecuted instantiation: av1_txfm_sse4.c:get_txw_idx
Unexecuted instantiation: cdef_block_sse4.c:get_txw_idx
Unexecuted instantiation: filterintra_sse4.c:get_txw_idx
highbd_inv_txfm_sse4.c:get_txw_idx
Line
Count
Source
263
2.47M
static inline int get_txw_idx(TX_SIZE tx_size) {
264
2.47M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
265
2.47M
}
Unexecuted instantiation: intra_edge_sse4.c:get_txw_idx
Unexecuted instantiation: reconinter_sse4.c:get_txw_idx
Unexecuted instantiation: selfguided_sse4.c:get_txw_idx
Unexecuted instantiation: warp_plane_sse4.c:get_txw_idx
Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_txw_idx
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_txw_idx
Unexecuted instantiation: highbd_warp_plane_sse4.c:get_txw_idx
av1_inv_txfm_avx2.c:get_txw_idx
Line
Count
Source
263
1.03M
static inline int get_txw_idx(TX_SIZE tx_size) {
264
1.03M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
265
1.03M
}
Unexecuted instantiation: cdef_block_avx2.c:get_txw_idx
Unexecuted instantiation: cfl_avx2.c:get_txw_idx
Unexecuted instantiation: convolve_2d_avx2.c:get_txw_idx
Unexecuted instantiation: convolve_avx2.c:get_txw_idx
highbd_inv_txfm_avx2.c:get_txw_idx
Line
Count
Source
263
3.48M
static inline int get_txw_idx(TX_SIZE tx_size) {
264
3.48M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
265
3.48M
}
Unexecuted instantiation: jnt_convolve_avx2.c:get_txw_idx
Unexecuted instantiation: reconinter_avx2.c:get_txw_idx
Unexecuted instantiation: resize_avx2.c:get_txw_idx
Unexecuted instantiation: selfguided_avx2.c:get_txw_idx
Unexecuted instantiation: warp_plane_avx2.c:get_txw_idx
Unexecuted instantiation: wiener_convolve_avx2.c:get_txw_idx
Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_txw_idx
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_txw_idx
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_txw_idx
Unexecuted instantiation: highbd_warp_affine_avx2.c:get_txw_idx
Unexecuted instantiation: av1_inv_txfm1d.c:get_txw_idx
266
9.65M
static inline int get_txh_idx(TX_SIZE tx_size) {
267
9.65M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
268
9.65M
}
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_rtcd.c:get_txh_idx
Unexecuted instantiation: highbd_convolve_ssse3.c:get_txh_idx
Unexecuted instantiation: intrapred_sse4.c:get_txh_idx
Unexecuted instantiation: intrapred_avx2.c:get_txh_idx
Unexecuted instantiation: highbd_convolve_avx2.c:get_txh_idx
Unexecuted instantiation: alloccommon.c:get_txh_idx
Unexecuted instantiation: av1_inv_txfm2d.c:get_txh_idx
Unexecuted instantiation: av1_loopfilter.c:get_txh_idx
Unexecuted instantiation: av1_txfm.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: convolve.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: cfl_sse2.c:get_txh_idx
Unexecuted instantiation: convolve_2d_sse2.c:get_txh_idx
Unexecuted instantiation: convolve_sse2.c:get_txh_idx
Unexecuted instantiation: jnt_convolve_sse2.c:get_txh_idx
Unexecuted instantiation: resize_sse2.c:get_txh_idx
Unexecuted instantiation: wiener_convolve_sse2.c:get_txh_idx
av1_inv_txfm_ssse3.c:get_txh_idx
Line
Count
Source
266
2.65M
static inline int get_txh_idx(TX_SIZE tx_size) {
267
2.65M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
268
2.65M
}
Unexecuted instantiation: cfl_ssse3.c:get_txh_idx
Unexecuted instantiation: jnt_convolve_ssse3.c:get_txh_idx
Unexecuted instantiation: resize_ssse3.c:get_txh_idx
Unexecuted instantiation: highbd_convolve_2d_ssse3.c:get_txh_idx
Unexecuted instantiation: highbd_wiener_convolve_ssse3.c:get_txh_idx
Unexecuted instantiation: reconinter_ssse3.c:get_txh_idx
Unexecuted instantiation: av1_convolve_horiz_rs_sse4.c:get_txh_idx
Unexecuted instantiation: av1_convolve_scale_sse4.c:get_txh_idx
Unexecuted instantiation: av1_txfm_sse4.c:get_txh_idx
Unexecuted instantiation: cdef_block_sse4.c:get_txh_idx
Unexecuted instantiation: filterintra_sse4.c:get_txh_idx
highbd_inv_txfm_sse4.c:get_txh_idx
Line
Count
Source
266
2.47M
static inline int get_txh_idx(TX_SIZE tx_size) {
267
2.47M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
268
2.47M
}
Unexecuted instantiation: intra_edge_sse4.c:get_txh_idx
Unexecuted instantiation: reconinter_sse4.c:get_txh_idx
Unexecuted instantiation: selfguided_sse4.c:get_txh_idx
Unexecuted instantiation: warp_plane_sse4.c:get_txh_idx
Unexecuted instantiation: highbd_convolve_2d_sse4.c:get_txh_idx
Unexecuted instantiation: highbd_jnt_convolve_sse4.c:get_txh_idx
Unexecuted instantiation: highbd_warp_plane_sse4.c:get_txh_idx
av1_inv_txfm_avx2.c:get_txh_idx
Line
Count
Source
266
1.03M
static inline int get_txh_idx(TX_SIZE tx_size) {
267
1.03M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
268
1.03M
}
Unexecuted instantiation: cdef_block_avx2.c:get_txh_idx
Unexecuted instantiation: cfl_avx2.c:get_txh_idx
Unexecuted instantiation: convolve_2d_avx2.c:get_txh_idx
Unexecuted instantiation: convolve_avx2.c:get_txh_idx
highbd_inv_txfm_avx2.c:get_txh_idx
Line
Count
Source
266
3.48M
static inline int get_txh_idx(TX_SIZE tx_size) {
267
3.48M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
268
3.48M
}
Unexecuted instantiation: jnt_convolve_avx2.c:get_txh_idx
Unexecuted instantiation: reconinter_avx2.c:get_txh_idx
Unexecuted instantiation: resize_avx2.c:get_txh_idx
Unexecuted instantiation: selfguided_avx2.c:get_txh_idx
Unexecuted instantiation: warp_plane_avx2.c:get_txh_idx
Unexecuted instantiation: wiener_convolve_avx2.c:get_txh_idx
Unexecuted instantiation: highbd_convolve_2d_avx2.c:get_txh_idx
Unexecuted instantiation: highbd_jnt_convolve_avx2.c:get_txh_idx
Unexecuted instantiation: highbd_wiener_convolve_avx2.c:get_txh_idx
Unexecuted instantiation: highbd_warp_affine_avx2.c:get_txh_idx
Unexecuted instantiation: av1_inv_txfm1d.c:get_txh_idx
269
270
void av1_range_check_buf(int32_t stage, const int32_t *input,
271
                         const int32_t *buf, int32_t size, int8_t bit);
272
#define MAX_TXWH_IDX 5
273
#ifdef __cplusplus
274
}
275
#endif  // __cplusplus
276
277
#endif  // AOM_AV1_COMMON_AV1_TXFM_H_