Ronald S. Bultje
edf930472b
swr: reindent.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 01:33:32 +02:00
Ronald S. Bultje
083cd3d1f7
swr: compile mmx2 s16p functions only on x86-32.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 13:34:53 +02:00
James Almer
7f4dfbd080
swr: add prototypes for resample dsp functions
...
Should fix compilation failures with MSVC and any other compiler
without inline asm support.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 01:33:17 +02:00
Ronald S. Bultje
ada8f9c046
swr: remove obsolete function prototypes.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-15 00:07:25 +02:00
Ronald S. Bultje
7128a35f8c
swr: split out DSP functions.
...
DSP bits of swri_resample go into their own mini-DSP functions; DSP
init goes from a per-call branch in multiple_resample to a proper
DSP init routine; x86 bits go into x86/; swri_resample() moves out of
resample_template.c into resample.c because it's independent of DSP
code or sample type; multiple_resample() is simplified.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 20:21:39 +02:00
Michael Niedermayer
4411928c64
swresample/resample: replace assert by av_assert
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 16:33:09 +02:00
Ronald S. Bultje
b785c62681
swr: handle initial negative sample index outside DSP function.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 14:36:18 +02:00
Ronald S. Bultje
6b9685de3a
swr: remove unnecessary assignment.
...
I don't see dst_incr/dst_incr_frac ever being changed from their
initial value (which is the inverse of this operation), so it seems
to me that this is a no-op.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 04:30:53 +02:00
Ronald S. Bultje
f341340552
swr: handle 64bit overflow check in multiple_resample().
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 15:24:51 +02:00
Lou Logan
88f2586adb
fix various typos
...
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 10:58:19 -08:00
Ronald S. Bultje
cdfd9717ed
swr: move compensation_distance handling to swri_resample caller.
...
I think there's an off-by-one in terms of the switchpoint where we
switch from dst_incr to ideal_dst_incr, I don't think that's a massive
issue, but just be aware of that. It's probably trivial to prevent but
I don't care.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
I could not reproduce any off by 1 error, results are bit exact (michael)
2014-06-02 15:06:24 +02:00
Michael Niedermayer
2c23f87c85
swr/resample_template: prevent end_index from overflowing and add check for delta_frac overflow
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 00:57:08 +02:00
Ronald S. Bultje
9b53853756
Rewrite main resampling loop (common and linear).
...
This removes a branch at a performance-sensitive point (in the middle
of the loop). In fate-swr-resample-s32p-8000-2626, this makes the code
about 10% faster. It also simplifies the loops, allowing us to rewrite
it in yasm at some later point.
The compensation_distance != 0 code and index < 0 code are still kind
of hairy. For compensation_distance != 0, this should likely be handled
in the caller, so that it calls swri_resample twice (once until the
dst_incr switch-point, and once with the remainder of the samples). For
index < 0, the code should probably be rewritten to break out of the
loop once sample_index >= 0, and then resume (e.g. as a tail-call) to
the common or linear resampling loops.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 00:47:54 +02:00
James Almer
a9bf713d35
swresample: add swri_resample_float_avx
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 05:27:03 +02:00
Michael Niedermayer
96cb4c8718
swresample: swr_close()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 18:27:23 +02:00
Matt Oliver
1898c2f49d
inline asm: fix arrays as named constraints.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 15:02:45 +02:00
James Almer
4cdea92976
swresample/resample: add missing xmm clobbers
...
Might fix fate-swr on ICL
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-07 01:32:40 +02:00
Michael Niedermayer
68c3e6025f
Fix convertion typos
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 00:09:08 +02:00
James Almer
cdac3ab59f
swresample: add swri_resample_double_sse2
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 16:46:07 +02:00
Michael Niedermayer
291d464161
swresample: fix AV_CH_LAYOUT_STEREO_DOWNMIX input
...
Fixes Ticket 3542
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-24 01:25:46 +02:00
Michael Niedermayer
2b58c9c945
swresample/resample_template: try to consider src_size more exactly
...
This should avoid slight differences in the output causes by input
size alignment differences between archs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 06:35:35 +02:00
Michael Niedermayer
5e379cd3ee
swresample/resample: simplify index/consumed calculation for the filter = 1 case
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 02:23:04 +02:00
Michael Niedermayer
6c8ee74af2
swresample/resample: Fix fractional part of index in the filter_size = 1 filters = 1 case
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-14 02:22:17 +02:00
Michael Niedermayer
5027f39712
swresample/resample: use av_malloc_array() where appropriate
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 00:29:26 +02:00
Michael Niedermayer
a5290cb1ac
swresample/dither: use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 00:29:20 +02:00
Michael Niedermayer
f9158b01d0
swresample/resample: Limit filter length
...
Related to CID1197063
The limit choosen is arbitrary and much larger than what makes sense.
It avoids the need for checking arithmetic operations with the length for overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 00:25:49 +02:00
James Almer
63dbba655e
swresample/resample: sse float linear interpolation
...
About two times faster
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 02:34:02 +01:00
James Almer
fa25c4c400
swresample/resample: mmx2/sse2 int16 linear interpolation
...
About three times faster
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 02:33:16 +01:00
James Almer
32291ba6ea
swresample: add swri_resample_float_sse
...
At least two times faster than the C version.
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-20 06:01:06 +01:00
Matt Oliver
8236747511
Automatically change MANGLE() into named inline asm operands when direct symbol reference in inline asm are not supported.
...
This is part of the patch-set for intel C inline asm on windows support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 23:39:30 +01:00
James Almer
3d48cbc56c
swresample: reuse COMMON_CORE asm where possible
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 16:08:34 +01:00
James Almer
7c8bf09edd
swresample: change COMMON_CORE_INT16 asm from SSSE3 to SSE2
...
pshuf+paddd is slightly faster than phaddd.
The real gain is in pre-ssse3 processors like AMD K8 and K10, which get
a big boost in performance compared to the mmxext version
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 15:00:50 +01:00
Michael Niedermayer
6c6e4dd139
swr: check that the context for swr_convert() has been initialized
...
Reviewed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-24 08:23:42 +01:00
Michael Niedermayer
a66be60888
swresample: add swr_is_initialized()
...
Idea-from/based-on: 7e86c27b4e
Reviewed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-24 08:23:22 +01:00
Michael Niedermayer
f284e2a58a
swresample: factorize clear_context() out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-22 21:36:30 +01:00
Reimar Döffinger
e535897fad
Fix libswresample compilation with Apple Neon assembler.
...
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2014-02-17 17:40:10 +01:00
Martin Storsjö
3dd04cbcf7
swresample: Add arm&x86 clobber tests
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-18 18:38:57 +01:00
Reimar Döffinger
cbeaf67888
Avoid using empty macro arguments.
...
These are not supported by all compilers (gcc 2.95 but also older SPARC
compilers, see gcc bug #33304 for example), and there is no real need for them.
One use of this feature remains in libavdevice/v4l2.c which can't be
replaced quite as easily.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-12-31 12:19:59 +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
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
Michael Niedermayer
a6af5da7a2
swresample: use the internal buffer for resampling the last few samples
...
Fixes out of array read
Fixes Ticket3193
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 20:40:42 +01:00
Nicolas George
4a640a6ac8
lswr: fix assert failure on unknown layouts.
2013-11-03 10:30:37 +01:00
Stefano Sabatini
904c89ac1b
lswr/swresample: convert ocl and icl options to AV_OPT_TYPE_CHANNEL_LAYOUT
...
Improve interface flexibility. In particular makes it possible to set
channel layout through symbolic names using the av_opt_set() interface.
2013-10-17 18:09:54 +02:00
Ronald S. Bultje
ad75d2b590
x86: Fix compilation with nasm on PPC & OS/2
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 12:36:19 +02:00
Clément Bœsch
a89e9ad1c8
swr: fix example code and doxy indent.
2013-09-29 23:37:46 +02:00
Michael Niedermayer
9078b40d35
swresample: replace 2 av_free() by av_freep()
...
avoids leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 22:44:15 +02:00
Michael Niedermayer
c56d4dab03
swr/rematrix: Fix handling of AV_CH_LAYOUT_STEREO_DOWNMIX output
...
Fixes Ticket2859
Note, testcases related to the downmix channels are welcome.
(id like to make sure this is working correctly now, as obviously it didnt
work before ...)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 16:56:51 +02:00
Michael Niedermayer
6dfffe9200
swr: clean layouts before checking sanity
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 16:49:31 +02:00
Michael Niedermayer
7ac12599fe
swresample: fix negative rematrix volumns
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 03:24:22 +02:00
Michael Niedermayer
e2b718464e
swresample: Make rematrix maxvalue user settable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 03:23:54 +02:00
Timothy Gu
a9bbf59be7
cosmetics: Fix "dont" "wont" "doesnt" typos
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 02:31:16 +02:00
Michael Niedermayer
ca2818b881
swresample/x86/audio_convert: add emms to CONV
...
Might fix Ticket1874
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 02:26:36 +02:00
Michael Niedermayer
d62030ffca
swresample/rematrix_template: Fix integer overflow in mix8to2
...
Fixes: CID1030352
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 03:03:17 +02:00
Michael Niedermayer
b04bbe6b86
swresample/rematrix_template: Fix integer overflow in mix6to2
...
Fixes: CID1030351
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 03:03:12 +02:00
Michael Niedermayer
3289670142
swr: dont treat 32 and 24 as equal in simple copy check
...
Fixes dithering from 32 to 24 bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 03:06:34 +02:00
Michael Niedermayer
6bc4e36ba7
swr: set scale for 32->32/24 dither
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 03:06:34 +02:00
Paul B Mahol
0804171104
swresample: set flags & description and add documentation for output_sample_bits
...
Allows users to actually use such option.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-04 21:57:25 +00:00
Michael Niedermayer
495bf1b685
swr: Fix dithering of s16 with SIMD
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 23:50:45 +02:00
Michael Niedermayer
4cfc92081d
swr: add native_simd_one
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 23:50:45 +02:00
Michael Niedermayer
b84de51f54
swresample/rematrix: add S32 mixing code
...
Needed for dithering S32
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 15:12:11 +02:00
Michael Niedermayer
f3c638eac1
wresample/rematrix_template: fix internal types
...
Should make no difference, but future commits will need it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 15:12:11 +02:00
Michael Niedermayer
6e29f39252
swr/rematrix: use av_calloc()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 20:31:06 +02:00
Michael Niedermayer
03148fd174
buildsys: only include log2_tab per library for shared builds
...
Fix linking failures with -all_load due to multiple log2_tabs
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-03-04 12:25:02 +01:00
Rob Sykes
dc666d360b
soxr: libsoxr 0.1.1 support
...
Libsoxr 0.1.1 will be out very soon; no changes planned beyond what's currently in git.
It includes a couple of fixes (not affecting FFmpeg's current usage) and a minor API change (but remains ABI compatible).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 14:38:02 +01:00
Michael Niedermayer
35aaa306ac
swr: make the default of nopts for first_pts actually work
...
Fixes Ticket2210
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-25 04:39:26 +01:00
Michael Niedermayer
8b3affda87
swr: support a seperate output sample bits.
...
This avoids user apps having to mangle dither scale. for pcm24
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 20:31:56 +01:00
Michael Niedermayer
2abbe6d07a
swr: add duplicate cutoff for compatibility
...
Based on
commit 50f4337a2f
Author: Justin Ruggles <justin.ruggles@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-24 20:31:56 +01:00
Michael Niedermayer
21cd905cd4
swr: check channel layouts before using them.
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 17:50:24 +01:00
Michael Niedermayer
b5f544a0f9
swr: Dont use floats for S32->S32 when possible
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:11:46 +01:00
Michael Niedermayer
be989f9236
swr: reorder init code to make rematrix status available earlier
...
This also makes some other fields available earlier which may
be usefull one day
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:05:59 +01:00
Michael Niedermayer
24244cec2f
swr-test: Fix clip to 32bit
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:05:59 +01:00
Michael Niedermayer
b8c55590d5
swr/resample: fix integer overflow, add missing cast
...
The effects of this are limited to numeric errors in the output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:05:59 +01:00
Michael Niedermayer
91debec976
swr/resample: fix filter rounding and cliping for s32
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-04 04:05:59 +01:00
Michael Niedermayer
f9abeecd94
swr/ build_filter: use av_calloc() fix buffer overflow
...
Fixes integer & buffer overflow
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 05:58:47 +01:00
Michael Niedermayer
167af704ea
swr: limit phase_shift to a less insane value.
...
This prevents potential crashes and out of memory issues if
the user manually sets such insane values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-27 05:54:52 +01:00
Michael Niedermayer
00cae86754
swr: support first_pts
...
Trolled-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-21 00:52:14 +01:00
Michael Niedermayer
cc4a41727e
swr: fix "may be used uninitialized in this function" warnings
...
The uninitialized use implicates 0 channels, which is unlikely
to reach this function but fixed anyway in this commit.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 17:09:48 +01:00
Michael Niedermayer
55d0528669
swr/dither: fix division by 0
...
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 02:57:00 +01:00
Michael Niedermayer
d676598f87
swr: fix handling of timestamps that cause multiple drops or silence injections
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 18:39:06 +01:00
Michael Niedermayer
a34aee4646
swr: limit buffer size for silence injection
...
This reduces memory usage for unreasonable large silence injections
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 16:04:41 +01:00
Michael Niedermayer
b481d09bd9
swr: limit buffer size for discarding.
...
This prevents insane memory usage in case of insane input values.
Untested due to lack of a testcase that causes such insane allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 16:04:41 +01:00
Michael Niedermayer
db4e0ecaf0
swr: move silence buffer to context to avoid per use malloc/free
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 15:28:00 +01:00
Michael Niedermayer
dc6588421e
swr: move buffer used to discard sample to context
...
This avoids the need to allocate & free to repeatly
Fixes Ticket2122
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 15:28:00 +01:00
Michael Niedermayer
c8737d348b
swr: work with 4 noise shaping coeffs at a time
...
63->38 kcycles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 19:17:08 +01:00
Michael Niedermayer
93bc0f0180
swr/noise_shaping_data: pad coeffs to multiple of 4 when they are 1 below
...
This allows using code working with 4 at a time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 19:09:54 +01:00
Michael Niedermayer
ef7fdc8cff
swr: use a local variable for ns_coeffs
...
maybe a very tiny bit faster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 17:43:29 +01:00
Michael Niedermayer
68ff7d265f
swr: use local variable for ns_errors
...
71 -> 63 kcycles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 17:43:29 +01:00
Michael Niedermayer
b5d9e5d06c
swr: minor simplification for the noise shaping pos update
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 17:43:29 +01:00
Michael Niedermayer
a74548521b
swr: check that allocation of in/out_convert succeeded
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 20:27:07 +01:00
Michael Niedermayer
e5a736261b
swr: Use a temporary buffer for dither/Noise shaping when the input is read only
...
This avoids copying the input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 18:51:30 +01:00
Michael Niedermayer
2eec98125e
swr: mark noise data for noise shaping as const
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 18:07:32 +01:00
Michael Niedermayer
558aa6cab7
swr: add seperate in/out pointers to the noise shaping code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 18:06:19 +01:00
Michael Niedermayer
fca51256d4
swr: rename dither_pos to noise_pos
...
THis more closely matches what the field represents
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 18:01:26 +01:00
Michael Niedermayer
2672b2c1d2
swr: scale data down in noise shaping to avoid cliping
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 01:44:15 +01:00
Michael Niedermayer
0b60fc94aa
swr: reorder the operations in the noise shaping code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 00:27:04 +01:00
Michael Niedermayer
ead3a2a37e
swr: add noise_scale field to seperate it from the noise shaping scales
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 00:25:09 +01:00
Michael Niedermayer
6908ded20e
swr: fix the noise sample type for noise shaping
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 23:28:09 +01:00
Michael Niedermayer
3ef06f3415
swr: split swri_dither_init() out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 23:28:08 +01:00
Michael Niedermayer
8514d5bcf7
swr: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:41:40 +01:00
Michael Niedermayer
3ab1970612
swr: move dither related fields to their own context
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:41:12 +01:00
Michael Niedermayer
ba1314c2ef
swr: update copyright years of a few files iam working on
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:30:01 +01:00
Michael Niedermayer
82742294b7
swr: Implement Noise shaping dither
...
The following variants are implemented:
lipshitz noise shaping dither
shibata noise shaping dither
low shibata noise shaping dither
high shibata noise shaping dither
f-weighted noise shaping dither
modified-e-weighted noise shaping dither
improved-e-weighted noise shaping dither
Data tables taken from SOX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 18:25:06 +01:00
Michael Niedermayer
f3c9d8d41b
swr: use SIMD for dithering
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 02:05:35 +01:00
Michael Niedermayer
9aec63af9b
swr: fix assertion failure if dither is used without the preout buffer differing from in
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 20:07:16 +01:00
Alexander Strasser
ac25b31ede
lswr: Improve default resampler's default parameters
...
After making some blind tests on a small collection of music
samples for home usage. It turned out that the default cutoff
was too low.
The impact of filter_size was not clearly distinguishable (the
results were on the edge) with the music samples but turned out
to be clearly audible in some synthetic samples.
Thanks to Daniel for helping out with the listening tests.
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-01-04 16:47:57 +01:00
Nicolas George
5f12d5ad78
lswr: improve rematrixing error message.
...
Report channel layout/count for insufficiently determined
rematrixing.
2012-12-31 18:43:04 +01:00
Rob Sykes
8d9a503313
docs: add soxr documentation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 12:13:17 +01:00
Rob Sykes
03d38ee207
soxr_resample: soxr API parameter rename
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 11:59:55 +01:00
Rob Sykes
f2957adb23
soxr_resample: Correct email address
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 11:58:16 +01:00
Michael Niedermayer
f9e55c0fed
swr: support -async X as a simple way to do what ffmpeg -async X did
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 17:21:09 +01:00
Clément Bœsch
0212c1c43d
swr/doxy: fix missing quote in code example.
2012-12-16 21:04:54 +01:00
Michael Niedermayer
d18706244f
audioconvert/arm: require alignment of 16
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 04:49:09 +01:00
Michael Niedermayer
ceb9f8d927
audioconvert: support simd code with specific alignment requirements.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 04:47:17 +01:00
Rob Sykes
801b315729
swr: Add SOX resampler support
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Rob Sykes
41049d07f2
swr: add a lowpass default so that each Resampler can have its own default.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Michael Niedermayer
ae5a55e77a
swr: move flush into Resampler
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Michael Niedermayer
431dcc49d2
swr: make realloc_audio() available outside swresample.c
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Rob Sykes
5a5d70748c
swr: Add API to make resample engine selectable.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Michael Niedermayer
5595e7a102
doxy: fix swr group name
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 01:53:18 +01:00
Michael Niedermayer
b6a7f66f93
resample: remove disabled debug code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 02:51:26 +01:00
Clément Bœsch
2273b3aaf9
swr: remove unused ONE define.
2012-12-05 23:04:01 +01:00
Stefano Sabatini
8bee8f778a
lswr/swresample: use AV_OPT_TYPE_SAMPLE_FMT for sample format options
...
Improve usability and robustness.
2012-12-03 13:49:56 +01:00
Clément Bœsch
52b7823b73
swr: include stdint.h instead of inttypes.h.
...
stdint.h is for the [u]int*_t types, which is the only thing we need for
the prototypes. inttypes.h includes stdint.h and defines more thing we
don't need here.
Bump micro in case a user app was relying on this include for its own
code.
2012-11-20 21:53:06 +01:00
Clément Bœsch
186942a5e3
swr: fix a few typo in the public header.
2012-11-20 20:29:05 +01:00
Michael Niedermayer
156a75a459
swr-doxy: elaborate on swr_get_delay() and the timebase
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 20:05:08 +01:00
Michael Niedermayer
7cca237ddd
swr: general doxy text about swr and example code.
...
Based on doxy from avr
Reviewed-by: Clément Bœsch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 19:46:08 +01:00
Clément Bœsch
c02ae48271
swr: set default channel count options to 0.
...
If not set, they will be defined using the channel layout setting, which
is much more convenient when using swr_alloc() instead of
swr_alloc_set_opts().
2012-11-19 18:49:14 +01:00
Clément Bœsch
8f42b09604
swr/resample: fix SSSE3 included unconditionally.
...
10l Regression since 8ea88339
.
2012-11-15 23:52:44 +01:00
Clément Bœsch
5e68bf9b92
swr/rematrix: move templating parameters to template itself.
2012-11-15 21:24:49 +01:00
Clément Bœsch
8ea8833979
swr/resample: move templating parameters to template itself.
...
It has various benefits such as allowing some refactoring, clarifying
the code in the inclusion part, and making the template understandable
in standalone.
This commit is based on the templating method used by Justin Ruggles for
libavresample.
2012-11-15 21:24:49 +01:00
Michael Niedermayer
d53f447130
swr: move if() block into the only branch where it can be true.
...
This should make the code a tiny tiny bit faster.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 12:33:40 +01:00
Michael Niedermayer
17da2d9eee
swr: reorder/redesign operations to avoid integer overflow.
...
This fixes a out of array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 12:33:40 +01:00
Paul B Mahol
1acd2f6ba7
Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
...
Also remove it in once case when it is not needed.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:21:21 +00:00
Stefano Sabatini
6450c05ba5
lswr/swresample: adopt globally consistent rules for options help message
...
The help text tells what the option does, not what the accepted parameter
is. Thus convert strings of the kind:
Bikeshed Color
to
set bikeshed color
2012-11-03 20:38:02 +01:00
Stefano Sabatini
7be09a91c2
lswr/swresample.h: use consistent inclusion guard header name
2012-11-03 12:06:43 +01:00
Michael Niedermayer
3174616f59
Merge commit '6860b4081d046558c44b1b42f22022ea341a2a73'
...
* commit '6860b4081d046558c44b1b42f22022ea341a2a73':
x86: include x86inc.asm in x86util.asm
cng: Reindent some incorrectly indented lines
cngdec: Allow flushing the decoder
cngdec: Make the dbov variable have the right unit
cngdec: Fix the memset size to cover the full array
cngdec: Update the LPC coefficients after averaging the reflection coefficients
configure: fix print_config() with broke awks
Conflicts:
libavcodec/x86/ac3dsp.asm
libavcodec/x86/dct32.asm
libavcodec/x86/deinterlace.asm
libavcodec/x86/dsputil.asm
libavcodec/x86/dsputilenc.asm
libavcodec/x86/fft.asm
libavcodec/x86/fmtconvert.asm
libavcodec/x86/h264_chromamc.asm
libavcodec/x86/h264_deblock.asm
libavcodec/x86/h264_deblock_10bit.asm
libavcodec/x86/h264_idct.asm
libavcodec/x86/h264_idct_10bit.asm
libavcodec/x86/h264_intrapred.asm
libavcodec/x86/h264_intrapred_10bit.asm
libavcodec/x86/h264_weight.asm
libavcodec/x86/vc1dsp.asm
libavcodec/x86/vp3dsp.asm
libavcodec/x86/vp56dsp.asm
libavcodec/x86/vp8dsp.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 13:43:33 +01:00
Michael Niedermayer
d23e8f53ad
swr: use 64bit index/len for x86_64 mix
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 02:09:08 +02:00
Hendrik Leppkes
04bf2e7f0e
swresample: include ff_log2_tab for shared builds
...
This is done in accordance with all other libraries, which no longer access ff_log2_tab from avutil directly for shared builds, and instead obtain their own copy.
This change is required for MSVC DLL builds, as well as avoids accessing a private symbol from another library.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 01:58:04 +02:00
Michael Niedermayer
9de5b11d58
swr-test: fix division by 0
...
Fixes CID733739
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 19:40:57 +02:00
Michael Niedermayer
dd3e5baa59
swr-test: check pointers before use
...
Fixes: CID733807, CID733806
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 19:39:25 +02:00
Michael Niedermayer
555f352f99
swr/rematrix: fix C99 left shift overflow
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 03:48:05 +02:00
Michael Niedermayer
7df9f595c9
swri_resample_init: unsupported sample formats are an internal error.
...
This condition cannot happen.
Fixes CID733802
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 04:36:23 +02:00
Michael Niedermayer
13a215236b
swr-test: avoid VLA
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 13:48:47 +02:00
jamal
a70b4935f1
Add missing version macros to libraries
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:10:18 +02:00
jamal
b75c3d2b8b
swresample: Create version.h header
...
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:10:36 +02:00
Mans Rullgard
7e3208a087
ARM: libswresample: NEON optimised generic fltp to s16 conversion
...
Adapted to swr by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 23:19:32 +02:00
Michael Niedermayer
97599f8c6d
swr: make sure the last data element is NULL so we can use it to detect the number of channels
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 23:19:32 +02:00
Mans Rullgard
5dc7363446
ARM: libswresample: NEON optimised stereo fltp to s16 conversion
...
Adaption to swr by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 23:16:14 +02:00
Mans Rullgard
0eebde07a9
ARM: libswresample: NEON optimised flat float to s16 conversion
...
Adapted to swr by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 23:16:14 +02:00
Michael Niedermayer
9d89d1d484
swr/resample: mark mm_flags as potentially unused
...
They are unused when asm is disabled
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 19:31:02 +02:00
Michael Niedermayer
31a797eb28
swr: add av_cold to init/free functions
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 02:26:20 +02:00
Michael Niedermayer
0e78e575ed
swr/auto_matrix: treat a single channel as mono instead of failing
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 21:32:24 +02:00
Michael Niedermayer
f8d74cbdc3
swr/auto_matrix: treat stereo downmix like stereo.
...
Based on code by John Stebbins
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 21:12:40 +02:00
Michael Niedermayer
c8ffab06f4
swr/auto_matrix: add clean layout function
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 21:10:19 +02:00
Michael Niedermayer
ebc854e4e9
swr/auto_matrix: move layouts to local variables
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 20:58:57 +02:00
Michael Niedermayer
070b0e1c77
libswr: remove redundant ARCH_X86, MMX* implicates X86
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 22:31:37 +02:00
Derek Buitenhuis
5f256f9df2
swsresample: Fix unprotected inline asm
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 22:29:02 +02:00
Michael Niedermayer
c5278cb84f
Add Dolby/DPLII downmix support to libswresample
...
Based on code by John Stebbins <jstebbins.hb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 00:41:49 +02:00
Michael Niedermayer
2dd2e42951
swr: update rematrix coeffs to match AC-3
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 00:29:06 +02:00
Michael Niedermayer
323d912010
swr: update copyright years
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 00:29:06 +02:00
Michael Niedermayer
d46c1c72e4
Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'
...
* commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9':
avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
Conflicts:
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libx264.c
libavcodec/mpeg12enc.c
libavcodec/options_table.h
libavcodec/snowenc.c
libavcodec/tiffenc.c
libavdevice/v4l2.c
libavdevice/x11grab.c
libavfilter/af_amix.c
libavfilter/af_asyncts.c
libavfilter/af_join.c
libavfilter/buffersrc.c
libavfilter/src_movie.c
libavfilter/vf_delogo.c
libavfilter/vf_drawtext.c
libavformat/http.c
libavformat/img2dec.c
libavformat/img2enc.c
libavformat/movenc.c
libavformat/mpegenc.c
libavformat/mpegtsenc.c
libavformat/options_table.h
libavformat/segment.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:33:32 +02:00
Michael Niedermayer
99de3df3d3
Merge commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078'
...
* commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078':
avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member
Conflicts:
libavcodec/libvpxenc.c
libavcodec/options_table.h
libavfilter/vf_drawtext.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:09:09 +02:00
Michael Niedermayer
d5f65e9d40
Merge commit '124134e42455763b28cc346fed1d07017a76e84e'
...
* commit '124134e42455763b28cc346fed1d07017a76e84e':
avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
Conflicts:
libavcodec/aacenc.c
libavcodec/libopenjpegenc.c
libavcodec/options_table.h
libavdevice/bktr.c
libavdevice/v4l2.c
libavdevice/x11grab.c
libavfilter/af_amix.c
libavfilter/vf_drawtext.c
libavformat/movenc.c
libavformat/options_table.h
libavutil/opt.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 13:58:11 +02:00
Carl Eugen Hoyos
a26789cf9f
Fix compilation with yasm-0.6.2.
2012-09-01 10:59:16 +02:00
Michael Niedermayer
4814326533
swr/resample: update SSSE3 flag to new name
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 01:29:36 +02:00
Carl Eugen Hoyos
52be5428c0
Add some missing _EXTERNAL suffixes to yasm source files.
2012-08-31 15:39:03 +02:00
Michael Niedermayer
15a0fb58a3
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
utvideodec: Fix single symbol mode decoding
truespeech: drop useless casts
libavcodec: drop bogus dependencies from mpc[78] and qdm2
mpegaudio: move ff_mpa_enwindow to a separate file
AVOptions: store defaults for INT64 options in int64 union member.
Conflicts:
libavcodec/Makefile
libavfilter/af_asyncts.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 15:00:39 +02:00
Michael Niedermayer
9f088a1ed4
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
mpegvideo: reduce excessive inlining of mpeg_motion()
mpegvideo: convert mpegvideo_common.h to a .c file
build: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO
Move MASK_ABS macro to libavcodec/mathops.h
x86: move MANGLE() and related macros to libavutil/x86/asm.h
x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
aacdec: Don't fall back to the old output configuration when no old configuration is present.
rtmp: Add message tracking
rtsp: Support mpegts in raw udp packets
rtsp: Support receiving plain data over UDP without any RTP encapsulation
rtpdec: Remove an unused include
rtpenc: Remove an av_abort() that depends on user-supplied data
vsrc_movie: discourage its use with avconv.
avconv: allow no input files.
avconv: prevent invalid reads in transcode_init()
avconv: rename OutputStream.is_past_recording_time to finished.
Conflicts:
configure
doc/filters.texi
ffmpeg.c
ffmpeg.h
libavcodec/Makefile
libavcodec/aacdec.c
libavcodec/mpegvideo.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 19:31:56 +02:00
Michael Niedermayer
4ec03d1386
bessel: check that the function terminates as expected by av_assert2().
...
A clear abort is better than wrong output and a possible crash.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 01:44:15 +02:00
Michael Niedermayer
b9df3f4f6c
swr: fix 10l typo mixing in and out config.
...
Fixes ticket1458
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 21:18:03 +02:00
Justin Ruggles
7e15df7551
swr: resampling: add filter type and Kaiser window beta to AVOptions
2012-07-23 19:23:39 +02:00
Nicolas George
1d903a5ee4
lswr: channel_map requires input conversion.
...
channel_map is applied between in and postin.
Without this test, if the input format is an acceptable internal format,
the in->postin conversion is skipped. In the best case,
it ignores channel_map, in the worst case it causes an assert failure
if the number of channels is changed by the map.
2012-07-17 09:50:36 +02:00
Michael Niedermayer
68712ce820
swr/x86: 16bit integer mix functions need SSE2 not SSE
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 20:52:34 +02:00
Paul B Mahol
1842b27564
lavu: 256 color support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-07 01:41:55 +00:00
Michael Niedermayer
c88e60af76
swr/x86: 10l, missed some SSE2 instructions in code marked as SSE.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 15:28:10 +02:00
Michael Niedermayer
7309451d73
swr: fix warning: passing argument 2 of s->mix_any_f from incompatible pointer type
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 17:33:27 +02:00
Michael Niedermayer
338509c2e1
swr: fix warning: passing argument 1 of s->mix_any_f from incompatible pointer type
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 17:32:23 +02:00
Michael Niedermayer
087d067a99
swr: fix warning: passing argument 2 of ctx->simd_f from incompatible pointer type
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 17:31:16 +02:00
Michael Niedermayer
04b5eb47a6
swr: fix mix* related function pointer warnings
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 17:23:22 +02:00
Michael Niedermayer
51d2578348
swr: fix MMX resample code, add emms
...
Fixes Ticket1495
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 21:27:39 +02:00
Clément Bœsch
ca612a27ae
swr: fix make checkheaders.
2012-06-30 11:21:53 +02:00
Clément Bœsch
022cbb6791
swr: small align cosmetic.
2012-06-30 11:18:45 +02:00
Clément Bœsch
3491c2a909
swr: use __asm__ instead of __asm.
...
For consistency only.
2012-06-30 11:18:05 +02:00
Michael Niedermayer
782763ed2b
swr: fix compilation with ancient toolchain that doesnt support SSSE3
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 11:13:19 +02:00
Michael Niedermayer
4ccf6e3971
swr: MMX2 & SSSE3 int16 resample core
...
about 4 times faster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 00:36:27 +02:00
Paul B Mahol
10d2a4028c
swresample: make .class_name more descriptive
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-22 14:01:15 +00:00
Stefano Sabatini
065851ffac
lswr/rematrix: specify explicitly the name of the unsupported channel layouts
...
Help debugging.
2012-06-21 12:47:47 +02:00
Michael Niedermayer
0c142e4cda
swr: introduce filter_alloc in preparation of SIMD resample optimisations
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 03:09:24 +02:00
Michael Niedermayer
80e857c967
swr/resample: optimize C code for the most common case
...
15% speedup
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 03:09:24 +02:00
Michael Niedermayer
5f8f6243ef
swr: fix 10l use of uninitialized data
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 13:43:42 +02:00
Michael Niedermayer
728f86edfc
swr: mix_2_1_int16_mmx/sse
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 17:49:12 +02:00
Michael Niedermayer
d504266cef
swr: mix_1_1_int16_sse
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:43:19 +02:00
Michael Niedermayer
cbeeaf2593
swr: mix_1_1 int16 MMX
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:35:13 +02:00
Michael Niedermayer
52afa43691
swr: mix_2_1_float SSE/AVX
...
Based-on code by Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:35:13 +02:00
Michael Niedermayer
beb0cd6acf
swr: SIMD rematrixing and SSE/AVX mix_1_1 float
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:35:07 +02:00
Michael Niedermayer
48a45f819f
swr: add native matrix for SIMD
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:16:15 +02:00
Michael Niedermayer
9abbbf7530
swr: add function pointers for SIMD rematrixing
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:12:08 +02:00
Michael Niedermayer
634d539c12
swresample.c: update copyleft year
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:11:17 +02:00
Michael Niedermayer
c8553bea9e
swr: use &~15
...
Idea-by: reimar (and ubitux on IRC)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 10:28:40 +02:00
Michael Niedermayer
4289b6690d
swr: replace /16 by >>4
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 04:01:17 +02:00
Michael Niedermayer
a5c6349358
swr: skip memset(0) in rematrix when the array is known to be already 0
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 02:43:10 +02:00
Michael Niedermayer
75d900d52e
swr: zero buffers on allocation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 02:42:46 +02:00
Michael Niedermayer
e016e3c9d7
swr: add mix8to2
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 22:12:00 +02:00
Michael Niedermayer
b0348158a0
swr: 5.1->stereo double, float and s16
...
2.5 times faster than the generic code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 22:02:14 +02:00
Michael Niedermayer
ca30ae12c5
swr: add all in one rematrixing function ptr
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 21:55:33 +02:00
Michael Niedermayer
dfde3d497e
swr: add inrermediate sample type for rematrixing
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 21:54:54 +02:00
Michael Niedermayer
6e6dd9995b
resample_template: use av_assert
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 20:08:57 +02:00
Michael Niedermayer
787c395a30
swr-test: support "--help"
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 17:27:38 +02:00
Michael Niedermayer
63b1c08073
buildsys: fix rules for swresample-test
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 17:27:38 +02:00
Michael Niedermayer
5a7a9f02de
libswresample/Makefile: put each object on its own line
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 17:27:38 +02:00
Clément Bœsch
64df092b25
swr: fix a few typo.
2012-06-01 08:06:36 +02:00
Michael Niedermayer
16e25ef34b
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
avconv: extend -r to work on any input stream.
doc/avconv: expand documentation for the -s option.
avconv: don't print filters inserted by avconv in stream mappings.
avconv: merge configuration code for complex and simple filters
avconv: split configuring input filters out of configure_complex_filter
Conflicts:
configure
doc/ffmpeg.texi
ffmpeg.c
tests/ref/fate/idroq-video-encode
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 04:38:32 +02:00
Michael Niedermayer
72261fa867
swr: fix swr_drop_output()
...
Fixes part of Ticket1341
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 02:33:38 +02:00
Michael Niedermayer
841c1be57e
swr: check return value of swr_inject_silence/drop_output.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-22 20:37:12 +02:00
Michael Niedermayer
a645049bd8
swr: check count argument of realloc_audio()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-22 20:37:12 +02:00
Michael Niedermayer
d1384c00d4
swr: skip soft compensation when its disabled.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 22:42:32 +02:00
Michael Niedermayer
72a242c998
swr: add swr_next_pts()
...
parameter descriptions partly reuse text from af_asyncts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
f88f705abc
swr: add swr_drop_output()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
7a59964ba9
swr: add swr_inject_silence()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
72872d0201
swr: Fix issue with injecting more data than can be used up in the next call.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
c5c355546d
swr: add some asserts to resample()
...
These check that the internal and input buffers match in format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
75e25f8540
swr: add reversefill_audiodata()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
5027e3daf7
swr: fix buf_set() so it works with input == output
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
bdbfd4569d
swr: make literal 32 a named constant in realloc_audio()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
186be49fd5
swr: fill_audio_data() support NULL
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-19 19:23:37 +02:00
Michael Niedermayer
4def5d2b64
swr: add swr_get_delay() to find the exact delay the swresampler introduces.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-18 23:02:10 +02:00
Michael Niedermayer
a0493be10e
swresample: set the default parameters to "none"
...
this way it can easily be detected when parameters have not been set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-17 16:46:15 +02:00
Michael Niedermayer
a927641e7a
libswresample-simd: Add ff_pack_6ch_float_to_int32_a_avx and ff_pack_6ch_float_to_int32_a_sse4
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 20:56:18 +02:00
Michael Niedermayer
ca986a06ad
libswresample-simd: add ff_pack_6ch_int32_to_float_a_avx and ff_pack_6ch_int32_to_float_a_sse4
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 20:53:30 +02:00
Michael Niedermayer
c4047ad9e0
libswresample: make NOP_N macro less picky on its parameters
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 20:45:32 +02:00
Michael Niedermayer
57bc91c710
libswresample: Change FLOAT_TO_INT32_N to need 1 register less
...
same speed on sandy bridge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 20:44:08 +02:00
Michael Niedermayer
ecfdd125f1
libswresample-simd: rename 6ch pack to what it is
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 20:31:12 +02:00
Michael Niedermayer
429b964e25
libswresample-simd: make the converter registers parameters
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 20:30:13 +02:00
Michael Niedermayer
b3915c4b70
libswresample: cosmetics
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 19:32:06 +02:00
Michael Niedermayer
24c0d1583c
libswresample: unaligned AVX/SSE4 float and int32 6ch pack
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 19:31:59 +02:00
Justin Ruggles
6f67d9833b
libswresample: Implement MMX, SSE4 and AVX 6ch float and int32 packing function.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-13 19:31:59 +02:00
Michael Niedermayer
bd1d975cd0
swr: fix silence buffer for planar U8
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-07 00:05:19 +02:00
Michael Niedermayer
fecdc76a9f
swr: fix cpy() after the len was changed to be in samples.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-07 00:04:44 +02:00
Michael Niedermayer
cbbc472467
swr-x86-simd: add ff_unpack_2ch_int16_to_int16/int32/float_a_ssse3
...
more than 10% faster (tested on sandybridge)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-06 19:39:52 +02:00
Michael Niedermayer
f10aeab69c
swr: audioconvert: consider mono to be planar
...
This way it will be handled by the planar==planar SIMD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-06 18:04:09 +02:00
Michael Niedermayer
72ae583b7d
swr-x86-simd: stereo unpack S16/S32/FLT-> S16/S32/FLT SSE/SSE2 (16 new SIMD functions)
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-06 17:25:52 +02:00
Michael Niedermayer
11ad5f0d7d
swr-x86-simd: create prototypes with macros, this is simpler.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-06 17:25:52 +02:00
Michael Niedermayer
adfa53b91f
swr-x86-SIMD: 3 instructions less for stereo planar->packed s32/flt->s16
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-06 17:25:52 +02:00
Michael Niedermayer
5f4e18cd16
swr: replace the remaining 2 audio convert SIMD macros by the new ones
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-05 19:59:57 +02:00
Michael Niedermayer
df5ff103cd
swr: fix internal asm labels
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-05 19:43:11 +02:00
Michael Niedermayer
b6f4f0d9ef
swr: fix PACK_2CH register count
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-05 19:42:52 +02:00
Michael Niedermayer
aae3119643
swr: replace planar->planar/packed->packed FLT<->S16/S32 SIMD by new macros
...
this simplifies the code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-05 19:41:39 +02:00
Michael Niedermayer
47055b8913
swr: implement stereo S16/S32/FLT->S16/S32/FLT planar->packed in SSE/SSE2
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-05 18:32:34 +02:00
Michael Niedermayer
fec3700dcd
swr: update calling code to support mixed packed planar SIMD
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-05 18:32:34 +02:00
Michael Niedermayer
e8dd7928c8
swr: change simd len argument to be in samples instead of dst bytes.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-05 18:32:34 +02:00