Merge commit '27c8337e595a058347150269d5c2c48281e4285b'
* commit '27c8337e595a058347150269d5c2c48281e4285b': h264-mt: handle NAL_DPAs before calling ff_thread_finish_setup lavr: move AudioMix struct definition to audio_mix.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
dde4832b64
@ -3896,6 +3896,7 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size)
|
|||||||
case NAL_PPS:
|
case NAL_PPS:
|
||||||
nals_needed = nal_index;
|
nals_needed = nal_index;
|
||||||
break;
|
break;
|
||||||
|
case NAL_DPA:
|
||||||
case NAL_IDR_SLICE:
|
case NAL_IDR_SLICE:
|
||||||
case NAL_SLICE:
|
case NAL_SLICE:
|
||||||
init_get_bits(&hx->s.gb, ptr, bit_length);
|
init_get_bits(&hx->s.gb, ptr, bit_length);
|
||||||
|
@ -30,6 +30,29 @@
|
|||||||
|
|
||||||
static const char *coeff_type_names[] = { "q8", "q15", "flt" };
|
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,
|
void ff_audio_mix_set_func(AudioMix *am, enum AVSampleFormat fmt,
|
||||||
enum AVMixCoeffType coeff_type, int in_channels,
|
enum AVMixCoeffType coeff_type, int in_channels,
|
||||||
int out_channels, int ptr_align, int samples_align,
|
int out_channels, int ptr_align, int samples_align,
|
||||||
|
@ -30,28 +30,7 @@
|
|||||||
typedef void (mix_func)(uint8_t **src, void **matrix, int len, int out_ch,
|
typedef void (mix_func)(uint8_t **src, void **matrix, int len, int out_ch,
|
||||||
int in_ch);
|
int in_ch);
|
||||||
|
|
||||||
typedef struct AudioMix {
|
typedef struct AudioMix 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;
|
|
||||||
} AudioMix;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set mixing function if the parameters match.
|
* Set mixing function if the parameters match.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user