aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-12-16 13:08:53 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-12-16 13:09:30 +0100
commitdde4832b64c53a680cdf8bf4dfb1694e2b802154 (patch)
treebf10603465501511eb6587039216607edc67f697
parent1081d78746906ac18283af0087254652498e81ed (diff)
parent27c8337e595a058347150269d5c2c48281e4285b (diff)
downloadffmpeg-dde4832b64c53a680cdf8bf4dfb1694e2b802154.tar.gz
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>
-rw-r--r--libavcodec/h264.c1
-rw-r--r--libavresample/audio_mix.c23
-rw-r--r--libavresample/audio_mix.h23
3 files changed, 25 insertions, 22 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 60a25a1ef7..1419f57c34 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -3896,6 +3896,7 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size)
case NAL_PPS:
nals_needed = nal_index;
break;
+ case NAL_DPA:
case NAL_IDR_SLICE:
case NAL_SLICE:
init_get_bits(&hx->s.gb, ptr, bit_length);
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,
diff --git a/libavresample/audio_mix.h b/libavresample/audio_mix.h
index 22faea7c1b..4ccfc1fd28 100644
--- a/libavresample/audio_mix.h
+++ b/libavresample/audio_mix.h
@@ -30,28 +30,7 @@
typedef void (mix_func)(uint8_t **src, void **matrix, int len, int out_ch,
int in_ch);
-typedef 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;
-} AudioMix;
+typedef struct AudioMix AudioMix;
/**
* Set mixing function if the parameters match.