Mans Rullgard
59807fee6d
ARM: h264dsp_neon cosmetics
...
- Replace 'ip' with 'r12'.
- Use correct size designators for vld1/vst1.
- Whitespace fixes.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 19:59:18 +00:00
Janne Grunau
a760f530bb
ARM: make some NEON macros reusable
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 19:59:18 +00:00
Mans Rullgard
3adba2de3d
ARM: fix indentation in ff_dsputil_init_neon()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:36 +00:00
Mans Rullgard
96fef6cf31
ARM: NEON put/avg_pixels8/16 cosmetics
...
This makes whitespace and register names consistent with
the style used in more recent code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:36 +00:00
Mans Rullgard
716f1705e9
ARM: add remaining NEON avg_pixels8/16 functions
2011-12-01 19:41:36 +00:00
Mans Rullgard
94267ddfb2
ARM: clean up NEON put/avg_pixels macros
...
Although this adds a few lines, the macro calls are less convoluted.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:35 +00:00
Mans Rullgard
00a856e3f9
dca: ARMv6 optimised decode_blockcode()
...
This is a hand-tuned version of the code with impossible parts of
the FASTDIV function ommitted.
2-5% faster overall on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:53 +00:00
Mans Rullgard
3a0b72dee0
ARM: remove needless .text/.align directives
...
The 'function' macro already includes the appropriate
directives.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-23 15:06:50 +00:00
Mans Rullgard
8ee2b4672f
ARM: add explicit .arch and .fpu directives to asm.S
...
This prevents build errors when compiler and assembler default
targets differ. Ideally each file would declare the highest
level it requires. This is however not easily possible as it
complicates assembling pre-armv6t2 code in Thumb-2 mode.
HAVE_NEON is used as indicator for ARMv7-A since no other
symbol exists for this and NEON is only available in this
variant.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 12:13:02 +00:00
Diego Biurrun
ce33320b30
Remove redundant filename self-references inside files.
...
Filenames are brittle across renames and add no useful information.
2011-11-08 17:52:56 +01:00
Anton Khirnov
acffe45732
mpegvideo: remove some unused variables from MpegEncContext.
2011-10-23 14:13:40 +02:00
Ronald S. Bultje
c2d337429c
H264: change weight/biweight functions to take a height argument.
...
Neon parts by Mans Rullgard <mans@mansr.com>.
2011-10-21 01:00:45 -07:00
Baptiste Coudurier
76741b0e56
h264: 4:2:2 intra decoding support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21 01:00:41 -07:00
Mans Rullgard
6308729e68
ARM: check for inline asm 'y' operand modifier support
...
The inline asm added in bf5d46d
uses the 'y' modifier which
is only supported from gcc 4.5. This check allows building
with older compilers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-03 08:56:24 +01:00
Mans Rullgard
bf5d46d8e6
dca: NEON optimised high freq VQ decoding
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-30 19:01:23 +01:00
Mans Rullgard
baf6b738f2
ARM: NEON optimised vector_fmac_scalar()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 15:56:09 +01:00
Anton Khirnov
297d9cb3dc
mpeg12enc: add intra_vlc private option.
...
Deprecate CODEC_FLAG2_INTRA_VLC.
2011-08-31 13:19:14 +02:00
Måns Rullgård
9a83adaf34
arm: Avoid using the movw instruction needlessly
...
This fixes building for ARM11 without Thumb2.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-08-03 11:56:58 +03:00
Martin Storsjö
d0a2f0af9d
Move an int64_t down in MpegEncContext
...
This allows using the same arm assembler offsets for both EABI
and the mach-o ABI.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-08-03 11:56:56 +03:00
Mans Rullgard
cbd58a872d
dsputil: remove some unused functions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Mans Rullgard
a617c6aaa3
dsputil: update per-arch init funcs for non-h264 high bit depth
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
874f1a901d
dsputil: template get_pixels() for different bit depths
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
e7a972e113
simple_idct: add 10-bit version
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-20 17:49:48 +01:00
Diego Biurrun
8342a82680
arm: remove disabled function dct_unquantize_h263_inter_iwmmxt()
2011-07-16 19:15:01 +02:00
Mans Rullgard
11043d80f6
ARM: use const macro to define constant data in asm
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-10 17:56:06 +01:00
Mans Rullgard
fce1e43410
ARM: workaround for bug in GNU assembler
...
Some versions of the GNU assembler do not handle 64-bit
immediate operands containing arithmetic. Writing the
value out in full works correctly.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-05 18:39:23 +01:00
Mans Rullgard
3824ef08e0
ARM: allow unaligned buffer in fixed-point NEON FFT4
...
This function is called with only 8-byte alignment from
imdct for size 16. The fft4 function is not called for
the larger FFT or MDCT sizes, so this has no impact on
typical uses.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-04 20:36:35 +01:00
Mans Rullgard
5dd045ebc1
ARM: ac3: update ff_ac3_extract_exponents_neon per 8b7b2d6
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-02 18:24:41 +01:00
Mans Rullgard
8aa63f0b31
ARM: NEON optimised vector_clip_int32()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-02 18:24:41 +01:00
Mans Rullgard
a3e1f80e8b
ARM: remove check for PLD instruction
...
PLD is present in ARMv5TE and later, which is checked for separately.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-29 21:57:03 +01:00
Mans Rullgard
8986fddc2b
ARM: allow building in Thumb2 mode
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-23 07:31:54 +01:00
Mans Rullgard
88ff180ad6
ARM: update ff_h264_idct8_add4_neon for 4:4:4 changes
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-15 13:19:40 +01:00
Mans Rullgard
e897a633cd
ARM: factor some repetitive code into macros
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-14 10:43:54 +01:00
Jason Garrett-Glaser
c90b94424c
4:4:4 H.264 decoding support
...
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
2011-06-13 21:16:30 -07:00
Mans Rullgard
9776e25db9
ARM: jrevdct_arm: simplify stack usage
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-13 12:30:22 +01:00
Mans Rullgard
13743c7ab0
ARM: jrevdct_arm: use push/pop mnemonics
...
Use push/pop instead of stmdb/ldmia for stack operations. This
is the preferred syntax.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-13 12:30:22 +01:00
Mans Rullgard
77cdfde73e
ARM: jrevdct_arm: misc cleanup
...
- use 'const' macro to define coeff table
- add missing endfunc
- remove superflous directives
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-13 12:30:22 +01:00
Mans Rullgard
5c46ad1da0
ARM: optimised mpadsp_apply_window_fixed
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-13 11:33:44 +01:00
Mans Rullgard
21c6512542
ARM: remove MUL64 and MAC64 inline asm
...
Current GCC versions know how to generate these instructions
properly and avoiding inline asm gives better code. The MULH
function for ARMv5 uses the same instruction and is also not
needed any more.
The MLS64 macro remains since negating an input would normally
not be allowed as it would fail for INT_MIN. In our uses, the
inputs never have this value and thus negating is safe.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 17:33:40 +01:00
Mans Rullgard
594fbe42c6
ARM: remove MULL inline asm
...
Reasonable gcc versions get this one right on their own.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-04 21:33:23 +01:00
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
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
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
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
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