chromium/third_party/libvpx/source/libvpx/vpx_dsp/x86/highbd_quantize_intrin_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 <immintrin.h>

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

static VPX_FORCE_INLINE void init_one_qp(const __m128i *p, __m256i *qp) {}

static VPX_FORCE_INLINE void update_qp(__m256i *qp) {}

static VPX_FORCE_INLINE void init_qp(
    const struct macroblock_plane *const mb_plane, const int16_t *dequant_ptr,
    __m256i *qp, int log_scale) {}

// Note:
// *x is vector multiplied by *y which is 16 int32_t parallel multiplication
// and right shift 16.  The output, 16 int32_t is save in *p.
static VPX_FORCE_INLINE __m256i mm256_mul_shift_epi32(const __m256i *x,
                                                      const __m256i *y) {}

static VPX_FORCE_INLINE __m256i get_max_lane_eob(const int16_t *iscan_ptr,
                                                 __m256i eobmax,
                                                 __m256i nz_mask) {}

// Get the max eob from the lower 128 bits.
static VPX_FORCE_INLINE uint16_t get_max_eob(__m256i eob) {}

static VPX_FORCE_INLINE void quantize(const __m256i *qp,
                                      const tran_low_t *coeff_ptr,
                                      const int16_t *iscan_ptr,
                                      tran_low_t *qcoeff, tran_low_t *dqcoeff,
                                      __m256i *eob) {}

void vpx_highbd_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 mm256_mul_shift_epi32_logscale(const __m256i *x,
                                                               const __m256i *y,
                                                               int log_scale) {}

static VPX_FORCE_INLINE void quantize_b_32x32(
    const __m256i *qp, const tran_low_t *coeff_ptr, const int16_t *iscan_ptr,
    tran_low_t *qcoeff, tran_low_t *dqcoeff, __m256i *eob) {}

void vpx_highbd_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) {}