Derek Buitenhuis
530cd2893e
tree-test: Don't return restricted exit codes
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-24 10:59:26 +01:00
Diego Biurrun
0d6d4a9e4a
avstring-test: Mark pointer passed to av_free() as non-const
...
libavutil/avstring.c:278:9: warning: passing argument 1 of ‘av_free’ discards ‘const’ qualifier from pointer target type
2013-10-23 13:17:23 +02:00
Martin Storsjö
d433e1aefa
mem: Make av_strdup allocate using av_realloc
...
This makes sure that pointers from av_strdup are reallocable,
which is used in av_dict_set if the AV_DICT_APPEND flag is set.
Nothing should rely on pointers from av_strdup being aligned.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-10-16 18:59:01 +03:00
Jason Garrett-Glaser
a3fabc6cb3
x86: more AVX2 framework
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-14 12:41:56 +01:00
Jason Garrett-Glaser
c6908d6b4b
x86inc: FMA3/4 Support
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-14 12:41:54 +01:00
Derek Buitenhuis
206895708e
x86inc: Remove our FMA4 support
...
This is so we can sync to x264's version of FMA4 support.
This partialy reverts commit 79687079a9
.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-14 12:39:29 +01:00
Henrik Gramner
c108ba0175
x86inc: Use VEX-encoded instructions in AVX functions
...
Automatically use VEX-encoding in AVX/AVX2/XOP/FMA3/FMA4
functions for all instructions that exists in a VEX-encoded
version.
This change makes it easier to extend existing code to use AVX2.
Also add support for AVX emulation of a few instructions that
were missing before.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-14 12:36:11 +01:00
Henrik Gramner
ad7d7d4f6a
x86inc: Remove .rodata kludges
...
The Mach-O bug was fixed in yasm 0.8.0 and we don't
support versions that old anymore.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-09 07:44:30 -04:00
Henrik Gramner
3e2fa991db
x86inc: remove misaligned cpu flag
...
Prevents a crash if the misaligned exception mask bit is
cleared for some reason.
Misaligned SSE functions are only used on AMD Phenom CPUs
and the benefit is miniscule. They also require modifying
the MXCSR control register and by removing those functions
we can get rid of that complexity altogether.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:27:38 -04:00
Jason Garrett-Glaser
7115566541
x86inc: various minor backports from x264
...
Small backports that sneaked into other asm commits in x264.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:27:22 -04:00
Derek Buitenhuis
47f9d7ce54
x86inc: Check for __OUTPUT_FORMAT__ having a value of "x64"
...
This is also a valid value for WIN64.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:27:08 -04:00
Henrik Gramner
bbe4a6db44
x86inc: Utilize the shadow space on 64-bit Windows
...
Store XMM6 and XMM7 in the shadow space in functions that
clobbers them. This way we don't have to adjust the stack
pointer as often, reducing the number of instructions as
well as code size.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:25:35 -04:00
Loren Merritt
3fb78e99a0
x86inc: create xm# and ym#, analagous to m#
...
For when we want to mix simd sizes within one function.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:25:19 -04:00
Loren Merritt
49ebe3f9fe
x86inc: fix some corner cases of SWAP
...
SWAP with >=3 named (rather than numbered) args
PERMUTE followed by SWAP with 2 named args
used to produce the wrong permutation
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:25:06 -04:00
Henrik Gramner
63f0d62310
x86inc: Use SSE instead of SSE2 for copying data
...
Reduces code size because movaps/movups is one byte
shorter than movdqa/movdqu.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:24:33 -04:00
Henrik Gramner
ad76e6e7e1
x86inc: Set ELF hidden visibility for global constants
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:24:13 -04:00
Loren Merritt
25cb0c1a1e
x86inc: activate REP_RET automatically
...
Now RET checks whether it immediately follows a branch, so the
programmer dosen't have to keep track of that condition. REP_RET
is still needed manually when it's a branch target, but that's
much rarer.
The implementation involves lots of spurious labels, but that's OK
because we strip them.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-07 06:17:59 -04:00
Luca Barbato
4272bb6ef1
doxy: Document avlog
...
Provide some information for every function and add a group.
2013-10-05 18:09:45 +02:00
Diego Biurrun
80fefbed62
x86: cpu: Restore some explanatory comments removed in 7160bb7
2013-10-03 23:00:09 +02:00
Diego Biurrun
5ce04c14dd
Use correct Doxygen syntax
2013-10-03 17:53:51 +02:00
Anton Khirnov
38e15df148
avframe: note that linesize is not the usable data size
2013-09-28 07:35:50 +02:00
Michael Niedermayer
a454dec19a
pixdesc: fix NV20* descriptors
...
They were inconsistent (overlapping fields and wrong sizes)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 14:02:10 +02:00
Alex Smith
08fa828b3f
avutil: Fix compilation with inline asm disabled on mingw
...
Because of -Werror=implicit-function-declaration the build will fail.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-22 00:50:32 +03:00
Kieran Kunhya
e208e6d209
lavu: Add interleaved 4:2:2 8/10-bit formats
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-09-21 17:36:15 +02:00
Martin Storsjö
67e285ceca
mem: Handle av_reallocp(..., 0) properly
...
Previously this did a double free (and returned an error).
Reported-by: Justin Ruggles
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 21:23:08 +03:00
Alex Smith
33b88f2a4a
msvc/icl: Use __declspec(noinline)
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 14:40:06 +03:00
Alex Smith
09f2581dc5
msvc/icl: Use __declspec(deprecated)
...
Prior to this on msvc/icl there was no handling of deprecated functions
and the deprecated warning was disabled.
After enabling there are a number of warnings relating to the CRT and
the use of the non-secure versions of several functions. Defining
_CRT_SECURE_NO_WARNINGS silences these warnings.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-20 14:40:06 +03:00
Luca Barbato
3feb3d6ce4
mem: Introduce av_reallocp
2013-09-16 19:36:37 +02:00
Diego Biurrun
9997a812e7
mem: Document the non-compatibility of av_realloc() and av_malloc()
2013-09-14 17:38:01 +02:00
Diego Biurrun
a0b901a348
Drop pointless directory name prefixes from #includes in the current dir
2013-09-10 12:38:41 +02:00
Diego Biurrun
c3e6e8f06c
mem: Do not check unsigned values for negative size
2013-09-05 12:38:43 +02:00
Diego Biurrun
b634b36fce
mem: Improve documentation wording and spelling
2013-09-05 12:38:43 +02:00
Luca Barbato
b4ec7a5fee
mem: Document the av_realloc family of functions properly
...
realloc() does not accept pointers from memalign().
2013-09-04 10:56:41 +02:00
Diego Biurrun
79aec43ce8
x86: Add and use more convenience macros to check CPU extension availability
2013-08-29 13:07:37 +02:00
Diego Biurrun
7ffda66fd5
arm: float_dsp: Propagate cpu_flags to vfp initialization function
2013-08-29 11:24:14 +02:00
Diego Biurrun
f61bece684
ppc: Add and use convenience macro to check for AltiVec availability
2013-08-28 23:54:15 +02:00
Diego Biurrun
8410d6e93c
avutil: Refactor CPU extension availability macros
2013-08-28 23:54:14 +02:00
Diego Biurrun
b78b10c4b7
avutil: Move internal CPU detection function declarations to private header
2013-08-28 23:54:14 +02:00
Martin Storsjö
e743e7ae6e
libavutil: Make avpriv_open a library-internal function on msvcrt
...
Add one copy of the function into each of the libraries, similarly
to what we do for log2_tab. When using static libs, only one
copy of the file_open.o object file gets included, while when
using shared libraries, each of them get a copy of its own.
This fixes DLL builds with a statically linked C runtime, where
each DLL effectively has got its own instance of the C runtime,
where file descriptors can't be shared across runtimes.
On systems not using msvcrt, the function is not duplicated.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:33 +03:00
Martin Storsjö
a76d0cdf21
libavutil: Move avpriv_open to a new file, file_open.c
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:33 +03:00
Martin Storsjö
33237123c8
libavutil: Enable the MSVC DLL symbol loading workaround in shared builds as well
...
This used to only be necessary in static builds (when using the
dynamically linked C runtime), since the _imp prefixed symbols do
exist when linking to the actual DLL. When building testprogs,
however, the current library (e.g. libavutil for some of the testprogs)
is linked statically.
This fixes make fate on DLL builds when using the dynamically
linked C runtime.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:25 +03:00
Martin Storsjö
dfc6b5c814
file: Move win32 utf8->wchar open wrapper to libavutil
...
When libavformat was changed to use the new avpriv_open function
in 51eb213d00
, this silently bypassed the existing wrapper for
win32. Move the win32 wrapper into libavutil/file.c to make sure
it gets called everywhere (not just in the libavformat case).
This makes sure that non-ascii file names gets opened properly
(where file names internally are stored as utf8, but they get
converted to wchar_t and opened with _wsopen).
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 16:41:33 +03:00
Derek Buitenhuis
0f1fb6c019
libavutil: Don't use fcntl if the function does not exist
...
Not all platforms have the function.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 11:07:51 +03:00
Rémi Denis-Courmont
880391ed2d
libavutil: use avpriv_open()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:12:28 +02:00
Rémi Denis-Courmont
869b04e891
libavutil: add avpriv_open() to open files with close-on-exec flag
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:12:20 +02:00
Rémi Denis-Courmont
a0ad5d0113
vdpau: deprecate old codec-specific pixel formats
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:16:54 +02:00
Diego Biurrun
7950e519bb
Disable deprecation warnings for cases where a replacement is available
2013-08-02 19:19:02 +02:00
Diego Biurrun
3a7050ffed
build: Add _Pragma macro to disable deprecated declaration warnings
2013-08-02 19:19:02 +02:00
Diego Biurrun
b5a138652f
Give less generic names to global library option arrays
2013-08-02 19:19:02 +02:00
Vittorio Giovara
3c8bff0740
avframe: have av_frame_get_side_data take const AVFrame*
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-01 09:41:45 +02:00
Martin Storsjö
c7e921a54f
avopt: Check whether the object actually has got an AVClass
...
AVIOContext has got an av_class member that only gets set if
opening the context using avio_open2, but not if allocating a
custom IO context. A caller that wants to read AVOptions from
an AVIOContext (recursively using AV_OPT_SEARCH_CHILDREN) may
not know if the AVIOContext actually has got a class set or not.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:31:14 +03:00
Diego Biurrun
c2e936de07
tree-test: Refactor and plug memory leaks
...
With the most annoying memory leak found by Derek Buitenhuis.
2013-07-31 18:14:08 +02:00
Diego Biurrun
a9b04b2c43
tree.h: K&R formatting and typo cosmetics
2013-07-31 18:14:08 +02:00
Diego Biurrun
78b4bfdb84
Replace remaining obsolete PIX_FMT names with AV_PIX_FMT equivalents
2013-07-29 23:46:51 +02:00
Diego Biurrun
d99a2b6d0a
avutil/tree: Drop debug messages that clutter the output
2013-07-29 19:20:27 +02:00
Diego Biurrun
10db1a9bca
avutil/tree: K&R formatting cosmetics
2013-07-29 19:20:27 +02:00
Diego Biurrun
bf4b0ed1d5
Add missing deprecation attributes
2013-07-27 16:08:49 +02:00
Diego Biurrun
5b097399ba
eval: Explicitly ignore return value of strtod() in parse_db()
...
The return value is not needed. This fixes the warning:
libavutil/eval.c:353:15: warning: ignoring return value of ‘strtod’
2013-07-27 16:00:41 +02:00
Diego Biurrun
439902e0d6
Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/
...
Also fix a comment and an #endif comment.
2013-07-18 18:12:38 +02:00
Diego Biurrun
3ac7fa81b2
Consistently use "cpu_flags" as variable/parameter name for CPU flags
2013-07-18 00:31:35 +02:00
Martin Storsjö
ef5b70affc
configure: Check for support for labels in the inline assembly
...
Use this for enabling the ppc timer.h implementation only on
assemblers that support labels in the inline assembly.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-11 18:53:02 +03:00
Luca Barbato
73142e7533
fifo: K&R formatting cosmetics
2013-07-06 14:28:06 +02:00
Luca Barbato
0420c810ce
log: pass the correct parameters to missing_feature_sample
...
CC:libav-stable@libav.org
2013-07-04 21:25:11 +02:00
Loren Merritt
c8b920a9b7
lls/x86: use 3-operator vaddpd in ADDPD_MEM
...
Fixes build with yasm-1.1
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-07-02 10:15:09 +02:00
Loren Merritt
1221bb6239
x86: lpc: fix a segfault in av_evaluate_lls_sse2()
2013-06-30 23:11:19 +00:00
Loren Merritt
b545179fdf
x86: lpc: simd av_evaluate_lls
...
1.5x-1.8x faster on sandybridge
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Loren Merritt
502ab21af0
x86: lpc: simd av_update_lls
...
4x-6x faster on sandybridge
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Loren Merritt
41578f70cf
lpc: use function pointers, in preparation for asm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Loren Merritt
cc6714bb16
lpc: remove "decay" argument
...
We never used the rolling-average mode, and this makes av_update_lls 15% faster.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Martin Storsjö
fc962d4e7a
mem: Add av_realloc_array and av_reallocp_array
...
These help avoiding overflows and simplify error handling.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:04:08 +03:00
Diego Biurrun
f0ce1d9909
cpu: Restructure code to avoid pointless ret variable indirection
...
libavutil/cpu.c:133:9: warning: unused variable ‘ret’ [-Wunused-variable]
2013-06-02 18:05:08 +02:00
Martin Storsjö
be7952b5c3
arm: Only output eabi attributes if building for ELF
...
This matches the other eabi attribute in the same file. This is
required in order to build for arm/hardfloat with other object
file formats than ELF.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-27 00:55:33 +03:00
Martin Storsjö
597208fde1
cpu: Include common.h for av_popcount64
...
This fixes build failures on windows since 2a6eaeaa8
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-24 13:34:19 +03:00
Anton Khirnov
2a6eaeaa85
Move get_logical_cpus() from lavc/pthread to lavu/cpu.
...
It will be useful in lavfi, and could conceivably be useful to the user
applications as well.
2013-05-24 09:28:00 +02:00
Anton Khirnov
f36d7831d9
pixdesc: mark gray8 as pseudopal
...
Many functions treat it as such already.
Fixes Bug 499.
CC:libav-stable@libav.org
2013-05-22 21:18:08 +02:00
Anton Khirnov
40020e171a
doxy: add a section about versioning.
2013-05-17 20:26:18 +02:00
Anton Khirnov
bc8c1cdc7b
lavfi doxy: add a page for lavfi.
2013-05-17 20:26:11 +02:00
Diego Biurrun
d46c588f3c
Remove commented-out #includes
2013-05-15 23:01:21 +02:00
Anton Khirnov
e6c4ac7b5f
pixdesc: rename PIX_FMT_* flags to AV_PIX_FMT_FLAG_*
2013-05-15 07:46:51 +02:00
Kieran Kunhya
ede75ebc9b
Clarify output of av_get_bits_per_pixel
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-15 07:45:09 +02:00
Martin Storsjö
06122c2533
msvc: Move linker pragma from config.h to libavutil/internal.h
...
This makes linking succeed for tools that include config.h but
don't link to libavutil.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-08 01:28:25 +03:00
Janne Grunau
74652af821
pixdesc: add function to return pixel format with swapped endiannes
2013-05-06 18:51:47 +02:00
Diego Biurrun
1fda184a85
avutil: Add av_cold attributes to init functions missing them
2013-05-04 22:48:05 +02:00
Christophe Gisquet
566b7a20fd
x86: float dsp: butterflies_float SSE
...
97c -> 49c
Some codecs could benefit from more unrolling, but AAC doesn't.
2013-05-03 08:08:02 +02:00
Derek Buitenhuis
af8a47905a
avutil: doxy: Small clarification for av_buffer_create()
...
Explicitly saying it can't hurt.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:33:43 -04:00
Diego Biurrun
f5eecee865
ppc: util_altivec: Surround AltiVec-related code by appropriate ifdefs
...
This prevents non-AltiVec-enabled compilers from choking.
2013-04-30 12:19:44 +02:00
Anton Khirnov
93e65e9a6c
Cosmetics, restore alphabetic order in atomics lists.
2013-04-11 12:31:14 +02:00
Ronald S. Bultje
b93b27edb0
dsputil: Make dsputil selectable
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:04:05 +03:00
Christophe Gisquet
2e81acc687
x86inc: Fix number of operands for cmp* instructions
...
cmp{p,s}{s,d} instructions do take an imm8 operand.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-09 23:55:30 +02:00
Nicolas Bertrand
8c65264595
pixdesc/pixfmt: Add XYZ colorspace for XYZ 12-bit values
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-04 19:50:59 +02:00
Anton Khirnov
bcc9432898
opt: check the return values of av_get_token for ENOMEM.
2013-04-04 07:51:53 +02:00
Anton Khirnov
f9f6402e9c
configure: prettify atomics handling.
...
Add simpler names and a shorthand for native atomics (as opposed to
pthreads fallback).
2013-04-03 09:22:31 +02:00
Anton Khirnov
cf53704c55
AVOptions: make av_set_options_string() forward options to child objects
2013-03-28 07:55:38 +01:00
Diego Biurrun
b6649ab503
cosmetics: Remove unnecessary extern keywords from function declarations
2013-03-27 14:21:45 +01:00
Hendrik Leppkes
1e8b9738fa
avutil/frame: add all remaining frame properties to av_frame_copy_props
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-22 20:05:37 +01:00
Anton Khirnov
2c328a9079
pixdesc: add a function for counting planes in a pixel format.
2013-03-19 11:12:17 +01:00
Anton Khirnov
4d67ff8e8e
AVOptions: fix using named constants with child contexts.
...
The named constant needs to be searched for in the same object on which
the option is set, i.e. target_obj.
2013-03-16 05:35:33 +01:00
Anton Khirnov
9676b9a2cd
AVOption: remove an unused function parameter.
2013-03-16 05:35:20 +01:00
Xi Wang
ca6c3f2c53
lzo: fix overflow checking in copy_backptr()
...
The check `src > dst' in the form `&c->out[-back] > c->out' invokes
pointer overflow, which is undefined behavior in C.
Remove the check. Also replace `&c->out[-back] < c->out_start' with
a safe form `c->out - c->out_start < back' to avoid overflow.
CC: libav-stable@libav.org
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-15 12:52:31 +01:00
Diego Biurrun
f099d3d1d5
Add av_log_{ask_for_sample|missing_feature} replacements to libavutil
...
This allows reporting missing features and requesting samples from
all libraries in a standard way; with a simplified API.
2013-03-13 20:42:06 +01:00