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
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
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
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
Mans Rullgard
5f2e6c0fd1
ac3enc: NEON optimised extract_exponents
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-05 01:11:16 +01: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
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
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
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
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