chromium/third_party/libaom/source/libaom/aom_dsp/x86/convolve_avx2.h

/*
 * Copyright (c) 2018, 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_AOM_DSP_X86_CONVOLVE_AVX2_H_
#define AOM_AOM_DSP_X86_CONVOLVE_AVX2_H_

#include <immintrin.h>

#include "aom_ports/mem.h"

#include "av1/common/convolve.h"
#include "av1/common/filter.h"

// filters for 16
DECLARE_ALIGNED(32, static const uint8_t, filt_global_avx2[]) =;

DECLARE_ALIGNED(32, static const uint8_t, filt_d4_global_avx2[]) =;

DECLARE_ALIGNED(32, static const uint8_t, filt4_d4_global_avx2[]) =;

DECLARE_ALIGNED(32, static const uint8_t, filt_center_global_avx2[32]) =;

DECLARE_ALIGNED(32, static const uint8_t,
                filt1_global_avx2[32]) =;

DECLARE_ALIGNED(32, static const uint8_t,
                filt2_global_avx2[32]) =;

DECLARE_ALIGNED(32, static const uint8_t, filt3_global_avx2[32]) =;

DECLARE_ALIGNED(32, static const uint8_t, filt4_global_avx2[32]) =;

#define CONVOLVE_SR_HORIZONTAL_FILTER_4TAP

#define CONVOLVE_SR_VERTICAL_FILTER_4TAP

#define CONVOLVE_SR_HORIZONTAL_FILTER_6TAP

#define CONVOLVE_SR_VERTICAL_FILTER_6TAP

#define CONVOLVE_SR_HORIZONTAL_FILTER_8TAP

#define CONVOLVE_SR_VERTICAL_FILTER_8TAP

#define CONVOLVE_SR_HORIZONTAL_FILTER_12TAP

#define CONVOLVE_SR_VERTICAL_FILTER_12TAP

#define DIST_WTD_CONVOLVE_HORIZONTAL_FILTER_8TAP

#define DIST_WTD_CONVOLVE_VERTICAL_FILTER_8TAP

static inline void prepare_coeffs_lowbd(
    const InterpFilterParams *const filter_params, const int subpel_q4,
    __m256i *const coeffs /* [4] */) {}

static inline void prepare_coeffs_6t_lowbd(
    const InterpFilterParams *const filter_params, const int subpel_q4,
    __m256i *const coeffs /* [4] */) {}

static inline void prepare_coeffs_6t(
    const InterpFilterParams *const filter_params, const int subpel_q4,
    __m256i *const coeffs /* [4] */) {}

static inline void prepare_coeffs(const InterpFilterParams *const filter_params,
                                  const int subpel_q4,
                                  __m256i *const coeffs /* [4] */) {}

static inline void prepare_coeffs_12taps(
    const InterpFilterParams *const filter_params, const int subpel_q4,
    __m256i *const coeffs /* [4] */) {}

static inline __m256i convolve_lowbd(const __m256i *const s,
                                     const __m256i *const coeffs) {}

static inline __m256i convolve_lowbd_6tap(const __m256i *const s,
                                          const __m256i *const coeffs) {}

static inline __m256i convolve_lowbd_4tap(const __m256i *const s,
                                          const __m256i *const coeffs) {}

static inline __m256i convolve_6tap(const __m256i *const s,
                                    const __m256i *const coeffs) {}

static inline __m256i convolve_12taps(const __m256i *const s,
                                      const __m256i *const coeffs) {}

static inline __m256i convolve(const __m256i *const s,
                               const __m256i *const coeffs) {}

static inline __m256i convolve_4tap(const __m256i *const s,
                                    const __m256i *const coeffs) {}

static inline __m256i convolve_lowbd_x(const __m256i data,
                                       const __m256i *const coeffs,
                                       const __m256i *const filt) {}

static inline __m256i convolve_lowbd_x_6tap(const __m256i data,
                                            const __m256i *const coeffs,
                                            const __m256i *const filt) {}

static inline __m256i convolve_lowbd_x_4tap(const __m256i data,
                                            const __m256i *const coeffs,
                                            const __m256i *const filt) {}

static inline void add_store_aligned_256(CONV_BUF_TYPE *const dst,
                                         const __m256i *const res,
                                         const int do_average) {}

static inline __m256i comp_avg(const __m256i *const data_ref_0,
                               const __m256i *const res_unsigned,
                               const __m256i *const wt,
                               const int use_dist_wtd_comp_avg) {}

static inline __m256i convolve_rounding(const __m256i *const res_unsigned,
                                        const __m256i *const offset_const,
                                        const __m256i *const round_const,
                                        const int round_shift) {}

static inline __m256i highbd_comp_avg(const __m256i *const data_ref_0,
                                      const __m256i *const res_unsigned,
                                      const __m256i *const wt0,
                                      const __m256i *const wt1,
                                      const int use_dist_wtd_comp_avg) {}

static inline __m256i highbd_convolve_rounding(
    const __m256i *const res_unsigned, const __m256i *const offset_const,
    const __m256i *const round_const, const int round_shift) {}

#endif  // AOM_AOM_DSP_X86_CONVOLVE_AVX2_H_