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

521 Commits

Author SHA1 Message Date
Ganesh Ajjanagadde
c7131762c0 all: add const-correctness to qsort comparators
This adds const-correctness when needed for the comparators.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-25 10:07:20 -04:00
Ganesh Ajjanagadde
8507b98c10 avfilter,swresample,swscale: use fabs, fabsf instead of FFABS
It is well known that fabs and fabsf are at least as fast and sometimes
faster than the FFABS macro, at least on the gcc+glibc combination.
For instance, see the reference:
http://patchwork.sourceware.org/patch/6735/.
This was a patch to glibc in order to remove their usages of a macro.

The reason essentially boils down to fabs using the __builtin_fabs of
the compiler, while FFABS needs to infer to not use a branch and to
simply change the sign bit. Usually the inference works, but sometimes
it does not. This may be easily checked by looking at the asm.

This also has the added benefit of reducing macro usage, which has
problems with side-effects.

Note that avcodec is not handled here, as it is huge and
most things there are integer arithmetic anyway.

Tested with FATE.

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-22 16:13:26 -04:00
Ganesh Ajjanagadde
ef62f573ca swresample/swresample_internal: add av_warn_unused_result
This will trigger a few warnings that need to be fixed.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-15 22:27:23 -04:00
wm4
cdf4a13f86 swresample: slightly nicer debug output for auto matrix
This is the matrix that will be used for up/downmixing.
2015-10-15 20:16:13 +02:00
Ganesh Ajjanagadde
f3fc103c6a doc/resampler, swresample/options: use proper capitalization
Proper names should be capitalized in all user facing API as far as
possible. The option names themselves have not been changed since:
1. We consistently keep option names in lower case.
2. Changing them would break existing scripts.
3. I suspect that we want to be similar to Sox and its relevant options.

The converse is also true: improper names should not be capitalized
generally.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-10 20:49:54 +02:00
Michael Niedermayer
1bc873acd6 swresample/resample: manually unroll the main loop in bessel()
About 10% faster

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-07 18:00:58 +02:00
Michael Niedermayer
6024c865ef swresample/resample: merge first iteration into init in bessel()
speedup of about 1%

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-07 17:33:00 +02:00
James Almer
acdd672506 x86/audio_convert: fix clobbering of xmm registers
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-10-01 22:40:50 -03:00
Michael Niedermayer
7d636d02b1 swresample/dither_template: Add missing license header
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-27 13:09:10 +02:00
Hendrik Leppkes
160e92c8bf Merge commit 'e88103a7f92cf27a2868b50acc8a9912f6088249'
* commit 'e88103a7f92cf27a2868b50acc8a9912f6088249':
  Bump major versions of all libraries

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-05 21:35:46 +02:00
Michael Niedermayer
32f53958b8 swresample/swresample: Fix integer overflow in seed calculation
Fixes CID1322333

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 09:32:43 +02:00
Michael Niedermayer
fb42e77516 swresample/swresample-test: Make layouts static const
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-30 13:10:11 +02:00
Ganesh Ajjanagadde
24e6729a04 swresample/dither: use integer arithmetic
This fixes a -Wabsolute-value reported by clang 3.5+ complaining about misuse of fabs() for integer absolute value.
An additional benefit is the removal of floating point calculations.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-23 23:19:31 +02:00
James Almer
5750d6c5e9 x86: move XOP emulation code back to x86inc
Only two functions that use xop multiply-accumulate instructions where the
first operand is the same as the fourth actually took advantage of the macros.

This further reduces differences with x264's x86inc.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-08-03 17:11:13 -03:00
James Almer
f37a5dcb55 swresample/x86: add missing colon to labels
Silences warnings with Nasm

Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-26 02:51:13 -03:00
Carl Eugen Hoyos
a77401e1f7 lswr: Allow 64 channels internally. 2015-07-17 00:17:08 +02:00
Michael Niedermayer
d4325b2fea swr: Remember previously set int_sample_format from user
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-22 18:34:39 +02:00
Michael Niedermayer
0dd2790df5 swresample/swresample: Clear delayed_samples_fixup in clear_context()
This probably makes no difference but its more proper

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-22 18:34:39 +02:00
Rob Sykes
c70c6be225 swresample: soxr implementation for swr_get_out_samples()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 23:38:44 +02:00
Michael Niedermayer
5de3a589f1 swresample/swresample: Print used int_sample_fmt
Suggested-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 18:12:56 +02:00
Michael Niedermayer
4977692461 swresample: Choose 16bit internally only if input and output is 16bit or less
or if no rematrix and no resampling is performed and the input is 16bit
note reampling and rematrix itself always use more than 16bit internally
the "internal" sampling format is the format between these steps

Its unlikely the difference from this commit is audible in any case
unless there is some bug either before or after the change.
but multiple people prefer this and it slightly improves the precission
of computations.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 17:33:46 +02:00
Michael Niedermayer
56f0fe6b84 swr: Fix ASSERT_LEVEL warning
Found-by: cehoyos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-08 20:16:06 +02:00
Clément Bœsch
c5a08956a3 swresample: fix initilaize/initialize typo 2015-06-06 12:16:18 +02:00
Michael Niedermayer
b14361486b swresample/resample: fix typos
Found-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 13:04:09 +02:00
Michael Niedermayer
c3f87f7545 swresample/swresample: Cleanup on init failure.
This avoids leaks if the user doest call swr_close() after a failed init

Found-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 12:35:04 +02:00
Michael Niedermayer
cc17b43d8d swresample: Add swr_get_out_samples()
Previous version reviewed-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Previous version reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 05:37:32 +02:00
Michael Niedermayer
52acd22a7d libswresample/rematrix: Check for malloc errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 02:36:30 +02:00
Ganesh Ajjanagadde
196b885a5f swresample/dither: check memory allocation
check memory allocation in swri_get_dither()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 11:46:37 +02:00
Michael Niedermayer
02915602d9 swresample: Check the return value of resampler->init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-03 01:05:19 +02:00
James Almer
c16e99e3b3 x86: check for AV_CPU_FLAG_AVXSLOW where useful
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-01 00:15:35 +02:00
Rainer Hochecker
adb7372f74 swr: fix alignment issue caused by 8ch sse functions
Fix crash when doing 8 ch conversion from apps compiled with MSVS
Thanks to Ronald for giving this hint:
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-May/173049.html

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 22:44:06 +02:00
Michael Niedermayer
223a859853 swresample/dither_template: Do not define macro functions to nothing
This avoids potential warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 01:07:30 +02:00
Michael Niedermayer
ff50b1b13b swresample/swresample-test: Randomly wipe out channel counts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 22:21:53 +02:00
Michael Niedermayer
3c77bb5f23 swresample: Check channel layouts and channels against each other and print human readable error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 22:21:34 +02:00
Michael Niedermayer
80a28c7509 swresample: Allow reinitialization without ever setting channel layouts 2015-04-12 22:21:34 +02:00
Michael Niedermayer
d7b9cb2f7a swresample: Allow reinitialization without ever setting channel counts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-12 22:21:34 +02:00
James Almer
43482bd1a5 swr/resample: use av_clip functions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 22:46:40 +02:00
Michael Niedermayer
1a10134e20 swresample/swresample: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 23:24:33 +02:00
Michael Niedermayer
e16592c42e swresample/resample: Fix undefined shifts
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 01:15:37 +01:00
Michael Niedermayer
4d00860ac7 swresample: Add prefix to soxr_resampler
also move declaration to header

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:20:43 +01:00
Michael Niedermayer
c0e3b46118 swresample: add av_cold to init functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 00:33:09 +01:00
Michael Niedermayer
0cb95f9082 swresample/resample_template: Add () to protect the arguments of the OUT() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:36:35 +01:00
Michael Niedermayer
37013fd018 swresample/swresample-test: Add () to protect uint_rand() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:09:09 +01:00
James Almer
f7ed997a6d x86/swr: make pack_8ch functions work with compilers without aligned stack
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-15 13:57:37 -03:00
Michael Niedermayer
b74ecb82fa swresample/x86/rematrix_init: Check av_malloc* return codes, forward errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 10:15:56 +01:00
Michael Niedermayer
48ffaaaaef swresample/x86/rematrix_init: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 10:15:56 +01:00
Michael Niedermayer
9d7ae72725 swresample: Use int instead of enum for fields which are accessed through AVOptions as int
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 23:27:26 +01:00
Michael Niedermayer
c77cc2c176 swresample/dither: Cleanup number suffixes
The <<31 case needs LL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Reimar Döffinger
6efd0ba977 swresample_internal.h: Move struct declaration before first use.
It seems more logical and works with more restricted C compilers
like tinycc.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2015-01-27 21:29:51 +01:00
James Almer
59ac93f6af x86/swr: add SSE/AVX unpack_6ch functions
int32/float only

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-12 15:40:03 -03:00