FFmpeg
 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.

Macros

#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 PARAM   AV_OPT_FLAG_AUDIO_PARAM
 
#define LICENSE_PREFIX   "libswresample license: "
 
#define RSC   1
 
#define MAX_DROP_STEP   16384
 
#define MAX_SILENCE_STEP   16384
 

Functions

static const char * context_to_name (void *ptr)
 
unsigned swresample_version (void)
 Return the LIBSWRESAMPLE_VERSION_INT constant.
 
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)
 
static void clear_context (SwrContext *s)
 
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_is_initialized (struct SwrContext *s)
 Check whether an swr context has been initialized or not.
 
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.
 

Variables

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.

#define PARAM   AV_OPT_FLAG_AUDIO_PARAM

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

Definition at line 135 of file swresample.c.

static void set_audiodata_fmt ( AudioData a,
enum AVSampleFormat  fmt 
)
static

Definition at line 210 of file swresample.c.

Referenced by swr_init().

static void free_temp ( AudioData a)
static

Definition at line 216 of file swresample.c.

Referenced by clear_context().

static void clear_context ( SwrContext s)
static

Definition at line 221 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 
)
static

Definition at line 471 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] 
)
static

Definition at line 484 of file swresample.c.

Referenced by swr_convert().

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

Definition at line 497 of file swresample.c.

Referenced by swr_convert(), and swr_inject_silence().

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

out may be equal in.

Definition at line 511 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 
)
static
Returns
number of samples output per channel

Definition at line 526 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 
)
static

Definition at line 609 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[]
static

Definition at line 43 of file swresample.c.

const AVClass av_class
static
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().