/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_ |