Coverage Report

Created: 2026-11-12 08:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/aom/av1/common/idct.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_IDCT_H_
13
#define AOM_AV1_COMMON_IDCT_H_
14
15
#include <assert.h>
16
17
#include "config/aom_config.h"
18
19
#include "av1/common/blockd.h"
20
#include "av1/common/common.h"
21
#include "av1/common/enums.h"
22
#include "aom_dsp/txfm_common.h"
23
24
#ifdef __cplusplus
25
extern "C" {
26
#endif
27
28
typedef void (*transform_1d)(const tran_low_t *, tran_low_t *);
29
30
typedef struct {
31
  transform_1d cols, rows;  // vertical and horizontal
32
} transform_2d;
33
34
0
#define MAX_TX_SCALE 1
35
35.0M
static inline int av1_get_tx_scale(const TX_SIZE tx_size) {
36
  // (pels > 256) + (pels > 1024), where pels = tx_size_2d[tx_size].
37
35.0M
  static const uint8_t tx_scale[TX_SIZES_ALL] = { 0, 0, 0, 1, 2, 0, 0, 0, 0, 1,
38
35.0M
                                                  1, 2, 2, 0, 0, 0, 0, 1, 1 };
39
35.0M
  assert(tx_size < TX_SIZES_ALL);
40
34.9M
  return tx_scale[tx_size];
41
35.0M
}
Unexecuted instantiation: decodeframe.c:av1_get_tx_scale
decodetxb.c:av1_get_tx_scale
Line
Count
Source
35
35.0M
static inline int av1_get_tx_scale(const TX_SIZE tx_size) {
36
  // (pels > 256) + (pels > 1024), where pels = tx_size_2d[tx_size].
37
35.0M
  static const uint8_t tx_scale[TX_SIZES_ALL] = { 0, 0, 0, 1, 2, 0, 0, 0, 0, 1,
38
35.0M
                                                  1, 2, 2, 0, 0, 0, 0, 1, 1 };
39
35.0M
  assert(tx_size < TX_SIZES_ALL);
40
34.9M
  return tx_scale[tx_size];
41
35.0M
}
Unexecuted instantiation: detokenize.c:av1_get_tx_scale
Unexecuted instantiation: idct.c:av1_get_tx_scale
Unexecuted instantiation: av1_quantize.c:av1_get_tx_scale
Unexecuted instantiation: encodetxb.c:av1_get_tx_scale
Unexecuted instantiation: hybrid_fwd_txfm.c:av1_get_tx_scale
Unexecuted instantiation: rdopt.c:av1_get_tx_scale
Unexecuted instantiation: tpl_model.c:av1_get_tx_scale
Unexecuted instantiation: tx_search.c:av1_get_tx_scale
Unexecuted instantiation: txb_rdopt.c:av1_get_tx_scale
Unexecuted instantiation: highbd_inv_txfm_sse4.c:av1_get_tx_scale
Unexecuted instantiation: highbd_inv_txfm_avx2.c:av1_get_tx_scale
Unexecuted instantiation: encodeframe.c:av1_get_tx_scale
Unexecuted instantiation: encodemb.c:av1_get_tx_scale
Unexecuted instantiation: encoder.c:av1_get_tx_scale
Unexecuted instantiation: allintra_vis.c:av1_get_tx_scale
42
43
void av1_inverse_transform_block(const MACROBLOCKD *xd,
44
                                 const tran_low_t *dqcoeff, int plane,
45
                                 TX_TYPE tx_type, TX_SIZE tx_size, uint8_t *dst,
46
                                 int stride, int eob, int reduced_tx_set);
47
void av1_highbd_iwht4x4_add(const tran_low_t *input, uint8_t *dest, int stride,
48
                            int eob, int bd);
49
50
2.89M
static inline const int32_t *cast_to_int32(const tran_low_t *input) {
51
  static_assert(sizeof(int32_t) == sizeof(tran_low_t), "");
52
2.89M
  return (const int32_t *)input;
53
2.89M
}
Unexecuted instantiation: decodeframe.c:cast_to_int32
Unexecuted instantiation: decodetxb.c:cast_to_int32
Unexecuted instantiation: detokenize.c:cast_to_int32
Unexecuted instantiation: idct.c:cast_to_int32
Unexecuted instantiation: av1_quantize.c:cast_to_int32
Unexecuted instantiation: encodetxb.c:cast_to_int32
Unexecuted instantiation: hybrid_fwd_txfm.c:cast_to_int32
Unexecuted instantiation: rdopt.c:cast_to_int32
Unexecuted instantiation: tpl_model.c:cast_to_int32
Unexecuted instantiation: tx_search.c:cast_to_int32
Unexecuted instantiation: txb_rdopt.c:cast_to_int32
highbd_inv_txfm_sse4.c:cast_to_int32
Line
Count
Source
50
2.89M
static inline const int32_t *cast_to_int32(const tran_low_t *input) {
51
  static_assert(sizeof(int32_t) == sizeof(tran_low_t), "");
52
2.89M
  return (const int32_t *)input;
53
2.89M
}
Unexecuted instantiation: highbd_inv_txfm_avx2.c:cast_to_int32
Unexecuted instantiation: encodeframe.c:cast_to_int32
Unexecuted instantiation: encodemb.c:cast_to_int32
Unexecuted instantiation: encoder.c:cast_to_int32
Unexecuted instantiation: allintra_vis.c:cast_to_int32
54
55
#ifdef __cplusplus
56
}  // extern "C"
57
#endif
58
59
#endif  // AOM_AV1_COMMON_IDCT_H_