summaryrefslogtreecommitdiffstats
path: root/libavutil/arm
Commit message (Collapse)AuthorAgeFilesLines
* arm: only enable setend on ARMv6Andreas Cadhalpun2015-08-201-1/+1
| | | | | | | | | | 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]>
* Merge commit '450b02307cb631f501793b52b98b610c3a54378b' into release/2.4Michael Niedermayer2015-03-091-0/+6
|\ | | | | | | | | | | | | * commit '450b02307cb631f501793b52b98b610c3a54378b': arm: Suppress tags about used cpu arch and extensions Merged-by: Michael Niedermayer <[email protected]>
| * arm: Suppress tags about used cpu arch and extensionsMartin Storsjö2015-03-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | avutil: turn arm setend into a cpuflagMichael Niedermayer2014-08-132-7/+9
| | | | | | | | | | | | | | | | | | | | | | 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]>
* | Merge commit '6869612f5c7d4d2f20f69a5658328a761deadb1c'Michael Niedermayer2014-07-221-0/+6
|\| | | | | | | | | | | | | | | | | | | * commit '6869612f5c7d4d2f20f69a5658328a761deadb1c': arm: Macroize the test for 'setend' CPU instruction support Conflicts: libavcodec/arm/h264dsp_init_arm.c Merged-by: Michael Niedermayer <[email protected]>
| * arm: Macroize the test for 'setend' CPU instruction supportBen Avison2014-07-211-0/+6
| | | | | | | | Signed-off-by: Diego Biurrun <[email protected]>
| * armv6: Accelerate butterflies_floatBen Avison2014-07-182-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * armv6: Accelerate vector_fmul_windowBen Avison2014-07-182-1/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | armv6: Accelerate butterflies_floatBen Avison2014-07-162-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | armv6: Accelerate vector_fmul_windowBen Avison2014-07-162-1/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | Merge commit '7b0c7c9163fe3dd0081696befde28617119d2590'Michael Niedermayer2014-06-281-1/+3
|\| | | | | | | | | | | | | * commit '7b0c7c9163fe3dd0081696befde28617119d2590': arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernel Merged-by: Michael Niedermayer <[email protected]>
| * arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernelMartin Storsjö2014-06-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | Merge commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412'Michael Niedermayer2014-06-041-3/+9
|\| | | | | | | | | | | | | * commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412': build: check if AS supports the '.func' directive Merged-by: Michael Niedermayer <[email protected]>
| * build: check if AS supports the '.func' directiveJanne Grunau2014-06-031-3/+9
| | | | | | | | | | Not supported by Clang's integrated assembler. Since it just adds debug information it can safely omitted.
* | Merge commit '831a1180785a786272cdcefb71566a770bfb879e'Michael Niedermayer2014-03-131-2/+0
|\| | | | | | | | | | | | | | | | | | | | | * 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]>
| * Update dsputil- and SIMD-related comments to match reality more closelyDiego Biurrun2014-03-131-2/+0
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-03-051-0/+7
|\| | | | | | | | | | | | | * qatar/master: arm: hpeldsp: prevent overreads in armv6 asm Merged-by: Michael Niedermayer <[email protected]>
| * arm: hpeldsp: prevent overreads in armv6 asmJanne Grunau2014-03-051-0/+7
| | | | | | | | | | | | | | Based on a patch by Russel King <[email protected]> Bug-Id: 646 CC: [email protected]
* | Merge commit '543156d7518f5e5d731123da066d86278f9fa492'Michael Niedermayer2014-02-191-0/+1
|\| | | | | | | | | | | | | * commit '543156d7518f5e5d731123da066d86278f9fa492': arm: Mark the stack as non-executable Merged-by: Michael Niedermayer <[email protected]>
| * arm: Mark the stack as non-executableMartin Storsjö2014-02-191-0/+1
| | | | | | | | | | | | | | 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]>
* | Merge commit 'e3fec3f095ab5ea08ee662942d98526aaf5e3635'Michael Niedermayer2014-02-081-1/+4
|\| | | | | | | | | | | | | * commit 'e3fec3f095ab5ea08ee662942d98526aaf5e3635': arm: Add EXTERN_ASM to the .func and .type declarations for exported symbols Merged-by: Michael Niedermayer <[email protected]>
| * arm: Add EXTERN_ASM to the .func and .type declarations for exported symbolsMartin Storsjö2014-02-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-01-111-0/+62
|\| | | | | | | | | | | | | | | | | | | * qatar/master: arm: Add an option for making sure NEON registers aren't clobbered Conflicts: configure Merged-by: Michael Niedermayer <[email protected]>
| * arm: Add an option for making sure NEON registers aren't clobberedMartin Storsjö2014-01-111-0/+62
| | | | | | | | | | | | This is pretty much based on the same test for XMM registers. Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit '5dae4872357613a0b51120b54a4c5221e0ec3f69'Michael Niedermayer2014-01-081-2/+2
|\| | | | | | | | | | | | | * commit '5dae4872357613a0b51120b54a4c5221e0ec3f69': arm: Allow overriding the alignment set in the function macro Merged-by: Michael Niedermayer <[email protected]>
| * arm: Allow overriding the alignment set in the function macroMartin Storsjö2014-01-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | Reinstate proper FFmpeg license for all files.Thilo Borgmann2013-08-304-16/+16
| |
* | Merge commit '7ffda66fd5c81af4725bff7c2c4f207ba2aa0613'Michael Niedermayer2013-08-293-5/+3
|\| | | | | | | | | | | | | * commit '7ffda66fd5c81af4725bff7c2c4f207ba2aa0613': arm: float_dsp: Propagate cpu_flags to vfp initialization function Merged-by: Michael Niedermayer <[email protected]>
| * arm: float_dsp: Propagate cpu_flags to vfp initialization functionDiego Biurrun2013-08-293-5/+3
| |
* | Merge commit '8410d6e93c2e074881f1c7b7e4cdefd2e497d52e'Michael Niedermayer2013-08-291-6/+7
|\| | | | | | | | | | | | | * commit '8410d6e93c2e074881f1c7b7e4cdefd2e497d52e': avutil: Refactor CPU extension availability macros Merged-by: Michael Niedermayer <[email protected]>
| * avutil: Refactor CPU extension availability macrosDiego Biurrun2013-08-281-6/+7
| |
* | Merge commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b'Michael Niedermayer2013-08-291-0/+1
|\| | | | | | | | | | | | | * commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b': avutil: Move internal CPU detection function declarations to private header Merged-by: Michael Niedermayer <[email protected]>
| * avutil: Move internal CPU detection function declarations to private headerDiego Biurrun2013-08-281-0/+1
| |
* | Merge commit '439902e0d68a0f0d800c21b5e6b598d5fa0c51da'Michael Niedermayer2013-07-191-1/+1
|\| | | | | | | | | | | | | | | | | | | * commit '439902e0d68a0f0d800c21b5e6b598d5fa0c51da': Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/ Conflicts: compat/aix/math.h Merged-by: Michael Niedermayer <[email protected]>
| * Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/Diego Biurrun2013-07-181-1/+1
| | | | | | | | Also fix a comment and an #endif comment.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-05-271-1/+1
|\| | | | | | | | | | | | | | | * 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]>
| * arm: Only output eabi attributes if building for ELFMartin Storsjö2013-05-271-1/+1
| | | | | | | | | | | | | | | | 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]>
* | Merge commit '1fda184a85178cfd7b98d9e308d18e1ded76a511'Michael Niedermayer2013-05-053-3/+6
|\| | | | | | | | | | | | | * commit '1fda184a85178cfd7b98d9e308d18e1ded76a511': avutil: Add av_cold attributes to init functions missing them Merged-by: Michael Niedermayer <[email protected]>
| * avutil: Add av_cold attributes to init functions missing themDiego Biurrun2013-05-043-3/+6
| |
* | Merge commit '375ef6528c9dd2db7f9881e232cb0ec3aa16970d'Michael Niedermayer2013-02-121-1/+34
|\| | | | | | | | | | | | | | | * 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]>
| * arm: Fall back to runtime cpu feature detection via /proc/cpuinfoMartin Storsjö2013-02-111-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | Merge commit '73b704ac609d83e0be124589f24efd9b94947cf9'Michael Niedermayer2013-01-232-0/+16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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]>
| * floatdsp: move scalarproduct_float from dsputil to avfloatdsp.Ronald S. Bultje2013-01-222-0/+16
| | | | | | | | This makes the aac decoder and all voice codecs independent of dsputil.
* | Merge commit '5959bfaca396ecaf63a8123055f499688b79cae3'Michael Niedermayer2013-01-232-0/+15
|\| | | | | | | | | | | | | | | | | | | | | | | | | * 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]>
| * floatdsp: move butterflies_float from dsputil to avfloatdsp.Ronald S. Bultje2013-01-222-0/+15
| | | | | | | | | | This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3) independent of dsputil.
* | Merge commit '42d324694883cdf1fff1612ac70fa403692a1ad4'Michael Niedermayer2013-01-234-0/+101
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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]>
| * floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.Ronald S. Bultje2013-01-224-0/+101
| | | | | | | | | | | | 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.
* | Merge commit '55aa03b9f8f11ebb7535424cc0e5635558590f49'Michael Niedermayer2013-01-232-0/+31
|\| | | | | | | | | | | | | | | | | | | | | * 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]>
| * floatdsp: move vector_fmul_add from dsputil to avfloatdsp.Ronald S. Bultje2013-01-222-0/+31
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-01-162-0/+51
|\| | | | | | | | | | | | | | | | | | | | | * 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]>