Ronald S. Bultje
65f1d45dcc
lavu: add support for atomic operations.
...
These could be used for reference counting, or for keeping track of
decoding progress in references in multithreaded decoders.
Support is provided by gcc/msvc/suncc intrinsics, with a fallback using
pthread mutexes.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-08 07:32:36 +01:00
Martin Storsjö
4be368b504
avstring: Fix isxdigit to not accept non-hex characters
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 16:46:46 +02:00
Reimar Döffinger
efa7f42020
Use the avstring.h locale-independent character type functions
...
Make sure the behavior does not change with the locale.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:36 +02:00
Reimar Döffinger
12c5c1d3e3
avstring: Add locale independent versions of some ctype.h functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:26 +02:00
Diego Biurrun
0b31129389
lls: Do not return from void functions
2013-03-01 01:44:35 +01:00
Diego Biurrun
4da950c0ae
lls: #ifndef --> #if in FF_API_ version guard
2013-03-01 01:44:35 +01:00
Luca Barbato
399663be9d
lls: mark max_order as unsigned short
...
The value is within 0 and 32.
Remove an `array subscript is below array bounds` warning.
2013-02-28 17:39:24 +01:00
Luca Barbato
9d4da474f5
lls: move to the private namespace
...
The functions are private.
2013-02-28 17:39:24 +01:00
Luca Barbato
7ac6d2423e
lls: K&R formatting cosmetics
2013-02-28 17:39:24 +01:00
Anton Khirnov
f935aca44c
av_memcpy_backptr: avoid an infinite loop for back = 0
...
CC:libav-stable@libav.org
2013-02-23 09:16:15 +01:00
Diego Biurrun
c9ad5f59aa
intreadwrite: tomi: Add missing attributes.h #include for av_always_inline
2013-02-20 00:45:30 +01:00
Ronald S. Bultje
0c0828ecc5
x86: Use simple nop codes for <= sse (rather than <= mmx)
...
The "CentaurHauls family 6 model 9 stepping 8" family of CPUs
(flags: fpu vme de pse tsc msr cx8 sep mtrr pge mov pat mmx fxsr sse
up rng rng_en ace ace_en) SIGILLs on long nop codes.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-19 22:33:19 +02:00
Diego Biurrun
4db96649ca
avutil: Ensure that emms_c is always defined, even on non-x86
2013-02-14 19:29:04 +01:00
Diego Biurrun
ab441e20ff
avutil: Move emms code to x86-specific header
2013-02-14 17:37:34 +01:00
Luca Barbato
fd1abf4269
lavu: avoid clashing definition of E
...
E is usually defined as a shorthand for AV_OPT_FLAG_ENCODING_PARAM.
Rename the single expansion E(x) now used in libavutil to E1.
2013-02-12 11:47:43 +01:00
Diego Biurrun
62a43d30cc
crc: Move static data table from header to .c file
...
Having static data tables in header files is a potential source of trouble.
2013-02-11 16:48:44 +01:00
Martin Storsjö
ab8f1a6989
arm: Fall back to runtime cpu feature detection via /proc/cpuinfo
...
On recent android versions, /proc/self/auxw is unreadable
(unless the process is running running under the shell uid or
in debuggable mode, which makes it hard to notice). See
http://b.android.com/43055 and
https://android-review.googlesource.com/51271 for more information
about the issue.
This makes sure e.g. neon optimizations are enabled at runtime in
android apps even when built in release mode, if configured to
use the runtime detection.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-11 17:15:15 +02:00
Diego Biurrun
218aefce44
dsputil: Move LOCAL_ALIGNED macros to libavutil
2013-02-08 23:13:37 +01:00
Justin Ruggles
38c1466ca4
dict: add av_dict_parse_string()
...
Can be used to set multiple key/value pairs from a string.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 17:20:03 +01:00
Vladimir Pantelic
b85a5e87af
lavu: Add av_strnstr()
...
This is a length limited version of strstr()
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 10:47:51 +01:00
Luca Barbato
4333df6355
avstring: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-24 20:49:54 +01:00
Martin Storsjö
2e4130037c
float_dsp: Include config.h for redefining restrict
...
This makes sure that the restrict keyword is mapped to whatever
keyword the compiler prefers/supports. This fixes building on MSVC
(and possibly on GCC 2.x as well).
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-23 11:17:32 +02:00
Ronald S. Bultje
d56668bd80
floatdsp: move scalarproduct_float from dsputil to avfloatdsp.
...
This makes the aac decoder and all voice codecs independent of dsputil.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
5959bfaca3
floatdsp: move butterflies_float from dsputil to avfloatdsp.
...
This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3)
independent of dsputil.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
42d3246948
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
...
Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
2013-01-22 11:55:42 -08:00
Ronald S. Bultje
55aa03b9f8
floatdsp: move vector_fmul_add from dsputil to avfloatdsp.
2013-01-22 11:55:42 -08:00
Martin Storsjö
f4facd2ce7
x86: Add a Yasm-based emms() replacement
...
This provides a fallback when building with Yasm enabled, but neither
inline assembly, nor the _mm_empty intrinsic are available or enabled.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-18 22:02:13 +01:00
Diego Biurrun
d633d12b2c
x86inc: Add cvisible macro for C functions with public prefix
...
This allows defining externally visible library symbols.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-18 22:02:03 +01:00
Diego Biurrun
ef5d41a553
x86inc: Rename "program_name" to "private_prefix"
...
The new name is more descriptive and will allow defining a separate
public prefix for externally visible library symbols.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-18 20:29:53 +01:00
Martin Storsjö
973b4d44f1
float_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window
...
This fixes builds on 64bit MSVC.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-17 19:07:35 +02:00
Justin Ruggles
e034cc6c60
lavc: Move vector_fmul_window to AVFloatDSPContext
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-16 10:45:45 +01:00
Martin Storsjö
3130fa51a5
lavu: Add a fate test for the HMAC API
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 23:18:07 +02:00
Diego Biurrun
dae1d507af
x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
2013-01-15 17:29:43 +01:00
Diego Biurrun
320e1d0df3
x86: ABSB2: port to cpuflags
2013-01-15 11:18:51 +01:00
Diego Biurrun
094a7405e5
x86: ABSB: port to cpuflags
2013-01-15 11:18:51 +01:00
Martin Storsjö
8ee288d258
lavu: Add an API for calculating HMAC (RFC 2104)
...
This supports HMAC-MD5 and HMAC-SHA1 for now, other hashes are
simple to add.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 11:54:19 +02:00
Diego Biurrun
51969a652c
x86: ABS2: port to cpuflags
2013-01-14 21:56:55 +01:00
Diego Biurrun
f89466ad6f
Add version bump and APIchanges entry for Add AV_PIX_FMT_VDPAU.
...
Also fix a lavu version typo in APIchanges.
2013-01-12 12:28:12 +01:00
Rémi Denis-Courmont
169fb94f0f
pixfmt: add picture format for VDPAU
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-12 12:00:49 +01:00
Diego Biurrun
5b4dfbffc2
x86: ABS1: port to cpuflags
2013-01-06 13:57:01 +01:00
Diego Biurrun
bcb8d9eb8f
Drop unnecessary 'l' length modifier when printfing double values.
...
%f denotes a double argument and 'l' does nothing in this case
according to the C spec.
2012-12-31 11:20:45 +01:00
Luca Barbato
d8fd06c37d
avstring: add av_basename and av_dirname
...
Thread safe version of the common basename and dirname.
2012-12-29 17:26:22 +01:00
Justin Ruggles
d02202e08a
opt: avoid segfault in av_opt_next() if the class does not have an option list
...
CC: libav-stable@libav.org
2012-12-22 15:43:27 -05:00
Ronald S. Bultje
a34d9ad969
lavc: merge latest x86inc.asm fixes with x264
...
Unbreak NASM support.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-19 07:27:33 +01:00
Diego Biurrun
523c7bd23c
misc typo, style and wording fixes
2012-12-18 13:36:51 +01:00
Janne Grunau
0995ad8db4
x86inc: fully concatenate tokens to fix macro expansion for nasm
...
Fixes build errors with nasm introduced in 6f40e9f070
for stack
memory alignment. Noticed by BugMaster.
2012-12-13 23:57:09 +01:00
Ronald S. Bultje
140367aff9
x86inc: fix stack alignment on win64
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 21:30:49 +02:00
Ronald S. Bultje
6f40e9f070
x86inc: support stack mem allocation and re-alignment in PROLOGUE
...
Use this in VP8/H264-8bit loopfilter functions so they can be used if
there is no aligned stack (e.g. MSVC 32bit or ICC 10.x).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-12 05:23:46 +01:00
Justin Ruggles
1c012e6bfb
x86: float_dsp: fix loading of the len parameter on x86-32
2012-12-07 21:19:29 -05:00
Mans Rullgard
b57c1da81e
arm: detect cpu features at runtime on Linux
...
This allows compiling optimised functions for features not enabled
in the core build and selecting these at runtime if the system has
the necessary support.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:04 +00:00
Mans Rullgard
b326755989
arm: rename ARMVFP config symbol to VFP
...
This is consistent with usual ARM nomenclature as well as with the
VFPV3 and NEON symbols which both lack the ARM prefix.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:04 +00:00
Mans Rullgard
a7831d509f
arm: use HAVE*_INLINE/EXTERNAL macros for conditional compilation
...
These macros reflect the actual capabilities required here.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Justin Ruggles
ecc8b02194
x86: float_dsp: fix compilation of ff_vector_dmul_scalar_avx() on x86-32
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-12-06 14:11:15 +01:00
Paul B Mahol
b519298a15
pixdesc: fix yuva 10bit bit depth
...
It was wrongly set as the yuva 16bit one.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-05 17:52:55 +01:00
Justin Ruggles
b30a363331
x86: af_volume: add SSE2/SSSE3/AVX-optimized s32 volume scaling
2012-12-05 11:23:37 -05:00
Justin Ruggles
9d5c62ba5b
lavu/opt: do not filter out the initial sign character except for flags
...
This allows parsing of special-case negative numbers like decibels.
2012-12-05 11:23:36 -05:00
Justin Ruggles
5312268b34
eval: treat dB as decibels instead of decibytes
2012-12-05 11:23:36 -05:00
Justin Ruggles
ac7eb4cb20
float_dsp: add vector_dmul_scalar() to multiply a vector of doubles
...
Include x86-optimized versions for SSE2 and AVX.
2012-12-05 11:23:36 -05:00
Anton Khirnov
cb45553f57
Remove pointless #undefs of previously forbidden functions.
2012-12-04 21:40:22 +01:00
Martin Storsjö
7e6a11bcf7
avutil: Use a configure check to enable windows console functions
...
Not all versions or API subsets of windows have these functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-30 16:56:57 +02:00
Martin Storsjö
b70abd5b61
avutil: Include io.h with a separate condition from windows console functions
...
Not all versions of windows have the console color functions,
while io.h might be needed for isatty (which can be found in
unistd.h or io.h).
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-30 16:56:54 +02:00
Martin Storsjö
15816c8e8b
avutil: Include io.h with a separate condition from MapViewOfFile
...
The existence of MapViewOfFile isn't linked to the existence of
io.h.
Not all versions of windows have MapViewOfFile (in particular,
Windows Phone 8 and the "metro" windows 8 API subset don't),
while they still have io.h (and need it for open/read/close).
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-29 18:19:57 +02:00
Diego Biurrun
490df522c7
x86: cpu: Drop unused HAVE_RWEFLAGS condition
...
The test for rweflags was dropped in a previous commit.
2012-11-28 00:28:09 +01:00
Justin Ruggles
947f933687
x86: float_dsp: add SSE version of vector_fmul_scalar()
2012-11-26 11:30:19 -05:00
Justin Ruggles
284ea790d8
dsputil: move vector_fmul_scalar() to AVFloatDSPContext in libavutil
2012-11-26 11:29:06 -05:00
Mans Rullgard
dd3b73f390
base64: fix signed overflow in shift
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-26 13:34:58 +00:00
Janne Grunau
e96d90eed6
remove #defines to prevent use of discouraged external functions
...
Preventing the use of discouraged or 'insecure' external functions
through defines in an internal header is not a good solution. The
header is not guaranteed to be included universally which makes
overlooking bad use of said functions during review more likely.
There are cases were those functions either are the most straight
forward solution or even have to be used. Using malloc or free is
required if the allocation or release is done by other libraries.
2012-11-25 23:02:04 +01:00
Mans Rullgard
4a606c830a
av_memcpy_backptr: optimise some special cases
...
- Add special cases for offsets of 2, 3, or 4 bytes. This means the
offset is always >4 in the generic case, allowing 32-bit copies to
be used there.
- Don't use memcpy() for sizes less than 16 bytes.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:04:17 +00:00
Luca Barbato
cbe5a60c9d
pixdesc: add PIX_FMT_ALPHA flag
2012-11-20 12:45:58 +01:00
Diego Biurrun
87af05c575
x86: SPLATD: port to cpuflags
2012-11-18 18:34:05 +01:00
Janne Grunau
8f5587c3d0
cpu.h: define AV_CPU_FLAG_MMX2 for libavutil major 52
2012-11-16 15:04:48 +01:00
Diego Biurrun
8ff0f7763d
crc: av_crc() parameter names should match between .c, .h and doxygen
2012-11-16 10:38:23 +01:00
Mans Rullgard
7ba0c1b390
avutil: change GET_UTF8 to not use av_log2()
...
This removes an inter-library dependency on ff_log2_tab causing
linking errors in some configurations.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-14 13:50:42 +00:00
Diego Biurrun
26301caaa1
x86: mmx2 ---> mmxext in asm constructs
2012-11-14 00:58:51 +01:00
Luca Barbato
c1a02e884a
pixdesc: add av_pix_fmt_get_chroma_sub_sample
...
Deprecate avcodec_get_chroma_sub_sample.
2012-11-13 16:14:55 +01:00
Diego Biurrun
2b479bcab0
build: Drop AVX assembly ifdefs
...
An assembler able to cope with AVX instructions is now required.
2012-11-11 20:43:28 +01:00
Justin Ruggles
5980f5dd18
lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h
2012-11-11 13:35:12 -05:00
Diego Biurrun
f0d124f005
x86inc: Set program_name outside of x86inc.asm
...
This reduces the local difference to the x264 upstream version.
2012-11-11 11:06:19 +01:00
Diego Biurrun
4b60fac419
x86: PALIGNR: port to cpuflags
2012-11-09 21:31:31 +01:00
Justin Ruggles
dfde8a34e5
lavu: add av_ctz() for trailing zero bit count
2012-11-05 15:32:29 -05:00
Diego Biurrun
dbb37e7711
x86: PABSW: port to cpuflags
2012-11-05 14:51:10 +01:00
Anton Khirnov
b4dc6dccba
crc: move doxy to the header
2012-11-02 18:28:56 +01:00
Diego Biurrun
0a7a94f2e5
x86: Refactor PSWAPD fallback implementations and port to cpuflags
2012-11-02 17:05:29 +01:00
Diego Biurrun
26f01bd106
x86: PMINUB: port to cpuflags
2012-11-02 15:38:15 +01:00
Diego Biurrun
61bc2bc7d4
x86util: Add cpuflags_mmxext alias for cpuflags_mmx2
...
"mmxext" is a more sensible name and more common in outside projects.
2012-11-02 15:22:34 +01:00
Diego Biurrun
012f73e271
x86inc: Only define program_name if the macro is unset
...
This allows overriding the value from outside of the file.
2012-11-02 14:38:00 +01:00
Dave Yeo
9c167914a1
x86: Fix assembly with NASM
...
Unlike YASM, NASM only looks for include files in the current
directory, not in the directory that included files reside in.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-31 10:20:35 +01:00
Diego Biurrun
588fafe7f3
x86: MMX2 ---> MMXEXT in macro names
2012-10-31 01:04:55 +01:00
Diego Biurrun
6860b4081d
x86: include x86inc.asm in x86util.asm
...
This is necessary to allow refactoring some x86util macros with cpuflags.
2012-10-31 00:37:42 +01:00
Luca Barbato
7658295ba3
pixfmt: support more yuva formats
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-30 12:02:42 +01:00
Ronald S. Bultje
08b028c18d
Remove INIT_AVX from x86inc.asm.
2012-10-29 14:51:14 -07:00
Anton Khirnov
01b760190d
lavr: add general API usage doxy
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-29 20:05:41 +01:00
Diego Biurrun
2a91ada828
avutil: Make LZO decoder code configure-time selectable
2012-10-25 11:49:49 +02:00
Diego Biurrun
5bac2d0c30
avutil: Move memcpy_backptr() to mem.c
...
The function is used elsewhere and does not belong with the LZO code.
2012-10-25 11:36:57 +02:00
Mans Rullgard
d82f188504
Remove need for padding in av_memcpy_backptr()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 18:57:24 +01:00
Diego Biurrun
ceb754d041
lzo: Use AV_COPY*U macros where appropriate
2012-10-23 18:45:50 +02:00
Diego Biurrun
af6dd6de08
intreadwrite: Add AV_COPYxxU macros for copying to/from unaligned addresses
2012-10-23 16:54:08 +02:00
Mans Rullgard
fab0a8b2c6
libm: add fallbacks for various single-precision functions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:21 +01:00
Anton Khirnov
00ed7f5958
lavu: remove disabled FF_API_AV_FIFO_PEEK cruft
2012-10-23 07:33:05 +02:00
Anton Khirnov
c692957c4e
lavu: remove disabled avoptions cruft
2012-10-23 07:33:05 +02:00