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

audio resampling More...

#include "libavutil/avassert.h"
#include "avcodec.h"
#include "libavutil/common.h"

Go to the source code of this file.

Data Structures

struct  AVResampleContext
 

Macros

#define FILTER_SHIFT   15
 
#define FELEM   int16_t
 
#define FELEM2   int32_t
 
#define FELEML   int64_t
 
#define FELEM_MAX   INT16_MAX
 
#define FELEM_MIN   INT16_MIN
 
#define WINDOW_TYPE   9
 

Functions

static double bessel (double x)
 0th order modified bessel function of the first kind.
 
static int build_filter (FELEM *filter, double factor, int tap_count, int phase_count, int scale, int type)
 Build a polyphase filterbank.
 
AVResampleContextav_resample_init (int out_rate, int in_rate, int filter_size, int phase_shift, int linear, double cutoff)
 Initialize an audio resampler.
 
void av_resample_close (AVResampleContext *c)
 
void av_resample_compensate (AVResampleContext *c, int sample_delta, int compensation_distance)
 Compensate samplerate/timestamp drift.
 
int av_resample (AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx)
 Resample an array of samples using a previously configured context.
 

Detailed Description

audio resampling

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

Definition in file resample2.c.

Macro Definition Documentation

#define FILTER_SHIFT   15

Definition at line 35 of file resample2.c.

Referenced by av_resample(), av_resample_init(), and build_filter().

#define FELEM   int16_t
#define FELEM2   int32_t

Definition at line 38 of file resample2.c.

Referenced by av_resample(), resample_common_TMPL(), and resample_linear_TMPL().

#define FELEML   int64_t

Definition at line 39 of file resample2.c.

Referenced by av_resample(), and resample_linear_TMPL().

#define FELEM_MAX   INT16_MAX

Definition at line 40 of file resample2.c.

Referenced by build_filter().

#define FELEM_MIN   INT16_MIN

Definition at line 41 of file resample2.c.

Referenced by build_filter().

#define WINDOW_TYPE   9

Definition at line 42 of file resample2.c.

Referenced by av_resample_init().

Function Documentation

static double bessel ( double  x)
static

0th order modified bessel function of the first kind.

Definition at line 80 of file resample2.c.

Referenced by build_filter(), and ff_kbd_window_init().

static int build_filter ( FELEM filter,
double  factor,
int  tap_count,
int  phase_count,
int  scale,
int  type 
)
static

Build a polyphase filterbank.

Parameters
factorresampling factor
scalewanted sum of coefficients for each filter
type0->cubic, 1->blackman nuttall windowed sinc, 2..16->kaiser windowed sinc beta=2..16
Returns
0 on success, negative on error

Definition at line 102 of file resample2.c.

Referenced by av_resample_init().