Commit Graph

209 Commits

Author SHA1 Message Date
Michael Niedermayer 23282c2222 swr: set AV_OPT_FLAG_AUDIO_PARAM for the AVOptions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-26 00:51:50 +02:00
Andrew Wason e9b1d5ae5e fix swr_convert buffering of packed audio
swr_convert is not properly buffering packed input audio when the
output is not large enough, and when resampling is not actually needed
(same samplerate and no SWR_FLAG_RESAMPLE).

buf_set() is only handling the first channel and leaving the others as-is.

Sample program to reproduce the problem is here https://gist.github.com/2431768

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-21 01:57:21 +02:00
Michael Niedermayer 44239bd9f2 swr: add a swr_flags AVOption
Using swr_flags instead of plain flags will avoid conflicts that
arise with plain flags and multiple libs (which all have AVOption flags)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 14:10:22 +02:00
Michael Niedermayer c1d404b9e4 swr: add a dither_scale parameter to tune the amplitude of the dither.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:44:48 +02:00
Michael Niedermayer a2c92e6063 swr: pass context to swri_get_dither()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:44:15 +02:00
Michael Niedermayer f8a237a307 swr: add triangular highpass dither
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:27:22 +02:00
Michael Niedermayer 1fc4ff2205 swr: generate more dither noise to improve quality.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:26:32 +02:00
Michael Niedermayer 22057e8ecb swr: add swr_get_class()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-11 13:25:56 +02:00
Michael Niedermayer b1ef4dc406 swr: add triangular dither support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 21:18:33 +02:00
Michael Niedermayer 0cff3e130b swr: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 21:18:32 +02:00
Michael Niedermayer 0170889372 swr: add SWR_DITHER_RECTANGULAR to AVOptions array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 21:18:32 +02:00
Michael Niedermayer db2eadb2f5 swr: add dither support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 19:54:41 +02:00
Michael Niedermayer 3d9338b1c2 swr: support int32 and float as internal sample formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 13:19:29 +02:00
Michael Niedermayer 7f1ae79d38 swr: support float & int32 in the resampler
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 13:18:49 +02:00
Michael Niedermayer 87688727e4 swr: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-01 22:11:34 +02:00
Michael Niedermayer dc984da961 swr: fix pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-01 22:10:40 +02:00
Michael Niedermayer 59b038b4a4 swr: realloc_audio: support packed audio buffers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 21:50:00 +02:00
Michael Niedermayer 1b0fcf33b8 swr: More flexible and convenient buffering
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 21:49:42 +02:00
Michael Niedermayer e0c7128302 swr: fix segfault when 0 out size is used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 12:22:06 +02:00
Michael Niedermayer 8b11ae8a9a swr: Fix partial flushing.
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 06:37:01 +02:00
Michael Niedermayer 4f16153d35 swr: allow flushing in multiple steps if the output is too small.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-25 03:33:06 +02:00
Michael Niedermayer ae03b2141e swr: check that there is enough information to do rematrixing when needed.
Fixes assertion failure.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-23 12:10:08 +01:00
Lou Logan 2d38081b4f cosmetics: fix some typos
Patch attached.
From 2d4094fc0dcb4ccd0735eb7e1719e228ebb56bb9 Mon Sep 17 00:00:00 2001
From: Lou Logan <lou@lrcd.com>
Date: Mon, 12 Mar 2012 14:13:44 -0800
Subject: [PATCH] cosmetics: fix some typos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-13 01:14:04 +01:00
Nicolas George 560b224f53 libswr: allow to set custom matrices. 2012-02-20 20:46:35 +01:00
Michael Niedermayer 320b8d6335 swr: fix swresample_version()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-23 23:26:02 +01:00
Michael Niedermayer 3339f87dbd swr: increase LIBSWRESAMPLE_VERSION_MICRO to 100
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-22 03:09:41 +01:00
Michael Niedermayer 4468ad827a swr: add swresample_version swresample_configuration and swresample_license
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-22 03:08:47 +01:00
Michael Niedermayer aa1c590b29 swr: fix assert failure
Bug found by: Oana Stratulat
GCI-id: 7211207

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-20 11:28:34 +01:00
Clément Bœsch 0232f788b6 swr: fix invalid sample format message.
If the sample format is invalid, av_get_sample_fmt_name() will always
return NULL.
2011-11-24 16:55:45 +01:00
Clément Bœsch 58205edcc6 swr: use native planar sample formats. 2011-11-24 16:55:45 +01:00
Clément Bœsch afb0470a25 swr: fix test program.
The number of used channels need to be reset to zero when
swr_alloc_set_opts() is called successive times.

This is a regression introduced in c8136ebd.
2011-11-24 16:55:44 +01:00
Clément Bœsch bdd22e3523 swr: change minimum I/O channel count to zero.
This will silence the warning of av_set_opt_int() in swr for
input/output channels when the layout is not yet defined (or supported).
2011-11-20 16:06:16 +01:00
Clément Bœsch 0bfc03df3a swr: move code to avoid resample forward declaration. 2011-11-17 18:30:03 +01:00
Clément Bœsch eafa2b6005 swr: introduce a public function to customize the channel mapping. 2011-11-17 18:30:03 +01:00
Clément Bœsch 1dbd433f0d swr: use av_opt_set_int() instead of manual assignments in swr_alloc_set_opts(). 2011-11-17 17:57:20 +01:00
Clément Bœsch acd56efbeb swr: correctly raise rematrix AVERROR. 2011-11-17 17:56:52 +01:00
Clément Bœsch a768b9d825 swr: make swr_* functions match the prototypes. 2011-11-17 10:16:07 +01:00
Clément Bœsch 645c61fb2b swr: rename swr_alloc2() to swr_alloc_set_opts(). 2011-11-17 10:16:07 +01:00
Clément Bœsch c4deb90cfa swr: use "swri_" prefix instead of "swr_" for the private API. 2011-11-17 10:16:07 +01:00
Clément Bœsch fc6351d019 swr: make audio convert code explicitely private.
Only what's declared in libswresample/swresample.h is public.
2011-11-17 10:16:07 +01:00
Clément Bœsch df72ae673f swr: replace deprecated av_set_int() with av_opt_set_int(). 2011-11-16 07:27:20 +01:00
Clément Bœsch ad561b5707 swr: replace deprecated av_opt_set_defaults2() with av_opt_set_defaults(). 2011-11-16 07:27:20 +01:00
Clément Bœsch 180aa82c1d swr: replace deprecated av_get_bits_per_sample_fmt() with av_get_bytes_per_sample(). 2011-11-16 07:27:20 +01:00
Clément Bœsch f9368466c4 swr: use designated initializers for the class. 2011-11-16 07:27:20 +01:00
Clément Bœsch c8136ebd6a swr: set the default used_ch_count value to zero.
This allows an appropriate behaviour when it is not specified (fallback
to the number of input channels).

Fixes Ticket523
2011-11-14 22:11:28 +01:00
Clément Bœsch f5cd136f2b ffmpeg: add -map_channel option.
Based on an initial work by Baptiste Coudurier.
2011-11-04 19:40:32 +01:00
Michael Niedermayer 71f5712cb5 swr: Support flushing last samples out.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-04 16:31:51 +01:00
Michael Niedermayer 2f86566a31 rematrix: add parameter to tune volume
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-26 00:46:46 +02:00
Michael Niedermayer 44a2bb75a7 swr: Fix swresample.c:293:5: warning: passing argument 2 of ‘fill_audiodata’ from incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 00:36:00 +02:00
Michael Niedermayer 36e5e51ae3 swr: remove unused variable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 00:34:37 +02:00
Clément Bœsch 539399d4d1 AVOptions: rename remaining FF_OPT_TYPE_* to AV_OPT_TYPE_*. 2011-10-17 07:33:10 +02:00
Carl Eugen Hoyos 7f16ec61e1 Do not warn about wrong channel layout if no channel layout is defined. 2011-10-16 17:12:53 +02:00
Marton Balint 177ed7e818 swresample: use av_get_default_channel_layout instead of guess_layout
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-07 02:53:18 +02:00
Michael Niedermayer 67b2df792f swresample: Try to handle cases with input channel count and layout mismatching.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-06 20:21:40 +02:00
Michael Niedermayer 503e5e9db5 libswresample: support directly converting sampleformats and packed/planar in a single pass.
Previously a intermediate planar format was used when both input and output where packed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-06 00:07:03 +02:00
Michael Niedermayer 834b3760a7 swresample: check for invalid sample formats.
Bug-Found-by: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-01 01:39:17 +02:00
Michael Niedermayer a75b254c74 swr: minor fixes to get planar audio working
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-01 01:17:39 +02:00
Nicolas George b592f9bb65 swresample: remove unused variable.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 16:11:01 +02:00
Michael Niedermayer b5875b9111 Add libswresample.
Similar to libswscale this does resampling and format convertion, just for audio
instead of video.
changing sampling rate, sample formats, channel layouts and sample packing all
in one with a very simple public interface.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-19 07:04:17 +02:00