vp9_dct_neon.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * Copyright (c) 2014 The WebM project authors. All Rights Reserved.
  3. *
  4. * Use of this source code is governed by a BSD-style license
  5. * that can be found in the LICENSE file in the root of the source
  6. * tree. An additional intellectual property rights grant can be found
  7. * in the file PATENTS. All contributing project authors may
  8. * be found in the AUTHORS file in the root of the source tree.
  9. */
  10. #include <arm_neon.h>
  11. #include "./vp9_rtcd.h"
  12. #include "./vpx_config.h"
  13. #include "./vpx_dsp_rtcd.h"
  14. #include "vp9/common/vp9_blockd.h"
  15. #include "vpx_dsp/txfm_common.h"
  16. void vp9_fdct8x8_quant_neon(const int16_t *input, int stride,
  17. int16_t *coeff_ptr, intptr_t n_coeffs,
  18. int skip_block, const int16_t *zbin_ptr,
  19. const int16_t *round_ptr, const int16_t *quant_ptr,
  20. const int16_t *quant_shift_ptr, int16_t *qcoeff_ptr,
  21. int16_t *dqcoeff_ptr, const int16_t *dequant_ptr,
  22. uint16_t *eob_ptr, const int16_t *scan_ptr,
  23. const int16_t *iscan_ptr) {
  24. int16_t temp_buffer[64];
  25. (void)coeff_ptr;
  26. vpx_fdct8x8_neon(input, temp_buffer, stride);
  27. vp9_quantize_fp_neon(temp_buffer, n_coeffs, skip_block, zbin_ptr, round_ptr,
  28. quant_ptr, quant_shift_ptr, qcoeff_ptr, dqcoeff_ptr,
  29. dequant_ptr, eob_ptr, scan_ptr, iscan_ptr);
  30. }