summaryrefslogtreecommitdiff
path: root/libswresample/swresample_internal.h
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2012-05-26 14:50:02 -0400
committerMichael Niedermayer <michaelni@gmx.at>2012-07-23 19:23:39 +0200
commit7e15df7551cf45ad1d3e39d20fdc8d6c651d4705 (patch)
treeacc7b898177ac5397ad64c0710ebedbb56ae59c2 /libswresample/swresample_internal.h
parenta7ac05ce2f9fd94dad2326eef8110c47cdb8af57 (diff)
swr: resampling: add filter type and Kaiser window beta to AVOptions
Diffstat (limited to 'libswresample/swresample_internal.h')
-rw-r--r--libswresample/swresample_internal.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/libswresample/swresample_internal.h b/libswresample/swresample_internal.h
index 52b60ce734..e569a4430f 100644
--- a/libswresample/swresample_internal.h
+++ b/libswresample/swresample_internal.h
@@ -63,6 +63,8 @@ struct SwrContext {
int phase_shift; /**< log2 of the number of entries in the resampling polyphase filterbank */
int linear_interp; /**< if 1 then the resampling FIR filter will be linearly interpolated */
double cutoff; /**< resampling cutoff frequency. 1.0 corresponds to half the output sample rate */
+ enum SwrFilterType filter_type; /**< resampling filter type */
+ int kaiser_beta; /**< beta value for Kaiser window (only applicable if filter_type == AV_FILTER_TYPE_KAISER) */
float min_compensation; ///< minimum below which no compensation will happen
float min_hard_compensation; ///< minimum below which no silence inject / sample drop will happen
@@ -109,7 +111,7 @@ struct SwrContext {
/* TODO: callbacks for ASM optimizations */
};
-struct ResampleContext *swri_resample_init(struct ResampleContext *, int out_rate, int in_rate, int filter_size, int phase_shift, int linear, double cutoff, enum AVSampleFormat);
+struct ResampleContext *swri_resample_init(struct ResampleContext *, int out_rate, int in_rate, int filter_size, int phase_shift, int linear, double cutoff, enum AVSampleFormat, enum SwrFilterType, int kaiser_beta);
void swri_resample_free(struct ResampleContext **c);
int swri_multiple_resample(struct ResampleContext *c, AudioData *dst, int dst_size, AudioData *src, int src_size, int *consumed);
void swri_resample_compensate(struct ResampleContext *c, int sample_delta, int compensation_distance);