chromium/third_party/libvpx/source/libvpx/vpx_dsp/x86/quantize_avx2.c

/*
 *  Copyright (c) 2022 The WebM project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

#include <assert.h>
#include <immintrin.h>

#include "./vpx_dsp_rtcd.h"
#include "vpx/vpx_integer.h"
#include "vp9/common/vp9_scan.h"
#include "vp9/encoder/vp9_block.h"

static VPX_FORCE_INLINE void load_b_values_avx2(
    const struct macroblock_plane *mb_plane, __m256i *zbin, __m256i *round,
    __m256i *quant, const int16_t *dequant_ptr, __m256i *dequant,
    __m256i *shift, int log_scale) {}

static VPX_FORCE_INLINE __m256i
load_coefficients_avx2(const tran_low_t *coeff_ptr) {}

static VPX_FORCE_INLINE void store_coefficients_avx2(__m256i coeff_vals,
                                                     tran_low_t *coeff_ptr) {}

static VPX_FORCE_INLINE __m256i
quantize_b_16(const tran_low_t *coeff_ptr, tran_low_t *qcoeff_ptr,
              tran_low_t *dqcoeff_ptr, __m256i *v_quant, __m256i *v_dequant,
              __m256i *v_round, __m256i *v_zbin, __m256i *v_quant_shift) {}

static VPX_FORCE_INLINE __m256i get_max_lane_eob(const int16_t *iscan,
                                                 __m256i v_eobmax,
                                                 __m256i v_mask) {}

static VPX_FORCE_INLINE int16_t accumulate_eob256(__m256i eob256) {}

void vpx_quantize_b_avx2(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
                         const struct macroblock_plane *const mb_plane,
                         tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr,
                         const int16_t *dequant_ptr, uint16_t *eob_ptr,
                         const struct ScanOrder *const scan_order) {}

static VPX_FORCE_INLINE __m256i quantize_b_32x32_16(
    const tran_low_t *coeff_ptr, tran_low_t *qcoeff_ptr,
    tran_low_t *dqcoeff_ptr, const int16_t *iscan, __m256i *v_quant,
    __m256i *v_dequant, __m256i *v_round, __m256i *v_zbin,
    __m256i *v_quant_shift, __m256i *v_eobmax) {}

void vpx_quantize_b_32x32_avx2(const tran_low_t *coeff_ptr,
                               const struct macroblock_plane *const mb_plane,
                               tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr,
                               const int16_t *dequant_ptr, uint16_t *eob_ptr,
                               const struct ScanOrder *const scan_order) {}