Coverage Report

Created: 2023-06-07 06:31

/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[7][64];
35
extern const int32_t av1_sinpi_arr_data[7][5];
36
37
0
#define MAX_TXFM_STAGE_NUM 12
38
39
static const int cos_bit_min = 10;
40
static const int cos_bit_max = 16;
41
42
98.0M
#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
35.5M
static INLINE const int32_t *cospi_arr(int n) {
49
35.5M
  return av1_cospi_arr_data[n - cos_bit_min];
50
35.5M
}
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: 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: cdef_block_sse2.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: warp_plane_sse2.c:cospi_arr
Unexecuted instantiation: wiener_convolve_sse2.c:cospi_arr
av1_inv_txfm_ssse3.c:cospi_arr
Line
Count
Source
48
12.3M
static INLINE const int32_t *cospi_arr(int n) {
49
12.3M
  return av1_cospi_arr_data[n - cos_bit_min];
50
12.3M
}
Unexecuted instantiation: cdef_block_ssse3.c:cospi_arr
Unexecuted instantiation: cfl_ssse3.c:cospi_arr
Unexecuted instantiation: resize_ssse3.c:cospi_arr
Unexecuted instantiation: reconinter_ssse3.c:cospi_arr
Unexecuted instantiation: av1_convolve_horiz_rs_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.89M
static INLINE const int32_t *cospi_arr(int n) {
49
5.89M
  return av1_cospi_arr_data[n - cos_bit_min];
50
5.89M
}
Unexecuted instantiation: intra_edge_sse4.c:cospi_arr
Unexecuted instantiation: selfguided_sse4.c:cospi_arr
Unexecuted instantiation: warp_plane_sse4.c:cospi_arr
Unexecuted instantiation: highbd_warp_plane_sse4.c:cospi_arr
av1_inv_txfm_avx2.c:cospi_arr
Line
Count
Source
48
6.41M
static INLINE const int32_t *cospi_arr(int n) {
49
6.41M
  return av1_cospi_arr_data[n - cos_bit_min];
50
6.41M
}
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
10.8M
static INLINE const int32_t *cospi_arr(int n) {
49
10.8M
  return av1_cospi_arr_data[n - cos_bit_min];
50
10.8M
}
Unexecuted instantiation: reconinter_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_warp_affine_avx2.c:cospi_arr
Unexecuted instantiation: av1_inv_txfm1d.c:cospi_arr
51
52
4.30M
static INLINE const int32_t *sinpi_arr(int n) {
53
4.30M
  return av1_sinpi_arr_data[n - cos_bit_min];
54
4.30M
}
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: 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: cdef_block_sse2.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: warp_plane_sse2.c:sinpi_arr
Unexecuted instantiation: wiener_convolve_sse2.c:sinpi_arr
av1_inv_txfm_ssse3.c:sinpi_arr
Line
Count
Source
52
1.59M
static INLINE const int32_t *sinpi_arr(int n) {
53
1.59M
  return av1_sinpi_arr_data[n - cos_bit_min];
54
1.59M
}
Unexecuted instantiation: cdef_block_ssse3.c:sinpi_arr
Unexecuted instantiation: cfl_ssse3.c:sinpi_arr
Unexecuted instantiation: resize_ssse3.c:sinpi_arr
Unexecuted instantiation: reconinter_ssse3.c:sinpi_arr
Unexecuted instantiation: av1_convolve_horiz_rs_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.71M
static INLINE const int32_t *sinpi_arr(int n) {
53
2.71M
  return av1_sinpi_arr_data[n - cos_bit_min];
54
2.71M
}
Unexecuted instantiation: intra_edge_sse4.c:sinpi_arr
Unexecuted instantiation: selfguided_sse4.c:sinpi_arr
Unexecuted instantiation: warp_plane_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: reconinter_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_warp_affine_avx2.c:sinpi_arr
Unexecuted instantiation: av1_inv_txfm1d.c:sinpi_arr
55
56
0
static INLINE int32_t range_check_value(int32_t value, int8_t bit) {
57
#if CONFIG_COEFFICIENT_RANGE_CHECKING
58
  const int64_t max_value = (1LL << (bit - 1)) - 1;
59
  const int64_t min_value = -(1LL << (bit - 1));
60
  if (value < min_value || value > max_value) {
61
    fprintf(stderr, "coeff out of bit range, value: %d bit %d\n", value, bit);
62
#if !CONFIG_AV1_ENCODER
63
    assert(0);
64
#endif
65
  }
66
#endif  // CONFIG_COEFFICIENT_RANGE_CHECKING
67
0
#if DO_RANGE_CHECK_CLAMP
68
0
  bit = AOMMIN(bit, 31);
69
0
  return clamp(value, -(1 << (bit - 1)), (1 << (bit - 1)) - 1);
70
0
#endif  // DO_RANGE_CHECK_CLAMP
71
0
  (void)bit;
72
0
  return value;
73
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: 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: cdef_block_sse2.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: warp_plane_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: cdef_block_ssse3.c:range_check_value
Unexecuted instantiation: cfl_ssse3.c:range_check_value
Unexecuted instantiation: resize_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_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: selfguided_sse4.c:range_check_value
Unexecuted instantiation: warp_plane_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: reconinter_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_warp_affine_avx2.c:range_check_value
Unexecuted instantiation: av1_inv_txfm1d.c:range_check_value
74
75
0
static INLINE int32_t round_shift(int64_t value, int bit) {
76
0
  assert(bit >= 1);
77
0
  return (int32_t)((value + (1ll << (bit - 1))) >> bit);
78
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: 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: cdef_block_sse2.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: warp_plane_sse2.c:round_shift
Unexecuted instantiation: wiener_convolve_sse2.c:round_shift
Unexecuted instantiation: av1_inv_txfm_ssse3.c:round_shift
Unexecuted instantiation: cdef_block_ssse3.c:round_shift
Unexecuted instantiation: cfl_ssse3.c:round_shift
Unexecuted instantiation: resize_ssse3.c:round_shift
Unexecuted instantiation: reconinter_ssse3.c:round_shift
Unexecuted instantiation: av1_convolve_horiz_rs_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: selfguided_sse4.c:round_shift
Unexecuted instantiation: warp_plane_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: reconinter_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_warp_affine_avx2.c:round_shift
Unexecuted instantiation: av1_inv_txfm1d.c:round_shift
79
80
static INLINE int32_t half_btf(int32_t w0, int32_t in0, int32_t w1, int32_t in1,
81
0
                               int bit) {
82
0
  int64_t result_64 = (int64_t)(w0 * in0) + (int64_t)(w1 * in1);
83
0
  int64_t intermediate = result_64 + (1LL << (bit - 1));
84
  // NOTE(rachelbarker): The value 'result_64' may not necessarily fit
85
  // into 32 bits. However, the result of this function is nominally
86
  // ROUND_POWER_OF_TWO_64(result_64, bit)
87
  // and that is required to fit into stage_range[stage] many bits
88
  // (checked by range_check_buf()).
89
  //
90
  // Here we've unpacked that rounding operation, and it can be shown
91
  // that the value of 'intermediate' here *does* fit into 32 bits
92
  // for any conformant bitstream.
93
  // The upshot is that, if you do all this calculation using
94
  // wrapping 32-bit arithmetic instead of (non-wrapping) 64-bit arithmetic,
95
  // then you'll still get the correct result.
96
  // To provide a check on this logic, we assert that 'intermediate'
97
  // would fit into an int32 if range checking is enabled.
98
#if CONFIG_COEFFICIENT_RANGE_CHECKING
99
  assert(intermediate >= INT32_MIN && intermediate <= INT32_MAX);
100
#endif
101
0
  return (int32_t)(intermediate >> bit);
102
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: 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: cdef_block_sse2.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: warp_plane_sse2.c:half_btf
Unexecuted instantiation: wiener_convolve_sse2.c:half_btf
Unexecuted instantiation: av1_inv_txfm_ssse3.c:half_btf
Unexecuted instantiation: cdef_block_ssse3.c:half_btf
Unexecuted instantiation: cfl_ssse3.c:half_btf
Unexecuted instantiation: resize_ssse3.c:half_btf
Unexecuted instantiation: reconinter_ssse3.c:half_btf
Unexecuted instantiation: av1_convolve_horiz_rs_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: selfguided_sse4.c:half_btf
Unexecuted instantiation: warp_plane_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: reconinter_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_warp_affine_avx2.c:half_btf
Unexecuted instantiation: av1_inv_txfm1d.c:half_btf
103
104
static INLINE uint16_t highbd_clip_pixel_add(uint16_t dest, tran_high_t trans,
105
12.8M
                                             int bd) {
106
12.8M
  return clip_pixel_highbd(dest + (int)trans, bd);
107
12.8M
}
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: alloccommon.c:highbd_clip_pixel_add
av1_inv_txfm2d.c:highbd_clip_pixel_add
Line
Count
Source
105
12.8M
                                             int bd) {
106
12.8M
  return clip_pixel_highbd(dest + (int)trans, bd);
107
12.8M
}
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: cdef_block_sse2.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: warp_plane_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: cdef_block_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: cfl_ssse3.c:highbd_clip_pixel_add
Unexecuted instantiation: resize_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_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: selfguided_sse4.c:highbd_clip_pixel_add
Unexecuted instantiation: warp_plane_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: reconinter_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_warp_affine_avx2.c:highbd_clip_pixel_add
Unexecuted instantiation: av1_inv_txfm1d.c:highbd_clip_pixel_add
108
109
typedef void (*TxfmFunc)(const int32_t *input, int32_t *output, int8_t cos_bit,
110
                         const int8_t *stage_range);
111
112
typedef void (*FwdTxfm2dFunc)(const int16_t *input, int32_t *output, int stride,
113
                              TX_TYPE tx_type, int bd);
114
115
enum {
116
  TXFM_TYPE_DCT4,
117
  TXFM_TYPE_DCT8,
118
  TXFM_TYPE_DCT16,
119
  TXFM_TYPE_DCT32,
120
  TXFM_TYPE_DCT64,
121
  TXFM_TYPE_ADST4,
122
  TXFM_TYPE_ADST8,
123
  TXFM_TYPE_ADST16,
124
  TXFM_TYPE_IDENTITY4,
125
  TXFM_TYPE_IDENTITY8,
126
  TXFM_TYPE_IDENTITY16,
127
  TXFM_TYPE_IDENTITY32,
128
  TXFM_TYPES,
129
  TXFM_TYPE_INVALID,
130
} UENUM1BYTE(TXFM_TYPE);
131
132
typedef struct TXFM_2D_FLIP_CFG {
133
  TX_SIZE tx_size;
134
  int ud_flip;  // flip upside down
135
  int lr_flip;  // flip left to right
136
  const int8_t *shift;
137
  int8_t cos_bit_col;
138
  int8_t cos_bit_row;
139
  int8_t stage_range_col[MAX_TXFM_STAGE_NUM];
140
  int8_t stage_range_row[MAX_TXFM_STAGE_NUM];
141
  TXFM_TYPE txfm_type_col;
142
  TXFM_TYPE txfm_type_row;
143
  int stage_num_col;
144
  int stage_num_row;
145
} TXFM_2D_FLIP_CFG;
146
147
14.2M
static INLINE void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
148
14.2M
  switch (tx_type) {
149
6.87M
    case DCT_DCT:
150
7.97M
    case ADST_DCT:
151
9.71M
    case DCT_ADST:
152
11.0M
    case ADST_ADST:
153
11.0M
      *ud_flip = 0;
154
11.0M
      *lr_flip = 0;
155
11.0M
      break;
156
1.01M
    case IDTX:
157
1.23M
    case V_DCT:
158
1.69M
    case H_DCT:
159
1.86M
    case V_ADST:
160
1.96M
    case H_ADST:
161
1.96M
      *ud_flip = 0;
162
1.96M
      *lr_flip = 0;
163
1.96M
      break;
164
233k
    case FLIPADST_DCT:
165
474k
    case FLIPADST_ADST:
166
582k
    case V_FLIPADST:
167
582k
      *ud_flip = 1;
168
582k
      *lr_flip = 0;
169
582k
      break;
170
207k
    case DCT_FLIPADST:
171
323k
    case ADST_FLIPADST:
172
503k
    case H_FLIPADST:
173
503k
      *ud_flip = 0;
174
503k
      *lr_flip = 1;
175
503k
      break;
176
135k
    case FLIPADST_FLIPADST:
177
135k
      *ud_flip = 1;
178
135k
      *lr_flip = 1;
179
135k
      break;
180
0
    default:
181
0
      *ud_flip = 0;
182
0
      *lr_flip = 0;
183
0
      assert(0);
184
14.2M
  }
185
14.2M
}
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: 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: cdef_block_sse2.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: warp_plane_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
147
5.46M
static INLINE void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
148
5.46M
  switch (tx_type) {
149
2.27M
    case DCT_DCT:
150
2.60M
    case ADST_DCT:
151
3.14M
    case DCT_ADST:
152
3.58M
    case ADST_ADST:
153
3.58M
      *ud_flip = 0;
154
3.58M
      *lr_flip = 0;
155
3.58M
      break;
156
801k
    case IDTX:
157
900k
    case V_DCT:
158
1.16M
    case H_DCT:
159
1.26M
    case V_ADST:
160
1.33M
    case H_ADST:
161
1.33M
      *ud_flip = 0;
162
1.33M
      *lr_flip = 0;
163
1.33M
      break;
164
82.0k
    case FLIPADST_DCT:
165
202k
    case FLIPADST_ADST:
166
282k
    case V_FLIPADST:
167
282k
      *ud_flip = 1;
168
282k
      *lr_flip = 0;
169
282k
      break;
170
99.4k
    case DCT_FLIPADST:
171
152k
    case ADST_FLIPADST:
172
231k
    case H_FLIPADST:
173
231k
      *ud_flip = 0;
174
231k
      *lr_flip = 1;
175
231k
      break;
176
40.8k
    case FLIPADST_FLIPADST:
177
40.8k
      *ud_flip = 1;
178
40.8k
      *lr_flip = 1;
179
40.8k
      break;
180
0
    default:
181
0
      *ud_flip = 0;
182
0
      *lr_flip = 0;
183
0
      assert(0);
184
5.46M
  }
185
5.46M
}
Unexecuted instantiation: cdef_block_ssse3.c:get_flip_cfg
Unexecuted instantiation: cfl_ssse3.c:get_flip_cfg
Unexecuted instantiation: resize_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_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
147
2.19M
static INLINE void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
148
2.19M
  switch (tx_type) {
149
581k
    case DCT_DCT:
150
765k
    case ADST_DCT:
151
1.05M
    case DCT_ADST:
152
1.32M
    case ADST_ADST:
153
1.32M
      *ud_flip = 0;
154
1.32M
      *lr_flip = 0;
155
1.32M
      break;
156
214k
    case IDTX:
157
327k
    case V_DCT:
158
490k
    case H_DCT:
159
560k
    case V_ADST:
160
585k
    case H_ADST:
161
585k
      *ud_flip = 0;
162
585k
      *lr_flip = 0;
163
585k
      break;
164
51.0k
    case FLIPADST_DCT:
165
88.2k
    case FLIPADST_ADST:
166
116k
    case V_FLIPADST:
167
116k
      *ud_flip = 1;
168
116k
      *lr_flip = 0;
169
116k
      break;
170
19.7k
    case DCT_FLIPADST:
171
40.4k
    case ADST_FLIPADST:
172
142k
    case H_FLIPADST:
173
142k
      *ud_flip = 0;
174
142k
      *lr_flip = 1;
175
142k
      break;
176
25.0k
    case FLIPADST_FLIPADST:
177
25.0k
      *ud_flip = 1;
178
25.0k
      *lr_flip = 1;
179
25.0k
      break;
180
0
    default:
181
0
      *ud_flip = 0;
182
0
      *lr_flip = 0;
183
0
      assert(0);
184
2.19M
  }
185
2.19M
}
Unexecuted instantiation: intra_edge_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_warp_plane_sse4.c:get_flip_cfg
av1_inv_txfm_avx2.c:get_flip_cfg
Line
Count
Source
147
3.41M
static INLINE void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
148
3.41M
  switch (tx_type) {
149
2.24M
    case DCT_DCT:
150
2.50M
    case ADST_DCT:
151
2.93M
    case DCT_ADST:
152
3.19M
    case ADST_ADST:
153
3.19M
      *ud_flip = 0;
154
3.19M
      *lr_flip = 0;
155
3.19M
      break;
156
0
    case IDTX:
157
9.97k
    case V_DCT:
158
41.0k
    case H_DCT:
159
41.0k
    case V_ADST:
160
41.0k
    case H_ADST:
161
41.0k
      *ud_flip = 0;
162
41.0k
      *lr_flip = 0;
163
41.0k
      break;
164
45.9k
    case FLIPADST_DCT:
165
86.8k
    case FLIPADST_ADST:
166
86.8k
    case V_FLIPADST:
167
86.8k
      *ud_flip = 1;
168
86.8k
      *lr_flip = 0;
169
86.8k
      break;
170
42.3k
    case DCT_FLIPADST:
171
65.3k
    case ADST_FLIPADST:
172
65.3k
    case H_FLIPADST:
173
65.3k
      *ud_flip = 0;
174
65.3k
      *lr_flip = 1;
175
65.3k
      break;
176
28.4k
    case FLIPADST_FLIPADST:
177
28.4k
      *ud_flip = 1;
178
28.4k
      *lr_flip = 1;
179
28.4k
      break;
180
0
    default:
181
0
      *ud_flip = 0;
182
0
      *lr_flip = 0;
183
0
      assert(0);
184
3.41M
  }
185
3.41M
}
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
147
3.12M
static INLINE void get_flip_cfg(TX_TYPE tx_type, int *ud_flip, int *lr_flip) {
148
3.12M
  switch (tx_type) {
149
1.78M
    case DCT_DCT:
150
2.10M
    case ADST_DCT:
151
2.57M
    case DCT_ADST:
152
2.92M
    case ADST_ADST:
153
2.92M
      *ud_flip = 0;
154
2.92M
      *lr_flip = 0;
155
2.92M
      break;
156
0
    case IDTX:
157
0
    case V_DCT:
158
0
    case H_DCT:
159
0
    case V_ADST:
160
0
    case H_ADST:
161
0
      *ud_flip = 0;
162
0
      *lr_flip = 0;
163
0
      break;
164
54.4k
    case FLIPADST_DCT:
165
96.3k
    case FLIPADST_ADST:
166
96.3k
    case V_FLIPADST:
167
96.3k
      *ud_flip = 1;
168
96.3k
      *lr_flip = 0;
169
96.3k
      break;
170
45.5k
    case DCT_FLIPADST:
171
65.1k
    case ADST_FLIPADST:
172
65.1k
    case H_FLIPADST:
173
65.1k
      *ud_flip = 0;
174
65.1k
      *lr_flip = 1;
175
65.1k
      break;
176
41.4k
    case FLIPADST_FLIPADST:
177
41.4k
      *ud_flip = 1;
178
41.4k
      *lr_flip = 1;
179
41.4k
      break;
180
0
    default:
181
0
      *ud_flip = 0;
182
0
      *lr_flip = 0;
183
0
      assert(0);
184
3.12M
  }
185
3.12M
}
Unexecuted instantiation: reconinter_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_warp_affine_avx2.c:get_flip_cfg
Unexecuted instantiation: av1_inv_txfm1d.c:get_flip_cfg
186
187
0
static INLINE void set_flip_cfg(TX_TYPE tx_type, TXFM_2D_FLIP_CFG *cfg) {
188
0
  get_flip_cfg(tx_type, &cfg->ud_flip, &cfg->lr_flip);
189
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: 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: cdef_block_sse2.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: warp_plane_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: cdef_block_ssse3.c:set_flip_cfg
Unexecuted instantiation: cfl_ssse3.c:set_flip_cfg
Unexecuted instantiation: resize_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_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: selfguided_sse4.c:set_flip_cfg
Unexecuted instantiation: warp_plane_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: reconinter_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_warp_affine_avx2.c:set_flip_cfg
Unexecuted instantiation: av1_inv_txfm1d.c:set_flip_cfg
190
191
// Utility function that returns the log of the ratio of the col and row
192
// sizes.
193
7.96M
static INLINE int get_rect_tx_log_ratio(int col, int row) {
194
7.96M
  if (col == row) return 0;
195
3.72M
  if (col > row) {
196
2.74M
    if (col == row * 2) return 1;
197
1.21M
    if (col == row * 4) return 2;
198
18.4E
    assert(0 && "Unsupported transform size");
199
18.4E
  } else {
200
979k
    if (row == col * 2) return -1;
201
209k
    if (row == col * 4) return -2;
202
18.4E
    assert(0 && "Unsupported transform size");
203
18.4E
  }
204
18.4E
  return 0;  // Invalid
205
3.72M
}
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: 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: cdef_block_sse2.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: warp_plane_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
193
2.04M
static INLINE int get_rect_tx_log_ratio(int col, int row) {
194
2.04M
  if (col == row) return 0;
195
1.69M
  if (col > row) {
196
1.22M
    if (col == row * 2) return 1;
197
558k
    if (col == row * 4) return 2;
198
18.4E
    assert(0 && "Unsupported transform size");
199
18.4E
  } else {
200
463k
    if (row == col * 2) return -1;
201
116k
    if (row == col * 4) return -2;
202
18.4E
    assert(0 && "Unsupported transform size");
203
18.4E
  }
204
18.4E
  return 0;  // Invalid
205
1.69M
}
Unexecuted instantiation: cdef_block_ssse3.c:get_rect_tx_log_ratio
Unexecuted instantiation: cfl_ssse3.c:get_rect_tx_log_ratio
Unexecuted instantiation: resize_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_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
193
457k
static INLINE int get_rect_tx_log_ratio(int col, int row) {
194
457k
  if (col == row) return 0;
195
158k
  if (col > row) {
196
113k
    if (col == row * 2) return 1;
197
6.30k
    if (col == row * 4) return 2;
198
0
    assert(0 && "Unsupported transform size");
199
45.0k
  } else {
200
45.0k
    if (row == col * 2) return -1;
201
3.66k
    if (row == col * 4) return -2;
202
18.4E
    assert(0 && "Unsupported transform size");
203
18.4E
  }
204
18.4E
  return 0;  // Invalid
205
158k
}
Unexecuted instantiation: intra_edge_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_warp_plane_sse4.c:get_rect_tx_log_ratio
av1_inv_txfm_avx2.c:get_rect_tx_log_ratio
Line
Count
Source
193
2.33M
static INLINE int get_rect_tx_log_ratio(int col, int row) {
194
2.33M
  if (col == row) return 0;
195
585k
  if (col > row) {
196
456k
    if (col == row * 2) return 1;
197
217k
    if (col == row * 4) return 2;
198
18.4E
    assert(0 && "Unsupported transform size");
199
18.4E
  } else {
200
128k
    if (row == col * 2) return -1;
201
18.0k
    if (row == col * 4) return -2;
202
18.4E
    assert(0 && "Unsupported transform size");
203
18.4E
  }
204
18.4E
  return 0;  // Invalid
205
585k
}
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
193
3.12M
static INLINE int get_rect_tx_log_ratio(int col, int row) {
194
3.12M
  if (col == row) return 0;
195
1.28M
  if (col > row) {
196
944k
    if (col == row * 2) return 1;
197
428k
    if (col == row * 4) return 2;
198
18.4E
    assert(0 && "Unsupported transform size");
199
18.4E
  } else {
200
341k
    if (row == col * 2) return -1;
201
71.4k
    if (row == col * 4) return -2;
202
18.4E
    assert(0 && "Unsupported transform size");
203
18.4E
  }
204
18.4E
  return 0;  // Invalid
205
1.28M
}
Unexecuted instantiation: reconinter_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_warp_affine_avx2.c:get_rect_tx_log_ratio
Unexecuted instantiation: av1_inv_txfm1d.c:get_rect_tx_log_ratio
206
207
void av1_gen_fwd_stage_range(int8_t *stage_range_col, int8_t *stage_range_row,
208
                             const TXFM_2D_FLIP_CFG *cfg, int bd);
209
210
void av1_gen_inv_stage_range(int8_t *stage_range_col, int8_t *stage_range_row,
211
                             const TXFM_2D_FLIP_CFG *cfg, TX_SIZE tx_size,
212
                             int bd);
213
214
void av1_get_fwd_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size,
215
                          TXFM_2D_FLIP_CFG *cfg);
216
void av1_get_inv_txfm_cfg(TX_TYPE tx_type, TX_SIZE tx_size,
217
                          TXFM_2D_FLIP_CFG *cfg);
218
extern const TXFM_TYPE av1_txfm_type_ls[5][TX_TYPES_1D];
219
extern const int8_t av1_txfm_stage_num_list[TXFM_TYPES];
220
13.7M
static INLINE int get_txw_idx(TX_SIZE tx_size) {
221
13.7M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
222
13.7M
}
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: 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: cdef_block_sse2.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: warp_plane_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
220
5.86M
static INLINE int get_txw_idx(TX_SIZE tx_size) {
221
5.86M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
222
5.86M
}
Unexecuted instantiation: cdef_block_ssse3.c:get_txw_idx
Unexecuted instantiation: cfl_ssse3.c:get_txw_idx
Unexecuted instantiation: resize_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_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
220
2.40M
static INLINE int get_txw_idx(TX_SIZE tx_size) {
221
2.40M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
222
2.40M
}
Unexecuted instantiation: intra_edge_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_warp_plane_sse4.c:get_txw_idx
av1_inv_txfm_avx2.c:get_txw_idx
Line
Count
Source
220
2.33M
static INLINE int get_txw_idx(TX_SIZE tx_size) {
221
2.33M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
222
2.33M
}
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
220
3.12M
static INLINE int get_txw_idx(TX_SIZE tx_size) {
221
3.12M
  return tx_size_wide_log2[tx_size] - tx_size_wide_log2[0];
222
3.12M
}
Unexecuted instantiation: reconinter_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_warp_affine_avx2.c:get_txw_idx
Unexecuted instantiation: av1_inv_txfm1d.c:get_txw_idx
223
13.7M
static INLINE int get_txh_idx(TX_SIZE tx_size) {
224
13.7M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
225
13.7M
}
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: 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: cdef_block_sse2.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: warp_plane_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
223
5.86M
static INLINE int get_txh_idx(TX_SIZE tx_size) {
224
5.86M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
225
5.86M
}
Unexecuted instantiation: cdef_block_ssse3.c:get_txh_idx
Unexecuted instantiation: cfl_ssse3.c:get_txh_idx
Unexecuted instantiation: resize_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_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
223
2.40M
static INLINE int get_txh_idx(TX_SIZE tx_size) {
224
2.40M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
225
2.40M
}
Unexecuted instantiation: intra_edge_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_warp_plane_sse4.c:get_txh_idx
av1_inv_txfm_avx2.c:get_txh_idx
Line
Count
Source
223
2.33M
static INLINE int get_txh_idx(TX_SIZE tx_size) {
224
2.33M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
225
2.33M
}
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
223
3.12M
static INLINE int get_txh_idx(TX_SIZE tx_size) {
224
3.12M
  return tx_size_high_log2[tx_size] - tx_size_high_log2[0];
225
3.12M
}
Unexecuted instantiation: reconinter_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_warp_affine_avx2.c:get_txh_idx
Unexecuted instantiation: av1_inv_txfm1d.c:get_txh_idx
226
227
void av1_range_check_buf(int32_t stage, const int32_t *input,
228
                         const int32_t *buf, int32_t size, int8_t bit);
229
#define MAX_TXWH_IDX 5
230
#ifdef __cplusplus
231
}
232
#endif  // __cplusplus
233
234
#endif  // AOM_AV1_COMMON_AV1_TXFM_H_