1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-07 11:13:41 +02:00
Commit Graph

3147 Commits

Author SHA1 Message Date
Michael Niedermayer
8f853159f6 avutil/opt: preserve fractions in set_string_number()
This avoids going over a double precission float, which may loose precission

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-18 21:49:56 +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
Christophe Gisquet
133b34207c x86: float dsp: unroll SSE versions
vector_fmul and vector_fmac_scalar are guaranteed that they can process in
batch of 16 elements, but their SSE versions only does 8 at a time.

Therefore, unroll them a bit.
299 to 261c for 256 elements in vector_fmac_scalar on Arrandale/Win64.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-15 18:54:21 +01:00
James Almer
23a8c63452 x86inc: Extend FMA_INSTR functionality
Support the cases where the first and last operand of
the XOP instruction are the same.

Also add vpmacsdql emulation.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-13 22:14:24 +01:00
Michael Niedermayer
74744790a3 Merge commit '25a1ba814ad80056247fd357ec4c6911324a3f66'
* commit '25a1ba814ad80056247fd357ec4c6911324a3f66':
  log: Have function parameter names match between .c and .h file

Conflicts:
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-12 14:41:24 +01:00
Diego Biurrun
25a1ba814a log: Have function parameter names match between .c and .h file
This fixes two related Doxygen warnings.
2014-02-12 12:08:02 +01:00
James Almer
6c12b1de06 x86: add missing XOP checks and macros
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-11 03:46:52 +01:00
Michael Niedermayer
a7574a36af Merge commit 'e3fec3f095ab5ea08ee662942d98526aaf5e3635'
* commit 'e3fec3f095ab5ea08ee662942d98526aaf5e3635':
  arm: Add EXTERN_ASM to the .func and .type declarations for exported symbols

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 00:49:28 +01:00
Martin Storsjö
e3fec3f095 arm: Add EXTERN_ASM to the .func and .type declarations for exported symbols
This makes the generated assembly more internally consistent,
avoiding declaring two labels for the same function (for cases
where EXTERN_ASM is empty) and not declaring a separate unprefixed
label in other cases.

This also makes sure the .func and .type delcarations have the same
prefix. They have previously not been used on the platforms
that have prefixed symbols on arm (iOS), but gas-preprocessor
has recently started using the .func declarations for adding
.thumb_func declarations for such functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-02-07 15:14:06 +02:00
James Almer
a4e4948ffe x86/cpu: add missing avx2 AVOption in av_parse_cpu_flags()
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-06 22:45:57 +01:00
Michael Niedermayer
a3be0c334e Merge commit 'a1e1f35203bbcbea0efb51d93e96769c826b8c64'
* commit 'a1e1f35203bbcbea0efb51d93e96769c826b8c64':
  lavu: add missing log.h include in timer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-05 23:48:41 +01:00
Janne Grunau
a1e1f35203 lavu: add missing log.h include in timer.h 2014-02-05 21:00:51 +01:00
Michael Niedermayer
6e380cc28f Merge commit '9ecb858775483a76c137e8e1ad45a95e318bca61'
* commit '9ecb858775483a76c137e8e1ad45a95e318bca61':
  doxy: Format @code blocks so they render properly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-05 03:27:13 +01:00
Michael Niedermayer
d80b9ea11d Merge commit '0e830094ad0dc251613a0aa3234d9c5c397e02e6'
* commit '0e830094ad0dc251613a0aa3234d9c5c397e02e6':
  samplefmt: avoid integer overflow in av_samples_get_buffer_size()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-05 01:30:24 +01:00
Luca Barbato
9ecb858775 doxy: Format @code blocks so they render properly
@code command reports verbatim everything between it and @endcode.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-02-04 22:09:47 +01:00
Justin Ruggles
0e830094ad samplefmt: avoid integer overflow in av_samples_get_buffer_size()
CC:libav-stable@libav.org
2014-02-04 12:32:47 -05:00
Matt Oliver
3e309c5d18 Fix compilation with msvc/icl due to missing header and define.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-03 19:48:41 +01:00
Loren Merritt
b7d0d10a1d x86inc: Speed up assembling with Yasm
Work around Yasm's inefficiency with handling large numbers of variables
in the global scope.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-01-26 18:40:08 +01:00
Michael Niedermayer
3e6088f732 avutil/internal.h: add timer.h back
Without this a developer would have to add a include every time he
wants to benchmark some code, this is a moderate inconvenience.

This reverts the specific hunk from fb0c9d41d6

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-26 02:23:26 +01:00
Michael Niedermayer
965fa6b0d9 Merge commit 'fb0c9d41d685abb58575c5482ca33b8cd457c5ec'
* commit 'fb0c9d41d685abb58575c5482ca33b8cd457c5ec':
  avutil: remove timer.h include from internal.h

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-26 01:54:55 +01:00
Janne Grunau
fb0c9d41d6 avutil: remove timer.h include from internal.h
Added libavutil/timer.h include to all files with {START,STOP}_TIMER.
2014-01-25 21:50:20 +01:00
João Bernardo
290326711b avutil/opt: Better print representation of number limits
Signed-off-by: João Bernardo Oliveira <jbvsmo@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-24 21:14:02 +01:00
Nicolas George
3532dd52c5 lavu/rational: add syntactic sugar.
Add a function to create a rational
and macros for common values.
2014-01-19 17:12:22 +01:00
Loren Merritt
4d55fe7204 x86inc: speed up compilation with yasm
Work around yasm's inefficiency with handling large numbers of variables
in the global scope.
2014-01-18 01:19:16 +01:00
Michael Niedermayer
045d80076a Merge commit '045654f422e74be8ed09a0819d39051d67633a09'
* commit '045654f422e74be8ed09a0819d39051d67633a09':
  doxy: Document better the available AVFrame flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 15:05:24 +01:00
Michael Niedermayer
68ebf70f66 Merge commit 'ff23c4e4935e96e62d8ff2212a1955a43add88e1'
* commit 'ff23c4e4935e96e62d8ff2212a1955a43add88e1':
  doxy: Add AVFrame to the structured modules

Conflicts:
	libavutil/frame.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-17 14:55:08 +01:00
Luca Barbato
045654f422 doxy: Document better the available AVFrame flags 2014-01-17 10:00:18 +01:00
Luca Barbato
ff23c4e493 doxy: Add AVFrame to the structured modules 2014-01-17 10:00:18 +01:00
Michael Niedermayer
949adce125 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aarch64: port neon clobber test from arm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-15 15:49:22 +01:00
Michael Niedermayer
d5560f1fec Merge commit 'b7b17ed66e199afc7246e642bf3b35c3f8eca217'
* commit 'b7b17ed66e199afc7246e642bf3b35c3f8eca217':
  aarch64: add cpuflags support for NEON and VFP

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-15 14:42:49 +01:00
Janne Grunau
fe96769bed aarch64: port neon clobber test from arm 2014-01-15 12:31:07 +01:00
Janne Grunau
b7b17ed66e aarch64: add cpuflags support for NEON and VFP
NEON and VFP are currently mandatory for all ARMv8 profiles. Both are
handled as extensions as far as cpuflags are concerned. This is
consistent with handling x86_64 which always has SSE2, but still
handles it as an extension.
2014-01-15 12:05:09 +01:00
Michael Niedermayer
53e6977c07 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aarch64: bswap inline assembly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-15 05:23:03 +01:00
Janne Grunau
d0cd2a8c46 aarch64: bswap inline assembly
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-01-14 22:19:38 +01:00
Michael Niedermayer
9d5cc55f0f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Add an option for making sure NEON registers aren't clobbered

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-11 03:08:10 +01:00
Martin Storsjö
44a0a98f92 arm: Add an option for making sure NEON registers aren't clobbered
This is pretty much based on the same test for XMM registers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-11 00:03:00 +02:00
Michael Niedermayer
c47fc0339a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: do not use avcodec header in frame.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-10 03:58:00 +01:00
Vittorio Giovara
02b9fafcca avutil: do not use avcodec header in frame.h 2014-01-09 23:13:05 +01:00
Michael Niedermayer
edba54630b Merge commit '5dae4872357613a0b51120b54a4c5221e0ec3f69'
* commit '5dae4872357613a0b51120b54a4c5221e0ec3f69':
  arm: Allow overriding the alignment set in the function macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 05:36:56 +01:00
Martin Storsjö
5dae487235 arm: Allow overriding the alignment set in the function macro
The function macro always sets .align 2 before declaring the
function label (since 5c5e1ea3) and always sets the section to
.text (since 278caa6a).

The .align 5 before certain functions, added in fc252eba, were added
before .text and .align were added to the function macro and thus
became useless/unused when the function macro got them.

This restores the original intention, to align the loop entry
points.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-07 19:29:56 +02:00
Michael Niedermayer
00f25e0a99 Merge commit '01d245ef4392152dbdc78a6ba4dfa0a6e8b08e6f'
* commit '01d245ef4392152dbdc78a6ba4dfa0a6e8b08e6f':
  random_seed: Rewrite the generic clock() based seed code

Conflicts:
	libavutil/random_seed.c

See: 66531c75d3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 22:12:29 +01:00
Michael Niedermayer
01d245ef43 random_seed: Rewrite the generic clock() based seed code
The new code is faster and reuses the previous state in case of
multiple calls.

The previous code could easily end up in near-infinite loops,
if the difference between two clock() calls never was larger than
1.

This makes fate-parseutils finish in finite time when run in wine,
if CryptGenRandom isn't available (which e.g. isn't available if
targeting Windows RT/metro).

Patch originally by Michael Niedermayer but with some modifications
by Martin Storsjö.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-01-06 18:53:58 +02:00
Michael Niedermayer
4cf4da9dc5 Merge commit '5b4797a21db900b7d509660b7a4d49829089b004'
* commit '5b4797a21db900b7d509660b7a4d49829089b004':
  avframe: add AV_FRAME_DATA_MATRIXENCODING side data type.

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 22:12:41 +01:00
Michael Niedermayer
751385fe3f Merge commit '5c437fb'
* commit '5c437fb':
  lavu: Add values for various Dolby flags to the AVMatrixEncoding enum.

Conflicts:
	doc/APIchanges
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 21:55:58 +01:00
Tim Walker
5b4797a21d avframe: add AV_FRAME_DATA_MATRIXENCODING side data type.
Includes a libavcodec utility function to update a frame's side data.
2014-01-05 16:41:56 +01:00
Tim Walker
5c437fb672 lavu: Add values for various Dolby flags to the AVMatrixEncoding enum. 2014-01-05 16:41:56 +01:00
Michael Niedermayer
cd7037dd7a avutil/rational: av_add_stable() test code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 15:10:14 +01:00
Michael Niedermayer
b317f9459f avutil/mathematics: add av_add_stable()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 15:10:09 +01:00
Michael Niedermayer
3929c17405 Merge commit '94a417acc05cc5151b473abc0bf51fad26f8c5a0'
* commit '94a417acc05cc5151b473abc0bf51fad26f8c5a0':
  mathematics: remove asserts from av_rescale_rnd()

Conflicts:
	libavutil/mathematics.c

The asserts are left in place for now as no code checks the return
value, but we sure can change this if application developers
prefer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-04 01:27:59 +01:00
Michael Niedermayer
9c5260e73a avutil/mathematics: fix 2 typos in the doxy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-03 18:01:49 +01:00
Anton Khirnov
94a417acc0 mathematics: remove asserts from av_rescale_rnd()
It is a public function, it must not assert on its parameters.
2014-01-03 16:39:30 +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
Michael Niedermayer
833501657b avutil/frame: increase padding for frames
This matches what avcodec uses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-28 19:10:45 +01:00
Michael Niedermayer
25b243759c Merge commit 'b83d1ee3b41cfe8357836e2582104db2f3364cb0'
* commit 'b83d1ee3b41cfe8357836e2582104db2f3364cb0':
  avutil: Move library version related macros to version.h

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

See: 183117fed7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-27 12:01:23 +01:00
Diego Biurrun
b83d1ee3b4 avutil: Move library version related macros to version.h
This is a more sensible place for these macros.
2013-12-26 19:05:22 +01:00
Stefano Sabatini
334e2e2363 lavu,lavc,lswr: do not hardcode AV_SAMPLE_FMT_NB value when setting sample format max value
The constant may change in libavutil but the library may be compiled
against an older version, thus rejecting a value which is otherwise
supported by the new libavutil.

INT_MAX is used here to denote the max allowed value for a sample format.

The opt-test code is changed to provide a valid reference example.
2013-12-26 11:35:27 +01:00
Stefano Sabatini
3b8c7da7a3 lavu,lavfi,lavd: do not hardcode AV_PIX_FMT_NB value when setting pixel format max value
The constant may change in libavutil but the library may be compiled
against an older version, thus rejecting a value which is otherwise
supported by the new libavutil.

INT_MAX is used here to denote the max allowed value for a pixel format.

The opt-test code is changed to provide a valid reference example.
2013-12-26 11:35:27 +01:00
Stefano Sabatini
55f046be11 lavu/opt: apply range checks also when setting format string value
Previously when setting a pixel/sample format as a string range checks
were not performed. This is consistent with the
av_opt_set_pixel/sample_fmt() interface.
2013-12-26 11:35:27 +01:00
Stefano Sabatini
1575a96b3a lavu/opt: factorize setting of format values from string
Simplify incoming patch.
2013-12-26 11:35:27 +01:00
Stefano Sabatini
e2b54464c6 lavu/opt: fix range check logic in set_format()
In particular, allow to reject undefined values. Previously the code
was only accepting values in the range -1 .. NB_FORMATS-1.
2013-12-26 11:35:26 +01:00
Diego Biurrun
d06ca2040c error.h: Do not circularly depend on avutil.h 2013-12-25 00:12:05 +01:00
Tim Walker
10d982480f lavu: fix typo in documentation. 2013-12-22 22:35:23 +01:00
Michael Niedermayer
911676c643 avutil/avstring: add av_strnlen()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 22:25:15 +01:00
Ivan Kalvachev
1c63aed232 Convert XvMC to hwaccel v3
Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 22:03:47 +01:00
Michael Niedermayer
3f307d79d3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  atomics: cosmetics: Restructure ifdefs for greater clarity

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-20 13:16:56 +01:00
Diego Biurrun
e1b9de4fe1 atomics: cosmetics: Restructure ifdefs for greater clarity
Also fix the #endif comment in a few places and #include config.h to
avoid assuming it is #included implicitly.
2013-12-20 11:23:13 +01:00
Michael Niedermayer
645c94b61b Revert "Merge commit '3bc2e89c76e88ae6f1fd5287e0b11abcfc3c601c'" (Bump libavutil major version to account for the LLS API/ABI changes.)
This reverts commit 792845e436, reversing
changes made to 1d6666a6b8.

Bumping libavutil requires all libraries that use libavutil to have their
major version bumped (yes breakage has been confirmed this is not a hypotheses)

One case of breakage is due to new types being added to AVOptions and
applications that linked to old libavutil and libswresample
then trying to use old libavutil (its soname changed so the old isnt updated)
and new swresample (its soame didnt change so it is updated)
the new swresample contains AVOption types that the old libavutil doesnt
know of thus the application attempting to access these avoptions
fails

AVOptions are used by all libs so the issue can potentially happen with
any other lib, libswresample was just the first that showed the problem
ive not checked if the other libs are affected currently by the same issue
or not

Also in addition to AVOptions, AVFrames are also defined in
libavutil, bumping it without all libs that use AVFrames could lead to
serious inconsistencies when 2 libs/app end up using 2 different libavutils

The alternative of bumping all is still possible after this revert, if it
turns out to be the preferred solution
2013-12-18 03:05:25 +01:00
Michael Niedermayer
9be63be1b2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  apidoc: fix warning from stereo3d.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 19:37:50 +01:00
Vittorio Giovara
bd316109b3 apidoc: fix warning from stereo3d.h 2013-12-17 09:34:08 +01:00
Michael Niedermayer
196f7da7c8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: Remove deprecated intfloat_readwrite code

Conflicts:
	libavutil/intfloat_readwrite.c
	libavutil/intfloat_readwrite.h

The files are left in place as they are still used by some projects
mplayer is one.
Theres no hurry in removing the code, it can as well be removed once
no projects use it anymore

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 00:26:01 +01:00
Michael Niedermayer
792845e436 Merge commit '3bc2e89c76e88ae6f1fd5287e0b11abcfc3c601c'
* commit '3bc2e89c76e88ae6f1fd5287e0b11abcfc3c601c':
  Bump libavutil major version to account for the LLS API/ABI changes.

Conflicts:
	libavutil/version.h

Bump done to stay compatible with libav, its not neccessary otherwise for ffmpeg
as we have the new ABI/API under LLS2 and the old (unused) under LLS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-16 21:52:51 +01:00
Stefano Sabatini
e3eb0988c6 lavu/dict.h: extend/clarify av_dict_get() doxy 2013-12-16 18:30: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
Reinhard Tartler
3bc2e89c76 Bump libavutil major version to account for the LLS API/ABI changes.
Commit 41578f70cf changed the LLS API, which was
called from libavcodec. Thus using an old libavcodec with a new libavutil will
break.

All scheduled API changes are deferred to the next bump.
2013-12-14 16:31:09 -05:00
Michael Niedermayer
688c3d944d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doxy: Define a group for libswscale documentation

Conflicts:
	libavutil/avutil.h
	libswscale/swscale.h

See: 18d9398143
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 13:09:30 +01:00
Michael Niedermayer
acda7c8e20 Merge commit '70a7b24d56a823894440a372c46e89e212b89c35'
* commit '70a7b24d56a823894440a372c46e89e212b89c35':
  avutil: Add deprecation ifdefs around obsolete intfloat code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 11:13:55 +01:00
Luca Barbato
c85aad9cb2 doxy: Define a group for libswscale documentation
Uniform the style and eliminate a warning on newer doxygen version..
2013-12-13 23:53:30 +01:00
Diego Biurrun
70a7b24d56 avutil: Add deprecation ifdefs around obsolete intfloat code
This long-deprecated code should disappear at the next version bump.
2013-12-13 23:45:54 +01:00
Michael Niedermayer
a435a03374 Merge commit '6b45f05ef5b241fd1513702119af9c30056a0ac5'
* commit '6b45f05ef5b241fd1513702119af9c30056a0ac5':
  parseutils: fix discarding const attribute warning

Conflicts:
	libavutil/parseutils.c

See: fe87b2e79c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-12 19:12:33 +01:00
Vittorio Giovara
6b45f05ef5 parseutils: fix discarding const attribute warning 2013-12-12 16:10:14 +01:00
Michael Niedermayer
9ab5cf5417 avutil/avstring: fix () position
Fixes CID1135751

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 21:13:51 +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
Lenny Wang
64f73acd1d cmdutils & opencl: add -opencl_bench option to test and show available OpenCL devices
Reviewed-by: Wei Gao <highgod0401@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 21:21:36 +01:00
Michael Niedermayer
8e702bd3a8 Merge commit 'd64341e498fa46c6cf4c23d408177d7489559654'
* commit 'd64341e498fa46c6cf4c23d408177d7489559654':
  configure: Prefix libc-related variables with "libc_"

Conflicts:
	libavdevice/Makefile
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 20:52:14 +01:00
Michael Niedermayer
58f70f1701 Merge commit 'df7aba52b51007db50410abe15fe28391abd8757'
* commit 'df7aba52b51007db50410abe15fe28391abd8757':
  frame: cosmetics, reindent

Conflicts:
	libavutil/frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 18:16:35 +01:00
Michael Niedermayer
3f5f955c53 Merge commit 'c342132fa8a29692e28c98238e3a31da5c407e42'
* commit 'c342132fa8a29692e28c98238e3a31da5c407e42':
  frame: copy flags in av_frame_copy_props()

Conflicts:
	libavutil/frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 17:59:33 +01:00
Vittorio Giovara
7e244c6860 avframe: add codec-independent stereoscopic metadata 2013-12-09 16:02:43 +01:00
Diego Biurrun
d64341e498 configure: Prefix libc-related variables with "libc_"
Simplifies host/target libc detection splitting.
2013-12-09 11:47:43 +01:00
Anton Khirnov
df7aba52b5 frame: cosmetics, reindent 2013-12-09 08:45:08 +01:00
Anton Khirnov
c342132fa8 frame: copy flags in av_frame_copy_props()
Flags can be considered metadata (at least those that are defined now).
2013-12-09 08:45:01 +01:00
Michael Niedermayer
e8ac905dae avutil/opt: Implement av_opt_set_defaults* in O(N) instead of O(N²) time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 14:09:36 +01:00
Michael Niedermayer
0aedf90e62 avutil/opt: factor set_string_color() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 14:08:20 +01:00
Michael Niedermayer
758d4e4067 avutil/opt: factor set_string_video_rate() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 14:08:19 +01:00
Michael Niedermayer
9648c4fe9c avutil/opt: factor set_string_image_size() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 14:07:52 +01:00
Michael Niedermayer
f52852098d avutil/utils: run ff_check_pixfmt_descriptors() only when ASSERT_LEVEL is > 0
this safes about 0.1ms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 23:51:58 +01:00
Michael Niedermayer
a044a183a3 avutil/log: skip IO calls on empty strings
These occur when no context is set for example, thus they are common

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 23:30:34 +01:00
Michael Niedermayer
d6838309fe avutil/log: skip setting color for default (AV_LOG_INFO) level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 23:28:57 +01:00
Michael Niedermayer
2c21e2ee4c avutil/log: merge calls that set ansi color and print the string
about 1/3 or so faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-06 23:27:45 +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
Lenny Wang
7b2534b0ea libavutil & opencl: remove opencl default device type
CL_DEVICE_TYPE_DEFAULT makes duplicated device entries for each
platform using av_opencl_get_device_list()

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Reviewed-by: highgod0401 <highgod0401@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-02 12:07:27 +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
Michael Niedermayer
808c10e728 avutil/log: check that len is within the buffer before reading it
Fixes out of array read
Fixes: asan_heap-oob_19d6979_6857_mmw_deadzy.ogg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 17:06:42 +01:00
Michael Niedermayer
60b099c371 get_audio_buffer: fix usage where channels are not set but layout is
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 10:52:26 +01:00
Michael Niedermayer
625b29037e Merge commit '1eaac1d6f7bb8e52d82e1a114c88a59a9a8e5025'
* commit '1eaac1d6f7bb8e52d82e1a114c88a59a9a8e5025':
  mpeg12dec: Extract CC user data into frame side data

Conflicts:
	doc/APIchanges
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-26 13:00:46 +01:00
John Stebbins
1eaac1d6f7 mpeg12dec: Extract CC user data into frame side data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-26 08:37:22 +01:00
Michael Niedermayer
ccdfa3e271 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add missing #includes for *INT64_MAX and *INT64_C

Conflicts:
	ffmpeg.c
	ffmpeg_filter.c
	ffplay.c
	libavformat/assdec.c
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 05:21:19 +01:00
Diego Biurrun
8f8bc92365 Add missing #includes for *INT64_MAX and *INT64_C 2013-11-23 21:55:52 +01:00
Michael Niedermayer
51268aaed2 avutil/utf8: put under #ifdef TEST
All other test programs are under #ifdef TEST too
with the implementation and test code being generally in the same file

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-22 17:16:11 +01:00
Stefano Sabatini
68590650f0 lavu/avstring: add av_utf8_decode() function 2013-11-22 16:51:05 +01:00
Stefano Sabatini
e782eea183 lavu/dict.h: extend/clarify docs for av_dict_parse_string() 2013-11-22 15:51:20 +01:00
Stefano Sabatini
320389f88b lavu/dict.h: apply various fixes/extensions to doxy
In particular, document AV_DICT_MATCH_CASE, AV_DICT_IGNORE_SUFFIX, and
extend documentation for av_dict_get().
2013-11-22 15:51:10 +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
c3814ab654 rename new lls code to lls2 to avoid conflict with the old which has a different ABI
also remove failed attempt at a compatibility layer, the code simply cannot work

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 16:41:08 +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
Michael Niedermayer
7c888ae746 Merge commit 'cce3e0a49f0dd030262c28d9c53de0bd2fd909c4'
* commit 'cce3e0a49f0dd030262c28d9c53de0bd2fd909c4':
  Move av_fast_{m,re}alloc from lavc to lavu.

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 15:04:04 +01:00
Anton Khirnov
cce3e0a49f Move av_fast_{m,re}alloc from lavc to lavu. 2013-11-14 09:42:22 +01:00
Michael Niedermayer
5231eecdaf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Deprecate obsolete XvMC hardware decoding support

Conflicts:
	libavcodec/mpeg12.c
	libavcodec/mpeg12dec.c
	libavcodec/mpegvideo.c
	libavcodec/options_table.h
	libavutil/pixdesc.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 03:26:35 +01:00
Diego Biurrun
19e30a58fc Deprecate obsolete XvMC hardware decoding support
XvMC has long ago been superseded by newer acceleration APIs, such as
VDPAU, and few downstreams still support it. Furthermore XvMC is not
implemented within the hwaccel framework, but requires its own specific
code in the MPEG-1/2 decoder, which is a maintenance burden.
2013-11-13 21:07:45 +01:00
Michael Niedermayer
66872161cb avutil/common: error out with clear message if __STDC_CONSTANT_MACROS is not defined with c++
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-05 22:10:02 +01:00
Lenny Wang
6682554790 avutil/opencl: compile kernels separately
Reviewed-by: Wei Gao <highgod0401@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-05 14:29:55 +01:00
Michael Niedermayer
be41f21a3d Merge commit 'cd8f772d0678a90957f4dfd5ce51af9d22e3f212'
* commit 'cd8f772d0678a90957f4dfd5ce51af9d22e3f212':
  lavc: Add colorimetry values for BT.2020, other non-included ones

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 21:26:34 +01:00
Michael Niedermayer
85cabf1ca9 avutil: add av_fopen_utf8()
fopen() on windows uses UTF-16, we use UTF-8 everywhere, this
function bridges the gap by using avpriv_open()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 15:38:52 +01:00
Michael Niedermayer
08e7644b68 Merge commit '5858a67f135a7395c548482c73cf3d39bcdd3022'
* commit '5858a67f135a7395c548482c73cf3d39bcdd3022':
  attributes: disable flatten on llvm/clang

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-03 12:38:13 +01:00
Vittorio Giovara
5858a67f13 attributes: disable flatten on llvm/clang 2013-11-03 11:51:40 +01:00
Timothy Gu
50f52a5498 avutil/xtea: add Doxy @file and group
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-03 00:59:38 +01:00
Timothy Gu
624672fcce avutil/adler32: add Doxy group
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-03 00:58:31 +01:00
Michael Niedermayer
78265fcfee Merge commit '28096e0a806e57376541e6222d315619906e3c55'
* commit '28096e0a806e57376541e6222d315619906e3c55':
  h264: wait for initial complete frame before outputing frames

Conflicts:
	doc/APIchanges
	libavcodec/h264.c
	libavcodec/mpegvideo.h
	libavutil/frame.h
	libavutil/version.h

See: a64b028aeb (as well as various later commits)
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-01 12:59:08 +01:00
John Stebbins
28096e0a80 h264: wait for initial complete frame before outputing frames
This can be optionally disabled whith the "output_corrupt" flags
option.  When in "output_corrupt" mode, incomplete frames are
signalled through AVFrame.flags FRAME_FLAG_INCOMPLETE_FRAME.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-31 20:14:14 +01:00
Michael Niedermayer
15b1b08874 avutil/opt: fix flags check on non x86
This should fix several fate failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 21:07:45 +01:00
Michael Niedermayer
162126bb17 avutil/opt: check flags validity in write_number()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 18:03:29 +01:00
Michael Niedermayer
f0e43e60cd Merge commit '0b357a8095e72b092cc5c2aacc2f806db75ecae3'
* commit '0b357a8095e72b092cc5c2aacc2f806db75ecae3':
  AVOptions: do not range check flag options.

Conflicts:
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 11:26:48 +01:00
Michael Niedermayer
078dab551d Merge commit '529a9893d769f381b72785c500662be2020da5fe'
* commit '529a9893d769f381b72785c500662be2020da5fe':
  avframe: mark source frame const in _ref and _clone

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 10:28:47 +01:00
Anton Khirnov
0b357a8095 AVOptions: do not range check flag options.
It does not make sense in the vast majority of use cases, no currently
defined AV_OPT_TYPE_FLAGS options in Libav set the range to anything
nontrivial, and many of those get it wrong (the "correct" range is
INT_MIN to INT_MAX so that the builtin constant "all" works).
2013-10-27 21:40:33 +01:00
Vittorio Giovara
529a9893d7 avframe: mark source frame const in _ref and _clone
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-27 21:32:37 +01:00
Stefano Sabatini
d61617a523 lavu/parseutils: add av_get_known_color_name() 2013-10-27 09:16:05 +01:00
Michael Niedermayer
f3d0642d35 avutil/utils: check that size_t is unsigned
ANSI/ISO C guarantee this, yet there is evidence that there exist
platforms where its not so.
See: http://www.cs.utah.edu/dept/old/texinfo/glibc-manual-0.02/library_30.html

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 22:08:06 +02:00
Michael Niedermayer
3fcc2684e4 Merge commit 'b284e1ffe343d6697fb950d1ee517bafda8a9844'
* commit 'b284e1ffe343d6697fb950d1ee517bafda8a9844':
  mem: do not check for negative size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 21:49:04 +02:00
Vittorio Giovara
b284e1ffe3 mem: do not check for negative size
size_t is guaranteed to be unsigned

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-26 09:05:56 +02:00
Michael Niedermayer
a665704402 Merge commit '4d6ee0725553a43ba88d6f8327ebcf8f1c5ae8d4'
* commit '4d6ee0725553a43ba88d6f8327ebcf8f1c5ae8d4':
  libavutil: x86: Add AVX2 capable CPU detection.

Conflicts:
	libavutil/cpu.c
	libavutil/cpu.h
	libavutil/x86/cpu.c

See: 865b70bc5d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 02:36:36 +02:00
Kieran Kunhya
865b70bc5d Add AVX2 capable CPU detection. Patch based on x264's AVX2 detection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 02:34:22 +02:00
Kieran Kunhya
4d6ee07255 libavutil: x86: Add AVX2 capable CPU detection.
Patch based on x264's AVX2 detection

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-25 19:36:55 +01:00
Derek Buitenhuis
8dc1b7bd22 base64-test: Remove posibility of returning restricted exit codes
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-25 11:06:32 +01:00
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
Derek Buitenhuis
cbbd0ac764 base64-test: Remove posibility of returning restrcted exit codes
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-24 10:51:52 +01:00
Derek Buitenhuis
5dfdffeb6f tree-test: Don't return restricted exit codes
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-24 10:51:52 +01:00
Michael Niedermayer
05eb0f125c avutil/log: document log callback thread saftey requirements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 18:15:49 +02:00
Michael Niedermayer
423ae31354 avutil/log: make default av_log callback thread safe
This uses a pthread mutex

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 18:15:49 +02:00
Michael Niedermayer
867e7bb4f1 fix order of operations in comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-23 14:32:04 +02: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
Carl Eugen Hoyos
87eae03aac Support FF_DISABLE_DEPRECATION_WARNINGS with icc on Linux. 2013-10-21 13:49:30 +02:00
Michael Niedermayer
2d8ccf0adc avutil/opt: initialize ret
Fixes CID1108610
Fixes use of uninitialized variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 18:38:48 +02:00
Michael Niedermayer
ad28fe35c5 avutil/file_open: Print debug message if setting close on exec fails
Fixes CID1087079
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 18:36:09 +02:00
Michael Niedermayer
d5ec8ba7f2 Do not leave positive values undefined when negative are defined as error
Define positive return values as non errors and leave further meaning undefined
This allows future extensions to use these values

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 16:42:57 +02:00
Stefano Sabatini
8696e51baf lavu/opt: add AV_OPT_TYPE_CHANNEL_LAYOUT and handler functions
The new type is compatible with AV_OPT_TYPE_INT64, but allows to specify
channel layouts using the format accepted by av_get_channel_layout().
2013-10-17 18:09:29 +02:00
Stefano Sabatini
d96e377c39 lavu/channel_layout: change av_get_channel_layout() behavior at the next bump
The new syntax is preferred since it allows backward syntax compatibility
with libswr when switching to the new option handling code with
AV_OPT_TYPE_CHANNEL_LAYOUT.

With the new parser the string:
1234

is interpreted as a channel layout mask, rather than as a number of
channels, and thus it's compatible with the current way to set a channel
layout as an integer (e.g. for the icl and ocl options) making use of
integer option values.

ff_get_channel_layout() with compat=0 will be used in the
AV_OPT_TYPE_CHANNEL handler code.

The user is encouraged to switch to the new forward compatible syntax,
which requires to put a trailing "c" when specifying a layout as a number
of channels.
2013-10-17 18:03:09 +02:00
Stefano Sabatini
b236eb49e1 lavu/opt.h: fix grammar typo in av_opt_get* doxy 2013-10-17 18:03:03 +02:00
Stefano Sabatini
98e7c1eed5 lavu/opt-test: use automatic set and free handlers
In particular, do not set default string value by hand and use
av_opt_free() to free context.
2013-10-17 18:02:54 +02:00
Michael Niedermayer
21b3563dcb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mem: Make av_strdup allocate using av_realloc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 08:13:42 +02:00
Michael Niedermayer
3ed65d98c6 avutil/log: fix race between setting and using the log callback
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-17 00:49:55 +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
Michael Niedermayer
f9bef2bec9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: more AVX2 framework

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 16:13:57 +02:00
Michael Niedermayer
e3e0e3d0c9 Merge commit 'c6908d6b4b377a04a5d055ba874bdbcf06c80497'
* commit 'c6908d6b4b377a04a5d055ba874bdbcf06c80497':
  x86inc: FMA3/4 Support

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 16:06:22 +02:00
Michael Niedermayer
9ac124c889 Merge commit '206895708ea2b464755d340e44501daf9a07c310'
* commit '206895708ea2b464755d340e44501daf9a07c310':
  x86inc: Remove our FMA4 support

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 15:54:23 +02:00
Michael Niedermayer
12e4493f9c Merge commit 'c108ba0175d4fc3a3253a8b0f782fbfb96ba5098'
* commit 'c108ba0175d4fc3a3253a8b0f782fbfb96ba5098':
  x86inc: Use VEX-encoded instructions in AVX functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-14 15:48:34 +02: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
Michael Niedermayer
31d0d35560 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86inc: Remove .rodata kludges

Conflicts:
	libavutil/x86/x86inc.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-09 14:29:42 +02: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
Michael Niedermayer
19c3890819 Merge commit '3e2fa991db7ef172579422accd61624d52777e5a'
* commit '3e2fa991db7ef172579422accd61624d52777e5a':
  x86inc: remove misaligned cpu flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 12:02:21 +02:00
Michael Niedermayer
31d9aa6b2e Merge commit '71155665414b551ad350622d5abed20e58371fbf'
* commit '71155665414b551ad350622d5abed20e58371fbf':
  x86inc: various minor backports from x264

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:57:39 +02:00
Michael Niedermayer
3f965ab95d Merge commit '47f9d7ce5493e119e09d1227d017414feaaf8d97'
* commit '47f9d7ce5493e119e09d1227d017414feaaf8d97':
  x86inc: Check for __OUTPUT_FORMAT__ having a value of "x64"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:37:22 +02:00
Michael Niedermayer
1f17619fe4 Merge commit 'bbe4a6db44f0b55b424a5cc9d3e89cd88e250450'
* commit 'bbe4a6db44f0b55b424a5cc9d3e89cd88e250450':
  x86inc: Utilize the shadow space on 64-bit Windows

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:23:00 +02:00
Michael Niedermayer
17d9c7c208 Merge commit '3fb78e99a04d0ed8db834d813d933eb86c37142a'
* commit '3fb78e99a04d0ed8db834d813d933eb86c37142a':
  x86inc: create xm# and ym#, analagous to m#

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:15:17 +02:00
Michael Niedermayer
3352fdb292 Merge commit '49ebe3f9fe02174ae7e14548001fd146ed375cc2'
* commit '49ebe3f9fe02174ae7e14548001fd146ed375cc2':
  x86inc: fix some corner cases of SWAP

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:07:03 +02:00
Michael Niedermayer
006c0fcfea Merge commit '63f0d623100bdb0c6081456127f4b6713e83d3db'
* commit '63f0d623100bdb0c6081456127f4b6713e83d3db':
  x86inc: Use SSE instead of SSE2 for copying data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 11:01:40 +02:00
Michael Niedermayer
faafffaf82 Merge commit 'ad76e6e7e193b98e7335156422d35467816f9ef1'
* commit 'ad76e6e7e193b98e7335156422d35467816f9ef1':
  x86inc: Set ELF hidden visibility for global constants

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 10:52:51 +02:00
Michael Niedermayer
c1488fab3d Merge commit '25cb0c1a1e66edacc1667acf6818f524c0997f10'
* commit '25cb0c1a1e66edacc1667acf6818f524c0997f10':
  x86inc: activate REP_RET automatically

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 10:27:30 +02: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
Niv Sardi
49ba6e56bd lavu/parseutils: add more resolutions
See http://en.wikipedia.org/wiki/Graphics_display_resolution

Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-07 11:45:03 +02:00
Michael Niedermayer
90cecd3c9b Merge commit '4272bb6ef1533846a788c259cc498562d0704444'
* commit '4272bb6ef1533846a788c259cc498562d0704444':
  doxy: Document avlog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 11:16:15 +02: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
Stefano Sabatini
515e651f56 lavu/opt: fix doxy for av_opt_get* functions about return value
Success code must be >= 0 and not == 0, consistently with the
implementation.
2013-10-04 16:36:27 +02:00
Stefano Sabatini
719b4eef5d lavu/common: add warning to GET_UTF8 doxy
Should prevent wrong uses, or at least decrease their chance.
2013-10-04 16:36:27 +02:00
Michael Niedermayer
1e67800780 Merge commit '80fefbed623491b92fe59ead99225f99c0d0ca08'
* commit '80fefbed623491b92fe59ead99225f99c0d0ca08':
  x86: cpu: Restore some explanatory comments removed in 7160bb7

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 11:28:21 +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
Michael Niedermayer
2ece7d94bc Merge commit '5ce04c14dd3dd3670cbdba82275a3a72c716ec6f'
* commit '5ce04c14dd3dd3670cbdba82275a3a72c716ec6f':
  Use correct Doxygen syntax

Conflicts:
	libavcodec/atrac3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 21:29:38 +02:00
Ronald S. Bultje
c07ac8d467 VP9 MC (ssse3) optimizations.
Decoding time of ped1080p.webm goes from 20.7sec to 11.3sec.
2013-10-02 21:03:15 -04:00