Commit Graph

477 Commits

Author SHA1 Message Date
Mans Rullgard
8e112df409 ARM: ac3dsp: optimised update_bap_counts()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-01 15:45:13 +01:00
Mans Rullgard
c51695dbf6 ARM: fix MUL64 inline asm for pre-armv6
Prior to ARMv6, the destination registers of the SMULL instruction
must be distinct from the first source register.  Marking the
output early-clobber ensures it is allocated unique registers.

This restriction is dropped in ARMv6 and later, so allowing overlap
between input and output registers there might give better code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-31 22:21:00 +01:00
Michael Niedermayer
40c29d42cf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Remove unused variable.
  ARM: simplify inline asm with 64-bit operands

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-31 02:08:20 +02:00
Mans Rullgard
6bb70dfd74 ARM: simplify inline asm with 64-bit operands
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-30 21:19:57 +01:00
Michael Niedermayer
5a35cef4b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: enable UAL syntax in asm.S
  v4l2: don't leak video standard string on error.
  swscale: Remove disabled code.
  avfilter: Surround function only used in debug mode by appropriate #ifdef.
  vf_crop: Replace #ifdef DEBUG + av_log() by av_dlog().
  build: remove BUILD_ROOT variable
  vp8: use av_clip_uintp2() where possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-30 01:29:11 +02:00
Mans Rullgard
371266daa3 ARM: enable UAL syntax in asm.S
This enables UAL syntax for all asm files instead of only those
which happen to be incompatible with the old, deprecated syntax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-29 15:42:56 +01:00
Michael Niedermayer
b8a43bc1b5 Merge remote-tracking branch 'qatar/master' into master
* qatar/master: (27 commits)
  ac3enc: fix LOCAL_ALIGNED usage in count_mantissa_bits()
  ac3dsp: do not use the ff_* prefix when referencing ff_ac3_bap_bits.
  ac3dsp: fix loop condition in ac3_update_bap_counts_c()
  ARM: unbreak build
  ac3enc: modify mantissa bit counting to keep bap counts for all values of bap instead of just 0 to 4.
  ac3enc: split mantissa bit counting into a separate function.
  ac3enc: store per-block/channel bap pointers by reference block in a 2D array rather than in the AC3Block struct.
  get_bits: add av_unused tag to cache variable
  sws: replace all long with int.
  ARM: aacdec: fix constraints on inline asm
  ARM: remove unnecessary volatile from inline asm
  ARM: add "cc" clobbers to inline asm where needed
  ARM: improve FASTDIV asm
  ac3enc: use LOCAL_ALIGNED macro
  APIchanges: fill in git hash for av_get_pix_fmt_name (0420bd7).
  lavu: add av_get_pix_fmt_name() convenience function
  cmdutils: remove OPT_FUNC2
  swscale: fix crash in bilinear scaling.
  vpxenc: add VP8E_SET_STATIC_THRESHOLD mapping
  webm: support stereo videos in matroska/webm muxer
  ...

Conflicts:
	Changelog
	cmdutils.c
	cmdutils.h
	doc/APIchanges
	doc/muxers.texi
	ffmpeg.c
	ffplay.c
	libavcodec/ac3enc.c
	libavcodec/ac3enc_float.c
	libavcodec/avcodec.h
	libavcodec/get_bits.h
	libavcodec/libvpxenc.c
	libavcodec/version.h
	libavdevice/libdc1394.c
	libavformat/matroskaenc.c
	libavutil/avutil.h
	libswscale/rgb2rgb.c
	libswscale/swscale.c
	libswscale/swscale_template.c
	libswscale/x86/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-29 03:34:35 +02:00
Mans Rullgard
edfa89b260 ARM: unbreak build
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-28 18:41:20 +01:00
Justin Ruggles
6ca23db9cc ac3enc: modify mantissa bit counting to keep bap counts for all values of bap
instead of just 0 to 4.

This does all the actual bit counting as a final step.
2011-05-28 12:39:28 -04:00
Mans Rullgard
7d8c17b5f6 ARM: aacdec: fix constraints on inline asm
This adds output operands for modified memory allowing the
volatile qualifiers to be dropped.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-28 15:00:17 +01:00
Mans Rullgard
84e4804ad0 ARM: remove unnecessary volatile from inline asm
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-28 15:00:17 +01:00
Mans Rullgard
5726ec171b ARM: add "cc" clobbers to inline asm where needed
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-28 15:00:17 +01:00
Michael Niedermayer
8381ab1437 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  ARM: disable ff_vector_fmul_vfp on VFPv3 systems
  ARM: check for VFPv3
  swscale: Remove unused variables in x86 code.
  doc: Drop DJGPP section, Libav now compiles out-of-the-box on FreeDOS.
  x86: Add appropriate ifdefs around certain AVX functions.
  cmdutils: use sws_freeContext() instead of av_freep().
  swscale: delay allocation of formatConvBuffer().
  swscale: fix build with --disable-swscale-alpha.
  movenc: Deprecate the global RTP hinting flag, use a private AVOption instead
  movenc: Add an AVClass for setting muxer specific options
  swscale: fix non-bitexact yuv2yuv[X2]() MMX/MMX2 functions.
  configure: report yasm/nasm presence properly
  tcp: make connect() timeout properly
  rawdec: factor video demuxer definitions into a macro.
  rtspdec: add initial_pause private option.
  lavf: deprecate AVFormatParameters.width/height.
  tty: add video_size private option.
  rawdec: add video_size private option.
  x11grab: add video_size private option.
  x11grab: factorize returning error codes.
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-27 23:48:22 +02:00
Mans Rullgard
79aeade6f6 ARM: disable ff_vector_fmul_vfp on VFPv3 systems
This function uses old-style vector operations deprecated in VFPv3.
Some implementations, e.g. Cortex-A9, support them only through
slow software emulation.  Cortex-A8 does have this functionality
in hardware, but as it also has NEON, this function is not used
there regardless.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-27 20:33:06 +01:00
Michael Niedermayer
bf8bb94322 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ffmpeg: get rid of the -vglobal option.
  dct32: Add AVX implementation of 32-point DCT
  dct32: Change pass 6 permutation to allow for AVX implementation
  dct32: port SSE 32-point DCT to YASM
  multiple inclusion guard cleanup
  avio: document buffer must created with av_malloc() and friends
  avio: check AVIOContext malloc failure
  swscale: point out an alternative to sws_getContext
  svq3: Do initialization after parsing the extradata
  add changelog entries for 0.7_beta2
  mp3lame: add #include required for AV_RB32 macro.

Conflicts:
	Changelog
	libavcodec/svq3.c
	libavcodec/x86/dct32_sse.c
	libavfilter/vsrc_buffer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-22 04:53:19 +02:00
Diego Biurrun
153382e1b6 multiple inclusion guard cleanup
Add missing multiple inclusion guards; clean up #endif comments;
add missing library prefixes; keep guard names consistent.
2011-05-21 13:48:10 +02:00
Michael Niedermayer
5a153604c9 Merge remote branch 'qatar/master'
* qatar/master:
  Fix FSF address copy paste error in some license headers.
  Add an aac sample which uses LTP to fate-aac.
DUPLICATE  [PATCH] Update pixdesc_be fate refs after adding 9/10bit YUV420P formats.
  arm: properly mark external symbol call

Conflicts:
	libavcodec/x86/ac3dsp.asm
	libavcodec/x86/deinterlace.asm
	libavcodec/x86/dsputil_yasm.asm
	libavcodec/x86/dsputilenc_yasm.asm
	libavcodec/x86/fft_mmx.asm
	libavcodec/x86/fmtconvert.asm
	libavcodec/x86/h264_chromamc.asm
	libavcodec/x86/h264_deblock.asm
	libavcodec/x86/h264_idct.asm
	libavcodec/x86/h264_intrapred.asm
	libavcodec/x86/h264_weight.asm
	libavcodec/x86/vc1dsp_yasm.asm
	libavcodec/x86/vp3dsp.asm
	libavcodec/x86/vp56dsp.asm
	libavcodec/x86/vp8dsp.asm
	libavcodec/x86/x86util.asm
	libswscale/ppc/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-15 04:44:07 +02:00
Martin Aumüller
b1eb7a1204 arm: properly mark external symbol call
Surround memset and ff_vp8_dct_cat_prob by X() in order to fix iOS build

Includes patch by Luca Barbato <lu_zero@gentoo.org>.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-05-14 10:38:23 +02:00
Michael Niedermayer
59eb12faff Merge remote branch 'qatar/master'
* qatar/master: (30 commits)
  AVOptions: make default_val a union, as proposed in AVOption2.
  arm/h264pred: add missing argument type.
  h264dsp_mmx: place bracket outside #if/#endif block.
  lavf/utils: fix ff_interleave_compare_dts corner case.
  fate: add 10-bit H264 tests.
  h264: do not print "too many references" warning for intra-only.
  Enable decoding of high bit depth h264.
  Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
  Add support for higher QP values in h264.
  Add the notion of pixel size in h264 related functions.
  Make the h264 loop filter bit depth aware.
  Template dsputil_template.c with respect to pixel size, etc.
  Template h264idct_template.c with respect to pixel size, etc.
  Preparatory patch for high bit depth h264 decoding support.
  Move some functions in dsputil.c into a new file dsputil_template.c.
  Move the functions in h264idct into a new file h264idct_template.c.
  Move the functions in h264pred.c into a new file h264pred_template.c.
  Preparatory patch for high bit depth h264 decoding support.
  Add pixel formats for 9- and 10-bit yuv420p.
  Choose h264 chroma dc dequant function dynamically.
  ...

Conflicts:
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/arm/dsputil_init_neon.c
	libavcodec/arm/dsputil_iwmmxt.c
	libavcodec/arm/h264pred_init_arm.c
	libavcodec/bfin/dsputil_bfin.c
	libavcodec/dsputil.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c
	libavcodec/h264dsp.c
	libavcodec/h264idct.c
	libavcodec/h264pred.c
	libavcodec/mlib/dsputil_mlib.c
	libavcodec/options.c
	libavcodec/ppc/dsputil_altivec.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/ppc/h264_altivec.c
	libavcodec/ps2/dsputil_mmi.c
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/dsputil_sh4.c
	libavcodec/sparc/dsputil_vis.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/dsputil_mmx.c
	libavformat/options.c
	libavformat/utils.c
	libavutil/pixfmt.h
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/swscale_template.c
	tests/ref/seek/lavf_avi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 05:47:02 +02:00
Ronald S. Bultje
b27b54de31 arm/h264pred: add missing argument type. 2011-05-10 08:44:49 -04:00
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>
2011-05-10 07:24:36 -04:00
Gavin Kinsey
25347c880f Fix compilation.for iOS ARMv7. 2011-04-19 10:16:07 +02:00
Bill Pringlemeir
fccff6e83a Allow h264pred_init_arm.c to compile.
SOB: Bill Pringlemeir <bpringlemeir@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-18 20:40:14 +02:00
Aurelien Jacobs
13d4ec844a cosmetics: alignment 2011-04-12 02:02:35 +02:00
Oskar Arvidsson
8dbe585641 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: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 22:33:42 +02:00
pin xue
05c062e9da replace movw instruction in ac3dsp_armv6.S
AS      libavcodec/arm/ac3dsp_armv6.o
ffmpeg-src/libavcodec/arm/ac3dsp_armv6.S: Assembler messages:
ffmpeg-src/libavcodec/arm/ac3dsp_armv6.S:40: Error: selected processor
does not support `movw r8,#0x1fe0'
make[1]: *** [libavcodec/arm/ac3dsp_armv6.o] Error 1

MOVW is ARMv7 way to load constant:
   * movw, or move wide, will move a 16-bit constant into a register,
implicitly zeroing the top 16 bits of the target register.
   * movt, or move top, will move a 16-bit constant into the top half
of a given register without altering the bottom 16 bits
To load 32 bit constant, movw  lower16; movt upper16; is better than
ldr if available, because:
While this approach takes two instructions, it does not require any
extra space to store the constant so both the movw/movt method and the
ldr method will end up using the same amount of memory. Memory
bandwidth is precious in and the movw/movt approach avoids an extra
read on the data side, not to mention the read could have missed the
cache.

But here it is armv6 optimization, so that we have to use ldr.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 03:49:24 +02:00
Michael Niedermayer
11d78415ca Merge remote branch 'qatar/master'
* qatar/master:
  psymodel: extend API to include PE and bit allocation.
  avio: always compile dyn_buf functions
  Remove unnecessary parameter from ff_thread_init() and fix behavior
  Revert "aac_latm_dec: use aac context and aac m4ac"
  configure: tell user if libva is enabled like the rest of external libs.
  Add silence support for AV_SAMPLE_FMT_U8.
  avio: make URL_PROTOCOL_FLAG_NESTED_SCHEME internal
  avio: deprecate av_url_read_seek
  avio: deprecate av_url_read_pause
  ac3enc: NEON optimised extract_exponents

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-06 02:59:49 +02:00
Mans Rullgard
5f2e6c0fd1 ac3enc: NEON optimised extract_exponents
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-05 01:11:16 +01:00
Michael Niedermayer
2cae9809e2 Merge remote branch 'qatar/master'
* qatar/master:
  fate: fix partial run when no samples path is specified
  ARM: NEON fixed-point forward MDCT
  ARM: NEON fixed-point FFT
  lavf: bump minor version and add an APIChanges entry for avio changes
  avio: simplify url_open_dyn_buf_internal by using avio_alloc_context()
  avio: make url_fdopen internal.
  avio: make url_open_dyn_packet_buf internal.
  avio: avio_ prefix for url_close_dyn_buf
  avio: avio_ prefix for url_open_dyn_buf
  avio: introduce an AVIOContext.seekable field
  ac3enc: use generic fixed-point mdct
  lavfi: add fade filter
  Change yadif to not use out of picture lines.
  lavc: deprecate AVCodecContext.antialias_algo
  lavc: mark mb_qmin/mb_qmax for removal on next major bump.

Conflicts:
	doc/filters.texi
	libavcodec/ac3enc_fixed.h
	libavcodec/ac3enc_float.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-04 02:15:12 +02:00
Mans Rullgard
f7653904c8 ARM: NEON fixed-point forward MDCT
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-03 22:39:52 +01:00
Mans Rullgard
dba9852935 ARM: NEON fixed-point FFT
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-03 22:39:52 +01:00
Michael Niedermayer
4defa68fe2 Merge remote branch 'qatar/master'
* qatar/master:
  ac3enc: ARM optimised ac3_compute_matissa_size
  ac3: armv6 optimised bit_alloc_calc_bap
  fate: simplify fft test rules
  avio: document avio_alloc_context.
  lavf: make compute_chapters_end less picky.
  sierravmd: fix Indeo3 videos
  FFT: simplify fft8()
  fate: add fixed-point fft/mdct tests
  Fixed-point support in fft-test
  ape: check that number of seektable entries is equal to number of frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-02 01:54:27 +02:00
Mans Rullgard
aa05f2126e ac3enc: ARM optimised ac3_compute_matissa_size
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-01 22:46:21 +01:00
Mans Rullgard
182826c884 ac3: armv6 optimised bit_alloc_calc_bap
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-01 22:46:05 +01:00
Michael Niedermayer
445fdc0140 Merge remote-tracking branch 'newdev/master'
* newdev/master:
  ac3enc: move compute_mantissa_size() to ac3dsp
  ac3enc: move mant*_cnt and qmant*_ptr out of AC3EncodeContext
  Remove support for stripping executables
  ac3enc: NEON optimised float_to_fixed24
  ac3: move ff_ac3_bit_alloc_calc_bap to ac3dsp
  dfa: protect pointer range checks against overflows.
Duplicate:  mimic: implement multithreading.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-30 03:09:08 +02:00
Mans Rullgard
d782bca415 ac3enc: NEON optimised float_to_fixed24
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-29 19:40:13 +01:00
Michael Niedermayer
34c27ada10 Revert some silly renamings that leaked in from a pull. 2011-03-29 02:27:13 +02:00
Michael Niedermayer
797ef671dd Merge remote-tracking branch 'newdev/master'
* newdev/master:
  matroskadec: set default duration for simple block
  When building for MinGW32 disable strict ANSI compliancy.
  ARM: fix ff_apply_window_int16_neon() prototype
  configure: check for --as-needed support early
  ARM: NEON optimised apply_window_int16()
  ac3enc: NEON optimised shift functions
  ac3enc: NEON optimised ac3_max_msb_abs_int16 and ac3_exponent_min
  mpeg12.c: fix slice threading for mpeg2 field picture mode.
  ffmetadec.c: fix compiler warnings.
  configure: Don't explicitly disable ffplay or in/outdevices on dos
  configure: Remove the explicit disabling of ffserver
  configure: Add fork as a dependency to ffserver

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-25 02:57:41 +01:00
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>
2011-03-24 20:43:47 +00:00
Mans Rullgard
2d3b21ffb9 ARM: NEON optimised apply_window_int16()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-24 19:24:03 +00:00
Mans Rullgard
245c78313f ac3enc: NEON optimised shift functions 2011-03-24 16:30:54 +00:00
Mans Rullgard
f4855a904e ac3enc: NEON optimised ac3_max_msb_abs_int16 and ac3_exponent_min 2011-03-24 16:30:49 +00:00
Michael Niedermayer
d4a50a2100 Merge remote-tracking branch 'newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-21 03:33:28 +01:00
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>
2011-03-20 17:15:33 +00:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Mans Rullgard
e9634db1dc ARM: VP8: fix build on systems with global symbol prefix
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 0b32da90f8)
2011-02-28 00:34:39 +01:00
Mans Rullgard
cf9c227e58 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>
(cherry picked from commit 8b454c352f)
2011-02-28 00:34:38 +01:00
Mans Rullgard
0b32da90f8 ARM: VP8: fix build on systems with global symbol prefix
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-27 13:53:26 +00:00
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>
2011-02-27 13:53:21 +00:00
Loren Merritt
11ab1e409f 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>
(cherry picked from commit e6b1ed693a)
2011-02-14 23:58:19 +01:00
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>
2011-02-13 15:36:39 +01:00
Mans Rullgard
4ae3ee4ae9 VP8: ARM optimised decode_block_coeffs_internal
Approximately 5% faster on Cortex-A8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit a7878c9f73)
2011-02-13 00:52:51 +01:00
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