| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Without this check it causes SIGILL crashes on ARMv5.
Reviewed-by: Michael Niedermayer <[email protected]>
Signed-off-by: Andreas Cadhalpun <[email protected]>
(cherry picked from commit 5bf84a584e9ce681b439a5747671e2809a019c83)
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\
| |
| |
| |
| |
| |
| | |
* commit '450b02307cb631f501793b52b98b610c3a54378b':
arm: Suppress tags about used cpu arch and extensions
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When all the codepaths using manually set .arch/.fpu code is
behind runtime detection, the elf attributes should be suppressed.
This allows tools to know that the final built binary doesn't
strictly require these extensions.
Signed-off-by: Martin Storsjö <[email protected]>
(cherry picked from commit dcae2e32f7d8a1ca5fb8c1e4aa81313be854dd73
and b77e335e441040a40fc6156b8e4a134745d10233)
Signed-off-by: Martin Storsjö <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
this allows disabling and enabling it
it also prevents crashes if vfpv3 and neon are disabled which previously
would have enabled the flag
And last but not least one can enable setend on cpus like cortex-a8 where
its fast but disabled by default
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '6869612f5c7d4d2f20f69a5658328a761deadb1c':
arm: Macroize the test for 'setend' CPU instruction support
Conflicts:
libavcodec/arm/h264dsp_init_arm.c
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Diego Biurrun <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in butterflies_float_c() / ff_butterflies_float_vfp() for the
same sample AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
Audio decode 1542.8 43.7 1470.5 41.5 100.0% +4.9%
butterflies_float 130.0 11.9 70.2 12.1 100.0% +85.2%
Signed-off-by: Martin Storsjö <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in vector_fmul_window_c() / ff_vector_fmul_window_vfp() for the
same sample AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
Audio decode 1598.2 47.4 1529.2 25.4 100.0% +4.5%
vector_fmul_window 244.0 22.1 188.9 22.3 100.0% +29.2%
Signed-off-by: Martin Storsjö <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in butterflies_float_c() / ff_butterflies_float_vfp() for the
same sample AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
Audio decode 1542.8 43.7 1470.5 41.5 100.0% +4.9%
butterflies_float 130.0 11.9 70.2 12.1 100.0% +85.2%
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in vector_fmul_window_c() / ff_vector_fmul_window_vfp() for the
same sample AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
Audio decode 1598.2 47.4 1529.2 25.4 100.0% +4.5%
vector_fmul_window 244.0 22.1 188.9 22.3 100.0% +29.2%
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '7b0c7c9163fe3dd0081696befde28617119d2590':
arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernel
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When running on a 64 bit kernel, /proc/cpuinfo lists different
optional features than on 32 bit kernels (because some of them
are mandatory in the 64 bit implemenations).
The kernel does list the old features properly if they are queried
via /proc/self/auxv though - however this file is not always readable
(e.g. on most android systems). The getauxval function could also
provide the same info as /proc/self/auxv even if this file isn't
readable, but this function is not always available (and thus would
need to be loaded with dlsym for compatibility with older android
versions).
The android cpufeatures library does this slightly differently,
by assuming that these are available if the "CPU architecture"
line is >= 8, see [1] for details.
It has been suggested to include the old, non-optional features in
/proc/cpuinfo as well, but that suggested patch never was merged.
See [2] for the discussion around this suggestion.
[1] https://android-review.googlesource.com/91380
[2] http://marc.info/?l=linux-arm-kernel&m=139087240101974
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412':
build: check if AS supports the '.func' directive
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| | |
Not supported by Clang's integrated assembler. Since it just adds
debug information it can safely omitted.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '831a1180785a786272cdcefb71566a770bfb879e':
Update dsputil- and SIMD-related comments to match reality more closely
Conflicts:
libavcodec/x86/hpeldsp.asm
libavutil/arm/float_dsp_init_arm.c
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* qatar/master:
arm: hpeldsp: prevent overreads in armv6 asm
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
Based on a patch by Russel King <[email protected]>
Bug-Id: 646
CC: [email protected]
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '543156d7518f5e5d731123da066d86278f9fa492':
arm: Mark the stack as non-executable
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
If linking in an object file without this attribute set, the
linker will assume that an executable stack might be needed.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'e3fec3f095ab5ea08ee662942d98526aaf5e3635':
arm: Add EXTERN_ASM to the .func and .type declarations for exported symbols
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes the generated assembly more internally consistent,
avoiding declaring two labels for the same function (for cases
where EXTERN_ASM is empty) and not declaring a separate unprefixed
label in other cases.
This also makes sure the .func and .type delcarations have the same
prefix. They have previously not been used on the platforms
that have prefixed symbols on arm (iOS), but gas-preprocessor
has recently started using the .func declarations for adding
.thumb_func declarations for such functions.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qatar/master:
arm: Add an option for making sure NEON registers aren't clobbered
Conflicts:
configure
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| | |
This is pretty much based on the same test for XMM registers.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '5dae4872357613a0b51120b54a4c5221e0ec3f69':
arm: Allow overriding the alignment set in the function macro
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The function macro always sets .align 2 before declaring the
function label (since 5c5e1ea3) and always sets the section to
.text (since 278caa6a).
The .align 5 before certain functions, added in fc252eba, were added
before .text and .align were added to the function macro and thus
became useless/unused when the function macro got them.
This restores the original intention, to align the loop entry
points.
Signed-off-by: Martin Storsjö <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '7ffda66fd5c81af4725bff7c2c4f207ba2aa0613':
arm: float_dsp: Propagate cpu_flags to vfp initialization function
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '8410d6e93c2e074881f1c7b7e4cdefd2e497d52e':
avutil: Refactor CPU extension availability macros
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b':
avutil: Move internal CPU detection function declarations to private header
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '439902e0d68a0f0d800c21b5e6b598d5fa0c51da':
Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/
Conflicts:
compat/aix/math.h
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Also fix a comment and an #endif comment.
|
|\|
| |
| |
| |
| |
| |
| |
| | |
* qatar/master:
arm: Only output eabi attributes if building for ELF
fix scalarproduct_and_madd_int16_altivec() for orders > 16
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This matches the other eabi attribute in the same file. This is
required in order to build for arm/hardfloat with other object
file formats than ELF.
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '1fda184a85178cfd7b98d9e308d18e1ded76a511':
avutil: Add av_cold attributes to init functions missing them
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| | |
* commit '375ef6528c9dd2db7f9881e232cb0ec3aa16970d':
libfdk-aacenc: Actually check for upper bounds of cutoff
arm: Fall back to runtime cpu feature detection via /proc/cpuinfo
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On recent android versions, /proc/self/auxw is unreadable
(unless the process is running running under the shell uid or
in debuggable mode, which makes it hard to notice). See
http://b.android.com/43055 and
https://android-review.googlesource.com/51271 for more information
about the issue.
This makes sure e.g. neon optimizations are enabled at runtime in
android apps even when built in release mode, if configured to
use the runtime detection.
CC: [email protected]
Signed-off-by: Martin Storsjö <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '73b704ac609d83e0be124589f24efd9b94947cf9':
arm: Add some missing header #includes
floatdsp: move scalarproduct_float from dsputil to avfloatdsp.
Conflicts:
libavcodec/acelp_pitch_delay.c
libavcodec/amrnbdec.c
libavcodec/amrwbdec.c
libavcodec/ra288.c
libavcodec/x86/dsputil_mmx.c
libavutil/x86/float_dsp.asm
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
This makes the aac decoder and all voice codecs independent of dsputil.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '5959bfaca396ecaf63a8123055f499688b79cae3':
floatdsp: move butterflies_float from dsputil to avfloatdsp.
Conflicts:
libavcodec/dsputil.c
libavcodec/dsputil.h
libavcodec/imc.c
libavcodec/mpegaudiodec.c
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| | |
This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3)
independent of dsputil.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '42d324694883cdf1fff1612ac70fa403692a1ad4':
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
Conflicts:
libavcodec/arm/dsputil_init_vfp.c
libavcodec/arm/dsputil_vfp.S
libavcodec/dsputil.c
libavcodec/ppc/float_altivec.c
libavcodec/x86/dsputil.asm
libavutil/x86/float_dsp.asm
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| | |
Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '55aa03b9f8f11ebb7535424cc0e5635558590f49':
floatdsp: move vector_fmul_add from dsputil to avfloatdsp.
Conflicts:
libavcodec/dsputil.c
libavcodec/x86/dsputil.asm
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qatar/master:
lavc: Move vector_fmul_window to AVFloatDSPContext
rtpdec_mpeg4: Check the remaining amount of data before reading
Conflicts:
libavcodec/dsputil.c
Merged-by: Michael Niedermayer <[email protected]>
|