diff options
Diffstat (limited to 'libavresample/audio_mix.c')
-rw-r--r-- | libavresample/audio_mix.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libavresample/audio_mix.c b/libavresample/audio_mix.c index 3b39ceeca5..62f8bd6c6d 100644 --- a/libavresample/audio_mix.c +++ b/libavresample/audio_mix.c @@ -30,6 +30,29 @@ static const char *coeff_type_names[] = { "q8", "q15", "flt" }; +struct AudioMix { + AVAudioResampleContext *avr; + enum AVSampleFormat fmt; + enum AVMixCoeffType coeff_type; + uint64_t in_layout; + uint64_t out_layout; + int in_channels; + int out_channels; + + int ptr_align; + int samples_align; + int has_optimized_func; + const char *func_descr; + const char *func_descr_generic; + mix_func *mix; + mix_func *mix_generic; + + int16_t *matrix_q8[AVRESAMPLE_MAX_CHANNELS]; + int32_t *matrix_q15[AVRESAMPLE_MAX_CHANNELS]; + float *matrix_flt[AVRESAMPLE_MAX_CHANNELS]; + void **matrix; +}; + void ff_audio_mix_set_func(AudioMix *am, enum AVSampleFormat fmt, enum AVMixCoeffType coeff_type, int in_channels, int out_channels, int ptr_align, int samples_align, |