summaryrefslogtreecommitdiff
path: root/libswresample/resample.c
diff options
context:
space:
mode:
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>2015-11-07 10:16:27 -0500
committerGanesh Ajjanagadde <gajjanagadde@gmail.com>2015-11-08 21:11:07 -0500
commit1bed09a30ef95cc85513688f3b3c18c3fd332fd8 (patch)
tree29675ca46bf040a7b5fa1dd0bb5368c0fc371ab0 /libswresample/resample.c
parent9ac61e73d0843ec4b83f4e3d47eded73234e406e (diff)
swresample: allow double precision beta value for the Kaiser window
Kaiser windows inherently don't require beta to be an integer. This was an arbitrary restriction. Moreover, soxr does not require it, and in fact often estimates beta to a non-integral value. Thus, this patch allows greater flexibility for swresample clients. Micro version is updated. Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Diffstat (limited to 'libswresample/resample.c')
-rw-r--r--libswresample/resample.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libswresample/resample.c b/libswresample/resample.c
index 6f2ca982ea..82f004c802 100644
--- a/libswresample/resample.c
+++ b/libswresample/resample.c
@@ -71,7 +71,7 @@ static double bessel(double x){
* @return 0 on success, negative on error
*/
static int build_filter(ResampleContext *c, void *filter, double factor, int tap_count, int alloc, int phase_count, int scale,
- int filter_type, int kaiser_beta){
+ int filter_type, double kaiser_beta){
int ph, i;
double x, y, w, t;
double *tab = av_malloc_array(tap_count+1, sizeof(*tab));
@@ -212,7 +212,7 @@ static int build_filter(ResampleContext *c, void *filter, double factor, int tap
}
static ResampleContext *resample_init(ResampleContext *c, int out_rate, int in_rate, int filter_size, int phase_shift, int linear,
- double cutoff0, enum AVSampleFormat format, enum SwrFilterType filter_type, int kaiser_beta,
+ double cutoff0, enum AVSampleFormat format, enum SwrFilterType filter_type, double kaiser_beta,
double precision, int cheby)
{
double cutoff = cutoff0? cutoff0 : 0.97;