chromium/third_party/libaom/source/libaom/av1/common/x86/highbd_txfm_utility_sse4.h

/*
 * 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 AOM_AV1_COMMON_X86_HIGHBD_TXFM_UTILITY_SSE4_H_
#define AOM_AV1_COMMON_X86_HIGHBD_TXFM_UTILITY_SSE4_H_

#include <smmintrin.h> /* SSE4.1 */

#define TRANSPOSE_4X4(x0, x1, x2, x3, y0, y1, y2, y3)

static inline void transpose_8x8(const __m128i *in, __m128i *out) {}

static inline void transpose_16x16(const __m128i *in, __m128i *out) {}

static inline void transpose_8nx8n(const __m128i *input, __m128i *output,
                                   const int width, const int height) {}

// Note:
//  rounding = 1 << (bit - 1)
static inline __m128i half_btf_sse4_1(const __m128i *w0, const __m128i *n0,
                                      const __m128i *w1, const __m128i *n1,
                                      const __m128i *rounding, int bit) {}

static inline __m128i half_btf_0_sse4_1(const __m128i *w0, const __m128i *n0,
                                        const __m128i *rounding, int bit) {}

transform_1d_sse4_1;

fwd_transform_1d_sse4_1;

void av1_highbd_inv_txfm2d_add_universe_sse4_1(const int32_t *input,
                                               uint8_t *output, int stride,
                                               TX_TYPE tx_type, TX_SIZE tx_size,
                                               int eob, const int bd);

#endif  // AOM_AV1_COMMON_X86_HIGHBD_TXFM_UTILITY_SSE4_H_