FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
SwrContext Struct Reference

The libswresample context. More...

#include <swresample_internal.h>

Data Fields

const AVClassav_class
 AVClass used for AVOption and av_log() More...
 
int log_level_offset
 logging level offset More...
 
voidlog_ctx
 parent logging context More...
 
enum AVSampleFormat in_sample_fmt
 input sample format More...
 
enum AVSampleFormat int_sample_fmt
 internal sample format (AV_SAMPLE_FMT_FLTP or AV_SAMPLE_FMT_S16P) More...
 
enum AVSampleFormat out_sample_fmt
 output sample format More...
 
int64_t in_ch_layout
 input channel layout More...
 
int64_t out_ch_layout
 output channel layout More...
 
int in_sample_rate
 input sample rate More...
 
int out_sample_rate
 output sample rate More...
 
int flags
 miscellaneous flags such as SWR_FLAG_RESAMPLE More...
 
float slev
 surround mixing level More...
 
float clev
 center mixing level More...
 
float lfe_mix_level
 LFE mixing level. More...
 
float rematrix_volume
 rematrixing volume coefficient More...
 
float rematrix_maxval
 maximum value for rematrixing output More...
 
int matrix_encoding
 matrixed stereo encoding More...
 
const int * channel_map
 channel index (or -1 if muted channel) map More...
 
int used_ch_count
 number of used input channels (mapped channel count if channel_map, otherwise in.ch_count) More...
 
int engine
 
int user_in_ch_count
 User set input channel count. More...
 
int user_out_ch_count
 User set output channel count. More...
 
int user_used_ch_count
 User set used channel count. More...
 
int64_t user_in_ch_layout
 User set input channel layout. More...
 
int64_t user_out_ch_layout
 User set output channel layout. More...
 
enum AVSampleFormat user_int_sample_fmt
 User set internal sample format. More...
 
int user_dither_method
 User set dither method. More...
 
struct DitherContext dither
 
int filter_size
 length of each FIR filter in the resampling filterbank relative to the cutoff frequency More...
 
int phase_shift
 log2 of the number of entries in the resampling polyphase filterbank More...
 
int linear_interp
 if 1 then the resampling FIR filter will be linearly interpolated More...
 
int exact_rational
 if 1 then enable non power of 2 phase_count More...
 
double cutoff
 resampling cutoff frequency (swr: 6dB point; soxr: 0dB point). More...
 
int filter_type
 swr resampling filter type More...
 
double kaiser_beta
 swr beta value for Kaiser window (only applicable if filter_type == AV_FILTER_TYPE_KAISER) More...
 
double precision
 soxr resampling precision (in bits) More...
 
int cheby
 soxr: if 1 then passband rolloff will be none (Chebyshev) & irrational ratio approximation precision will be higher More...
 
float min_compensation
 swr minimum below which no compensation will happen More...
 
float min_hard_compensation
 swr minimum below which no silence inject / sample drop will happen More...
 
float soft_compensation_duration
 swr duration over which soft compensation is applied More...
 
float max_soft_compensation
 swr maximum soft compensation in seconds over soft_compensation_duration More...
 
float async
 swr simple 1 parameter async, similar to ffmpegs -async More...
 
int64_t firstpts_in_samples
 swr first pts in samples More...
 
int resample_first
 1 if resampling must come first, 0 if rematrixing More...
 
int rematrix
 flag to indicate if rematrixing is needed (basically if input and output layouts mismatch) More...
 
int rematrix_custom
 flag to indicate that a custom matrix has been defined More...
 
AudioData in
 input audio data More...
 
AudioData postin
 post-input audio data: used for rematrix/resample More...
 
AudioData midbuf
 intermediate audio data (postin/preout) More...
 
AudioData preout
 pre-output audio data: used for rematrix/resample More...
 
AudioData out
 converted output audio data More...
 
AudioData in_buffer
 cached audio data (convert and resample purpose) More...
 
AudioData silence
 temporary with silence More...
 
AudioData drop_temp
 temporary used to discard output More...
 
int in_buffer_index
 cached buffer position More...
 
int in_buffer_count
 cached buffer length More...
 
int resample_in_constraint
 1 if the input end was reach before the output end, 0 otherwise More...
 
int flushed
 1 if data is to be flushed and no further input is expected More...
 
int64_t outpts
 output PTS More...
 
int64_t firstpts
 first PTS More...
 
int drop_output
 number of output samples to drop More...
 
double delayed_samples_fixup
 soxr 0.1.1: needed to fixup delayed_samples after flush has been called. More...
 
struct AudioConvertin_convert
 input conversion context More...
 
struct AudioConvertout_convert
 output conversion context More...
 
struct AudioConvertfull_convert
 full conversion context (single conversion for input and output) More...
 
struct ResampleContextresample
 resampling context More...
 
struct Resampler const * resampler
 resampler virtual function table More...
 
double matrix [SWR_CH_MAX][SWR_CH_MAX]
 floating point rematrixing coefficients More...
 
float matrix_flt [SWR_CH_MAX][SWR_CH_MAX]
 single precision floating point rematrixing coefficients More...
 
uint8_tnative_matrix
 
uint8_tnative_one
 
uint8_tnative_simd_one
 
uint8_tnative_simd_matrix
 
int32_t matrix32 [SWR_CH_MAX][SWR_CH_MAX]
 17.15 fixed point rematrixing coefficients More...
 
uint8_t matrix_ch [SWR_CH_MAX][SWR_CH_MAX+1]
 Lists of input channels per output channel that have non zero rematrixing coefficients. More...
 
mix_1_1_func_typemix_1_1_f
 
mix_1_1_func_typemix_1_1_simd
 
mix_2_1_func_typemix_2_1_f
 
mix_2_1_func_typemix_2_1_simd
 
mix_any_func_typemix_any_f
 

Detailed Description

The libswresample context.

Unlike libavcodec and libavformat, this structure is opaque. This means that if you would like to set options, you must use the AVOptions API and cannot directly set values to members of the structure.

Examples:
muxing.c, resampling_audio.c, and transcode_aac.c.

Definition at line 95 of file swresample_internal.h.

Field Documentation

const AVClass* SwrContext::av_class

AVClass used for AVOption and av_log()

Definition at line 96 of file swresample_internal.h.

Referenced by swr_alloc().

int SwrContext::log_level_offset

logging level offset

Definition at line 97 of file swresample_internal.h.

Referenced by swr_alloc_set_opts().

void* SwrContext::log_ctx

parent logging context

Definition at line 98 of file swresample_internal.h.

Referenced by swr_alloc_set_opts().

enum AVSampleFormat SwrContext::in_sample_fmt

input sample format

Definition at line 99 of file swresample_internal.h.

Referenced by config_changed(), main(), swr_convert_internal(), and swr_init().

enum AVSampleFormat SwrContext::int_sample_fmt

internal sample format (AV_SAMPLE_FMT_FLTP or AV_SAMPLE_FMT_S16P)

Definition at line 100 of file swresample_internal.h.

Referenced by auto_matrix(), swr_convert_internal(), swr_init(), swr_set_matrix(), and swri_rematrix().

enum AVSampleFormat SwrContext::out_sample_fmt

output sample format

Definition at line 101 of file swresample_internal.h.

Referenced by auto_matrix(), config_changed(), main(), swr_convert_internal(), and swr_init().

int64_t SwrContext::in_ch_layout

input channel layout

Definition at line 102 of file swresample_internal.h.

Referenced by auto_matrix(), config_changed(), main(), swr_init(), and swri_rematrix_init().

int64_t SwrContext::out_ch_layout

output channel layout

Definition at line 103 of file swresample_internal.h.

Referenced by auto_matrix(), config_changed(), main(), swr_init(), swri_rematrix(), and swri_rematrix_init().

int SwrContext::in_sample_rate
int SwrContext::out_sample_rate
int SwrContext::flags

miscellaneous flags such as SWR_FLAG_RESAMPLE

Definition at line 106 of file swresample_internal.h.

Referenced by swr_init(), and swr_set_compensation().

float SwrContext::slev

surround mixing level

Definition at line 107 of file swresample_internal.h.

Referenced by auto_matrix().

float SwrContext::clev

center mixing level

Definition at line 108 of file swresample_internal.h.

Referenced by auto_matrix().

float SwrContext::lfe_mix_level

LFE mixing level.

Definition at line 109 of file swresample_internal.h.

Referenced by auto_matrix().

float SwrContext::rematrix_volume

rematrixing volume coefficient

Definition at line 110 of file swresample_internal.h.

Referenced by auto_matrix(), and swr_init().

float SwrContext::rematrix_maxval

maximum value for rematrixing output

Definition at line 111 of file swresample_internal.h.

Referenced by auto_matrix().

int SwrContext::matrix_encoding

matrixed stereo encoding

Definition at line 112 of file swresample_internal.h.

Referenced by auto_matrix().

const int* SwrContext::channel_map

channel index (or -1 if muted channel) map

Definition at line 113 of file swresample_internal.h.

Referenced by ff_opus_parse_extradata(), swr_convert_internal(), swr_init(), and swr_set_channel_mapping().

int SwrContext::used_ch_count

number of used input channels (mapped channel count if channel_map, otherwise in.ch_count)

Definition at line 114 of file swresample_internal.h.

Referenced by swr_convert_internal(), and swr_init().

int SwrContext::engine

Definition at line 115 of file swresample_internal.h.

Referenced by resample(), and swr_init().

int SwrContext::user_in_ch_count

User set input channel count.

Definition at line 117 of file swresample_internal.h.

Referenced by swr_init().

int SwrContext::user_out_ch_count

User set output channel count.

Definition at line 118 of file swresample_internal.h.

Referenced by swr_init().

int SwrContext::user_used_ch_count

User set used channel count.

Definition at line 119 of file swresample_internal.h.

Referenced by swr_init().

int64_t SwrContext::user_in_ch_layout

User set input channel layout.

Definition at line 120 of file swresample_internal.h.

Referenced by swr_alloc_set_opts(), swr_init(), and swr_set_matrix().

int64_t SwrContext::user_out_ch_layout

User set output channel layout.

Definition at line 121 of file swresample_internal.h.

Referenced by swr_alloc_set_opts(), swr_init(), and swr_set_matrix().

enum AVSampleFormat SwrContext::user_int_sample_fmt

User set internal sample format.

Definition at line 122 of file swresample_internal.h.

Referenced by swr_init().

int SwrContext::user_dither_method

User set dither method.

Definition at line 123 of file swresample_internal.h.

Referenced by swr_init().

struct DitherContext SwrContext::dither
int SwrContext::filter_size

length of each FIR filter in the resampling filterbank relative to the cutoff frequency

Definition at line 127 of file swresample_internal.h.

Referenced by swr_init().

int SwrContext::phase_shift

log2 of the number of entries in the resampling polyphase filterbank

Definition at line 128 of file swresample_internal.h.

Referenced by swr_init().

int SwrContext::linear_interp

if 1 then the resampling FIR filter will be linearly interpolated

Definition at line 129 of file swresample_internal.h.

Referenced by swr_init().

int SwrContext::exact_rational

if 1 then enable non power of 2 phase_count

Definition at line 130 of file swresample_internal.h.

Referenced by swr_init().

double SwrContext::cutoff

resampling cutoff frequency (swr: 6dB point; soxr: 0dB point).

1.0 corresponds to half the output sample rate

Definition at line 131 of file swresample_internal.h.

Referenced by swr_init().

int SwrContext::filter_type

swr resampling filter type

Definition at line 132 of file swresample_internal.h.

Referenced by swr_init().

double SwrContext::kaiser_beta

swr beta value for Kaiser window (only applicable if filter_type == AV_FILTER_TYPE_KAISER)

Definition at line 133 of file swresample_internal.h.

Referenced by swr_init().

double SwrContext::precision

soxr resampling precision (in bits)

Definition at line 134 of file swresample_internal.h.

Referenced by swr_init().

int SwrContext::cheby

soxr: if 1 then passband rolloff will be none (Chebyshev) & irrational ratio approximation precision will be higher

Definition at line 135 of file swresample_internal.h.

Referenced by swr_init().

float SwrContext::min_compensation

swr minimum below which no compensation will happen

Definition at line 137 of file swresample_internal.h.

Referenced by swr_init(), and swr_next_pts().

float SwrContext::min_hard_compensation

swr minimum below which no silence inject / sample drop will happen

Definition at line 138 of file swresample_internal.h.

Referenced by swr_next_pts().

float SwrContext::soft_compensation_duration

swr duration over which soft compensation is applied

Definition at line 139 of file swresample_internal.h.

Referenced by swr_next_pts().

float SwrContext::max_soft_compensation

swr maximum soft compensation in seconds over soft_compensation_duration

Definition at line 140 of file swresample_internal.h.

Referenced by swr_init(), and swr_next_pts().

float SwrContext::async

swr simple 1 parameter async, similar to ffmpegs -async

Definition at line 141 of file swresample_internal.h.

Referenced by swr_init().

int64_t SwrContext::firstpts_in_samples

swr first pts in samples

Definition at line 142 of file swresample_internal.h.

Referenced by swr_init().

int SwrContext::resample_first

1 if resampling must come first, 0 if rematrixing

Definition at line 144 of file swresample_internal.h.

Referenced by swr_convert_internal(), and swr_init().

int SwrContext::rematrix

flag to indicate if rematrixing is needed (basically if input and output layouts mismatch)

Definition at line 145 of file swresample_internal.h.

Referenced by swr_convert_internal(), and swr_init().

int SwrContext::rematrix_custom

flag to indicate that a custom matrix has been defined

Definition at line 146 of file swresample_internal.h.

Referenced by swr_init(), swr_set_matrix(), and swri_rematrix_init().

AudioData SwrContext::in

input audio data

Definition at line 148 of file swresample_internal.h.

Referenced by clear_context(), swr_convert(), swr_convert_internal(), and swr_init().

AudioData SwrContext::postin

post-input audio data: used for rematrix/resample

Definition at line 149 of file swresample_internal.h.

Referenced by clear_context(), swr_convert_internal(), and swr_init().

AudioData SwrContext::midbuf

intermediate audio data (postin/preout)

Definition at line 150 of file swresample_internal.h.

Referenced by clear_context(), swr_convert_internal(), swr_init(), and swri_rematrix_init().

AudioData SwrContext::preout

pre-output audio data: used for rematrix/resample

Definition at line 151 of file swresample_internal.h.

Referenced by clear_context(), swr_convert_internal(), and swr_init().

AudioData SwrContext::out

converted output audio data

Definition at line 152 of file swresample_internal.h.

Referenced by clear_context(), swr_convert(), swr_convert_internal(), and swr_init().

AudioData SwrContext::in_buffer

cached audio data (convert and resample purpose)

Definition at line 153 of file swresample_internal.h.

Referenced by clear_context(), resample(), resample_flush(), swr_convert(), swr_init(), and swr_is_initialized().

AudioData SwrContext::silence

temporary with silence

Definition at line 154 of file swresample_internal.h.

Referenced by clear_context(), swr_init(), and swr_inject_silence().

AudioData SwrContext::drop_temp

temporary used to discard output

Definition at line 155 of file swresample_internal.h.

Referenced by clear_context(), swr_convert(), and swr_init().

int SwrContext::in_buffer_index

cached buffer position

Definition at line 156 of file swresample_internal.h.

Referenced by clear_context(), resample(), resample_flush(), and swr_convert().

int SwrContext::in_buffer_count
int SwrContext::resample_in_constraint

1 if the input end was reach before the output end, 0 otherwise

Definition at line 158 of file swresample_internal.h.

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

int SwrContext::flushed

1 if data is to be flushed and no further input is expected

Definition at line 159 of file swresample_internal.h.

Referenced by clear_context(), get_delay(), get_out_samples(), resample(), and swr_convert().

int64_t SwrContext::outpts

output PTS

Definition at line 160 of file swresample_internal.h.

Referenced by filter_frame(), swr_convert(), swr_init(), and swr_next_pts().

int64_t SwrContext::firstpts

first PTS

Definition at line 161 of file swresample_internal.h.

Referenced by swr_init(), and swr_next_pts().

int SwrContext::drop_output

number of output samples to drop

Definition at line 162 of file swresample_internal.h.

Referenced by swr_convert(), swr_drop_output(), and swr_next_pts().

double SwrContext::delayed_samples_fixup

soxr 0.1.1: needed to fixup delayed_samples after flush has been called.

Definition at line 163 of file swresample_internal.h.

Referenced by clear_context(), flush(), get_delay(), and get_out_samples().

struct AudioConvert* SwrContext::in_convert

input conversion context

Definition at line 165 of file swresample_internal.h.

Referenced by clear_context(), swr_convert_internal(), swr_init(), swr_set_channel_mapping(), and swr_set_matrix().

struct AudioConvert* SwrContext::out_convert

output conversion context

Definition at line 166 of file swresample_internal.h.

Referenced by clear_context(), swr_convert_internal(), and swr_init().

struct AudioConvert* SwrContext::full_convert

full conversion context (single conversion for input and output)

Definition at line 167 of file swresample_internal.h.

Referenced by clear_context(), swr_convert_internal(), and swr_init().

struct ResampleContext* SwrContext::resample
struct Resampler const* SwrContext::resampler

resampler virtual function table

Definition at line 169 of file swresample_internal.h.

Referenced by resample(), swr_convert(), swr_free(), swr_get_delay(), swr_get_out_samples(), swr_init(), and swr_set_compensation().

double SwrContext::matrix[SWR_CH_MAX][SWR_CH_MAX]

floating point rematrixing coefficients

Definition at line 171 of file swresample_internal.h.

Referenced by auto_matrix(), swr_set_matrix(), swri_rematrix(), and swri_rematrix_init().

float SwrContext::matrix_flt[SWR_CH_MAX][SWR_CH_MAX]

single precision floating point rematrixing coefficients

Definition at line 172 of file swresample_internal.h.

Referenced by auto_matrix(), swr_set_matrix(), and swri_rematrix().

uint8_t* SwrContext::native_matrix

Definition at line 173 of file swresample_internal.h.

Referenced by swri_rematrix(), swri_rematrix_free(), and swri_rematrix_init().

uint8_t* SwrContext::native_one
uint8_t* SwrContext::native_simd_one

Definition at line 175 of file swresample_internal.h.

Referenced by swr_convert_internal(), and swri_rematrix_free().

uint8_t* SwrContext::native_simd_matrix

Definition at line 176 of file swresample_internal.h.

Referenced by swri_rematrix(), and swri_rematrix_free().

int32_t SwrContext::matrix32[SWR_CH_MAX][SWR_CH_MAX]

17.15 fixed point rematrixing coefficients

Definition at line 177 of file swresample_internal.h.

Referenced by swri_rematrix(), and swri_rematrix_init().

uint8_t SwrContext::matrix_ch[SWR_CH_MAX][SWR_CH_MAX+1]

Lists of input channels per output channel that have non zero rematrixing coefficients.

Definition at line 178 of file swresample_internal.h.

Referenced by swri_rematrix(), and swri_rematrix_init().

mix_1_1_func_type* SwrContext::mix_1_1_f

Definition at line 179 of file swresample_internal.h.

Referenced by swri_rematrix(), and swri_rematrix_init().

mix_1_1_func_type* SwrContext::mix_1_1_simd

Definition at line 180 of file swresample_internal.h.

Referenced by swri_rematrix().

mix_2_1_func_type* SwrContext::mix_2_1_f

Definition at line 182 of file swresample_internal.h.

Referenced by swr_convert_internal(), swri_rematrix(), and swri_rematrix_init().

mix_2_1_func_type* SwrContext::mix_2_1_simd

Definition at line 183 of file swresample_internal.h.

Referenced by swr_convert_internal(), and swri_rematrix().

mix_any_func_type* SwrContext::mix_any_f

Definition at line 185 of file swresample_internal.h.

Referenced by swri_rematrix(), and swri_rematrix_init().


The documentation for this struct was generated from the following file: