FFmpeg  4.0
Macros | Functions
resample.c File Reference
#include "libavutil/common.h"
#include "libavutil/libm.h"
#include "libavutil/log.h"
#include "internal.h"
#include "resample.h"
#include "audio_data.h"
#include "resample_template.c"

Go to the source code of this file.

Macros

#define CONFIG_RESAMPLE_DBL
 
#define CONFIG_RESAMPLE_FLT
 
#define CONFIG_RESAMPLE_S32
 

Functions

static double bessel (double x)
 
static int build_filter (ResampleContext *c, double factor)
 
ResampleContextff_audio_resample_init (AVAudioResampleContext *avr)
 Allocate and initialize a ResampleContext. More...
 
void ff_audio_resample_free (ResampleContext **c)
 Free a ResampleContext. More...
 
int avresample_set_compensation (AVAudioResampleContext *avr, int sample_delta, int compensation_distance)
 
static int resample (ResampleContext *c, void *dst, const void *src, int *consumed, int src_size, int dst_size, int update_ctx, int nearest_neighbour)
 
int ff_audio_resample (ResampleContext *c, AudioData *dst, AudioData *src)
 Resample audio data. More...
 
int avresample_get_delay (AVAudioResampleContext *avr)
 

Macro Definition Documentation

◆ CONFIG_RESAMPLE_DBL

#define CONFIG_RESAMPLE_DBL

Definition at line 31 of file resample.c.

◆ CONFIG_RESAMPLE_FLT

#define CONFIG_RESAMPLE_FLT

Definition at line 36 of file resample.c.

◆ CONFIG_RESAMPLE_S32

#define CONFIG_RESAMPLE_S32

Definition at line 41 of file resample.c.

Function Documentation

◆ bessel()

static double bessel ( double  x)
static

Definition at line 50 of file resample.c.

Referenced by build_filter(), and ff_kbd_window_init().

◆ build_filter()

static int build_filter ( ResampleContext c,
double  factor 
)
static

Definition at line 67 of file resample.c.

Referenced by ff_audio_resample_init().

◆ ff_audio_resample_init()

ResampleContext* ff_audio_resample_init ( AVAudioResampleContext avr)

Allocate and initialize a ResampleContext.

The parameters in the AVAudioResampleContext are used to initialize the ResampleContext.

Parameters
avrAVAudioResampleContext
Returns
newly-allocated ResampleContext

Definition at line 120 of file resample.c.

Referenced by avresample_open().

◆ ff_audio_resample_free()

void ff_audio_resample_free ( ResampleContext **  c)

Free a ResampleContext.

Parameters
cResampleContext

Definition at line 224 of file resample.c.

Referenced by avresample_close().

◆ resample()

static int resample ( ResampleContext c,
void dst,
const void src,
int consumed,
int  src_size,
int  dst_size,
int  update_ctx,
int  nearest_neighbour 
)
static

Definition at line 259 of file resample.c.

Referenced by ff_audio_resample().

◆ ff_audio_resample()

int ff_audio_resample ( ResampleContext c,
AudioData dst,
AudioData src 
)

Resample audio data.

Changes the sample rate.

All samples in the source data may not be consumed depending on the resampling parameters and the size of the output buffer. The unconsumed samples are automatically added to the start of the source in the next call. If the destination data can be reallocated, that may be done in this function in order to fit all available output. If it cannot be reallocated, fewer input samples will be consumed in order to have the output fit in the destination data buffers.
Parameters
cResampleContext
dstdestination audio data
srcsource audio data
Returns
0 on success, negative AVERROR code on failure

Definition at line 334 of file resample.c.

Referenced by avresample_convert().