| 133 | } |
| 134 | |
| 135 | av_cold AVFloatDSPContext *avpriv_float_dsp_alloc(int bit_exact) |
| 136 | { |
| 137 | AVFloatDSPContext *fdsp = av_mallocz(sizeof(AVFloatDSPContext)); |
| 138 | if (!fdsp) |
| 139 | return NULL; |
| 140 | |
| 141 | fdsp->vector_fmul = vector_fmul_c; |
| 142 | fdsp->vector_dmul = vector_dmul_c; |
| 143 | fdsp->vector_fmac_scalar = vector_fmac_scalar_c; |
| 144 | fdsp->vector_fmul_scalar = vector_fmul_scalar_c; |
| 145 | fdsp->vector_dmac_scalar = vector_dmac_scalar_c; |
| 146 | fdsp->vector_dmul_scalar = vector_dmul_scalar_c; |
| 147 | fdsp->vector_fmul_window = vector_fmul_window_c; |
| 148 | fdsp->vector_fmul_add = vector_fmul_add_c; |
| 149 | fdsp->vector_fmul_reverse = vector_fmul_reverse_c; |
| 150 | fdsp->butterflies_float = butterflies_float_c; |
| 151 | fdsp->scalarproduct_float = ff_scalarproduct_float_c; |
| 152 | fdsp->scalarproduct_double = ff_scalarproduct_double_c; |
| 153 | |
| 154 | #if ARCH_AARCH64 |
| 155 | ff_float_dsp_init_aarch64(fdsp); |
| 156 | #elif ARCH_ARM |
| 157 | ff_float_dsp_init_arm(fdsp); |
| 158 | #elif ARCH_PPC |
| 159 | ff_float_dsp_init_ppc(fdsp, bit_exact); |
| 160 | #elif ARCH_RISCV |
| 161 | ff_float_dsp_init_riscv(fdsp); |
| 162 | #elif ARCH_X86 && HAVE_X86ASM |
| 163 | ff_float_dsp_init_x86(fdsp); |
| 164 | #elif ARCH_MIPS |
| 165 | ff_float_dsp_init_mips(fdsp); |
| 166 | #endif |
| 167 | return fdsp; |
| 168 | } |
no test coverage detected