#include "config/aom_config.h"
#include "config/av1_rtcd.h"
#include "av1/common/av1_inv_txfm1d_cfg.h"
#include "av1/common/x86/av1_inv_txfm_ssse3.h"
#include "av1/common/x86/av1_txfm_sse2.h"
static int32_t NewSqrt2list[TX_SIZES] = …;
static void idct4_sse2(const __m128i *input, __m128i *output) { … }
static void idct4_w4_sse2(const __m128i *input, __m128i *output) { … }
void av1_idct8_low1_ssse3(const __m128i *input, __m128i *output) { … }
void av1_idct8_sse2(const __m128i *input, __m128i *output) { … }
static void idct8_w4_sse2(const __m128i *input, __m128i *output) { … }
static inline void idct16_stage5_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct16_stage6_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct16_stage7_sse2(__m128i *output, __m128i *x) { … }
static void idct16_low1_ssse3(const __m128i *input, __m128i *output) { … }
static void idct16_low8_ssse3(const __m128i *input, __m128i *output) { … }
static void idct16_sse2(const __m128i *input, __m128i *output) { … }
static void idct16_w4_sse2(const __m128i *input, __m128i *output) { … }
static inline void idct32_high16_stage3_sse2(__m128i *x) { … }
static inline void idct32_high16_stage4_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct32_high24_stage5_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct32_high28_stage6_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct32_stage7_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct32_stage8_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct32_stage9_sse2(__m128i *output, __m128i *x) { … }
static void idct32_low1_ssse3(const __m128i *input, __m128i *output) { … }
static void idct32_low8_ssse3(const __m128i *input, __m128i *output) { … }
static void idct32_low16_ssse3(const __m128i *input, __m128i *output) { … }
static void idct32_sse2(const __m128i *input, __m128i *output) { … }
static inline void idct64_stage4_high32_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct64_stage5_high48_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct64_stage6_high32_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct64_stage6_high48_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct64_stage7_high48_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct64_stage8_high48_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct64_stage9_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct64_stage10_sse2(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void idct64_stage11_sse2(__m128i *output, __m128i *x) { … }
static void idct64_low1_ssse3(const __m128i *input, __m128i *output) { … }
static void idct64_low8_ssse3(const __m128i *input, __m128i *output) { … }
static void idct64_low16_ssse3(const __m128i *input, __m128i *output) { … }
static void idct64_low32_ssse3(const __m128i *input, __m128i *output) { … }
static void iadst4_sse2(const __m128i *input, __m128i *output) { … }
static void iadst4_w4_sse2(const __m128i *input, __m128i *output) { … }
void av1_iadst8_low1_ssse3(const __m128i *input, __m128i *output) { … }
void av1_iadst8_sse2(const __m128i *input, __m128i *output) { … }
static void iadst8_w4_sse2(const __m128i *input, __m128i *output) { … }
static inline void iadst16_stage3_ssse3(__m128i *x) { … }
static inline void iadst16_stage4_ssse3(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void iadst16_stage5_ssse3(__m128i *x) { … }
static inline void iadst16_stage6_ssse3(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void iadst16_stage7_ssse3(__m128i *x) { … }
static inline void iadst16_stage8_ssse3(__m128i *x, const int32_t *cospi,
const __m128i __rounding,
int8_t cos_bit) { … }
static inline void iadst16_stage9_ssse3(__m128i *output, __m128i *x) { … }
static void iadst16_low1_ssse3(const __m128i *input, __m128i *output) { … }
static void iadst16_low8_ssse3(const __m128i *input, __m128i *output) { … }
static void iadst16_sse2(const __m128i *input, __m128i *output) { … }
static void iadst16_w4_sse2(const __m128i *input, __m128i *output) { … }
static void iidentity4_ssse3(const __m128i *input, __m128i *output) { … }
static void iidentity8_sse2(const __m128i *input, __m128i *output) { … }
static void iidentity16_ssse3(const __m128i *input, __m128i *output) { … }
static inline __m128i lowbd_get_recon_8x8_sse2(const __m128i pred,
__m128i res) { … }
static inline void lowbd_write_buffer_4xn_sse2(__m128i *in, uint8_t *output,
int stride, int flipud,
const int height) { … }
static inline void lowbd_write_buffer_8xn_sse2(__m128i *in, uint8_t *output,
int stride, int flipud,
const int height) { … }
static const transform_1d_ssse3
lowbd_txfm_all_1d_w8_arr[TX_SIZES][ITX_TYPES_1D] = …;
static const transform_1d_ssse3
lowbd_txfm_all_1d_zeros_w8_arr[TX_SIZES][ITX_TYPES_1D][4] = …;
static const transform_1d_ssse3
lowbd_txfm_all_1d_w4_arr[TX_SIZES][ITX_TYPES_1D] = …;
static inline void iidentity_row_8xn_ssse3(__m128i *out, const int32_t *input,
int stride, int shift, int height,
int txw_idx, int rect_type) { … }
static inline void iidentity_col_8xn_ssse3(uint8_t *output, int stride,
__m128i *buf, int shift, int height,
int txh_idx) { … }
void av1_lowbd_inv_txfm2d_add_idtx_ssse3(const int32_t *input, uint8_t *output,
int stride, TX_SIZE tx_size) { … }
static void lowbd_inv_txfm2d_add_4x4_ssse3(const int32_t *input,
uint8_t *output, int stride,
TX_TYPE tx_type, TX_SIZE tx_size_,
int eob) { … }
static inline __m128i lowbd_get_recon_16x16_sse2(const __m128i pred,
__m128i res0, __m128i res1) { … }
static inline void lowbd_write_buffer_16xn_sse2(__m128i *in, uint8_t *output,
int stride, int flipud,
int height) { … }
static inline void round_shift_ssse3(const __m128i *input, __m128i *output,
int size) { … }
static inline void lowbd_inv_txfm2d_add_no_identity_ssse3(
const int32_t *input, uint8_t *output, int stride, TX_TYPE tx_type,
TX_SIZE tx_size, int eob) { … }
void av1_lowbd_inv_txfm2d_add_h_identity_ssse3(const int32_t *input,
uint8_t *output, int stride,
TX_TYPE tx_type, TX_SIZE tx_size,
int eob) { … }
void av1_lowbd_inv_txfm2d_add_v_identity_ssse3(const int32_t *input,
uint8_t *output, int stride,
TX_TYPE tx_type, TX_SIZE tx_size,
int eob) { … }
static inline void lowbd_inv_txfm2d_add_universe_ssse3(
const int32_t *input, uint8_t *output, int stride, TX_TYPE tx_type,
TX_SIZE tx_size, int eob) { … }
static void lowbd_inv_txfm2d_add_4x8_ssse3(const int32_t *input,
uint8_t *output, int stride,
TX_TYPE tx_type, TX_SIZE tx_size_,
int eob) { … }
static void lowbd_inv_txfm2d_add_8x4_ssse3(const int32_t *input,
uint8_t *output, int stride,
TX_TYPE tx_type, TX_SIZE tx_size_,
int eob) { … }
static void lowbd_inv_txfm2d_add_4x16_ssse3(const int32_t *input,
uint8_t *output, int stride,
TX_TYPE tx_type, TX_SIZE tx_size_,
int eob) { … }
static void lowbd_inv_txfm2d_add_16x4_ssse3(const int32_t *input,
uint8_t *output, int stride,
TX_TYPE tx_type, TX_SIZE tx_size_,
int eob) { … }
void av1_lowbd_inv_txfm2d_add_ssse3(const int32_t *input, uint8_t *output,
int stride, TX_TYPE tx_type,
TX_SIZE tx_size, int eob) { … }
void av1_inv_txfm_add_ssse3(const tran_low_t *dqcoeff, uint8_t *dst, int stride,
const TxfmParam *txfm_param) { … }