FFmpeg
|
The libswresample context. More...
#include <swresample_internal.h>
Data Fields | |
const AVClass * | av_class |
AVClass used for AVOption and av_log() More... | |
int | log_level_offset |
logging level offset More... | |
void * | log_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 AudioConvert * | in_convert |
input conversion context More... | |
struct AudioConvert * | out_convert |
output conversion context More... | |
struct AudioConvert * | full_convert |
full conversion context (single conversion for input and output) More... | |
struct ResampleContext * | resample |
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_t * | native_matrix |
uint8_t * | native_one |
uint8_t * | native_simd_one |
uint8_t * | native_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_type * | mix_1_1_f |
mix_1_1_func_type * | mix_1_1_simd |
mix_2_1_func_type * | mix_2_1_f |
mix_2_1_func_type * | mix_2_1_simd |
mix_any_func_type * | mix_any_f |
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.
Definition at line 95 of file swresample_internal.h.
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(), 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 |
input sample rate
Definition at line 104 of file swresample_internal.h.
Referenced by config_changed(), get_delay(), get_out_samples(), main(), swr_convert(), swr_convert_frame(), swr_get_delay(), swr_get_out_samples(), swr_init(), and swr_next_pts().
int SwrContext::out_sample_rate |
output sample rate
Definition at line 105 of file swresample_internal.h.
Referenced by config_changed(), get_delay(), get_out_samples(), main(), swr_convert_frame(), swr_get_out_samples(), swr_init(), swr_next_pts(), and swri_dither_init().
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 |
Definition at line 125 of file swresample_internal.h.
Referenced by clear_context(), swr_convert_internal(), swr_init(), swri_dither_init(), and swri_get_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 |
cached buffer length
Definition at line 157 of file swresample_internal.h.
Referenced by clear_context(), get_delay(), get_out_samples(), resample(), resample_flush(), swr_convert(), swr_get_delay(), and swr_get_out_samples().
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 |
resampling context
Definition at line 168 of file swresample_internal.h.
Referenced by flush(), get_delay(), get_out_samples(), resample(), swr_convert(), swr_convert_internal(), swr_free(), swr_get_delay(), swr_get_out_samples(), swr_init(), and swr_set_compensation().
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 |
Definition at line 174 of file swresample_internal.h.
Referenced by swr_convert_internal(), swri_rematrix_free(), and swri_rematrix_init().
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().