Commit Graph

375 Commits

Author SHA1 Message Date
Mans Rullgard 5da7494dc5 ARM optimised vp56_rac_get_prob()
Approximately 3% faster on Cortex-A8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 7da48fd011)
2011-02-13 00:52:51 +01:00
Mans Rullgard a7878c9f73 VP8: ARM optimised decode_block_coeffs_internal
Approximately 5% faster on Cortex-A8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-11 15:48:11 +00:00
Mans Rullgard 7da48fd011 ARM optimised vp56_rac_get_prob()
Approximately 3% faster on Cortex-A8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-11 15:48:10 +00:00
Mans Rullgard ef15d71c1f VP8: ARM NEON optimisations for dsp functions
This adds NEON optimised versions of all functions in VP8DSPContext.
Based on initial work by Rob Clark.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit a1c1d3c003)
2011-02-09 03:31:21 +01:00
Mans Rullgard a1c1d3c003 VP8: ARM NEON optimisations for dsp functions
This adds NEON optimised versions of all functions in VP8DSPContext.
Based on initial work by Rob Clark.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-07 16:08:23 +00:00
Mans Rullgard 01b75fa931 ARM: add helper macro for declaring constant data
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit b9a639ddd6)
2011-02-04 03:08:09 +01:00
Justin Ruggles fe2ff6d247 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit c73d99e672)
2011-02-04 03:08:09 +01:00
Mans Rullgard b9a639ddd6 ARM: add helper macro for declaring constant data
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 11:35:51 +00:00
Justin Ruggles c73d99e672 Separate format conversion DSP functions from DSPContext.
This will be beneficial for use with the audio conversion API without
requiring it to depend on all of dsputil.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 02:44:53 +00:00
Justin Ruggles a8ae4e0e7b Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 80ba1ddb58)
2011-02-02 03:40:48 +01:00
Justin Ruggles 80ba1ddb58 Remove unneeded add bias from 3 functions.
DSPContext.vector_fmul_window()
DCADSPContext.lfe_fir()
SynthFilterContext.synth_filter_float()

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 20:28:42 +00:00
Mans Rullgard 451b4b8635 Rearrange MpegEncContext to simplify access from asm
This moves the fields needed by asm near the top, before any
structs or other members which complicate the offset calculation.
Modifying other structs will no longer require updating the offsets,
and the asm code is slightly simpler due to the smaller offsets.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d461a47317)
2011-01-30 03:41:47 +01:00
Mans Rullgard 8afac88e14 ARM: update MpegEncContext offsets
(cherry picked from commit 0745116c10)
2011-01-30 03:41:01 +01:00
Mans Rullgard d461a47317 Rearrange MpegEncContext to simplify access from asm
This moves the fields needed by asm near the top, before any
structs or other members which complicate the offset calculation.
Modifying other structs will no longer require updating the offsets,
and the asm code is slightly simpler due to the smaller offsets.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-29 17:14:29 +00:00
Mans Rullgard 0745116c10 ARM: update MpegEncContext offsets 2011-01-29 04:39:39 +00:00
Mans Rullgard 0fc1961ecc ARM: NEON: fix overflow in h264 16x16 planar pred
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 78f318be59)
2011-01-26 03:43:28 +01:00
Mans Rullgard 78f318be59 ARM: NEON: fix overflow in h264 16x16 planar pred
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-24 14:59:46 +00:00
Justin Ruggles 015f9f1ad3 Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 6eabb0d3ad)
2011-01-23 19:32:08 +01:00
Justin Ruggles 0d8837bdda Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 56f8952b25)
2011-01-23 19:32:06 +01:00
Justin Ruggles 6eabb0d3ad Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-22 17:53:27 +00:00
Justin Ruggles 56f8952b25 Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-21 19:58:59 +00:00
Janne Grunau 2c3589bfda consolidate .gitignore patters into a single file
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-18 21:32:05 +01:00
Janne Grunau 348b8218f7 convert svn:ignore properties to .gitignore files
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-17 15:50:14 +01:00
Martin Storsjö 31561a98ae Fix arm asm offsets for arm/mach-o
Originally committed as revision 26287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-09 15:23:00 +00:00
Luca Barbato 183cdf7163 Update asm offsets for arm
This unbreak ffmpeg build on arm/elf, arm/mach-o still need an update

Originally committed as revision 26286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-09 14:21:35 +00:00
Måns Rullgård 75c490f467 ARM: disable movw/movt for relocated values on Apple platforms
Apparently Apple platforms do not handle movw/movt relocations
properly, leading to runtime crashes in code using them.

Originally committed as revision 25150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 21:50:46 +00:00
Måns Rullgård 4a6cc8fa25 ARM: fix NEON h264_idct_add8
Originally committed as revision 25121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-14 17:11:51 +00:00
Luca Barbato 6f9932476d Update H263_AIC asm offset for the apple variant
Originally committed as revision 25099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 19:25:42 +00:00
Stefano Sabatini c6c98d0897 Move mm_support() from libavcodec to libavutil, make it a public
function and rename it to av_get_cpu_flags().

Originally committed as revision 25076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 15:07:14 +00:00
Stefano Sabatini 7160bb716b Rename FF_MM_ symbols related to CPU features flags as AV_CPU_FLAG_
symbols, and move them from libavcodec/avcodec.h to libavutil/cpu.h.

Originally committed as revision 25040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-04 09:59:08 +00:00
Måns Rullgård 94f8b2d799 ARM: update struct offsets
Originally committed as revision 24923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 14:45:17 +00:00
Måns Rullgård c0ec9918b0 Remove global mm_flags variable
Originally committed as revision 24909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 17:47:05 +00:00
Jason Garrett-Glaser 4a384de5b8 Split h264dsp and h264pred in configure.
Many H.264 derivatives, like RV40 and VP8, use the H.264 prediction functions
but not the weight/loopfilter functions.
This should reduce the size of builds with one of these derivatives but without
H.264 decoding itself.

Originally committed as revision 24741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 23:10:25 +00:00
Måns Rullgård fa2d5d54b9 ARM: NEON H264 8x8 IDCT
Parts by David Conrad.

Originally committed as revision 24706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-05 19:45:57 +00:00
Måns Rullgård 2eef529195 ARM: update struct offsets
Originally committed as revision 24686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 22:29:38 +00:00
Loren Merritt 1ee076b1b1 more credits to D. J. Bernstein for fft
Originally committed as revision 24308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 20:06:42 +00:00
Måns Rullgård 751484372d ARM: NEON H264 chroma loop filter 3 cycles faster
Originally committed as revision 24249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 21:59:27 +00:00
Måns Rullgård 8c55333c99 ARM: remove two insns from NEON chroma loop filter
Originally committed as revision 24243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 06:45:11 +00:00
Aurelien Jacobs 42d1e7a287 fix VP5/6 neon dependencies
Originally committed as revision 24160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 14:26:37 +00:00
Måns Rullgård 96088566ee ARM: remove unnecessary .previous directive
Originally committed as revision 24096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 20:09:45 +00:00
Måns Rullgård 278caa6ad3 ARM: set section to .text in 'function' macro
This ensures code always goes into the .text section and avoids the
need to specify it explicitly after changing sections.

Originally committed as revision 24095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 20:09:41 +00:00
Måns Rullgård 108ac7f290 ARM: hide a .size directive on non-ELF targets
Originally committed as revision 24094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 20:09:37 +00:00
Måns Rullgård 588d28ac08 Remove vestiges of radix-2 FFT
Patch (mostly) by Loren Merritt

Originally committed as revision 23957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:42 +00:00
Måns Rullgård a4edc5a9df ARM: add mov32 macro
Originally committed as revision 23888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-29 14:48:45 +00:00
Måns Rullgård 480cb7edd3 ARM: (mostly) whitespace cosmetics
Originally committed as revision 23887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-29 14:48:41 +00:00
Eli Friedman b3858964d6 Add const to some pointer parameters.
Patch by Eli Friedman,  eli D friedman A gmail

Originally committed as revision 23826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 15:11:38 +00:00
Måns Rullgård f30d51d74f ARM: fix build with TI compiler
The TI compiler defines __eabi__ to signal that ARM EABI is in use.
We must check for this in addition to the gcc macro __ARM_EABI__.

Originally committed as revision 23804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-26 18:34:56 +00:00
Ronald S. Bultje a815602aa3 Reindent after r23716.
Originally committed as revision 23717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 19:17:41 +00:00
David Conrad 3ad289fca7 Add intra prediction functions for VP8.
Patch by David Conrad <lessen42 gmail com> and myself.

Originally committed as revision 23716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 19:17:09 +00:00
Måns Rullgård c0f8ee0fd7 ARM: struct offsets for Apple ABI
Originally committed as revision 23438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-02 22:41:32 +00:00
Måns Rullgård 30d87675f1 ARM: remove some unnecessary ifdefs, fix implicit declaration warnings
Originally committed as revision 23437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-02 22:07:54 +00:00
Måns Rullgård 68dacb4e3b ARM: check struct offsets only when they are used
The offsets differ depending on configuration, so only check them when
they will actually be used.  Presently, this is when NEON is enabled.

Originally committed as revision 23436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-02 22:05:25 +00:00
Måns Rullgård a76eec3b78 ARM: fail build if hardcoded struct offsets are wrong
Originally committed as revision 23427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-02 18:49:53 +00:00
David Conrad 6a7d7b88af arm neon: Add missing mangle to external symbol
Originally committed as revision 23418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-01 20:59:06 +00:00
Måns Rullgård 73404a44c1 ARM: NEON clear_block[s]
Originally committed as revision 23412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-01 17:21:16 +00:00
Måns Rullgård 41331b65f2 ARM: NEON optimised dct_unquantize_h263_{intra,inter}
Originally committed as revision 23386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-29 15:29:40 +00:00
David Conrad c0fda017d1 vp3: 10l Fix DC-only IDCT for C and ARM too
Originally committed as revision 23359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-28 07:22:04 +00:00
Måns Rullgård 5635985c26 ARM: NEON optimised VP6 edge filter
Originally committed as revision 22993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 21:30:27 +00:00
Måns Rullgård 84368aa629 ARM: fix build for darwin/iphone
References to external symbols in asm code need prefixes.

Originally committed as revision 22949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 21:19:32 +00:00
David Conrad eb6a6cd788 vp3: DC-only IDCT
2-4% faster overall decode

Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:30 +00:00
Måns Rullgård b591c7af31 10l: fix build on non-NEON ARM
Originally committed as revision 22867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 00:48:49 +00:00
Måns Rullgård 08255107cf DCA: ARM/NEON optimised lfe_fir
Originally committed as revision 22863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 20:45:33 +00:00
Måns Rullgård f01210a691 ARM: fix NEON synth_filter_float with hardfp calls
Originally committed as revision 22852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 13:28:59 +00:00
Måns Rullgård e73d1a5efc ARM: NEON optimised synth_filter_float
2.7x faster DCA decoding on Cortex-A8

Originally committed as revision 22828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-10 16:27:56 +00:00
Måns Rullgård a8bb9ea532 ARM: NEON optimised RDFT
Originally committed as revision 22641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 03:35:02 +00:00
Måns Rullgård 3bd74e9243 Simplify arch-specific object file lists
Originally committed as revision 22570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 21:23:03 +00:00
Måns Rullgård 43f60eba19 Move arch-specific makefile parts into $arch/Makefile
Originally committed as revision 22569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 21:22:59 +00:00
Måns Rullgård 4693b031a3 Move H264 dsputil functions into their own struct
This moves the H264-specific functions from DSPContext to the new
H264DSPContext.  The code is made conditional on CONFIG_H264DSP
which is set by the codecs requiring it.

The qpel and chroma MC functions are not moved as these are used by
non-h264 code.

Originally committed as revision 22565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 01:17:00 +00:00
Martin Storsjö 18c31f6ff8 Only use .size in ARM assembly when targeting ELF
This fixes compilation on mingw32ce

Originally committed as revision 22437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 21:39:58 +00:00
Måns Rullgård a7e7d40c2e ARM: set size of asm functions in object files
Originally committed as revision 22404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 16:17:56 +00:00
Måns Rullgård 4a89e0a675 ARM: add some missing includes
Originally committed as revision 22340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 19:59:54 +00:00
Måns Rullgård 5bacc3ad57 ARM: move mpegvideo prototypes to a header file
Originally committed as revision 22309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 02:36:07 +00:00
Måns Rullgård 1429224b04 Move FFT parts from dsputil.h to fft.h
Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:34:46 +00:00
Kostya Shishkov 9b3c455c50 ARM: NEON scalarproduct_int16 and scalarproduct_and_madd_int16
Patch by Kostya, minor fixes by me.

Originally committed as revision 21958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 12:20:31 +00:00
Måns Rullgård a87b2f6df4 ARM: add missing preserve8 directives
Originally committed as revision 21952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 00:34:05 +00:00
Måns Rullgård 41c2bd0a26 ARMv6 optimised pix_sum
Originally committed as revision 21705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:52 +00:00
Måns Rullgård 66ec243d95 ARMv6 optimised pix_norm1
Originally committed as revision 21704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:49 +00:00
Måns Rullgård 0c28474c92 ARMv6 optimised sse16
Originally committed as revision 21703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:45 +00:00
Måns Rullgård 3132614305 ARMv6 optimised diff_pixels
Originally committed as revision 21702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:41 +00:00
Måns Rullgård f73a626ae4 ARMv6 optimised get_pixels
Originally committed as revision 21701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:38 +00:00
Måns Rullgård d2578ff9f1 ARMv6 optimised pix_abs8
Originally committed as revision 21700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:34 +00:00
Måns Rullgård 74cc33c235 ARMv6 optimised pix_abs16_y2
Originally committed as revision 21699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:31 +00:00
Måns Rullgård 39a760f678 ARMv6 optimised pix_abs16_x2
Originally committed as revision 21698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:29 +00:00
Måns Rullgård e6056a9008 ARMv6 optimised pix_abs16
Originally committed as revision 21697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:26 +00:00
Måns Rullgård 38e016a7c9 ARMv6 optimised put_pixels functions except xy2 variants
Originally committed as revision 21696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:21 +00:00
Måns Rullgård 1c6f46be03 Add missing guards and includes to arm/aac.h
Originally committed as revision 21247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 15:54:01 +00:00
Måns Rullgård 798339fb46 AAC: ARM/NEON asm for VMUL2/4 functions
Originally committed as revision 21219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 02:58:24 +00:00
Måns Rullgård c5d6cd5c81 ARM: 1l c&p fix: do not set pred16x16_plane for rv40
Originally committed as revision 20705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 17:21:43 +00:00
Måns Rullgård 702b5885a1 ARM: NEON optimised H264 16x16, 8x8 pred
Originally committed as revision 20704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 14:56:45 +00:00
Måns Rullgård 5dad039bf7 ARM: small tweak of NEON H264 IDCT
Originally committed as revision 20697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 00:37:39 +00:00
Måns Rullgård 1025d19dd7 ARM: NEON 2xN chroma MC
Originally committed as revision 20696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 00:37:36 +00:00
Måns Rullgård 04e7f6d2d0 ARM: NEON 16x16 and 8x8 avg qpel MC
Originally committed as revision 20695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 00:37:33 +00:00
Måns Rullgård 0115b3eadb ARM: align stack in NEON h264 mc functions
A certain rotten fruit operating system doesn't provide the 8-byte stack
alignment required by the standard ARM ABI, so align it manually.

Originally committed as revision 20208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 16:16:08 +00:00
Måns Rullgård 3e6015cc18 ARM: simplify movrel definition as CONFIG_PIC is now set for shared libs
Originally committed as revision 20204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 10:15:48 +00:00
Måns Rullgård 12bf71b691 ARM: whitespace cosmetics
Originally committed as revision 20191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-07 21:35:24 +00:00
Måns Rullgård bef966e341 ARM: NEON avg_pixels8 and avg_h264_qpel8_mc00
Originally committed as revision 20190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-07 21:35:19 +00:00
Måns Rullgård 2ad4c241c8 ARM: make function names all-lowercase
Originally committed as revision 20186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 21:55:41 +00:00
Måns Rullgård cf57bea6fb ARM: enable ARMv4 add_pixels_clamped
Somehow this function was never used.

Originally committed as revision 20185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 21:55:37 +00:00
Måns Rullgård 153f49570f ARM: ARMv6 optimised add_pixels_clamped()
Originally committed as revision 20184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 21:55:35 +00:00
Måns Rullgård c8315e9186 ARM: whitespace cosmetics
Originally committed as revision 20183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 21:55:30 +00:00
Måns Rullgård 55c0e1e6d2 ARM: add ff_ prefix to lots of functions
Originally committed as revision 20167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:13:12 +00:00
Måns Rullgård 9abcc9a6f4 ARM: cosmetics
Originally committed as revision 20166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:13:08 +00:00
Måns Rullgård f67e0b824f ARM: replace some #if with if()
Originally committed as revision 20165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:13:06 +00:00
Måns Rullgård 701c618f7d ARM: clean up file/function naming conventions
Originally committed as revision 20164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:13:02 +00:00
Måns Rullgård 84d430f85a ARM: clean up dsputil initialisation
- Move v5 and v6 initialisation to separate files.
- Move NEON IDCT selection to ff_dsputil_init_neon()

Originally committed as revision 20163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:12:55 +00:00
Måns Rullgård 1febba1e62 ARM: shorten some long macro names
Originally committed as revision 20159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 18:22:56 +00:00
Måns Rullgård 2e823300a6 ARM: update ldm/stm instructions to modern syntax
Originally committed as revision 20158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 18:22:52 +00:00
Måns Rullgård abff992d36 ARM: whitespace cosmetics
Originally committed as revision 20157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 18:22:49 +00:00
Måns Rullgård c61e40b728 ARM: use plain labels for pc-relative addressing
Originally committed as revision 20152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 23:11:03 +00:00
Måns Rullgård b44c6d8edb ARM: remove unnecessary .fpu neon directives
Originally committed as revision 20151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 19:35:12 +00:00
Måns Rullgård fd818a21c7 ARM: use undocumented .syntax directive to enable UAL syntax
Originally committed as revision 20150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 19:35:07 +00:00
Måns Rullgård e654b7c29e ARM: apply extern symbol prefix where needed
Originally committed as revision 20147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 08:42:00 +00:00
Måns Rullgård ec71a8e00b ARM: NEON optimised vector_fmul_add
Originally committed as revision 20063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:52:05 +00:00
Måns Rullgård f331cec47d ARM: NEON optimised vector_clipf
Originally committed as revision 20031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 19:55:21 +00:00
Måns Rullgård b9b1ad9cd8 ARM: NEON optimised vector_fmul_reverse
Originally committed as revision 20029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 19:23:25 +00:00
Måns Rullgård 9bda7f3063 ARM: NEON optimised int32_to_float_fmul_scalar
Originally committed as revision 20000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 13:52:56 +00:00
Måns Rullgård 275cfd1501 ARM: NEON optimised scalarproduct_float
Originally committed as revision 19971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 20:37:55 +00:00
Måns Rullgård 1dee3e97c6 ARM: NEON optimisations for some dsputil functions
NEON versions of the following functions are added:

  vector_fmul_scalar
  vector_fmul_sv_scalar
  sv_fmul_scalar
  butterflies_float

Originally committed as revision 19957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 00:48:48 +00:00
Måns Rullgård d650574e68 ARM: merge two loops in ff_mdct_calc_neon
Originally committed as revision 19941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 02:56:12 +00:00
Måns Rullgård f7a3b6030c ARM: interleave cos/sin tables for improved NEON MDCT
Originally committed as revision 19940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 02:56:09 +00:00
Måns Rullgård 3572b281c8 ARM: remove broken IPP support
Originally committed as revision 19935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 01:40:08 +00:00
Måns Rullgård 01b2214758 Merge FFTContext and MDCTContext
Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:30:20 +00:00
Måns Rullgård d25130eb23 ARM: do not use movw/movt for relocatable values with PIC
Originally committed as revision 19886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 19:20:48 +00:00
Måns Rullgård f486321395 Move per-arch fft init bits into the corresponding subdirs
Originally committed as revision 19864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 21:14:14 +00:00
Måns Rullgård 9ecc414195 ARM: 10l: fix large FFTs
Originally committed as revision 19846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 21:37:41 +00:00
Måns Rullgård edc0f5dcba ARM: NEON optimised MDCT
Originally committed as revision 19819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:24:22 +00:00
Måns Rullgård 750f5034cf ARM: faster NEON IMDCT
Originally committed as revision 19817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:01:18 +00:00
Måns Rullgård 648d792042 ARM: NEON optimised FFT and MDCT
Vorbis and AC3 ~3x faster.

Parts by Naotoshi Nojiri, naonoj gmail

Originally committed as revision 19806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 08:50:03 +00:00
Diego Biurrun deb1b2b699 Add necessary #include for config.h.
Originally committed as revision 19692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 10:59:14 +00:00
Måns Rullgård 9ae443f420 10L: remove instruction left over from debugging
Originally committed as revision 19638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-14 01:05:48 +00:00
Måns Rullgård e814015d69 ARM: NEON optimised vorbis_inverse_coupling
12% faster Vorbis decoding on Cortex-A8.

Originally committed as revision 19637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-14 01:02:06 +00:00
Måns Rullgård 341f394f0d ARM: cleaner selection of ELF-spefic assembler directives
Originally committed as revision 19522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 22:55:55 +00:00
Martin Storsjö e21a892163 Conditionally compile ELF-specific ARM assembly bits that fail on Windows CE.
patch by Martin Storsjö, martin martin st

Originally committed as revision 19514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 12:53:44 +00:00
Diego Biurrun 7d90972c84 cosmetics: reindent/prettyprint after last commit
Originally committed as revision 19495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:38:26 +00:00
Diego Biurrun 31cf61b447 Only compile in NEON optimizations for H.264 when the H.264 decoder is enabled.
Originally committed as revision 19494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:33:33 +00:00
Diego Biurrun 99e5a9d1ea Do not redundantly check for both CONFIG_THEORA_DECODER and CONFIG_VP3_DECODER.
The Theora decoder depends on the VP3 decoder.

Originally committed as revision 19492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:27:10 +00:00
Måns Rullgård 0a8958c849 ARM: handle VFP register arguments in ff_vector_fmul_window_neon()
Originally committed as revision 19475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 22:30:27 +00:00
Måns Rullgård ce742de22c ARM: check for VFP register arguments
Originally committed as revision 19474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 22:30:24 +00:00
David Conrad 2483298ae2 ARM: NEON VP3 IDCT
15% faster VP3/Theora, 10% faster VP6

Originally committed as revision 19345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 20:41:11 +00:00
Måns Rullgård 2da4e5e3e1 ARM: slightly faster NEON H264 horizontal loop filter
Originally committed as revision 19216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-17 22:33:04 +00:00
Måns Rullgård c9311a12d5 ARM: add some PLD in NEON IDCT
Originally committed as revision 18972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 17:19:28 +00:00
David Conrad 548a99742c ARM: actually add VP3 loop filter
Originally committed as revision 18917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 18:47:26 +00:00
David Conrad 6db8697a39 ARM: NEON VP3 Loop Filter
Originally committed as revision 18916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 18:36:20 +00:00
David Conrad d647ed789f ARM: Use fewer register in NEON put_pixels _y2 and _xy2
Approved by Mans on IRC

Originally committed as revision 18713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-29 11:38:09 +00:00
David Conrad 428bf2ac88 ARM: NEON put_pixels_clamped
Originally committed as revision 18712 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-29 11:31:43 +00:00
David Conrad d8f3f340ad Add guaranteed alignment for loading dest pixels in avg_pixels16_neon
Originally committed as revision 18535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 08:39:13 +00:00
David Conrad cc2e555420 ARM: NEON optimized put_signed_pixels_clamped
Originally committed as revision 18333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-04 21:02:48 +00:00
Måns Rullgård 08e12b2240 ARM: NEON optimised add_pixels_clamped
Based on patch by David Conrad.

Originally committed as revision 18332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-04 20:18:58 +00:00
Måns Rullgård 35690321a7 ARM: disable inline asm for armcc
Originally committed as revision 17831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 21:20:13 +00:00
Måns Rullgård 4cd19f6e78 ARM: fix missing MUL16() return type
Originally committed as revision 17679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 12:11:02 +00:00
Måns Rullgård fe7f149ed8 ARM: fix corner-case overflow in H.264 weighted prediction
Originally committed as revision 17657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 13:48:54 +00:00
Måns Rullgård e1f7cb7fa0 ARM: NEON optimised vector_fmul_window
Originally committed as revision 16868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 23:13:19 +00:00
Måns Rullgård dd927e2e62 ARM: NEON optimised vector_fmul
Originally committed as revision 16867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 23:13:15 +00:00
Måns Rullgård ca6532f620 ARM: remove some unused macro arguments
Originally committed as revision 16824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 16:34:10 +00:00
Måns Rullgård d8f9269dc6 ARM: reorder some instructions in put_pixels*_arm for speed gains
Originally committed as revision 16823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 16:06:51 +00:00
Måns Rullgård 00c5727d90 ARM: replace jump tables with conditional branches
Originally committed as revision 16822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 16:06:47 +00:00
Måns Rullgård d9e68f5c1a ARM: replace explicit literal loads with ldr Rd, =lit
Originally committed as revision 16821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 16:06:44 +00:00
Måns Rullgård fc252eba02 ARM: change alignment of loops in put_pixels*_arm to 32
Originally committed as revision 16820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 16:06:41 +00:00
Måns Rullgård 4f928a4d2d ARM: optimised mid_pred()
Originally committed as revision 16819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 16:06:38 +00:00
Måns Rullgård 1214bd86dc ARM: allow register operands for shifts in MULL()
Originally committed as revision 16818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 16:06:34 +00:00
Måns Rullgård bd53b426b7 ARM: NEON optimised H.264 weighted prediction
Originally committed as revision 16771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-25 13:04:45 +00:00
Måns Rullgård 5a29589b81 ARM: NEON optimised H.264 biweighted prediction
Originally committed as revision 16770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-25 13:04:41 +00:00
Diego Biurrun 406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Måns Rullgård 77c4537313 ARM: simplify ff_put/avg_h264_chroma_mc4/8_neon definitions, no code change
Originally committed as revision 16677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 20:43:11 +00:00
Aurelien Jacobs 49fb20cb8a replace all occurrence of ENABLE_ by the corresponding CONFIG_, HAVE_ or ARCH_
and remove all ENABLE_ definitions.

Originally committed as revision 16600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 17:19:17 +00:00
Aurelien Jacobs b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Måns Rullgård 9a0cf9f8f8 ARM: use push/pop pseudo-instructions in simple_idct_armv6.S
Originally committed as revision 16570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-12 20:37:49 +00:00
Måns Rullgård e9497946bb ARM: simple_idct_armv6.S whitespace cosmetics
Originally committed as revision 16569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-12 20:37:39 +00:00
Måns Rullgård 7f727ace2a ARM: clean up pc-relative references in simple_idct_armv6.S
Originally committed as revision 16568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-12 20:37:33 +00:00
Måns Rullgård 3b16c71984 ARM: use rX register names in simple_idct_armv6.S
Originally committed as revision 16567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-12 20:37:29 +00:00
Måns Rullgård 172a39d13c ARM: work around linker bug with movw/movt relocations in shared libs
Originally committed as revision 16395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-30 03:13:52 +00:00
Måns Rullgård 77e2249e2f ARM: rename coefficient table in NEON IDCT
Originally committed as revision 16392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-30 03:13:40 +00:00
Måns Rullgård f23740d96f ARM: NEON optimised float_to_int16
Originally committed as revision 16352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-26 19:52:52 +00:00
Måns Rullgård 760badc1df ARM: add new h264 idct functions
Originally committed as revision 16312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-25 23:13:43 +00:00
Måns Rullgård a2fc0f6a6d ARM: replace "armv4l" with "arm"
Originally committed as revision 16179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 00:54:54 +00:00