Commit Graph

241 Commits

Author SHA1 Message Date
Clément Bœsch
b0352b1997 avcodec: export motion vectors in frame side data on demand
The reasoning behind this addition is that various third party
applications are interested in getting some motion information out of a
video "for free" when it is available.

It was considered to export other information as well (such as the intra
information about the block, or the quantization) but the structure
might have ended up into a half full-generic, half full of codec
specific cruft. If more information is necessary, it should either be
added in the "flags" field of the AVMotionVector structure, or in
another side-data.

This commit also includes an example exporting them in a CSV stream.
2014-08-18 14:13:57 +02:00
Michael Niedermayer
70b8668fb5 drop LLS1, rename LLS2 to LLS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 23:20:31 +02:00
Clément Bœsch
28a2107a8d avutil: add pixelutils API 2014-08-05 21:05:52 +02:00
Timothy Gu
02ca9efdcd avutil: actually install hash.h
This header is designed as a public header (with APIchanges entry and
everything), but it is forgotten to put into the headers to be installed
list.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 20:45:37 +02:00
Nicolas George
55cc60cd6d lavu: add thread message API. 2014-05-26 11:40:15 +02:00
Michael Niedermayer
ef1d4ee2f8 Merge commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834'
* commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834':
  Add transformation matrix API.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:12:30 +02:00
Vittorio Giovara
bddd8cbf68 Add transformation matrix API.
Add AV_PKT_DATA_DISPLAYMATRIX and AV_FRAME_DATA_DISPLAYMATRIX as stream and
frame side data (respectively) to describe a display transformation matrix
for linear transformation operations on the decoded video.

Add functions to easily extract a rotation angle from a matrix and
conversely to setup a matrix for a given rotation angle.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 13:13:10 +02:00
Michael Niedermayer
617e866e25 Move av_find_best_pix_fmt_of_2() from avcodec to avutil
This avoids a dependancy of libavfilter on libavcodec

See Ticket 3592
Fixes Ticket2784

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 23:14:05 +02:00
Michael Niedermayer
1f8a6bef78 avutil/log: add code to test av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 22:38:30 +02:00
Nedeljko Babic
284cfc7180 libavutil: Add fixed_dsp
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 17:36:33 +02:00
Michael Niedermayer
83e8978798 Merge commit '5a7e35dd2351c30bab45177b9482cb8833a0ca78'
* commit '5a7e35dd2351c30bab45177b9482cb8833a0ca78':
  Add replaygain side data type and code for parsing replaygain tags.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 14:03:55 +01:00
Anton Khirnov
5a7e35dd23 Add replaygain side data type and code for parsing replaygain tags. 2014-03-24 06:07:51 +01:00
Michael Niedermayer
7ab315ec69 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  float_dsp: add test program and use it as fate test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 20:04:28 +01:00
Janne Grunau
f0f687446e float_dsp: add test program and use it as fate test 2014-03-18 13:08:00 +01:00
Michael Niedermayer
a2bc6c116d Merge commit 'c98f3169bfb578c1a4e407b44524f0bfa3b4dc0c'
* commit 'c98f3169bfb578c1a4e407b44524f0bfa3b4dc0c':
  lavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type.

Conflicts:
	doc/APIchanges
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-16 02:05:29 +01:00
Tim Walker
c98f3169bf lavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type. 2014-02-15 22:24:53 +01:00
Michael Niedermayer
8ccc58bb7d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavu: Move preprocessor macros in a separate file

Conflicts:
	libavutil/avutil.h
	libavutil/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-30 11:23:32 +01:00
Luca Barbato
9a4c10e3af lavu: Move preprocessor macros in a separate file
And remove all the circular inclusions of avutil.h while at it.
2013-12-29 22:52:04 +01:00
Diego Biurrun
0d882e9e7b avutil: Remove deprecated intfloat_readwrite code
It was deprecated over two years ago.
2013-12-16 17:51:00 +01:00
Michael Niedermayer
7a60348053 Merge commit '7e244c68600f479270e979258e389ed5240885fb'
* commit '7e244c68600f479270e979258e389ed5240885fb':
  avframe: add codec-independent stereoscopic metadata

Conflicts:
	Changelog
	libavutil/Makefile
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 21:33:51 +01:00
Vittorio Giovara
7e244c6860 avframe: add codec-independent stereoscopic metadata 2013-12-09 16:02:43 +01:00
James Almer
56572787ae Add Windows resource file support for shared libraries
Originally written by James Almer <jamrial@gmail.com>

With the following contributions by Timothy Gu <timothygu99@gmail.com>

* Use descriptions of libraries from the pkg-config file generation function
* Use "FFmpeg Project" as CompanyName (suggested by Alexander Strasser)
* Use "FFmpeg" for ProductName as MSDN says "name of the product with which the
  file is distributed" [1].
* Use FFmpeg's version (N-xxxxx-gxxxxxxx) for ProductVersion per MSDN [1].
* Only build the .rc files when --enable-small is not enabled.

[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058.aspx

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 23:42:07 +01:00
Timothy Gu
82b2e9cb1d build: rename version.h to libavutil/ffversion.h
Also the libavutil/ffversion.h will be installed.

Rationale:
* Applications might want to know FFmpeg's version besides the individual
  libraries'.
* Avoids file name clash between FFmpeg's ./version.h and lib*/version.h when
  a library source file includes both and is compiled on an out-of-tree build.

Fixes #1769.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 21:42:55 +01:00
Stefano Sabatini
68590650f0 lavu/avstring: add av_utf8_decode() function 2013-11-22 16:51:05 +01:00
Michael Niedermayer
b382d09d29 avutil: reintroduce lls1 as the 52 ABI needs it
lls1 taken from ff130d7

This is incompatible with libavcodec version
55.18.100 to 55.43.100 except 55.39.101
This incompatibility is caused by these libavcodec versions depending on
a libavutil 52 which is ABI incompatible with the previous ABI 52

you can avoid this incompatibility by upgrading your libavcodec so it
does no longer depend on the invalid ABI

See: 502ab21af0
See: cc6714bb16
See: 41578f70cf
See: Ticket3136
Tested-by: marillat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 16:44:32 +01:00
Michael Niedermayer
bbe66ef912 avutil: rename lls to lls2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 16:30:23 +01:00
Nicolas George
d5b58f678d tools: add benchmark for crypto functions.
The benchmark tests the speed of the following algorithms:
MD5, SHA-1, SHA-256, SHA-512, RIPEMD-160, AES-128.

It can optionally be built to perform the same benchmark on
other crypto libraries, for comparison purposes.
The supported libraries are:
- crypto:   OpenSSL's libcrypto;
- gcrypt:   GnuTLS's libgcrypt;
- tomcrypt: LibTomCrypt
To enable them, use this syntax:
make VERSUS=crypto+gcrypt+tomcrypt tools/crypto_bench
They do not need to have been enabled in configure.
2013-09-04 16:36:11 +02:00
Michael Niedermayer
ef13a005c4 Merge commit 'a76d0cdf21c3d9e464623cc0ad1c005abf952afa'
* commit 'a76d0cdf21c3d9e464623cc0ad1c005abf952afa':
  libavutil: Move avpriv_open to a new file, file_open.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:37:20 +02: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
James Almer
99b8cd0c81 lavu: Add RIPEMD hashing
Includes RIPEMD-128, RIPEMD-160, RIPEMD-256 and RIPEMD-320

Signed-off-by: James Almer <jamrial@gmail.com>
2013-06-15 18:54:01 -03:00
James Almer
682b2273e8 lavu: Add SHA-2 512 hashing
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 11:27:19 +02:00
James Almer
b22f96b736 Rename ffadler to ffhash and expand it using the generic hash API
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 17:58:56 +02:00
Reimar Döffinger
7d1d596817 Add a generic hash API.
Also use this API in framemd5.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-13 21:42:37 +02:00
Reimar Döffinger
86215c326e Add 128 bit murmur3 hash function.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-13 21:42:37 +02:00
Michael Niedermayer
3d66ce17b7 tools: Add adler32 checksum tool
This is about 6 times faster than md5sum on linux

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 16:21:17 +02:00
highgod0401
f31247cf47 lavu/opencl:add opencl set param function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 03:04:42 +02:00
Michael Niedermayer
b2175b0f2a Merge commit '93e65e9a6c0895f869752a66731d9b2ec3916467'
* commit '93e65e9a6c0895f869752a66731d9b2ec3916467':
  Cosmetics, restore alphabetic order in atomics lists.

Conflicts:
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 22:22:06 +02:00
Anton Khirnov
93e65e9a6c Cosmetics, restore alphabetic order in atomics lists. 2013-04-11 12:31:14 +02:00
Carl Eugen Hoyos
c484b3af15 Fix make checkheaders without opencl headers. 2013-04-03 15:28:29 +02:00
Michael Niedermayer
6ce1d87355 Merge commit 'f9f6402e9c9ce3642df981b48507df3a2d956f65'
* commit 'f9f6402e9c9ce3642df981b48507df3a2d956f65':
  configure: prettify atomics handling.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 14:46:48 +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
highgod0401
189cbc1a03 opencl wrapper based on comments on 20130401
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 12:52:13 +02:00
Michael Niedermayer
d64b854075 Merge commit '666fe5da47d127074be7f0e2bac93db6af8b4a30'
* commit '666fe5da47d127074be7f0e2bac93db6af8b4a30':
  atomic: Exclude the unsupported implementation headers from checkheaders
  avconv: do not silently ignore unused codec AVOptions.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:34:24 +01:00
Michael Niedermayer
c4e8821732 Merge commit '7ecc2d403ce5c7b6ea3b1f368dccefd105209c7e'
* commit '7ecc2d403ce5c7b6ea3b1f368dccefd105209c7e':
  Move AVFrame from lavc to lavu.

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 20:33:26 +01:00
Martin Storsjö
666fe5da47 atomic: Exclude the unsupported implementation headers from checkheaders
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 20:34:27 +02:00
Michael Niedermayer
36099df521 Merge commit '8e401dbe90cc77b1f3067a917d9fa48cefa3fcdb'
* commit '8e401dbe90cc77b1f3067a917d9fa48cefa3fcdb':
  lavu: add a new API for reference-counted data buffers.

Conflicts:
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 16:01:00 +01:00
Michael Niedermayer
e92ba51fd7 Merge commit '65f1d45dcc71186ede72fff950996099d23359bd'
* commit '65f1d45dcc71186ede72fff950996099d23359bd':
  lavu: add support for atomic operations.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:48:27 +01:00
Anton Khirnov
7ecc2d403c Move AVFrame from lavc to lavu.
Add AVBuffer-based reference counting API to it.
2013-03-08 07:36:15 +01:00
Anton Khirnov
8e401dbe90 lavu: add a new API for reference-counted data buffers. 2013-03-08 07:33:03 +01:00
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