Commit Graph

1479 Commits

Author SHA1 Message Date
Diego Biurrun a7329e5fc2 x86: get_cpu_flags: add necessary ifdefs around function body
ff_get_cpu_flags_x86() requires cpuid(), which is conditionally defined
elsewhere in the file.  Surrounding the function body with ifdefs allows
building even when cpuid is not defined.  An empty cpuflags mask is
returned in this case.
2012-10-04 19:29:14 +02:00
Diego Biurrun f6fbce761e x86: Drop CPU detection intrinsics
Now that there is CPU detection in YASM, there will always be one of
inline or external assembly enabled, which obviates the need to fall
back on CPU detection through compiler intrinsics.
2012-10-04 19:29:14 +02:00
Diego Biurrun 1f6d86991f x86: Add YASM implementations of cpuid and xgetbv from x264
This allows detecting CPU features with builds that have neither
gcc inline assembly nor the right compiler intrinsics enabled.
2012-10-04 19:29:14 +02:00
Diego Biurrun 54b243141e x86: cpu: Break out test for cpuid capabilities into separate function 2012-10-04 18:09:21 +02:00
Diego Biurrun cc5e9e5ff0 x86: ff_get_cpu_flags_x86(): Avoid a pointless variable indirection 2012-10-04 17:58:42 +02:00
Anton Khirnov cd15b7c03d samplefmt: make av_samples_alloc() initialize the data to silence.
Right now the buffer is zeroed, which does not represent silence for U8(P).
2012-10-04 08:05:21 +02:00
Michael Niedermayer f0fce9f33e xtea: Test inplace decryption
Based on test code by: Giorgio Vazzana <mywing81@gmail.com>

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:19:53 +03:00
Michael Niedermayer b434500431 xtea: Fix CBC decryption when src==dst
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:19:49 +03:00
Martin Storsjö ca074cc313 xtea: Factorize testing into a separate function
Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:19:37 +03:00
Mans Rullgard 05e209c04c Allow use of strncpy()
There are cases where strncpy() does exactly what is required.
A blanket ban forces more convoluted solutions to be used in those
cases and has been a cause of bugs.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-03 14:36:51 +01:00
Martin Storsjö 75366a504d blowfish: Add more tests
Test inplace ECB, normal CBC and inplace CBC encryption/decryption.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 16:05:54 +03:00
Martin Storsjö 87f023f2c0 blowfish: Fix CBC decryption with dst==src
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 16:05:23 +03:00
Martin Storsjö 0cc9a64b92 blowfish: Factorize testing into a separate function
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 16:05:05 +03:00
Mans Rullgard 51a15ed740 ARM: use numeric ID for Tag_ABI_align_preserved
Some old assemblers still in use do not support named tags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-03 11:49:55 +01:00
Mans Rullgard 1ca3b62b10 ARM: bswap: drop armcc version of av_bswap16()
This function causes several versions of armcc to miscompile code,
and the performance impact is small.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 19:47:56 +01:00
Mans Rullgard 5e826fd65e ARM: set Tag_ABI_align_preserved in all asm files
All our ARM asm preserves alignment so setting this attribute
in a common location is simpler.  This removes numerous warnings
when linking with armcc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 19:47:56 +01:00
Mans Rullgard 7bda4ed780 ARM: fix Thumb PIC on Apple
LDR with register offset and PC as base register is not available in
the Thumb instruction set so the addition must be done separately.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 13:12:33 +01:00
Diego Biurrun 11d4e92ed9 avformat: Remove non-compiling and/or silly commented-out printf/av_log statements 2012-10-01 10:24:28 +02:00
Mans Rullgard 8995d34972 ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
The Apple assembler refuses to assemble the 3-operand form
in Thumb2 even though it is valid syntax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-21 07:07:58 +01:00
Mans Rullgard cdb7db5acd ARM: align PIC offset pools to 4 bytes
When building Thumb2 code, the end of a function, where the PIC
offsets are placed, need not be aligned.  Although the values
are only accessed with instructions allowing unaligned addresses,
keeping them aligned is preferable.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-21 07:07:58 +01:00
Mans Rullgard a27a690fac ARM: swap source operands in some add instructions
This allows using a 16-bit opcode when generating Thumb2 code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-20 17:07:18 +01:00
Mans Rullgard 7689eea49a flacdsp: arm optimised lpc filter 2012-09-15 23:54:21 +01:00
Tim Walker 8919fee7d2 lavu/audioconvert: add a second low frequency channel.
Can be used by DTS-HD, TrueHD and E-AC-3, among others.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-12 18:26:53 -04:00
Mans Rullgard 8c5ed7a66a mem: fix typo in check for __ICC
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-10 00:07:26 +01:00
Diego Biurrun e0c6cce447 x86: Replace checks for CPU extensions and flags by convenience macros
This separates code relying on inline from that relying on external
assembly and fixes instances where the coalesced check was incorrect.
2012-09-08 18:18:34 +02:00
Justin Ruggles 7327525997 x86: float_dsp: fix ff_vector_fmac_scalar_avx() on Win64
The SWAP macro does not work for explicit xmm/ymm usage, so instead just move
the scalar value from xmm2 to xmm0.
2012-09-07 14:49:10 -04:00
Michael Niedermayer 42e63ec8dc avopt: fix examples to match the same style about default values as the actual code.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 20:09:47 +03:00
Ronald S. Bultje 4fa661a857 lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:30 +03:00
Martin Storsjö 686a329395 avopt: Reorder the default_val struct, making i64 the first field
Also mention this change in APIchanges.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:16:11 +03:00
Martin Storsjö 21bc440384 avopt: Explicitly store rational option defaults in .dbl
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:55 +03:00
Martin Storsjö e6153f173a avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:44 +03:00
Martin Storsjö d58dd4b5b5 avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:38 +03:00
Martin Storsjö 124134e424 avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:32 +03:00
Luca Barbato a684267076 pixdesc: cosmetics 2012-09-04 14:55:31 +02:00
Diego Biurrun f82c4fb27f x86: Add convenience macros to check for CPU extensions and flags 2012-09-04 01:44:59 +02:00
Diego Biurrun 17337f54c0 x86: Split inline and external assembly #ifdefs 2012-08-31 01:53:25 +02:00
Diego Biurrun a886b279a0 x86: cosmetics: Comment some #endifs for better readability 2012-08-30 18:50:33 +02:00
Loren Merritt 7a1944b907 vf_hqdn3d: x86 asm
13% faster on penryn, 16% on sandybridge, 15% on bulldozer
Not simd; a compiler should have generated this, but gcc didn't.
2012-08-26 10:49:14 +00:00
Anton Khirnov 4d7adec8bd AVOptions: store defaults for INT64 options in int64 union member.
Double does not have enough precision to represent all int64 numbers
exactly.
2012-08-24 11:25:06 +02:00
Justin Ruggles 6092dafb5a lavr: x86: optimized 6-channel s16 to fltp conversion 2012-08-23 20:10:57 -04:00
Mans Rullgard 5b170c0bea x86: remove FASTDIV inline asm
GCC 4.3 and later do the right thing with the plain C code.  Earlier
versions in 32-bit mode generate one extra instruction, needlessly
zeroing what would be the high half of the shifted value.  At least
two gcc configurations miscompile the inline asm in some situations.

In 64-bit mode, all gcc versions generate imul r64, r64 followed by
shr.  On Intel i7 and later, this imul is faster 32-bit mul.  On
older Intel and all AMD, it is slightly slower.  On Atom it is much
slower.

Considering where the FASTDIV macro is used, any overall negative
performance impact of this change should be negligible.  If anyone
cares, they should file a bug against gcc and get the instruction
selection fixed.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-22 14:29:10 +01:00
Diego Biurrun 66baa45801 configure: Drop fastdiv option
There is no point in having the user disable any fastdiv macros.
Besides the condition implementation was broken and only disabled
the C implementation, but no platform specific assembly versions.
2012-08-22 01:02:18 +02:00
Martin Storsjö 33e112847d Add more missing includes after removing the implicit common.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 10:49:54 +03:00
Martin Storsjö 70766c2182 Add some more missing includes after removing the implicit common.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 23:48:48 +03:00
Martin Storsjö 1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Mans Rullgard 87fa05a0da ARM: intmath: use native-size return types for clipping functions
This avoids having the compiler redundantly mask the values to
the smaller size.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Mans Rullgard 6c4975eaaf libavutil: add saturating addition functions
Fixed-point audio codecs often use saturating arithmetic, and
special instructions for these operations are common.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:10 +01:00
Mans Rullgard 33de86db2b dict: move struct AVDictionary definition to dict.c
This makes struct AVDictionary fully opaque now that nothing
needs to access it directly any more.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 15:15:00 +01:00
Mans Rullgard 987170cb9d dict: add av_dict_count()
This adds a function to retrieve the number of entries in a
dictionary and updates the places directly accessing what should
be an opaque struct to use this new function instead.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 15:15:00 +01:00
Mans Rullgard 0d735ca214 ARM: add missing "cc" clobber in av_clipl_int32_arm()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 10:51:10 +01:00