| OLD | NEW |
| 1 /* | 1 /* |
| 2 * ARM NEON optimised DSP functions | 2 * ARM NEON optimised DSP functions |
| 3 * Copyright (c) 2008 Mans Rullgard <mans@mansr.com> | 3 * Copyright (c) 2008 Mans Rullgard <mans@mansr.com> |
| 4 * | 4 * |
| 5 * This file is part of FFmpeg. | 5 * This file is part of FFmpeg. |
| 6 * | 6 * |
| 7 * FFmpeg is free software; you can redistribute it and/or | 7 * FFmpeg is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2.1 of the License, or (at your option) any later version. | 10 * version 2.1 of the License, or (at your option) any later version. |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 void ff_vector_fmul_add_neon(float *dst, const float *src0, const float *src1, | 220 void ff_vector_fmul_add_neon(float *dst, const float *src0, const float *src1, |
| 221 const float *src2, int len); | 221 const float *src2, int len); |
| 222 | 222 |
| 223 void ff_vector_clipf_neon(float *dst, const float *src, float min, float max, | 223 void ff_vector_clipf_neon(float *dst, const float *src, float min, float max, |
| 224 int len); | 224 int len); |
| 225 void ff_float_to_int16_neon(int16_t *, const float *, long); | 225 void ff_float_to_int16_neon(int16_t *, const float *, long); |
| 226 void ff_float_to_int16_interleave_neon(int16_t *, const float **, long, int); | 226 void ff_float_to_int16_interleave_neon(int16_t *, const float **, long, int); |
| 227 | 227 |
| 228 void ff_vorbis_inverse_coupling_neon(float *mag, float *ang, int blocksize); | 228 void ff_vorbis_inverse_coupling_neon(float *mag, float *ang, int blocksize); |
| 229 | 229 |
| 230 int32_t ff_scalarproduct_int16_neon(int16_t *v1, int16_t *v2, int len, |
| 231 int shift); |
| 232 int32_t ff_scalarproduct_and_madd_int16_neon(int16_t *v1, int16_t *v2, |
| 233 int16_t *v3, int len, int mul); |
| 234 |
| 230 void ff_dsputil_init_neon(DSPContext *c, AVCodecContext *avctx) | 235 void ff_dsputil_init_neon(DSPContext *c, AVCodecContext *avctx) |
| 231 { | 236 { |
| 232 if (!avctx->lowres) { | 237 if (!avctx->lowres) { |
| 233 if (avctx->idct_algo == FF_IDCT_AUTO || | 238 if (avctx->idct_algo == FF_IDCT_AUTO || |
| 234 avctx->idct_algo == FF_IDCT_SIMPLENEON) { | 239 avctx->idct_algo == FF_IDCT_SIMPLENEON) { |
| 235 c->idct_put = ff_simple_idct_put_neon; | 240 c->idct_put = ff_simple_idct_put_neon; |
| 236 c->idct_add = ff_simple_idct_add_neon; | 241 c->idct_add = ff_simple_idct_add_neon; |
| 237 c->idct = ff_simple_idct_neon; | 242 c->idct = ff_simple_idct_neon; |
| 238 c->idct_permutation_type = FF_PARTTRANS_IDCT_PERM; | 243 c->idct_permutation_type = FF_PARTTRANS_IDCT_PERM; |
| 239 } else if ((CONFIG_VP3_DECODER || CONFIG_VP5_DECODER || | 244 } else if ((CONFIG_VP3_DECODER || CONFIG_VP5_DECODER || |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 c->sv_fmul_scalar[0] = ff_sv_fmul_scalar_2_neon; | 404 c->sv_fmul_scalar[0] = ff_sv_fmul_scalar_2_neon; |
| 400 c->sv_fmul_scalar[1] = ff_sv_fmul_scalar_4_neon; | 405 c->sv_fmul_scalar[1] = ff_sv_fmul_scalar_4_neon; |
| 401 | 406 |
| 402 if (!(avctx->flags & CODEC_FLAG_BITEXACT)) { | 407 if (!(avctx->flags & CODEC_FLAG_BITEXACT)) { |
| 403 c->float_to_int16 = ff_float_to_int16_neon; | 408 c->float_to_int16 = ff_float_to_int16_neon; |
| 404 c->float_to_int16_interleave = ff_float_to_int16_interleave_neon; | 409 c->float_to_int16_interleave = ff_float_to_int16_interleave_neon; |
| 405 } | 410 } |
| 406 | 411 |
| 407 if (CONFIG_VORBIS_DECODER) | 412 if (CONFIG_VORBIS_DECODER) |
| 408 c->vorbis_inverse_coupling = ff_vorbis_inverse_coupling_neon; | 413 c->vorbis_inverse_coupling = ff_vorbis_inverse_coupling_neon; |
| 414 |
| 415 c->scalarproduct_int16 = ff_scalarproduct_int16_neon; |
| 416 c->scalarproduct_and_madd_int16 = ff_scalarproduct_and_madd_int16_neon; |
| 409 } | 417 } |
| OLD | NEW |