James Almer
293484fa5e
avcodec: add missing xmm/neon clobber test wrappers for the new decode API
...
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
9 years ago
Clément Bœsch
dfd0c0f981
lavc/neontest: fix constness in arm/aarch64 avcodec_open2() wrappers
9 years ago
Diego Biurrun
a6a750c7ef
tests: Move all test programs to a subdirectory
9 years ago
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years ago
James Almer
d7815df402
arm/rdft_init: fix license header
...
Signed-off-by: James Almer <jamrial@gmail.com>
9 years ago
Diego Biurrun
01621202aa
build: miscellaneous cosmetics
...
Restore alphabetical order in lists, break overly long lines, do some
prettyprinting, add some explanatory section comments, group parts
together that belong together logically.
9 years ago
Diego Biurrun
1a094af638
fft: Split MDCT bits off from FFT
9 years ago
Diego Biurrun
4c297249ac
rdft: arm: Split RDFT initialization into a separate file
9 years ago
Diego Biurrun
97aec6e75e
fft: arm: Drop unnecessary #include, add missing ones
9 years ago
Diego Biurrun
15a24614ae
build: Add vc1dsp component for more fine-grained dependencies
9 years ago
foo86
ae5b2c5250
avcodec/dca: add new decoder based on libdcadec
9 years ago
foo86
4608996772
avcodec/dca: remove old decoder
...
Remove all files and functions which are not going to be reused,
and disable all functions and FATE tests temporarily which will be.
9 years ago
James Almer
209f50e16b
avcodec/synth_filter: split off remaining code from dcadec files
...
Signed-off-by: James Almer <jamrial@gmail.com>
9 years ago
Alexandra Hájková
2008f76054
dca: remove unused decode_hf function and quant_d tables
...
They were superseded with their integer equivalents. Rename integer
decode_hf to decode_hf.
9 years ago
Janne Grunau
90b1b9350c
arm: add ff_int32_to_float_fmul_array8_neon
...
Quite a bit faster than int32_to_float_fmul_array8_c calling
ff_int32_to_float_fmul_scalar_neon through FmtConvertContext.
Number of cycles per int32_to_float_fmul_array8 call while decoding
padded.dts on exynos5422:
before after change
cortex-a7: 1270 951 -25%
cortex-a15: 434 285 -34%
checkasm --bench cycle counts: cortex-a15 cortex-a7
int32_to_float_fmul_array8_c: 1730.4 4384.5
int32_to_float_fmul_array8_neon_c: 571.5 1694.3
int32_to_float_fmul_array8_neon: 374.0 1448.8
Interesting are the differences between
int32_to_float_fmul_array8_neon_c and int32_to_float_fmul_array8_neon.
The former is current behaviour of calling
ff_int32_to_float_fmul_scalar_neon repeatedly from the c function,
The raw numbers differ since checkasm uses different lengths than the
dca decoder.
9 years ago
Janne Grunau
e2710e790c
arm: add a cpu flag for the VFPv2 vector mode
...
The vector mode was deprecated in ARMv7-A/VFPv3 and various cpu
implementations do not support it in hardware. Vector mode code will
depending the OS either be emulated in software or result in an illegal
instruction on cpus which does not support it. This was not really
problem in practice since NEON implementations of the same functions are
preferred. It will however become a problem for checkasm which tests
every cpu flag separately.
Since this is a cpu feature newer cpu do not support anymore the
behaviour of this flag differs from the other flags. It can be only
activated by runtime cpu feature selection.
9 years ago
Christophe Gisquet
f827a17005
blockdsp: reindent after parameter removal
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Christophe Gisquet
562ba4a827
blockdsp: remove high bitdepth parameter
...
It is only (mis-)used to set the dsp fucntions clear_block(s). But
these functions always work on 16bits-wide elements, which make
the parameter useless and actually harmful, as it causes all content
on more than 8-bits to not use accelerated functions.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Janne Grunau
9ed6f9a17c
arm: use a local label instead of the function symbol in ff_prefetch_arm
...
Avoids a relocation which might end out of range for thumb2.
Reported-By: Ludovic Fauvet <etix@videolan.org>
Bug-Id: https://bugs.webkit.org/show_bug.cgi?id=137022
CC: libav-stable@libav.org
10 years ago
Janne Grunau
256ef19844
h264: arm: use intra pred8x8 functions only for chroma_format_idc <= 1
10 years ago
Vittorio Giovara
f5ee23004d
configure: Factor out g722dsp module
10 years ago
Vittorio Giovara
d42191c78b
configure: Factor out vp8dsp module
10 years ago
Vittorio Giovara
5cb4bdb2a0
configure: Factor out rv34dsp module
10 years ago
Vittorio Giovara
b075869bc1
configure: Factor out flacdsp module
10 years ago
Carl Eugen Hoyos
e609cfd697
lavc/flac: Fix encoding and decoding with high lpc.
...
Based on an analysis by trac user lvqcl.
Fixes ticket #4421 , reported by Chase Walker.
10 years ago
Michael Niedermayer
47aee6f047
avcodec/arm/flacdsp_init_arm: Put CONFIG_FLAC_DECODER first in if()
...
This is more consistent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
James Almer
d5addf1555
hevcdsp: fix compilation for arm and aarch64
...
Also add av_cold to ff_hevcdsp_init_arm.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Anton Khirnov
71f1ad37d8
lavc: do not compile fmtconvert unconditionally
...
Only ac3dec and dcadec use it.
10 years ago
Anton Khirnov
d74a8cb7e4
fmtconvert: drop unused functions
10 years ago
Seppo Tomperi
63ca0fe828
avcodec/hevcdsp: ARM NEON optimized qpel functions
...
uses comma as macro parameter separator
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
390c57781f
avcodec/arm/hevcdsp_idct_neon: drop ".code 32"
...
gas-preprocessor and armasm fail otherwise
Tested-by: Timotius Margo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Seppo Tomperi
e40e446efd
hevcdsp: HEVC deblocking ARM NEON register clobber fix
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Peter Meerwald
702458538d
g722: Add ARM NEON implementation for g722_apply_qmf()
...
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years ago
Michael Niedermayer
cab6302534
avcodec/arm/videodsp_armv5te: Fix linking failure with "g++ -shared -D__STDC_CONSTANT_MACROS -o test.so ... libavcodec.a"
...
Tested-by: Andreas Haupt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Seppo Tomperi
03cecf45c1
hevcdsp: ARM NEON optimized transforms
...
cherry picked from commit b153f55935969c794de4640f8d34e01c58e027ae
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Seppo Tomperi
0c494114cc
hevcdsp: ARM NEON optimized deblocking filter
...
cherry picked from commit 1b9ee47d2f43b0a029a9468233626102eb1473b8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Carl Eugen Hoyos
f9f9ae1b77
lavc/arm: Use the neon vertical chroma loop filter also for H.264 4:2:2.
10 years ago
Janne Grunau
4c81613df4
arm: mlpdsp: handle pic offset calculation in a macro
...
Makes the code easier to read since it hides different offset
calculations for arm and thumb mode.
10 years ago
Janne Grunau
581c7f0e12
arm: make ff_mlp_filter_channel_arm and ff_mlp_rematrix_channel_arm position independent
...
No significant difference in used cpu cycles on a cortex-a9.
10 years ago
Martin Storsjö
f963f80399
arm: Use .data.rel.ro for const data with relocations
...
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years ago
Martin Storsjö
b280c6202b
arm: fft_vfp: Unify the behaviour in ff_fft_calc_vfp between arm/thumb
...
Don't include the function pointer table in the code segment
in arm mode.
This shouldn't have any significant performance effect. It does
end up as a few more instructions than before, for ARM, but
only at the entry to this function, not within the fft functions
themselves.
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years ago
Martin Storsjö
ae81576414
arm: fft_vfp: Add a missing "endconst" when building in thumb mode
...
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years ago
Vittorio Giovara
9c12c6ff95
motion_est: convert stride to ptrdiff_t
...
CC: libav-stable@libav.org
Bug-Id: CID 700556 / CID 700557 / CID 700558
10 years ago
James Almer
3cec54b7d7
x86/flacdsp: add SSE2 and AVX decorrelate functions
...
Two to four times faster depending on instruction set, block size and channel count.
10 years ago
James Almer
c99a882814
avcodec/idctdsp: change {put,add}_pixels_clamped to ptrdiff_t line_size
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
Bernd Kuhls
6b733be755
Fix compile error on arm4/arm5 platform
...
Since these commits
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=adf8227cf4e7b4fccb2ad88e1e09b6dc00dd00ed
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=db7f1c7c5a1d37e7f4da64a79a97bea1c4b6e9f8
compilation on arm4/arm5 fails:
libavcodec/libavcodec.so: undefined reference to
`ff_startcode_find_candidate_armv6'
Because libavcodec/arm/Makefile contains
ARMV6-OBJS-$(CONFIG_STARTCODE) += arm/startcode_armv6.o
function ff_startcode_find_candidate_armv6 is not included for older ARM
archs. The bug was found during automatic buildroot builds:
http://autobuild.buildroot.net/results/ec7/ec71e4f16ee9106747dff5f15999cbd17903e76f//build-end.log
Quote from configure summary:
ARCH arm (armv4t)
big-endian no
runtime cpu detection yes
ARMv5TE enabled no
ARMv6 enabled no
ARMv6T2 enabled no
http://autobuild.buildroot.net/results/be7/be72eb182eaccf0064a32c9dfc2ac1c0d6555506/build-end.log
ARCH arm (armv5te)
big-endian no
runtime cpu detection yes
ARMv5TE enabled yes
ARMv6 enabled no
ARMv6T2 enabled no
This patch provides the necessary #if clauses as discussed with Michael:
https://ffmpeg.org/pipermail/ffmpeg-devel/2014-September/163329.html
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Diego Biurrun
95c0cec03a
idctdsp: Add global function pointers for {add|put}_pixels_clamped functions
...
These function pointers already existed in the ARM code. Adding them globally
allows calls to the function pointers to access arch-optimized versions of the
functions transparently.
10 years ago
Diego Biurrun
efd26bedec
build: Add explanatory comments to (optimization) blocks in the Makefiles
11 years ago
Diego Biurrun
835f798c7d
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
11 years ago
James Almer
a8592db9bb
avcodec/idctdsp: make add/put_pixels_clamped_c internal functions
...
This reduces code duplication and differences with the fork.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago