From 68569dee1416593955c1570d638b3d9250b33012 Mon Sep 17 00:00:00 2001 From: trav90 Date: Mon, 15 Oct 2018 21:45:30 -0500 Subject: Import aom library This is the reference implementation for the Alliance for Open Media's av1 video code. The commit used was 4d668d7feb1f8abd809d1bca0418570a7f142a36. --- third_party/aom/av1/common/idct.h | 99 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 third_party/aom/av1/common/idct.h (limited to 'third_party/aom/av1/common/idct.h') diff --git a/third_party/aom/av1/common/idct.h b/third_party/aom/av1/common/idct.h new file mode 100644 index 000000000..e3a192187 --- /dev/null +++ b/third_party/aom/av1/common/idct.h @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2016, Alliance for Open Media. All rights reserved + * + * This source code is subject to the terms of the BSD 2 Clause License and + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License + * was not distributed with this source code in the LICENSE file, you can + * obtain it at www.aomedia.org/license/software. If the Alliance for Open + * Media Patent License 1.0 was not distributed with this source code in the + * PATENTS file, you can obtain it at www.aomedia.org/license/patent. + */ + +#ifndef AV1_COMMON_IDCT_H_ +#define AV1_COMMON_IDCT_H_ + +#include + +#include "./aom_config.h" +#include "av1/common/blockd.h" +#include "av1/common/common.h" +#include "av1/common/enums.h" +#include "aom_dsp/inv_txfm.h" +#include "aom_dsp/txfm_common.h" +#include "aom_ports/mem.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct INV_TXFM_PARAM { +#if CONFIG_ADAPT_SCAN + const int16_t *eob_threshold; +#endif + TX_TYPE tx_type; + TX_SIZE tx_size; + int eob; + int lossless; +#if CONFIG_HIGHBITDEPTH + int bd; +#endif +} INV_TXFM_PARAM; + +typedef void (*transform_1d)(const tran_low_t *, tran_low_t *); + +typedef struct { + transform_1d cols, rows; // vertical and horizontal +} transform_2d; + +#if CONFIG_HIGHBITDEPTH +typedef void (*highbd_transform_1d)(const tran_low_t *, tran_low_t *, + const int8_t *cos_bit, + const int8_t *stage_range, int bd); + +typedef struct { + highbd_transform_1d cols, rows; // vertical and horizontal +} highbd_transform_2d; +#endif // CONFIG_HIGHBITDEPTH + +#define MAX_TX_SCALE 1 +int av1_get_tx_scale(const TX_SIZE tx_size); + +void av1_iwht4x4_add(const tran_low_t *input, uint8_t *dest, int stride, + int eob); +void av1_idct4x4_add(const tran_low_t *input, uint8_t *dest, int stride, + int eob); + +void av1_inv_txfm_add_4x4(const tran_low_t *input, uint8_t *dest, int stride, + int eob, TX_TYPE tx_type, int lossless); +void av1_inv_txfm_add_8x4(const tran_low_t *input, uint8_t *dest, int stride, + int eob, TX_TYPE tx_type); +void av1_inv_txfm_add_4x8(const tran_low_t *input, uint8_t *dest, int stride, + int eob, TX_TYPE tx_type); +void av1_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, + INV_TXFM_PARAM *inv_txfm_param); +void av1_inverse_transform_block(const MACROBLOCKD *xd, + const tran_low_t *dqcoeff, TX_TYPE tx_type, + TX_SIZE tx_size, uint8_t *dst, int stride, + int eob); +void av1_inverse_transform_block_facade(MACROBLOCKD *xd, int plane, int block, + int blk_row, int blk_col, int eob); +#if CONFIG_HIGHBITDEPTH +void av1_highbd_iwht4x4_add(const tran_low_t *input, uint8_t *dest, int stride, + int eob, int bd); +void av1_highbd_idct4x4_add(const tran_low_t *input, uint8_t *dest, int stride, + int eob, int bd); +void av1_highbd_inv_txfm_add_4x4(const tran_low_t *input, uint8_t *dest, + int stride, int eob, int bd, TX_TYPE tx_type, + int lossless); +void av1_highbd_inv_txfm_add_4x8(const tran_low_t *input, uint8_t *dest, + int stride, int eob, int bd, TX_TYPE tx_type); +void av1_highbd_inv_txfm_add_8x4(const tran_low_t *input, uint8_t *dest, + int stride, int eob, int bd, TX_TYPE tx_type); +void av1_highbd_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, + INV_TXFM_PARAM *inv_txfm_param); +#endif // CONFIG_HIGHBITDEPTH +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // AV1_COMMON_IDCT_H_ -- cgit v1.2.3 From df9477dfa60ebb5d31bc142e58ce46535c17abce Mon Sep 17 00:00:00 2001 From: trav90 Date: Wed, 17 Oct 2018 05:59:08 -0500 Subject: Update aom to slightly newer commit ID --- third_party/aom/av1/common/idct.h | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) (limited to 'third_party/aom/av1/common/idct.h') diff --git a/third_party/aom/av1/common/idct.h b/third_party/aom/av1/common/idct.h index e3a192187..cf656dc53 100644 --- a/third_party/aom/av1/common/idct.h +++ b/third_party/aom/av1/common/idct.h @@ -46,9 +46,7 @@ typedef struct { } transform_2d; #if CONFIG_HIGHBITDEPTH -typedef void (*highbd_transform_1d)(const tran_low_t *, tran_low_t *, - const int8_t *cos_bit, - const int8_t *stage_range, int bd); +typedef void (*highbd_transform_1d)(const tran_low_t *, tran_low_t *, int bd); typedef struct { highbd_transform_1d cols, rows; // vertical and horizontal @@ -63,12 +61,6 @@ void av1_iwht4x4_add(const tran_low_t *input, uint8_t *dest, int stride, void av1_idct4x4_add(const tran_low_t *input, uint8_t *dest, int stride, int eob); -void av1_inv_txfm_add_4x4(const tran_low_t *input, uint8_t *dest, int stride, - int eob, TX_TYPE tx_type, int lossless); -void av1_inv_txfm_add_8x4(const tran_low_t *input, uint8_t *dest, int stride, - int eob, TX_TYPE tx_type); -void av1_inv_txfm_add_4x8(const tran_low_t *input, uint8_t *dest, int stride, - int eob, TX_TYPE tx_type); void av1_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, INV_TXFM_PARAM *inv_txfm_param); void av1_inverse_transform_block(const MACROBLOCKD *xd, @@ -92,6 +84,33 @@ void av1_highbd_inv_txfm_add_8x4(const tran_low_t *input, uint8_t *dest, void av1_highbd_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, INV_TXFM_PARAM *inv_txfm_param); #endif // CONFIG_HIGHBITDEPTH +#if CONFIG_DPCM_INTRA +void av1_dpcm_inv_txfm_add_4_c(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, uint8_t *dest); +void av1_dpcm_inv_txfm_add_8_c(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, uint8_t *dest); +void av1_dpcm_inv_txfm_add_16_c(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, uint8_t *dest); +void av1_dpcm_inv_txfm_add_32_c(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, uint8_t *dest); +typedef void (*dpcm_inv_txfm_add_func)(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, uint8_t *dest); +dpcm_inv_txfm_add_func av1_get_dpcm_inv_txfm_add_func(int tx_length); +#if CONFIG_HIGHBITDEPTH +void av1_hbd_dpcm_inv_txfm_add_4_c(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, int bd, uint16_t *dest); +void av1_hbd_dpcm_inv_txfm_add_8_c(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, int bd, uint16_t *dest); +void av1_hbd_dpcm_inv_txfm_add_16_c(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, int bd, uint16_t *dest); +void av1_hbd_dpcm_inv_txfm_add_32_c(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, int bd, uint16_t *dest); +typedef void (*hbd_dpcm_inv_txfm_add_func)(const tran_low_t *input, int stride, + TX_TYPE_1D tx_type, int bd, + uint16_t *dest); +hbd_dpcm_inv_txfm_add_func av1_get_hbd_dpcm_inv_txfm_add_func(int tx_length); +#endif // CONFIG_HIGHBITDEPTH +#endif // CONFIG_DPCM_INTRA #ifdef __cplusplus } // extern "C" #endif -- cgit v1.2.3 From 7369c7d7a5eed32963d8af37658286617919f91c Mon Sep 17 00:00:00 2001 From: trav90 Date: Thu, 18 Oct 2018 06:04:57 -0500 Subject: Update aom to commit id f5bdeac22930ff4c6b219be49c843db35970b918 --- third_party/aom/av1/common/idct.h | 58 +++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 33 deletions(-) (limited to 'third_party/aom/av1/common/idct.h') diff --git a/third_party/aom/av1/common/idct.h b/third_party/aom/av1/common/idct.h index cf656dc53..c2ca69b54 100644 --- a/third_party/aom/av1/common/idct.h +++ b/third_party/aom/av1/common/idct.h @@ -26,19 +26,7 @@ extern "C" { #endif -typedef struct INV_TXFM_PARAM { -#if CONFIG_ADAPT_SCAN - const int16_t *eob_threshold; -#endif - TX_TYPE tx_type; - TX_SIZE tx_size; - int eob; - int lossless; -#if CONFIG_HIGHBITDEPTH - int bd; -#endif -} INV_TXFM_PARAM; - +// TODO(kslu) move the common stuff in idct.h to av1_txfm.h or txfm_common.h typedef void (*transform_1d)(const tran_low_t *, tran_low_t *); typedef struct { @@ -57,33 +45,33 @@ typedef struct { int av1_get_tx_scale(const TX_SIZE tx_size); void av1_iwht4x4_add(const tran_low_t *input, uint8_t *dest, int stride, - int eob); + const TxfmParam *txfm_param); void av1_idct4x4_add(const tran_low_t *input, uint8_t *dest, int stride, - int eob); + const TxfmParam *txfm_param); void av1_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, - INV_TXFM_PARAM *inv_txfm_param); + TxfmParam *txfm_param); void av1_inverse_transform_block(const MACROBLOCKD *xd, - const tran_low_t *dqcoeff, TX_TYPE tx_type, - TX_SIZE tx_size, uint8_t *dst, int stride, - int eob); + const tran_low_t *dqcoeff, +#if CONFIG_LGT + PREDICTION_MODE mode, +#endif + TX_TYPE tx_type, TX_SIZE tx_size, uint8_t *dst, + int stride, int eob); void av1_inverse_transform_block_facade(MACROBLOCKD *xd, int plane, int block, int blk_row, int blk_col, int eob); -#if CONFIG_HIGHBITDEPTH + void av1_highbd_iwht4x4_add(const tran_low_t *input, uint8_t *dest, int stride, int eob, int bd); -void av1_highbd_idct4x4_add(const tran_low_t *input, uint8_t *dest, int stride, - int eob, int bd); void av1_highbd_inv_txfm_add_4x4(const tran_low_t *input, uint8_t *dest, - int stride, int eob, int bd, TX_TYPE tx_type, - int lossless); + int stride, const TxfmParam *param); void av1_highbd_inv_txfm_add_4x8(const tran_low_t *input, uint8_t *dest, - int stride, int eob, int bd, TX_TYPE tx_type); + int stride, const TxfmParam *param); void av1_highbd_inv_txfm_add_8x4(const tran_low_t *input, uint8_t *dest, - int stride, int eob, int bd, TX_TYPE tx_type); + int stride, const TxfmParam *param); void av1_highbd_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, - INV_TXFM_PARAM *inv_txfm_param); -#endif // CONFIG_HIGHBITDEPTH + TxfmParam *txfm_param); + #if CONFIG_DPCM_INTRA void av1_dpcm_inv_txfm_add_4_c(const tran_low_t *input, int stride, TX_TYPE_1D tx_type, uint8_t *dest); @@ -98,16 +86,20 @@ typedef void (*dpcm_inv_txfm_add_func)(const tran_low_t *input, int stride, dpcm_inv_txfm_add_func av1_get_dpcm_inv_txfm_add_func(int tx_length); #if CONFIG_HIGHBITDEPTH void av1_hbd_dpcm_inv_txfm_add_4_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, int bd, uint16_t *dest); + TX_TYPE_1D tx_type, int bd, uint16_t *dest, + int dir); void av1_hbd_dpcm_inv_txfm_add_8_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, int bd, uint16_t *dest); + TX_TYPE_1D tx_type, int bd, uint16_t *dest, + int dir); void av1_hbd_dpcm_inv_txfm_add_16_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, int bd, uint16_t *dest); + TX_TYPE_1D tx_type, int bd, uint16_t *dest, + int dir); void av1_hbd_dpcm_inv_txfm_add_32_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, int bd, uint16_t *dest); + TX_TYPE_1D tx_type, int bd, uint16_t *dest, + int dir); typedef void (*hbd_dpcm_inv_txfm_add_func)(const tran_low_t *input, int stride, TX_TYPE_1D tx_type, int bd, - uint16_t *dest); + uint16_t *dest, int dir); hbd_dpcm_inv_txfm_add_func av1_get_hbd_dpcm_inv_txfm_add_func(int tx_length); #endif // CONFIG_HIGHBITDEPTH #endif // CONFIG_DPCM_INTRA -- cgit v1.2.3 From ec910d81405c736a4490383a250299a7837c2e64 Mon Sep 17 00:00:00 2001 From: trav90 Date: Thu, 18 Oct 2018 21:53:44 -0500 Subject: Update aom to commit id e87fb2378f01103d5d6e477a4ef6892dc714e614 --- third_party/aom/av1/common/idct.h | 53 +++++++++++++++------------------------ 1 file changed, 20 insertions(+), 33 deletions(-) (limited to 'third_party/aom/av1/common/idct.h') diff --git a/third_party/aom/av1/common/idct.h b/third_party/aom/av1/common/idct.h index c2ca69b54..e4e4ad671 100644 --- a/third_party/aom/av1/common/idct.h +++ b/third_party/aom/av1/common/idct.h @@ -26,13 +26,28 @@ extern "C" { #endif -// TODO(kslu) move the common stuff in idct.h to av1_txfm.h or txfm_common.h typedef void (*transform_1d)(const tran_low_t *, tran_low_t *); typedef struct { transform_1d cols, rows; // vertical and horizontal } transform_2d; +#if CONFIG_LGT +int get_lgt4(const TxfmParam *txfm_param, int is_col, + const tran_high_t **lgtmtx); +int get_lgt8(const TxfmParam *txfm_param, int is_col, + const tran_high_t **lgtmtx); +#endif // CONFIG_LGT + +#if CONFIG_LGT_FROM_PRED +void get_lgt4_from_pred(const TxfmParam *txfm_param, int is_col, + const tran_high_t **lgtmtx, int ntx); +void get_lgt8_from_pred(const TxfmParam *txfm_param, int is_col, + const tran_high_t **lgtmtx, int ntx); +void get_lgt16up_from_pred(const TxfmParam *txfm_param, int is_col, + const tran_high_t **lgtmtx, int ntx); +#endif // CONFIG_LGT_FROM_PRED + #if CONFIG_HIGHBITDEPTH typedef void (*highbd_transform_1d)(const tran_low_t *, tran_low_t *, int bd); @@ -53,9 +68,12 @@ void av1_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, TxfmParam *txfm_param); void av1_inverse_transform_block(const MACROBLOCKD *xd, const tran_low_t *dqcoeff, -#if CONFIG_LGT +#if CONFIG_LGT_FROM_PRED PREDICTION_MODE mode, #endif +#if CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK + uint8_t *mrc_mask, +#endif // CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK TX_TYPE tx_type, TX_SIZE tx_size, uint8_t *dst, int stride, int eob); void av1_inverse_transform_block_facade(MACROBLOCKD *xd, int plane, int block, @@ -72,37 +90,6 @@ void av1_highbd_inv_txfm_add_8x4(const tran_low_t *input, uint8_t *dest, void av1_highbd_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, TxfmParam *txfm_param); -#if CONFIG_DPCM_INTRA -void av1_dpcm_inv_txfm_add_4_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, uint8_t *dest); -void av1_dpcm_inv_txfm_add_8_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, uint8_t *dest); -void av1_dpcm_inv_txfm_add_16_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, uint8_t *dest); -void av1_dpcm_inv_txfm_add_32_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, uint8_t *dest); -typedef void (*dpcm_inv_txfm_add_func)(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, uint8_t *dest); -dpcm_inv_txfm_add_func av1_get_dpcm_inv_txfm_add_func(int tx_length); -#if CONFIG_HIGHBITDEPTH -void av1_hbd_dpcm_inv_txfm_add_4_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, int bd, uint16_t *dest, - int dir); -void av1_hbd_dpcm_inv_txfm_add_8_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, int bd, uint16_t *dest, - int dir); -void av1_hbd_dpcm_inv_txfm_add_16_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, int bd, uint16_t *dest, - int dir); -void av1_hbd_dpcm_inv_txfm_add_32_c(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, int bd, uint16_t *dest, - int dir); -typedef void (*hbd_dpcm_inv_txfm_add_func)(const tran_low_t *input, int stride, - TX_TYPE_1D tx_type, int bd, - uint16_t *dest, int dir); -hbd_dpcm_inv_txfm_add_func av1_get_hbd_dpcm_inv_txfm_add_func(int tx_length); -#endif // CONFIG_HIGHBITDEPTH -#endif // CONFIG_DPCM_INTRA #ifdef __cplusplus } // extern "C" #endif -- cgit v1.2.3 From bbcc64772580c8a979288791afa02d30bc476d2e Mon Sep 17 00:00:00 2001 From: trav90 Date: Fri, 19 Oct 2018 21:52:15 -0500 Subject: Update aom to v1.0.0 Update aom to commit id d14c5bb4f336ef1842046089849dee4a301fbbf0. --- third_party/aom/av1/common/idct.h | 57 +++------------------------------------ 1 file changed, 3 insertions(+), 54 deletions(-) (limited to 'third_party/aom/av1/common/idct.h') diff --git a/third_party/aom/av1/common/idct.h b/third_party/aom/av1/common/idct.h index e4e4ad671..50032a167 100644 --- a/third_party/aom/av1/common/idct.h +++ b/third_party/aom/av1/common/idct.h @@ -12,15 +12,12 @@ #ifndef AV1_COMMON_IDCT_H_ #define AV1_COMMON_IDCT_H_ -#include +#include "config/aom_config.h" -#include "./aom_config.h" #include "av1/common/blockd.h" #include "av1/common/common.h" #include "av1/common/enums.h" -#include "aom_dsp/inv_txfm.h" #include "aom_dsp/txfm_common.h" -#include "aom_ports/mem.h" #ifdef __cplusplus extern "C" { @@ -32,64 +29,16 @@ typedef struct { transform_1d cols, rows; // vertical and horizontal } transform_2d; -#if CONFIG_LGT -int get_lgt4(const TxfmParam *txfm_param, int is_col, - const tran_high_t **lgtmtx); -int get_lgt8(const TxfmParam *txfm_param, int is_col, - const tran_high_t **lgtmtx); -#endif // CONFIG_LGT - -#if CONFIG_LGT_FROM_PRED -void get_lgt4_from_pred(const TxfmParam *txfm_param, int is_col, - const tran_high_t **lgtmtx, int ntx); -void get_lgt8_from_pred(const TxfmParam *txfm_param, int is_col, - const tran_high_t **lgtmtx, int ntx); -void get_lgt16up_from_pred(const TxfmParam *txfm_param, int is_col, - const tran_high_t **lgtmtx, int ntx); -#endif // CONFIG_LGT_FROM_PRED - -#if CONFIG_HIGHBITDEPTH -typedef void (*highbd_transform_1d)(const tran_low_t *, tran_low_t *, int bd); - -typedef struct { - highbd_transform_1d cols, rows; // vertical and horizontal -} highbd_transform_2d; -#endif // CONFIG_HIGHBITDEPTH - #define MAX_TX_SCALE 1 int av1_get_tx_scale(const TX_SIZE tx_size); -void av1_iwht4x4_add(const tran_low_t *input, uint8_t *dest, int stride, - const TxfmParam *txfm_param); -void av1_idct4x4_add(const tran_low_t *input, uint8_t *dest, int stride, - const TxfmParam *txfm_param); - -void av1_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, - TxfmParam *txfm_param); void av1_inverse_transform_block(const MACROBLOCKD *xd, - const tran_low_t *dqcoeff, -#if CONFIG_LGT_FROM_PRED - PREDICTION_MODE mode, -#endif -#if CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK - uint8_t *mrc_mask, -#endif // CONFIG_MRC_TX && SIGNAL_ANY_MRC_MASK + const tran_low_t *dqcoeff, int plane, TX_TYPE tx_type, TX_SIZE tx_size, uint8_t *dst, - int stride, int eob); -void av1_inverse_transform_block_facade(MACROBLOCKD *xd, int plane, int block, - int blk_row, int blk_col, int eob); + int stride, int eob, int reduced_tx_set); -void av1_highbd_iwht4x4_add(const tran_low_t *input, uint8_t *dest, int stride, - int eob, int bd); void av1_highbd_inv_txfm_add_4x4(const tran_low_t *input, uint8_t *dest, int stride, const TxfmParam *param); -void av1_highbd_inv_txfm_add_4x8(const tran_low_t *input, uint8_t *dest, - int stride, const TxfmParam *param); -void av1_highbd_inv_txfm_add_8x4(const tran_low_t *input, uint8_t *dest, - int stride, const TxfmParam *param); -void av1_highbd_inv_txfm_add(const tran_low_t *input, uint8_t *dest, int stride, - TxfmParam *txfm_param); - #ifdef __cplusplus } // extern "C" #endif -- cgit v1.2.3 From d2499ead93dc4298c0882fe98902acb1b5209f99 Mon Sep 17 00:00:00 2001 From: trav90 Date: Fri, 19 Oct 2018 23:05:00 -0500 Subject: Update libaom to commit ID 1e227d41f0616de9548a673a83a21ef990b62591 --- third_party/aom/av1/common/idct.h | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) (limited to 'third_party/aom/av1/common/idct.h') diff --git a/third_party/aom/av1/common/idct.h b/third_party/aom/av1/common/idct.h index 50032a167..d9454e73f 100644 --- a/third_party/aom/av1/common/idct.h +++ b/third_party/aom/av1/common/idct.h @@ -9,8 +9,8 @@ * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ -#ifndef AV1_COMMON_IDCT_H_ -#define AV1_COMMON_IDCT_H_ +#ifndef AOM_AV1_COMMON_IDCT_H_ +#define AOM_AV1_COMMON_IDCT_H_ #include "config/aom_config.h" @@ -36,11 +36,32 @@ void av1_inverse_transform_block(const MACROBLOCKD *xd, const tran_low_t *dqcoeff, int plane, TX_TYPE tx_type, TX_SIZE tx_size, uint8_t *dst, int stride, int eob, int reduced_tx_set); +void av1_highbd_iwht4x4_add(const tran_low_t *input, uint8_t *dest, int stride, + int eob, int bd); + +static INLINE const int32_t *cast_to_int32(const tran_low_t *input) { + assert(sizeof(int32_t) == sizeof(tran_low_t)); + return (const int32_t *)input; +} + +typedef void(highbd_inv_txfm_add)(const tran_low_t *input, uint8_t *dest, + int stride, const TxfmParam *param); + +highbd_inv_txfm_add av1_highbd_inv_txfm_add_4x8; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_8x4; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_16x32; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_32x16; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_32x64; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_64x32; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_16x64; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_64x16; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_16x4; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_4x16; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_8x32; +highbd_inv_txfm_add av1_highbd_inv_txfm_add_32x8; -void av1_highbd_inv_txfm_add_4x4(const tran_low_t *input, uint8_t *dest, - int stride, const TxfmParam *param); #ifdef __cplusplus } // extern "C" #endif -#endif // AV1_COMMON_IDCT_H_ +#endif // AOM_AV1_COMMON_IDCT_H_ -- cgit v1.2.3