FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
resample.c File Reference

audio resampling More...

#include "libavutil/avassert.h"
#include "resample.h"

Go to the source code of this file.

Functions

static double bessel (double x)
 0th order modified bessel function of the first kind. More...
 
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)
 builds a polyphase filterbank. More...
 
static ResampleContextresample_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 precision, int cheby)
 
static void resample_free (ResampleContext **c)
 
static int set_compensation (ResampleContext *c, int sample_delta, int compensation_distance)
 
static int swri_resample (ResampleContext *c, uint8_t *dst, const uint8_t *src, int *consumed, int src_size, int dst_size, int update_ctx)
 
static int multiple_resample (ResampleContext *c, AudioData *dst, int dst_size, AudioData *src, int src_size, int *consumed)
 
static int64_t get_delay (struct SwrContext *s, int64_t base)
 
static int64_t get_out_samples (struct SwrContext *s, int in_samples)
 
static int resample_flush (struct SwrContext *s)
 
static int invert_initial_buffer (ResampleContext *c, AudioData *dst, const AudioData *src, int in_count, int *out_idx, int *out_sz)
 

Variables

struct Resampler const swri_resampler
 

Detailed Description

audio resampling

Author
Michael Niedermayer micha.nosp@m.elni.nosp@m.@gmx..nosp@m.at

Definition in file resample.c.

Function Documentation

static double bessel ( double  x)
static

0th order modified bessel function of the first kind.

Definition at line 34 of file resample.c.

Referenced by build_filter().

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 
)
static

builds a polyphase filterbank.

Parameters
factorresampling factor
scalewanted sum of coefficients for each filter
filter_typefilter type
kaiser_betakaiser window beta
Returns
0 on success, negative on error

Definition at line 70 of file resample.c.

Referenced by resample_init().

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  precision,
int  cheby 
)
static

Definition at line 174 of file resample.c.

static void resample_free ( ResampleContext **  c)
static

Definition at line 250 of file resample.c.

static int set_compensation ( ResampleContext c,
int  sample_delta,
int  compensation_distance 
)
static

Definition at line 257 of file resample.c.

static int swri_resample ( ResampleContext c,
uint8_t dst,
const uint8_t src,
int *  consumed,
int  src_size,
int  dst_size,
int  update_ctx 
)
static

Definition at line 270 of file resample.c.

Referenced by multiple_resample().

static int multiple_resample ( ResampleContext c,
AudioData dst,
int  dst_size,
AudioData src,
int  src_size,
int *  consumed 
)
static

Definition at line 308 of file resample.c.

static int64_t get_delay ( struct SwrContext s,
int64_t  base 
)
static

Definition at line 338 of file resample.c.

static int64_t get_out_samples ( struct SwrContext s,
int  in_samples 
)
static

Definition at line 348 of file resample.c.

static int resample_flush ( struct SwrContext s)
static

Definition at line 367 of file resample.c.

static int invert_initial_buffer ( ResampleContext c,
AudioData dst,
const AudioData src,
int  in_count,
int *  out_idx,
int *  out_sz 
)
static

Definition at line 384 of file resample.c.

Variable Documentation

struct Resampler const swri_resampler
Initial value:
={
}
static int multiple_resample(ResampleContext *c, AudioData *dst, int dst_size, AudioData *src, int src_size, int *consumed)
Definition: resample.c:308
static void resample_free(ResampleContext **c)
Definition: resample.c:250
static int set_compensation(ResampleContext *c, int sample_delta, int compensation_distance)
Definition: resample.c:257
static int invert_initial_buffer(ResampleContext *c, AudioData *dst, const AudioData *src, int in_count, int *out_idx, int *out_sz)
Definition: resample.c:384
static int resample_flush(struct SwrContext *s)
Definition: resample.c:367
static int64_t get_delay(struct SwrContext *s, int64_t base)
Definition: resample.c:338
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 precision, int cheby)
Definition: resample.c:174
static int64_t get_out_samples(struct SwrContext *s, int in_samples)
Definition: resample.c:348

Definition at line 428 of file resample.c.

Referenced by swr_init().