Commit Graph

3234 Commits

Author SHA1 Message Date
Ben Avison 649c666137 armv6: Accelerate vector_fmul_window
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in vector_fmul_window_c() / ff_vector_fmul_window_vfp() for the
same sample AAC stream:

                    Before          After
                    Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode        1598.2 47.4     1529.2 25.4    100.0%      +4.5%
vector_fmul_window  244.0  22.1     188.9  22.3    100.0%      +29.2%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-16 21:37:41 +02:00
Michael Niedermayer 9514472904 avutil & avdevice: remove av_bprint_fd_contents()
MSVC does not allow passing file pointers between libs
This API can thus not work with MSVC and as it was very recently added
and its it was in no release its removial should not cause any problems

A better API will be implemented, but its not finished yet, this revert is
to avoid potentially blocking the release

Found-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 21:49:56 +02:00
Andreas Cadhalpun 39a6e02fd4 fix spelling errors
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-12 22:33:27 +02:00
Michael Niedermayer c67690f854 Merge commit 'a54f03bf07da964a1b04b03b85bc39deba76efa4'
* commit 'a54f03bf07da964a1b04b03b85bc39deba76efa4':
  display: add matrix flip api

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 23:57:20 +02:00
Michael Niedermayer 31d49db75e avutil/bprint:ædd io.h, try to fix msvc build
Suggested-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 18:16:45 +02:00
Vittorio Giovara a54f03bf07 display: add matrix flip api 2014-07-09 10:14:12 -04:00
Michael Niedermayer 0ffba9feb6 avutil/cpu: Use HAVE_UNISTD_H instead of HAVE_SYSCONF for #include <unistd.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 02:50:52 +02:00
Michael Niedermayer 0ebcf87803 protect unistd.h with #if HAVE_UNISTD_H in code from recent av_bprint_fd_contents() patches
Should fix build failure on MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 01:54:30 +02:00
Andrey Utkin fcd1f6bc9d avutil/bprint: Add av_bprint_fd_contents()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 21:28:18 +02:00
Michael Niedermayer 705eb5a177 Merge commit 'a7985cfd4c51b7fe2b870fc4ecd109707ee035d6'
* commit 'a7985cfd4c51b7fe2b870fc4ecd109707ee035d6':
  audio_fifo: Split into a separate doxygen module

Conflicts:
	libavutil/audio_fifo.h

See: 689e02808d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 00:55: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
Timothy Gu a7985cfd4c audio_fifo: Split into a separate doxygen module
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 11:44:10 -07:00
Timothy Gu d69243d39b samplefmt: Add doxygen categories
Categorize the enum and functions as "audio-related".

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 11:44:01 -07:00
Timothy Gu 689e02808d avutil/audio_fifo: split into a separate doxy module
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 01:41:17 +02:00
Timothy Gu b27555a3a0 avutil/samplefmt: improve doxygen
Categorize the enum and funcs to "Audio related".

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-06 01:05:30 +02:00
Timothy Gu 3679edf429 downmix_info: clarify doxygen
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 22:07:23 +02:00
Timothy Gu beed4ac110 channel_layout: doxy: merge functions with macros
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 22:06:49 +02:00
Timothy Gu 0201ce002c avutil: fix version macros doxygen module
Without this patch, "Library Version Macros" module is not visible on
libavutil homepage in `make apidoc`.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-04 20:54:19 +02:00
Michael Niedermayer 8d0c7031a8 Merge commit '79793f833784121d574454af4871866576c0749d'
* commit '79793f833784121d574454af4871866576c0749d':
  Update Fiona's name in copyright statements.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 15:43:40 +02:00
Diego Biurrun 79793f8337 Update Fiona's name in copyright statements. 2014-07-01 03:26:51 -07:00
Michael Niedermayer 01983e50c0 Merge commit '7b0c7c9163fe3dd0081696befde28617119d2590'
* commit '7b0c7c9163fe3dd0081696befde28617119d2590':
  arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernel

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-28 21:31:18 +02:00
Martin Storsjö 7b0c7c9163 arm: Detect 32 bit cpu features on ARMv8 when running on a 64 bit kernel
When running on a 64 bit kernel, /proc/cpuinfo lists different
optional features than on 32 bit kernels (because some of them
are mandatory in the 64 bit implemenations).

The kernel does list the old features properly if they are queried
via /proc/self/auxv though - however this file is not always readable
(e.g. on most android systems). The getauxval function could also
provide the same info as /proc/self/auxv even if this file isn't
readable, but this function is not always available (and thus would
need to be loaded with dlsym for compatibility with older android
versions).

The android cpufeatures library does this slightly differently,
by assuming that these are available if the "CPU architecture"
line is >= 8, see [1] for details.

It has been suggested to include the old, non-optional features in
/proc/cpuinfo as well, but that suggested patch never was merged.
See [2] for the discussion around this suggestion.

[1] https://android-review.googlesource.com/91380
[2] http://marc.info/?l=linux-arm-kernel&m=139087240101974

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-06-28 22:16:59 +03:00
Michael Niedermayer faa1d4b134 Merge commit 'ab72eda15e98197cf148abc08574206cfde0d9b0'
* commit 'ab72eda15e98197cf148abc08574206cfde0d9b0':
  pixfmt: mark the reserved values

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 01:09:38 +02:00
Michael Niedermayer 9326caa5fa avutil/lzo: allow selecting the compression function in the test code 2014-06-24 00:32:34 +02:00
Vittorio Giovara ab72eda15e pixfmt: mark the reserved values 2014-06-23 17:39:03 -04:00
Michael Niedermayer 957457a044 Merge commit 'ccda51b14c0fcae2fad73a24872dce75a7964996'
* commit 'ccda51b14c0fcae2fad73a24872dce75a7964996':
  lzo: Handle integer overflow

Conflicts:
	libavutil/lzo.c

This is basically not merging changes due to this being fixed differently
in FFmpeg

See: d6af26c55c
See: cf2b7c01f8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 14:52:54 +02:00
Michael Niedermayer cf2b7c01f8 avutil/lzo: add asserts to be double sure against overflows
These asserts cannot fail since d6af26c55c

Based-on: ccda51b14c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 14:51:39 +02:00
Michael Niedermayer d6af26c55c avutil/lzo: Fix integer overflow
Embargoed-till: 2014-06-27 requested by researcher, but embargo broken by libav today (git and mailing list)

Fixes: LMS-2014-06-16-4
Found-by: "Don A. Bailey" <donb@securitymouse.com>
See: ccda51b14c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 14:18:20 +02:00
Luca Barbato ccda51b14c lzo: Handle integer overflow
get_len can overflow for specially crafted payload.

Reported-By: Don A. Baley <donb@securitymouse.com>
CC: libav-stable@libav.org
2014-06-23 10:20:57 +02:00
Michael Niedermayer 0dceefc5fa Merge commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2'
* commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2':
  Add av_image_check_sar() and use it to validate SAR

Conflicts:
	libavcodec/dpx.c
	libavcodec/dvdec.c
	libavcodec/ffv1dec.c
	libavcodec/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 22:20:28 +02:00
Justin Ruggles 9e500efdbe Add av_image_check_sar() and use it to validate SAR 2014-06-20 10:39:33 -04:00
Michael Niedermayer b05d50898f Merge commit '440842c4eb1d7709654ec97cd687663d11ef499c'
* commit '440842c4eb1d7709654ec97cd687663d11ef499c':
  stereo3d: add missing include guards

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 23:47:10 +02:00
Vittorio Giovara 440842c4eb stereo3d: add missing include guards 2014-06-19 17:31:49 -04:00
Michael Niedermayer 40c9d43086 Merge commit '44671b57866aab8dd36715ff010e985e25baaf19'
* commit '44671b57866aab8dd36715ff010e985e25baaf19':
  AVFrame: factor out freeing the side data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 12:53:42 +02:00
Roman Savchenko 44671b5786 AVFrame: factor out freeing the side data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-18 08:11:05 +02:00
Christophe Gisquet 9107612818 x86util: add and use RSHIFT/LSHIFT macros
Those macros take a byte number as shift argument, as this argument
differs between MMX and SSE2 instructions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 13:19:27 +02:00
Michael Niedermayer 375fa06125 Merge commit '1619274fb393f55a365cc10f88faa173c9a8e772'
* commit '1619274fb393f55a365cc10f88faa173c9a8e772':
  av_dict_set: fix potential memory leak with AV_DICT_DONT_OVERWRITE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 17:25:09 +02:00
Janne Grunau 1619274fb3 av_dict_set: fix potential memory leak with AV_DICT_DONT_OVERWRITE
av_dict_set leaks it key/value arguments if AV_DICT_DONT_OVERWRITE is
combined with AV_DICT_DONT_STRDUP_{KEY,VAL} and the key exists.
2014-06-09 12:33:19 +02:00
James Almer 85065d2a7c x86/float_dsp: add missing femms
It was lost during the port.
Should fix fate on 3dnowext machines.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 20:06:28 +02:00
James Almer dcaf9660b6 x86/float_dsp: port vector_fmul_window to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 12:41:32 +02:00
James Almer fc8db12a73 x86/vp9: inital AVX2 intra_pred
tos3k-vp9-b10000.webm on a Core i5-4200U @1.6GHz

1219 decicycles in ff_vp9_ipred_dc_32x32_ssse3, 131070 runs, 2 skips
439 decicycles in ff_vp9_ipred_dc_32x32_avx2, 131070 runs, 2 skips

3570 decicycles in ff_vp9_ipred_dc_top_32x32_ssse3, 4096 runs, 0 skips
2494 decicycles in ff_vp9_ipred_dc_top_32x32_avx2, 4096 runs, 0 skips

1419 decicycles in ff_vp9_ipred_dc_left_32x32_ssse3, 16384 runs, 0 skips
717 decicycles in ff_vp9_ipred_dc_left_32x32_avx2, 16384 runs, 0 skips

2737 decicycles in ff_vp9_ipred_tm_32x32_avx, 1024 runs, 0 skips
2088 decicycles in ff_vp9_ipred_tm_32x32_avx2, 1024 runs, 0 skips

3090 decicycles in ff_vp9_ipred_v_32x32_avx, 512 runs, 0 skips
2226 decicycles in ff_vp9_ipred_v_32x32_avx2, 512 runs, 0 skips

1565 decicycles in ff_vp9_ipred_h_32x32_avx, 1024 runs, 0 skips
922 decicycles in ff_vp9_ipred_h_32x32_avx2, 1024 runs, 0 skips

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 02:37:20 +02:00
Michael Niedermayer e374e77292 avutil/libm: fix fminf() emulation build failure due to undefined FFMIN
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 21:00:11 +02:00
Michael Niedermayer afce834843 avutil/libm: Replace macro based fminf() by function
This avoids issues when the FFMIN parameter evaluation has side effects

Reviewed-by: Clément Bœsch <u@pkh.me>
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:18:14 +02:00
Michael Niedermayer 3133e7fd44 avutil/libm: use FFMIN instead of fmin()
MSVC apparently doesnt support fmin() either

Suggested/Found-by: ubitux, Daemon404, nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 16:02:53 +02:00
Michael Niedermayer 2c1bf3fc96 avutil/libm: fix fminf typo
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 15:46:03 +02:00
Michael Niedermayer 97508af274 build: add fminf() emulation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 14:54:57 +02:00
Michael Niedermayer 151f88d507 Merge commit 'd816e125fe1fa5c909b706d47904a4d6c1799996'
* commit 'd816e125fe1fa5c909b706d47904a4d6c1799996':
  dict: const correctness for av_dict_get() and av_dict_copy()

Conflicts:
	libavutil/dict.c
	libavutil/dict.h

See: e12a73246d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 18:55:44 +02:00
Diego Biurrun d816e125fe dict: const correctness for av_dict_get() and av_dict_copy() 2014-06-05 09:16:15 -07:00
Michael Niedermayer d37c620c84 avutil/ppc/intreadwrite: try to fix intreadwrite for ppc64le
Untested due to lack of hardware

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 03:30:58 +02:00
Michael Niedermayer a40c338a00 Merge commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412'
* commit 'd5a55981986ac5d1a31aef3a8d16eaff8534a412':
  build: check if AS supports the '.func' directive

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-04 12:45:35 +02:00