Oskar Arvidsson
19a0729b4c
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
...
This patch lets e.g. dsputil_init chose dsp functions with respect to
the bit depth to decode. The naming scheme of bit depth dependent
functions is <base name>_<bit depth>[_<prefix>] (i.e. the old
clear_blocks_c is now named clear_blocks_8_c).
Note: Some of the functions for high bit depth is not dependent on the
bit depth, but only on the pixel size. This leaves some room for
optimizing binary size.
Preparatory patch for high bit depth h264 decoding support.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Mans Rullgard
5f2e6c0fd1
ac3enc: NEON optimised extract_exponents
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
f7653904c8
ARM: NEON fixed-point forward MDCT
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
dba9852935
ARM: NEON fixed-point FFT
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
aa05f2126e
ac3enc: ARM optimised ac3_compute_matissa_size
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
182826c884
ac3: armv6 optimised bit_alloc_calc_bap
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
d782bca415
ac3enc: NEON optimised float_to_fixed24
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
d743065e18
ARM: fix ff_apply_window_int16_neon() prototype
...
The length argument should be unsigned. No change in code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
2d3b21ffb9
ARM: NEON optimised apply_window_int16()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
245c78313f
ac3enc: NEON optimised shift functions
14 years ago
Mans Rullgard
f4855a904e
ac3enc: NEON optimised ac3_max_msb_abs_int16 and ac3_exponent_min
14 years ago
Mans Rullgard
0aded9484d
Move dct and rdft definitions to separate files
...
This leaves fft.h with only the core FFT and MDCT definitions
thus making it more managable.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
0b32da90f8
ARM: VP8: fix build on systems with global symbol prefix
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
8b454c352f
ARM: fix vp8 neon with pic enabled
...
The assembler emits literal pools too far from the load instructions,
so we must do it explicitly at a suitable location.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Loren Merritt
e6b1ed693a
FFT: factor a shuffle out of the inner loop and merge it into fft_permute.
...
6% faster SSE FFT on Conroe, 2.5% on Penryn.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
14 years ago
Mans Rullgard
a7878c9f73
VP8: ARM optimised decode_block_coeffs_internal
...
Approximately 5% faster on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
7da48fd011
ARM optimised vp56_rac_get_prob()
...
Approximately 3% faster on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
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>
14 years ago
Mans Rullgard
b9a639ddd6
ARM: add helper macro for declaring constant data
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
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>
14 years ago
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>
14 years ago
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>
14 years ago
Mans Rullgard
0745116c10
ARM: update MpegEncContext offsets
14 years ago
Mans Rullgard
78f318be59
ARM: NEON: fix overflow in h264 16x16 planar pred
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
6eabb0d3ad
Change DSPContext.vector_fmul() from dst=dst*src to dest=src0*src1.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Justin Ruggles
56f8952b25
Move lpc_compute_autocorr() from DSPContext to a new struct LPCContext.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Janne Grunau
2c3589bfda
consolidate .gitignore patters into a single file
...
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
14 years ago
Janne Grunau
348b8218f7
convert svn:ignore properties to .gitignore files
...
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
14 years ago
Martin Storsjö
31561a98ae
Fix arm asm offsets for arm/mach-o
...
Originally committed as revision 26287 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
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
14 years ago
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
14 years ago
Måns Rullgård
4a6cc8fa25
ARM: fix NEON h264_idct_add8
...
Originally committed as revision 25121 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Luca Barbato
6f9932476d
Update H263_AIC asm offset for the apple variant
...
Originally committed as revision 25099 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
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
14 years ago
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
14 years ago
Måns Rullgård
94f8b2d799
ARM: update struct offsets
...
Originally committed as revision 24923 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
Måns Rullgård
c0ec9918b0
Remove global mm_flags variable
...
Originally committed as revision 24909 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
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
14 years ago
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
14 years ago
Måns Rullgård
2eef529195
ARM: update struct offsets
...
Originally committed as revision 24686 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Loren Merritt
1ee076b1b1
more credits to D. J. Bernstein for fft
...
Originally committed as revision 24308 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
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
15 years ago
Aurelien Jacobs
42d1e7a287
fix VP5/6 neon dependencies
...
Originally committed as revision 24160 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
96088566ee
ARM: remove unnecessary .previous directive
...
Originally committed as revision 24096 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
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
15 years ago
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
15 years ago
Måns Rullgård
a4edc5a9df
ARM: add mov32 macro
...
Originally committed as revision 23888 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago