All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
swresample.c File Reference
#include "libavutil/opt.h"
#include "swresample_internal.h"
#include "audioconvert.h"
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include <float.h>

Go to the source code of this file.


#define C30DB   M_SQRT2
#define C15DB   1.189207115
#define C__0DB   1.0
#define C_15DB   0.840896415
#define C_30DB   M_SQRT1_2
#define C_45DB   0.594603558
#define C_60DB   0.5
#define ALIGN   32
#define OFFSET(x)   offsetof(SwrContext,x)
#define LICENSE_PREFIX   "libswresample license: "
#define RSC   1
#define MAX_DROP_STEP   16384
#define MAX_SILENCE_STEP   16384


static const char * context_to_name (void *ptr)
unsigned swresample_version (void)
const char * swresample_configuration (void)
 Return the swr build-time configuration.
const char * swresample_license (void)
 Return the swr license.
int swr_set_channel_mapping (struct SwrContext *s, const int *channel_map)
 Set a customized input channel mapping.
const AVClassswr_get_class (void)
 Get the AVClass for swrContext.
av_cold struct SwrContextswr_alloc (void)
 Allocate SwrContext.
struct SwrContextswr_alloc_set_opts (struct SwrContext *s, int64_t out_ch_layout, enum AVSampleFormat out_sample_fmt, int out_sample_rate, int64_t in_ch_layout, enum AVSampleFormat in_sample_fmt, int in_sample_rate, int log_offset, void *log_ctx)
 Allocate SwrContext if needed and set/reset common parameters.
static void set_audiodata_fmt (AudioData *a, enum AVSampleFormat fmt)
static void free_temp (AudioData *a)
av_cold void swr_free (SwrContext **ss)
 Free the given SwrContext and set the pointer to NULL.
av_cold int swr_init (struct SwrContext *s)
 Initialize context after user parameters have been set.
int swri_realloc_audio (AudioData *a, int count)
static void copy (AudioData *out, AudioData *in, int count)
static void fill_audiodata (AudioData *out, uint8_t *in_arg[SWR_CH_MAX])
static void reversefill_audiodata (AudioData *out, uint8_t *in_arg[SWR_CH_MAX])
static void buf_set (AudioData *out, AudioData *in, int count)
 out may be equal in.
static int resample (SwrContext *s, AudioData *out_param, int out_count, const AudioData *in_param, int in_count)
static int swr_convert_internal (struct SwrContext *s, AudioData *out, int out_count, AudioData *in, int in_count)
int swr_convert (struct SwrContext *s, uint8_t *out_arg[SWR_CH_MAX], int out_count, const uint8_t *in_arg[SWR_CH_MAX], int in_count)
int swr_drop_output (struct SwrContext *s, int count)
 Drops the specified number of output samples.
int swr_inject_silence (struct SwrContext *s, int count)
 Injects the specified number of silence samples.
int64_t swr_get_delay (struct SwrContext *s, int64_t base)
 Gets the delay the next input sample will experience relative to the next output sample.
int swr_set_compensation (struct SwrContext *s, int sample_delta, int compensation_distance)
 Activate resampling compensation.
int64_t swr_next_pts (struct SwrContext *s, int64_t pts)
 Convert the next timestamp from input to output timestamps are in 1/(in_sample_rate * out_sample_rate) units.


static const AVOption options []
static const AVClass av_class

Macro Definition Documentation

#define C30DB   M_SQRT2

Definition at line 29 of file swresample.c.

#define C15DB   1.189207115

Definition at line 30 of file swresample.c.

#define C__0DB   1.0

Definition at line 31 of file swresample.c.

#define C_15DB   0.840896415

Definition at line 32 of file swresample.c.

#define C_30DB   M_SQRT1_2

Definition at line 33 of file swresample.c.

#define C_45DB   0.594603558

Definition at line 34 of file swresample.c.

#define C_60DB   0.5

Definition at line 35 of file swresample.c.

#define ALIGN   32

Definition at line 37 of file swresample.c.

Referenced by swri_realloc_audio().

#define OFFSET (   x)    offsetof(SwrContext,x)

Definition at line 40 of file swresample.c.


Definition at line 41 of file swresample.c.

#define LICENSE_PREFIX   "libswresample license: "
#define RSC   1

Referenced by swr_init().

#define MAX_DROP_STEP   16384

Referenced by swr_convert().

#define MAX_SILENCE_STEP   16384

Referenced by swr_inject_silence().

Function Documentation

static const char* context_to_name ( void ptr)

Definition at line 135 of file swresample.c.

static void set_audiodata_fmt ( AudioData a,
enum AVSampleFormat  fmt 

Definition at line 210 of file swresample.c.

Referenced by swr_init().

static void free_temp ( AudioData a)

Definition at line 216 of file swresample.c.

Referenced by swr_free(), and swr_init().

int swri_realloc_audio ( AudioData a,
int  count 
static void copy ( AudioData out,
AudioData in,
int  count 

Definition at line 477 of file swresample.c.

Referenced by resample(), swr_convert(), and swr_convert_internal().

static void fill_audiodata ( AudioData out,
uint8_t in_arg[SWR_CH_MAX] 

Definition at line 490 of file swresample.c.

Referenced by swr_convert().

static void reversefill_audiodata ( AudioData out,
uint8_t in_arg[SWR_CH_MAX] 

Definition at line 503 of file swresample.c.

Referenced by swr_convert(), and swr_inject_silence().

static void buf_set ( AudioData out,
AudioData in,
int  count 

out may be equal in.

Definition at line 517 of file swresample.c.

Referenced by resample(), and swr_convert().

static int resample ( SwrContext s,
AudioData out_param,
int  out_count,
const AudioData in_param,
int  in_count 
number of samples output per channel

Definition at line 532 of file swresample.c.

Referenced by swr_convert_internal().

static int swr_convert_internal ( struct SwrContext s,
AudioData out,
int  out_count,
AudioData in,
int  in_count 

Definition at line 610 of file swresample.c.

Referenced by swr_convert().

int swr_convert ( struct SwrContext s,
uint8_t out_arg[SWR_CH_MAX],
int  out_count,
const uint8_t in_arg[SWR_CH_MAX],
int  in_count 

Variable Documentation

const AVOption options[]

Definition at line 43 of file swresample.c.

const AVClass av_class
Initial value:
= {
.class_name = "SWResampler",
.item_name = context_to_name,
.option = options,
.log_level_offset_offset = OFFSET(log_level_offset),
.parent_log_context_offset = OFFSET(log_ctx),

Definition at line 139 of file swresample.c.

Referenced by swr_alloc(), and swr_get_class().