summaryrefslogtreecommitdiff
path: root/libavcodec/arm
Commit message (Collapse)AuthorAge
* arm: Use full filenames as multiple inclusion guardsDiego Biurrun2014-01-14
|
* arm: Add an option for making sure NEON registers aren't clobberedMartin Storsjö2014-01-11
| | | | | | This is pretty much based on the same test for XMM registers. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add a missing # as prefix for an immediate constantMartin Storsjö2014-01-07
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Allow overriding the alignment set in the function macroMartin Storsjö2014-01-07
| | | | | | | | | | | | | | | 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ö <martin@martin.st>
* arm: Remove a leftover define for the pld instructionMartin Storsjö2014-01-07
| | | | | | | This file no longer uses the pld instruction at all, all such uses have been split into hpeldsp_arm.S. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: cosmetics: Reindent the h264dsp neon init functionMartin Storsjö2014-01-07
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Rename CONFIG_FFT_FLOAT ---> FFT_FLOATDiego Biurrun2014-01-06
| | | | | The define does not originate from configure, so it should not have a name that is CONFIG_-prefixed.
* h264: do not use 422 functions for monochromeAnton Khirnov2014-01-06
| | | | | | | Fixes invalid memory access. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* arm: Use the matching endfunc macro instead of the assembler directive directlyMartin Storsjö2014-01-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add a missing endfunc macro callMartin Storsjö2014-01-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Don't clobber callee saved registers in scalarproductMartin Storsjö2013-12-20
| | | | | | | q4-q7/d8-d15 are supposed to not be clobbered by the callee. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: arm: Add NEON no_rnd chroma MCMason Carter2013-12-20
| | | | | | | | Apply David Conrad's old patch to the modern codebase. http://ffmpeg.org/pipermail/ffmpeg-devel/2009-April/059877.html Signed-off-by: Martin Storsjö <martin@martin.st>
* vc1: arm: Add NEON assemblyMason Carter2013-12-20
| | | | | | | | | | | | | For: ff_vc1_inv_trans_{8,4}x{8,4}_{dc_,}neon ff_put_pixels8x8_neon ff_put_vc1_mspel_mc{0,1,2,3}{0,1,2,3}_neon (except for 00) Based on ARM assembly code in libavcodec/arm by Rob Clark and Mans Rullgard. Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: Move apply_window_int16 to ac3dspDiego Biurrun2013-12-08
| | | | The (optimized) functions are used nowhere else.
* arm: fmtconvert: Split armv6 fmtconvert code off from vfp codeDiego Biurrun2013-08-29
|
* arm: dcadsp: Move synth filter initialization to dcadsp fileDiego Biurrun2013-08-29
|
* arm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoderDiego Biurrun2013-08-23
| | | | | The functions are used by all codecs that enable the h264chroma component and the file is already compiled conditional on h264chroma being enabled.
* vp56: Mark VP6-only optimizations as such.Diego Biurrun2013-08-23
| | | | | Most of our VP56 optimizations are VP6-only and will stay that way. So avoid compiling them for VP5-only builds.
* arm: Add assembly version of h264_find_start_code_candidateBen Avison2013-08-08
| | | | | | | | | | | | | | Before After Mean StdDev Mean StdDev Change This function 508.8 23.4 185.4 9.0 +174.4% Overall 3068.5 31.7 2752.1 29.4 +11.5% In combination with the preceding patch: Before After Mean StdDev Mean StdDev Change Overall 2925.6 26.2 2752.1 29.4 +6.3% Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Comment out unused labels in simple_idct_armMartin Storsjö2013-07-24
| | | | | | | | | | | | | | | | | When building for iOS in thumb mode, gas-preprocessor.pl doesn't mark unused labels as thumb functions (as it does for other local labels, where it can figure out that they are functions due to being referenced in branch instructions). This leads to linker warnings for some of those local labels, such as: ld: warning: ARM function not 4-byte aligned: __a_evaluation from libavcodec/libavcodec.a(simple_idct_arm.o) Therefore, comment them out since they don't have any function. They do still have a value in documenting key points in the assembly source though. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Mangle external symbols properly in new vfp assembly filesMartin Storsjö2013-07-22
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add VFP-accelerated version of qmf_32_subbandsBen Avison2013-07-22
| | | | | | | | | Before After Mean StdDev Mean StdDev Change This function 1323.0 98.0 746.2 60.6 +77.3% Overall 15400.0 336.4 14147.5 288.4 +8.9% Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add VFP-accelerated version of fft16Martin Storsjö2013-07-22
| | | | | | | | | Before After Mean StdDev Mean StdDev Change This function 1389.3 4.2 967.8 35.1 +43.6% Overall 15577.5 83.2 15400.0 336.4 +1.2% Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add VFP-accelerated version of dca_lfe_firMartin Storsjö2013-07-22
| | | | | | | | | Before After Mean StdDev Mean StdDev Change This function 868.2 33.5 436.0 27.0 +99.1% Overall 15973.0 223.2 15577.5 83.2 +2.5% Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add VFP-accelerated version of imdct_halfMartin Storsjö2013-07-22
| | | | | | | | | Before After Mean StdDev Mean StdDev Change This function 2653.0 28.5 1108.8 51.4 +139.3% Overall 17049.5 408.2 15973.0 223.2 +6.7% Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add VFP-accelerated version of int32_to_float_fmul_array8Ben Avison2013-07-22
| | | | | | | | | Before After Mean StdDev Mean StdDev Change This function 366.2 18.3 277.8 13.7 +31.9% Overall 18420.5 489.1 17049.5 408.2 +8.0% Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add VFP-accelerated version of int32_to_float_fmul_scalarBen Avison2013-07-22
| | | | | | | | | Before After Mean StdDev Mean StdDev Change This function 1175.0 4.4 366.2 18.3 +220.8% Overall 19285.5 292.0 18420.5 489.1 +4.7% Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add VFP-accelerated version of synth_filter_floatBen Avison2013-07-22
| | | | | | | | | Before After Mean StdDev Mean StdDev Change This function 9295.0 114.9 4853.2 83.5 +91.5% Overall 23699.8 397.6 19285.5 292.0 +22.9% Signed-off-by: Martin Storsjö <martin@martin.st>
* fmtconvert: Explicitly use int32_t instead of intChristophe Gisquet2013-07-17
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Include hpeldsp_neon.o if h264qpel is enabledMartin Storsjö2013-05-30
| | | | | | | | | A few of the h264qpel neon functions are shared with other hpeldsp functions in this file. This fixes standalone compilation of the h264 decoder on arm. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Don't unconditionally build dsputil filesMartin Storsjö2013-05-30
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Only build the FFT init files if FFT is enabledMartin Storsjö2013-05-30
| | | | | | This fixes build errors in cases where FFT is disabled. Signed-off-by: Martin Storsjö <martin@martin.st>
* build: cosmetics: Place unconditional before conditional OBJS linesDiego Biurrun2013-05-30
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* build: arm: cosmetics: Place all OBJS declarations in alphabetical orderDiego Biurrun2013-05-30
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Drop unnecessary ff_ name prefixes from static functionsDiego Biurrun2013-04-30
|
* arm: hpeldsp: Move half-pel assembly from dsputil to hpeldspRonald S. Bultje2013-04-19
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vp3: Use full transpose for all IDCTsRonald S. Bultje2013-04-15
| | | | | | | | | | | This way, the special IDCT permutations are no longer needed. This is similar to how H264 does it, and removes the dsputil dependency imposed by the scantable code. Also remove the unused type == 0 cases from the plain C version of the idct. Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: Integrate clear_blocks calls with IDCTRonald S. Bultje2013-04-10
| | | | | | | | | The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700 to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb (in the decode_slice loop) goes from 1759 to 1733 cycles on the clip tested (cathedral), i.e. almost 30 cycles per mb faster. Signed-off-by: Martin Storsjö <martin@martin.st>
* dsputil: convert remaining functions to use ptrdiff_t stridesLuca Barbato2013-03-12
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-26
|
* Fix a number of incorrect intmath.h #includes.Diego Biurrun2013-02-26
|
* arm: vp8: Add missing #includes for header to compile standaloneDiego Biurrun2013-02-20
|
* rv34: Drop now unnecessary dsputil dependenciesDiego Biurrun2013-02-06
|
* dsputil: Separate h264chromaDiego Biurrun2013-02-06
|
* Add av_cold attributes to arch-specific init functionsDiego Biurrun2013-02-05
|
* Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.Diego Biurrun2013-02-05
| | | | | This avoids SIMD-optimized functions having to sign-extend their line size argument manually to be able to do pointer arithmetic.
* Use proper "" quotes for local header #includesDiego Biurrun2013-02-01
|
* arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_whtMartin Storsjö2013-01-27
| | | | | | | | | This makes the plain-armv6 version use the same registers as the armv6t2 version above. This fixes fate-vp8 on plain-armv6 devices. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Add mathops.h to ARCH_HEADERS listDiego Biurrun2013-01-24
| | | | It is an arch-specific header not suitable for standalone compilation.
* arm: h264qpel: use neon h264 qpel functions only if supportedJanne Grunau2013-01-24
|