FFmpeg
Macros | Functions
swresample.c File Reference
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "swresample_internal.h"
#include "audioconvert.h"
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "libavutil/internal.h"
#include <float.h>

Go to the source code of this file.

Macros

#define ALIGN   32
 
#define RSC   1
 
#define MAX_DROP_STEP   16384
 
#define MAX_SILENCE_STEP   16384
 

Functions

int swr_set_channel_mapping (struct SwrContext *s, const int *channel_map)
 Set a customized input channel mapping. More...
 
int swr_alloc_set_opts2 (struct SwrContext **ps, const AVChannelLayout *out_ch_layout, enum AVSampleFormat out_sample_fmt, int out_sample_rate, const AVChannelLayout *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. More...
 
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. More...
 
av_cold void swr_close (SwrContext *s)
 Closes the context so that swr_is_initialized() returns 0. More...
 
av_cold int swr_init (struct SwrContext *s)
 Initialize context after user parameters have been set. More...
 
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 *const 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. More...
 
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. More...
 
int attribute_align_arg swr_convert (struct SwrContext *s, uint8_t *const *out_arg, int out_count, const uint8_t *const *in_arg, int in_count)
 Convert audio. More...
 
int swr_drop_output (struct SwrContext *s, int count)
 Drops the specified number of output samples. More...
 
int swr_inject_silence (struct SwrContext *s, int count)
 Injects the specified number of silence samples. More...
 
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. More...
 
int swr_get_out_samples (struct SwrContext *s, int in_samples)
 Find an upper bound on the number of samples that the next swr_convert call will output, if called with in_samples of input samples. More...
 
int swr_set_compensation (struct SwrContext *s, int sample_delta, int compensation_distance)
 Activate resampling compensation ("soft" compensation). More...
 
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. More...
 

Macro Definition Documentation

◆ ALIGN

#define ALIGN   32

Definition at line 31 of file swresample.c.

◆ RSC

#define RSC   1

◆ MAX_DROP_STEP

#define MAX_DROP_STEP   16384

◆ MAX_SILENCE_STEP

#define MAX_SILENCE_STEP   16384

Function Documentation

◆ set_audiodata_fmt()

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

Definition at line 82 of file swresample.c.

Referenced by swr_init().

◆ free_temp()

static void free_temp ( AudioData a)
static

Definition at line 90 of file swresample.c.

Referenced by clear_context().

◆ clear_context()

static void clear_context ( SwrContext s)
static

Definition at line 95 of file swresample.c.

Referenced by swr_close(), swr_free(), and swr_init().

◆ swri_realloc_audio()

int swri_realloc_audio ( AudioData a,
int  count 
)

◆ copy()

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

Definition at line 434 of file swresample.c.

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

◆ fill_audiodata()

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

Definition at line 447 of file swresample.c.

Referenced by swr_convert().

◆ reversefill_audiodata()

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

Definition at line 461 of file swresample.c.

Referenced by swr_convert(), and swr_inject_silence().

◆ buf_set()

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

out may be equal in.

Definition at line 475 of file swresample.c.

Referenced by resample(), and swr_convert().

◆ resample()

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 490 of file swresample.c.

Referenced by swr_convert_internal().

◆ 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 585 of file swresample.c.

Referenced by swr_convert().