1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

3655 Commits

Author SHA1 Message Date
Michael Niedermayer
dfea1acb21 Merge commit 'e4fe535d12f4f30df2dd672e30304af112a5a827'
* commit 'e4fe535d12f4f30df2dd672e30304af112a5a827':
  mov: Write the display matrix in order

Conflicts:
	libavformat/mov.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-24 01:14:31 +01:00
Vittorio Giovara
312a9ef04b pixfmt: Update documentation with prefixed pixel formats 2015-03-23 20:53:28 +00:00
Vittorio Giovara
592a04054e pixdesc: Replace a few leftover instances of non AV-prefixed flags 2015-03-23 20:53:28 +00:00
Vittorio Giovara
e4fe535d12 mov: Write the display matrix in order
This will allow to copy the matrix as is and it is just cleaner to keep
the matrix in the same order specified by the mov standard (which is
also explicitly described in the documentation).

In order to preserve compatibility, flip the angle sign in the display API
av_display_rotation_set() and av_display_rotation_get(), and improve the
documentation mentioning the rotation direction.
2015-03-23 20:53:28 +00:00
Michael Niedermayer
744c9b49a5 avutil/frame: Add some very basic documentation for AVFrameSideData
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-23 18:46:26 +01:00
James Almer
60b9373dbd libavutil: add bmi2 optimized av_mod_uintp2
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-20 15:47:43 -03:00
James Almer
d13e521cc8 libavutil: add av_mod_uintp2
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-20 15:47:31 -03:00
James Cowgill
f8323744a0 mips/float_dsp: fix vector_fmul_window_mips on mips64
Commit dfa9208074 ("mips/float_dsp: fix a bug in vector_fmul_window_mips")
fixed vector_fmul_window_mips by unrolling the loop only 4 times, but also
removed the outer C loop and replaced it with assembly branches and pointer
arithmetic. When submitting my 64-bit porting patch I missed this new
assembly which also needed porting.

This patch fixes a bus error in the fate-float-dsp test when run on 64-bit
mips.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 19:08:02 +01:00
Martin Storsjö
58a840e215 Replace a few leftover instances of enum PixelFormat with enum AVPixelFormat
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-17 23:53:33 +02:00
srikanth
730f3c49e0 OpenCL uninit bug fix - clear is_compiled flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 22:52:19 +01:00
James Cowgill
a251aa1a35 mips/asmdefs: use _ABI64 as defined by gcc
Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header,
the easiest way around this is to just use the preprocessor definitions from
gcc / clang.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 16:45:31 +01:00
Michael Niedermayer
26d81b5703 avutil/buffer: Avoid moving the AVBufferRef to a new place in memory in av_buffer_make_writable()
This allows making a AVBufferRef writable without the need to
update all pointers to it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 02:15:28 +01:00
Michael Niedermayer
35fad1e9c9 avutil/buffer: Avoid moving the AVBufferRef to a new place in memory in av_buffer_realloc()
This allows reallocating AVBufferRefs without the need to update
all pointers to it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-12 02:15:28 +01:00
Michael Niedermayer
9a1884a10e Merge commit 'dcae2e32f7d8a1ca5fb8c1e4aa81313be854dd73'
* commit 'dcae2e32f7d8a1ca5fb8c1e4aa81313be854dd73':
  arm: Suppress tags about used cpu arch and extensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 19:30:51 +01:00
Martin Storsjö
dcae2e32f7 arm: Suppress tags about used cpu arch and extensions
When all the codepaths using manually set .arch/.fpu code is
behind runtime detection, the elf attributes should be suppressed.

This allows tools to know that the final built binary doesn't
strictly require these extensions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-07 17:10:08 +02:00
James Cowgill
3499a1c0a9 mips/asmdefs: change include guard to read AVUTIL_ instead of AVCODEC_
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 11:28:03 +01:00
Michael Niedermayer
ebd59d271c Revert "avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit"
Fixed build with opencl enabled
Found-by:  WJ Liu

This reverts commit 0f2359b869.
2015-03-07 09:59:27 +01:00
Peter Tissen
79f83523f7 configure: Make compilable with VS2015 (missing hunk)
This hunk was missing in the github pull request when i downloaded it,
but is needed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 22:45:56 +01:00
Srikanth G
0f2359b869 avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit
When OpenCL kernels are compiled, is_compiled flag is being set for each
kernel. But, in opencl uninit, this flag is not being cleared.
This causes an error when an OpenCL kernel is tried on different OpenCL
devices on same platform.

Here is the patch with a fix

Reviewed-by; Wei Gao <highgod0401@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 15:20:12 +01:00
James Cowgill
157d6f0d5b mips: port optimizations to mips n64
This mainly consists of replacing all the pointer arithmatic 'addiu'
instructions with PTR_ADDIU which will handle the differences in pointer
sizes when compiled on 64 bit mips systems.

The header asmdefs.h contains the PTR_ macros which expend to the correct mips
instructions to manipulate registers containing pointers.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 14:37:44 +01:00
Michael Niedermayer
6d7e57e88b avutil/opt: Do not print inf in selftest
This fixes fate failures on windows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 13:50:22 +01:00
Nedeljko Babic
dfa9208074 mips/float_dsp: fix a bug in vector_fmul_window_mips
Loop was unrolled eight times although in heder there is assumption
that len is multiple of 4.
This is fixed, and assembly code is rewritten to be more optimal and
to simplify clobber list.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 12:31:44 +01:00
Kevin Wheatley
86b59e6a50 avutil: Extract gamma determination from PNG encoder for future use. Adds private avpriv_get_gamma_from_trc() function to libavutil.
Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 12:26:22 +01:00
Peter Cordes
9e5687adf2 pixelutils: Comment on (lack of) sad_8x8_sse2
Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:58:53 +01:00
Peter Cordes
4da3a14f3c pixelutils: indent comments in pixdesc.h to be clearer
Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:58:53 +01:00
Michael Niedermayer
85108195c5 avutil/common: minor simplification in av_clip_intp2_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 01:07:50 +01:00
Michael Niedermayer
88ec5435bb avutil/opt: also test av_opt_show2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 17:45:32 +01:00
Michael Niedermayer
e9c85ae648 avutil/opt: Remove odd trailing whitespace bytes from flags help description
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 17:29:33 +01:00
Michael Niedermayer
c1e93cdc9e avutil/opt: Also test/compare the av_log output i the selftest
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 17:04:12 +01:00
Michael Niedermayer
9564375dee avutil/ppc/intreadwrite: remove AV_??64 overriding code
The code has undefined behavior and makes no difference when optimizations
are enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:15:19 +01:00
Michael Niedermayer
5705dc5276 avutil/imgutils: correctly check for negative SAR components
These could trigger assert failures previously

Found-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 21:57:11 +01:00
James Almer
bc65abc8d7 libavutil: add x86 optimized av_popcount
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-25 19:58:00 -03:00
Michael Niedermayer
6d66e1a113 avutil/common: Fix integer overflow in av_clip_int8/16_c
Fixes: signal_sigsegv_30420a5_2388_cov_1489993561_integra_lavf.mp4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 20:56:00 +01:00
Michael Niedermayer
c3b6454d80 avutil/fixed_dsp: Check for av_malloc() failure
Fixes CID1271051

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 16:27:28 +01:00
Michael Niedermayer
1253091d6f Merge commit '76ce9bd8e26dcb3652240a1072840ff4011d7cdc'
* commit '76ce9bd8e26dcb3652240a1072840ff4011d7cdc':
  libavutil: Add ARM av_clip_intp2_arm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:15:32 +01:00
Michael Niedermayer
88d850ecb3 Merge commit 'bf07d813f6c88b5a76980f321cf7272d799c4216'
* commit 'bf07d813f6c88b5a76980f321cf7272d799c4216':
  libavutil: Add av_clip_intp2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:13:34 +01:00
Peter Meerwald
76ce9bd8e2 libavutil: Add ARM av_clip_intp2_arm
add ARM code for implementing av_clip_intp2 using the ssat instruction

on Cortex-A8, av_clip_intp2_arm() is faster than av_clip_intp2_c() and
the generic av_clip(), about -19%

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Peter Meerwald
bf07d813f6 libavutil: Add av_clip_intp2
there already is a function, av_clip_uintp2() that clips a signed integer
to an unsigned power-of-two range, i.e. 0,2^p-1

this patch adds a function av_clip_intp2() that clips a signed integer
to a signed power-of-two range, i.e. -(2^p),(2^p-1)

the new function can be used as a special case for av_clip(), e.g.
av_clip(x, -8192, 8191) can be rewritten as av_clip_intp2(x, 13)

there are ARM instructions, usat and ssat resp., which map nicely to these
functions (see next patch)

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Michael Niedermayer
e3755119fa Merge commit '5b1d9ceec715846a58fe029bc3889ed6fa62436a'
* commit '5b1d9ceec715846a58fe029bc3889ed6fa62436a':
  pixfmt: add a pixel format for QSV hwaccel

Conflicts:
	doc/APIchanges
	libavutil/pixfmt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 20:23:48 +01:00
Anton Khirnov
5b1d9ceec7 pixfmt: add a pixel format for QSV hwaccel 2015-02-19 15:07:21 +01:00
Michael Niedermayer
e0be5c4fbe avutil/sha: Protect macro arguments with ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 22:50:41 +01:00
Supraja Meedinti
092ee6cd32 libavutil: optimize twofish cipher
before:
lavu       TWOFISH      size: 1048576  runs:   1024  time:   90.052 +- 4.630
after:
lavu       TWOFISH      size: 1048576  runs:   1024  time:   18.085 +- 0.241
gcrypt     TWOFISH      size: 1048576  runs:   1024  time:   25.666 +- 0.307
tomcrypt   TWOFISH      size: 1048576  runs:   1024  time:   18.428 +- 0.363

Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 00:59:55 +01:00
Christophe Gisquet
d9293c776e x86inc: Correctly warn on use of SSE2 instructions in SSE functions
SSE2 instructions that are XMM-implementations of pre-existing MMX/MMX2
instructions did not issue warnings when used in SSE functions. Handle
it by also checking the register type when such instructions are used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 12:35:58 +01:00
Michael Niedermayer
52d1929000 avutil/aes: Add () to protect the ROT() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:22:42 +01:00
Michael Niedermayer
06309fc704 avutil/attributes: Add () to protect the AV_GCC_VERSION_AT_LEAST() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:21:48 +01:00
Michael Niedermayer
f8607cfb0a avutil/intmath: Add () to protect the ff_log2() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:20:49 +01:00
Michael Niedermayer
cdee0c9d5f avutil/murmur3: Add () to protect the ROT() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:18:15 +01:00
Michael Niedermayer
9cde41cdb5 avutil/version: Add () to protect the AV_VERSION_INT() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:17:47 +01:00
Michael Niedermayer
61eb602d27 avutil/log: add () to protect the argument of AV_LOG_C()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:04:22 +01:00
Michael Niedermayer
64e0369808 avutil/fixed_dsp: Use av_clip_int16() instead of the non optimized av_clip_int16_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 00:43:32 +01:00
Michael Niedermayer
6998400c61 Merge commit 'bf704132a51f5d838365158331d4e535e1df4c8e'
* commit 'bf704132a51f5d838365158331d4e535e1df4c8e':
  Don't anonymously typedef structs

Conflicts:
	avprobe.c
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:27:44 +01:00
Diego Biurrun
bf704132a5 Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
Michael Niedermayer
1cca124886 Merge commit '0232ba62a28527579e34d44700b48017cc727e5f'
* commit '0232ba62a28527579e34d44700b48017cc727e5f':
  frame: clarify buf documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:32:30 +01:00
Michael Niedermayer
133d81535d avutil/error: list most common error code in error_entries when strerror_r() is unavailable
Fixes Ticket4267

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 23:02:24 +01:00
Supraja Meedinti
8d5a850119 libavutil: camellia: remove unwanted memory loads
lavu       CAMELLIA     size: 1048576  runs:   1024  time:   21.549 +- 0.17

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 17:15:36 +01:00
wm4
c247fc63e4 pixdesc: clarify AV_PIX_FMT_FLAG_ALPHA doxygen
Also make clear that PAL8 can have alpha.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 16:03:04 +01:00
wm4
92e3a6fdac avutil: check pixdescs in a different place
Doing this check in avutil_version() is not appropriate. Also, this code
is by default disabled (--assert-level is by default 0). A FATE run with
defaults will never execute the checks.

Move it to the pixelutils test program. Whatever reason there was in
avutil_version() not to run this test by default, it should be fine in
this test program. This means FATE will run the test by default. (Yes,
pixelutils is not strictly the best place for it either, but it's
better.)

(pixdesc.c also has a small test program, but it's never run by FATE.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 15:45:02 +01:00
wm4
3e18dc235e avutil: move internal function out of public header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 15:24:46 +01:00
Michael Niedermayer
f5d32acc37 avutil/camellia: Remove redundant casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 22:45:01 +01:00
Michael Niedermayer
54eac5195d avutil/camellia: Fix indention & whitespace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 22:44:14 +01:00
Supraja Meedinti
9a18247ec0 libavutil: optimize camellia cipher
Before the changes :
lavu       CAMELLIA     size: 1048576  runs:   1024  time:   32.541 +- 0.044

After the changes:
lavu       CAMELLIA     size: 1048576  runs:   1024  time:   24.589 +- 0.066

Tested with crypto_bench on a Linux x86_64 OS with Intel Core i5-3210M CPU.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 22:33:14 +01:00
Anton Khirnov
0232ba62a2 frame: clarify buf documentation
Mention explicitly that the array must be filled contiguously.
2015-02-08 21:28:31 +01:00
Timothy Gu
1de742145f pixdesc: Include more functions in FF_DISABLE_DEPRECATION_WARNINGS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 14:27:13 +01:00
Michael Niedermayer
be1cb1e63a avutil/pixfmt: Clarify meaning of the A/X bit in RGB555 / remove wording about significant bit
Found-by:wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:46:04 +01:00
Michael Niedermayer
dbab5f5984 avutil/pixfmt: Clarify the meaning of the alpha bits in rgb444 and similar formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:20:53 +01:00
Michael Niedermayer
088dd0fd4c avutil/pixfmt: Clarify the meaning of the "alpha" bit in rgb555/bgr555
Found-by: wm4
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:14:58 +01:00
Michael Niedermayer
c02b8c4527 avutil/pixfmt: Clarify the meaning of the alpha byte in RGB0 and similar formats
Found-by: wm4
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:04:23 +01:00
Michael Niedermayer
1750b45cdf avutil/opt: Fix type used to access AV_OPT_TYPE_SAMPLE_FMT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 22:16:08 +01:00
Michael Niedermayer
a0640e6346 avutil/opt: Fix types used to access AV_OPT_TYPE_PIXEL_FMT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 22:15:20 +01:00
Christophe Gisquet
e93d3a22cb x86: lavu/x264asm: fix ymm register instantiation
This mimicks what is done for the other instruction sets.

Tested-by: James Almer <jamrial@gmail.com>
Tested-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:18:29 +01:00
Michael Niedermayer
63186ac5f1 avutil/mem: replace remaining void **/*** casts by memcpy()
This is similar to 6039248018

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 14:28:56 +01:00
James Darnley
12120174ce lavu/x86/x86inc: deprecate INIT_AVX
The same can be done with INIT_XMM avx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 01:09:16 +01:00
Anton Mitrofanov
a1684311b3 x264asm: warn when inappropriate instruction used in function with specified cpuflags
Requested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Requested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
2015-02-02 00:06:14 +01:00
Michael Niedermayer
fa73358c9b Merge commit '60392480181f24ebf3ab48d8ac3614705de90152'
* commit '60392480181f24ebf3ab48d8ac3614705de90152':
  mem: fix pointer pointer aliasing violations

Conflicts:
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 13:52:22 +01:00
Rémi Denis-Courmont
6039248018 mem: fix pointer pointer aliasing violations
This uses explicit memory copying to read and write pointer to pointers
of arbitrary object types. This works provided that the architecture
uses the same representation for all pointer types (the previous code
made that assumption already anyway).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-01 02:28:40 +01:00
Luca Barbato
1279221cc4 lavu: Check av_dict_set allocations
Bug-Id: CID 1257772
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-29 14:59:57 +00:00
Supraja Meedinti
6ad749b533 libavutil: Added twofish symmetric block cipher
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 01:56:11 +01:00
Michael Niedermayer
0d37ca150c avutil/aes: Rename crypt()
This avoids a potential conflict with the equally named function from XOPEN
It also could reduce confusion in debugger backtraces

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 13:12:02 +01:00
Michael Niedermayer
62a82c66cd Merge commit '728685f37ab333ca35980bd01766c78d197f784a'
* commit '728685f37ab333ca35980bd01766c78d197f784a':
  Add a side data type for audio service type.

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h
	libavutil/frame.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:03:43 +01:00
Anton Khirnov
728685f37a Add a side data type for audio service type.
Currently, audio service type is a field in AVCodecContext. However,
side data is more appropriate for this kind of information.
2015-01-27 09:17:48 +01:00
Michael Niedermayer
1296dc6025 avutil/pixdesc: rewrite AV_PIX_FMT_FLAG_PSEUDOPAL documentation
It seems many people do not understand its current documentation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 14:07:00 +01:00
Michael Niedermayer
b4f5da2651 avutil/buffer: factor buffer_replace() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 04:45:05 +01:00
Michael Niedermayer
ec9935b288 avutil/pixfmt: Support the AV_PIX_FMT_GBRAP* formats with AV_HAVE_INCOMPATIBLE_LIBAV_ABI
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
46b0fce627 avutil/pixfmt: Document the duplicated AV_PIX_FMT_GBRAP* formats
This is similar to the other duplicated cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
ada0fc4efa Merge commit '0e6c7dfa650e8b0497bfa7a06394b7a462ddc33a'
* commit '0e6c7dfa650e8b0497bfa7a06394b7a462ddc33a':
  lavu: add planar 16 bit and 8 bit rgb with alpha

Conflicts:
	libavutil/pixdesc.c
	libavutil/pixfmt.h
	libavutil/version.h

See: e6d4e68755
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:24:01 +01:00
Michael Niedermayer
55dc253c24 Merge commit 'e2ad0b66fa273c5c823978e8f601f2c0d9ee42f8'
* commit 'e2ad0b66fa273c5c823978e8f601f2c0d9ee42f8':
  imgutils: create misc functions for dealing with buffers

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/avpicture.c
	libavutil/imgutils.c
	libavutil/imgutils.h
	libavutil/version.h

See: e6674e46ec
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:07:25 +01:00
Paul B Mahol
0e6c7dfa65 lavu: add planar 16 bit and 8 bit rgb with alpha
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Stefano Sabatini
e2ad0b66fa imgutils: create misc functions for dealing with buffers
Move the lavc/imgconvert functions and rename them as follows:
  avpicture_get_size -> av_image_get_buffer_size()
  avpicture_fill     -> av_image_fill_arrays()
  avpicture_layout   -> av_image_copy_to_buffer()

The new functions have an align parameter, which allows to define the
linesize alignment assumed in the buffer (which is set or read).

The names of the functions are consistent with the lavu/samples API
(av_samples_get_buffer_size(), av_samples_fill_arrays()).

A redundant check has been dropped from av_image_fill_arrays().

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
James Almer
3aaff80348 avutil/opencl: don't include config.h
It's not an installed header.

Tested-by: Thilo Borgmann <thilo.borgmann@mail.de>
Tested-by: Wei Gao <highgod0401@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-12 13:49:56 -03:00
Michael Niedermayer
b20e79dbe9 Merge commit '07a0c0f0005072d115ace61e60f46be68582cc3a'
* commit '07a0c0f0005072d115ace61e60f46be68582cc3a':
  opt: check memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:37:48 +01:00
Vittorio Giovara
07a0c0f000 opt: check memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1257771
2015-01-05 14:58:20 +01:00
Michael Niedermayer
0f931b29f7 Factorize avpriv_mirror() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Giorgio Vazzana
a3ab87427c avutil/camellia: cosmetic fixes
Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:24:02 +01:00
Giorgio Vazzana
fbb792f90f avutil/camellia: use K[2] instead of *K in generate_round_keys()
Additionally, change parameters order.

Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:23:56 +01:00
Giorgio Vazzana
8e38b1539e avutil/camellia: make LR128() more robust
Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:23:50 +01:00
Giorgio Vazzana
88d19d240a avutil/camellia: fix documentation for av_camellia_crypt()
Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:23:45 +01:00
Supraja Meedinti
c6bb651bce libavutil: Added Camellia symmetric block cipher
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Previous version of this patch reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 15:19:36 +01:00
James Almer
37b35feb64 x86/swr: add SSE2/AVX pack_8ch functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-30 23:05:27 -03:00
Michael Niedermayer
827af24230 avutil/rational: Check that av_reduce() returns values within the requested max
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 15:52:34 +01:00
Clément Bœsch
56e432b27b avutil/atomic: reuse ret to avoid dereferencing twice the same value. 2014-12-27 22:14:23 +01:00
Michael Niedermayer
05e74ac2f3 avutil/hmac: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:50:01 +01:00
Michael Niedermayer
6d639ecf44 avutil/audio_fifo: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:49:13 +01:00
Michael Niedermayer
336bb3f706 avutil/dict: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:48:32 +01:00
Michael Niedermayer
649c158e8c Add FFMPEG_VERSION into the binary libs
This simplifies identifying from which revision a binary of a lib came from

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 19:32:40 +01:00
Supraja Meedinti
4e1ecfe214 libavutil: Added cbc mode to cast128
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Previous version reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 14:35:29 +01:00
Michael Niedermayer
988d27b802 Merge commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e'
* commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e':
  check memory errors from av_strdup()

Conflicts:
	avprobe.c
	libavformat/matroskaenc.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:57:25 +01:00
Michael Niedermayer
bce06eb059 Merge commit '5d839778b9f3edb682b7f71dde4f80f07c75b098'
* commit '5d839778b9f3edb682b7f71dde4f80f07c75b098':
  lavu: Refactor side data wiping

Conflicts:
	libavutil/frame.c

See: a400edbb6d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:57:59 +01:00
Vittorio Giovara
b1306823d0 check memory errors from av_strdup() 2014-12-18 23:27:14 +01:00
Luca Barbato
5d839778b9 lavu: Refactor side data wiping
And make sure the nb_side_data field is reset as well.

Based on an initial patch from wm4 <nfxjfg@googlemail.com>.

CC: libav-stable@libav.org
2014-12-18 23:22:59 +01:00
Supraja Meedinti
abbcc68e5c libavutil: cosmetic: inserted spaces wherever necessary
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 02:18:02 +01:00
wm4
a400edbb6d lavu/frame: fix malloc error path in av_frame_copy_props()
The error path frees all side data, but forgets to reset the side data
count. This can blow up later in av_frame_unref() and free_side_data().

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 04:46:30 +01:00
Anton Khirnov
e10e6651b5 thread: use "" instead of <> for including the w32pthreads wrapper
Found-by: Dave Yeo <dave.r.yeo@gmail.com>
2014-12-14 18:15:57 +01:00
wm4
a963fdb0ea lavu/dict: check for malloc failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 23:40:50 +01:00
Michael Niedermayer
92d47e2aa3 Merge commit '780cd20b00a69e26bbfffbb8eec16fbe999ea793'
* commit '780cd20b00a69e26bbfffbb8eec16fbe999ea793':
  aarch64: Use .data.rel.ro for const data with relocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 12:08:29 +01:00
Michael Niedermayer
16e65419ed Merge commit 'f963f80399deb1a2b44c1bac3af7123e8a0c9e46'
* commit 'f963f80399deb1a2b44c1bac3af7123e8a0c9e46':
  arm: Use .data.rel.ro for const data with relocations

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 11:58:13 +01:00
Martin Storsjö
780cd20b00 aarch64: Use .data.rel.ro for const data with relocations
This reverts commit c00365b46d
in addition to using a different section.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:31 +02:00
Martin Storsjö
f963f80399 arm: Use .data.rel.ro for const data with relocations
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:25 +02:00
Michael Niedermayer
41a52740d4 avutil/opt: Fix AV_OPT_TYPE_BINARY case in av_opt_is_set_to_default()
Fixes CID1257010

Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 15:39:17 +01:00
Michael Niedermayer
ace9161655 avutil/opt: Check av_parse_video_rate()s return value
Fixes CID1257008

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:57:39 +01:00
Michael Niedermayer
eb74839caa avutil/opt: Check av_parse_color() return value
Fixes: CID1257007

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:46:25 +01:00
Michael Niedermayer
890d8f44fd avutil/buffer: add #if USE_ATOMICS around atomics specific functions to ensure sync types arent mixed by mistake
Fixes CID1257011

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 20:47:41 +01:00
Kieran Kunhya
9a738c27dc v210enc: Add SIMD optimised 8-bit and 10-bit encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-05 13:03:49 +00:00
Michael Niedermayer
5bf4cd8e5b avutil/ppc/util_altivec: add () to VEC_SPLAT16 macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 13:40:33 +01:00
Michael Niedermayer
c299b6fd08 avutil/buffer: Move USE_ATOMICS to thread.h to avoid it becoming out of sync with it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 12:26:22 +01:00
Dave Yeo
32eadfe453 libavutil/threads.h: correct an include to be local
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 11:56:28 +01:00
Dave Yeo
090a7801a8 libavutil/thread.h: Support OS/2 threads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 11:56:22 +01:00
Vadim Kalinsky
2db29482f1 avutil/bprint: C++ compatible AVBPrint definition.
Previous version reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-29 03:51:35 +01:00
Lukasz Marek
0cb994dfe3 lavu/opt: add escaping to av_opt_serialize
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-29 00:58:42 +01:00
Michael Niedermayer
6db8cd8f37 Merge commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83'
* commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83':
  lavu: fix memory leaks by using a mutex instead of atomics

Conflicts:
	libavutil/buffer.c

The atomics code is left in place as a fallback for synchronization in the
absence of p/w32 threads. Our ABI did not requires applications to
only use threads (and matching ones) to what libavutil was build with
Our code also was not affected by the leak this change fixes, though
no question the atomics based implementation is not pretty at all.
First and foremost the code must work, being pretty comes after that.

If this causes problems, for example when libavutil is used by multiple
applications each using a different kind of threading system then the
default possibly has to be changed to the uglier atomics.

See: cea3a63ba3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 23:42:16 +01:00
Lukasz Marek
f00e9c4b10 lavu/opt: add consts where possible 2014-11-27 23:27:14 +01:00
Michael Niedermayer
4760278007 Merge commit '2443e522f0059176ff8717c9c753eb6fe7e7bbf1'
* commit '2443e522f0059176ff8717c9c753eb6fe7e7bbf1':
  lavu: add wrappers for the pthreads mutex API

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 22:08:17 +01:00
Stefano Sabatini
29208e6dcf lavu/imgutils: remove redundant and wrong check in av_image_fill_arrays 2014-11-27 14:24:16 +01:00
wm4
fbd6c97f9c lavu: fix memory leaks by using a mutex instead of atomics
The buffer pool has to atomically add and remove entries from the linked
list of available buffers. This was done by removing the entire list
with a CAS operation, working on it, and then setting it back again
(using a retry-loop in case another thread was doing the same thing).

This could effectively cause memory leaks: while a thread was working on
the buffer list, other threads would allocate new buffers, increasing
the pool's total size. There was no real leak, but since these extra
buffers were not needed, but not free'd either (except when the buffer
pool was destroyed), this had the same effects as a real leak. For some
reason, growth was exponential, and could easily kill the process due
to OOM in real-world uses.

Fix this by using a mutex to protect the list operations. The fancy
way atomics remove the whole list to work on it is not needed anymore,
which also avoids the situation which was causing the leak.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-11-27 13:36:00 +01:00
Anton Khirnov
2443e522f0 lavu: add wrappers for the pthreads mutex API
Also add no-op fallbacks when threading is disabled.

This helps keeping the code clean if Libav is compiled for targets
without threading. Since we assume that no threads of any kind are used
in such configurations, doing nothing is ok by definition.

Based on a patch by wm4 <nfxjfg@googlemail.com>.
2014-11-27 13:36:00 +01:00
Matthew Oliver
0167fa0060 msvc: Fix compilation errors due to header include order.
Ensures that the header include order is such that winsock2.h is always
included before windows.h or that windows.h does not include winsock.h.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 12:40:18 +01:00
Rong Yan
22e557917d libavutil/ppc/util_altivec.h : fix load_with_perm_vec() add marcos vcswapi2s() vcswapc() VEC_SPLAT16() VEC_SLD16() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 12:07:19 +01:00
Michael Niedermayer
097de4d1d6 Merge commit '9326d64ed1baadd7af60df6bbcc59cf1fefede48'
* commit '9326d64ed1baadd7af60df6bbcc59cf1fefede48':
  Share the utf8 to wchar conversion routine between lavf and lavu

Conflicts:
	libavformat/os_support.h
	libavutil/file_open.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 11:10:26 +01:00
Martin Storsjö
9326d64ed1 Share the utf8 to wchar conversion routine between lavf and lavu
This doesn't add any dependency on library internals, since this
only is a static inline function that gets built into each of the
calling functions - this is only to reduce the code duplication.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-27 09:29:17 +02:00
Kieran Kunhya
36091742d1 v210enc: Add SIMD optimised 8-bit and 10-bit encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-26 20:30:47 +01:00
Lukasz Marek
ea0d893817 lavu/opt: handle NULL obj in av_opt_next
It indirectly also fixes av_opt_free for NULL objs.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-25 23:09:16 +01:00
Michael Niedermayer
932d8d790c Merge commit '277ff7f5dc134f1c2dfc4ea0ef3540340482e3d2'
* commit '277ff7f5dc134f1c2dfc4ea0ef3540340482e3d2':
  lavu: move internal define to the only places where it is used

Conflicts:
	libavcodec/h264_cabac.c
	libavutil/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 12:45:07 +01:00
Michael Niedermayer
b4d8724ab2 avutil/file: fix av_tempfile() documentation
Found-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 04:59:02 +01:00
Vittorio Giovara
277ff7f5dc lavu: move internal define to the only places where it is used 2014-11-24 01:30:14 +00:00
Michael Niedermayer
5182a2a235 avutil: remove FF_CONST_AVUTIL53, its no longer needed
version is 54 already

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 02:22:19 +01:00
Lukasz Marek
ab922f9ef1 lavu/dict: add av_dict_get_string
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-21 01:25:54 +01:00
jessejiang
29d208d5d4 avutil/arm/float_dsp_init_vfp: replace restrict by av_restrict
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-20 11:17:42 +01:00
Michael Niedermayer
a54a51cc9b avutil/float_dsp: add avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 11:43:01 +01:00
Lukasz Marek
bee5844ddd lavu/opt: introduce av_opt_serialize()
Function allows to create string containing object's serialized options.
Such string may be passed back to av_set_options_string() in order to restore options.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
eec693328a lavu/opt: introduce av_opt_is_set_to_default()
New function allows to check if option is set to its default value

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
173d51c982 lavu/opt: fix av_opt_get function
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-12 23:34:05 +01:00