1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-06-20 06:16:02 +02:00
Files
compat
doc
libavcodec
libavdevice
libavfilter
libavformat
libavresample
libavutil
aarch64
arm
Makefile
asm.S
bswap.h
cpu.c
cpu.h
float_dsp_arm.h
float_dsp_init_arm.c
float_dsp_init_neon.c
float_dsp_init_vfp.c
float_dsp_neon.S
float_dsp_vfp.S
intmath.h
intreadwrite.h
neontest.h
timer.h
avr32
bfin
mips
ppc
sh4
tomi
x86
Makefile
adler32.c
adler32.h
aes.c
aes.h
atomic.c
atomic.h
atomic_gcc.h
atomic_suncc.h
atomic_win32.h
attributes.h
audio_fifo.c
audio_fifo.h
audioconvert.h
avassert.h
avstring.c
avstring.h
avutil.h
avutilres.rc
base64.c
base64.h
blowfish.c
blowfish.h
bprint.c
bprint.h
bswap.h
buffer.c
buffer.h
buffer_internal.h
camellia.c
camellia.h
cast5.c
cast5.h
channel_layout.c
channel_layout.h
color_utils.c
color_utils.h
colorspace.h
common.h
cpu.c
cpu.h
cpu_internal.h
crc.c
crc.h
des.c
des.h
dict.c
dict.h
display.c
display.h
downmix_info.c
downmix_info.h
dynarray.h
error.c
error.h
eval.c
eval.h
fifo.c
fifo.h
file.c
file.h
file_open.c
fixed_dsp.c
fixed_dsp.h
float_dsp.c
float_dsp.h
frame.c
frame.h
hash.c
hash.h
hmac.c
hmac.h
imgutils.c
imgutils.h
integer.c
integer.h
internal.h
intfloat.h
intmath.c
intmath.h
intreadwrite.h
lfg.c
lfg.h
libavutil.v
libm.h
lls.c
lls.h
log.c
log.h
log2_tab.c
lzo.c
lzo.h
macros.h
mathematics.c
mathematics.h
md5.c
md5.h
mem.c
mem.h
motion_vector.h
murmur3.c
murmur3.h
old_pix_fmts.h
opencl.c
opencl.h
opencl_internal.c
opencl_internal.h
opt.c
opt.h
parseutils.c
parseutils.h
pca.c
pca.h
pixdesc.c
pixdesc.h
pixelutils.c
pixelutils.h
pixfmt.h
qsort.h
random_seed.c
random_seed.h
rational.c
rational.h
rc4.c
rc4.h
replaygain.h
ripemd.c
ripemd.h
samplefmt.c
samplefmt.h
sha.c
sha.h
sha512.c
sha512.h
softfloat.c
softfloat.h
softfloat_tables.h
stereo3d.c
stereo3d.h
thread.h
threadmessage.c
threadmessage.h
time.c
time.h
time_internal.h
timecode.c
timecode.h
timer.h
timestamp.h
tree.c
tree.h
twofish.c
twofish.h
utf8.c
utils.c
version.h
wchar_filename.h
x86_cpu.h
xga_font_data.c
xga_font_data.h
xtea.c
xtea.h
libpostproc
libswresample
libswscale
presets
tests
tools
.gitattributes
.gitignore
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog
INSTALL.md
LICENSE.md
MAINTAINERS
Makefile
README.md
RELEASE
arch.mak
cmdutils.c
cmdutils.h
cmdutils_common_opts.h
cmdutils_opencl.c
common.mak
configure
ffmpeg.c
ffmpeg.h
ffmpeg_dxva2.c
ffmpeg_filter.c
ffmpeg_opt.c
ffmpeg_vda.c
ffmpeg_vdpau.c
ffplay.c
ffprobe.c
ffserver.c
ffserver_config.c
ffserver_config.h
library.mak
version.sh
FFmpeg/libavutil/arm/float_dsp_init_neon.c

60 lines
2.3 KiB
C
Raw Normal View History

/*
* ARM NEON optimised Float DSP functions
* Copyright (c) 2008 Mans Rullgard <mans@mansr.com>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdint.h>
#include "libavutil/attributes.h"
#include "libavutil/float_dsp.h"
#include "float_dsp_arm.h"
void ff_vector_fmul_neon(float *dst, const float *src0, const float *src1, int len);
void ff_vector_fmac_scalar_neon(float *dst, const float *src, float mul,
int len);
void ff_vector_fmul_scalar_neon(float *dst, const float *src, float mul,
int len);
void ff_vector_fmul_window_neon(float *dst, const float *src0,
const float *src1, const float *win, int len);
void ff_vector_fmul_add_neon(float *dst, const float *src0, const float *src1,
const float *src2, int len);
void ff_vector_fmul_reverse_neon(float *dst, const float *src0,
const float *src1, int len);
void ff_butterflies_float_neon(float *v1, float *v2, int len);
float ff_scalarproduct_float_neon(const float *v1, const float *v2, int len);
av_cold void ff_float_dsp_init_neon(AVFloatDSPContext *fdsp)
{
fdsp->vector_fmul = ff_vector_fmul_neon;
fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_neon;
fdsp->vector_fmul_scalar = ff_vector_fmul_scalar_neon;
fdsp->vector_fmul_window = ff_vector_fmul_window_neon;
fdsp->vector_fmul_add = ff_vector_fmul_add_neon;
fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_neon;
fdsp->butterflies_float = ff_butterflies_float_neon;
fdsp->scalarproduct_float = ff_scalarproduct_float_neon;
}