summaryrefslogtreecommitdiff
authorJustin Ruggles <justin.ruggles@gmail.com>2013-01-18 18:25:19 (GMT)
committer Justin Ruggles <justin.ruggles@gmail.com>2013-02-12 18:35:04 (GMT)
commit646831e697a5f789d1faeaeecd047b8b5b8c5216 (patch)
tree29b521a796423cf95a8fa92a74519d302ae82c48
parent8ae50d87e7712959ac705f7cdf7cff1bfb5b9ee3 (diff)
downloadffmpeg-646831e697a5f789d1faeaeecd047b8b5b8c5216.zip
ffmpeg-646831e697a5f789d1faeaeecd047b8b5b8c5216.tar.gz
ffmpeg-646831e697a5f789d1faeaeecd047b8b5b8c5216.tar.bz2
lavr: print out the mix matrix in ff_audio_mix_set_matrix()
This will print the new matrix if it is set after initialization.
Diffstat
-rw-r--r--libavresample/audio_mix.c55
1 files changed, 29 insertions, 26 deletions
diff --git a/libavresample/audio_mix.c b/libavresample/audio_mix.c
index c701bf1..a3f11b6 100644
--- a/libavresample/audio_mix.c
+++ b/libavresample/audio_mix.c
@@ -370,9 +370,6 @@ AudioMix *ff_audio_mix_alloc(AVAudioResampleContext *avr)
goto error;
av_freep(&avr->mix_matrix);
} else {
- int i, j;
- char in_layout_name[128];
- char out_layout_name[128];
double *matrix_dbl = av_mallocz(avr->out_channels * avr->in_channels *
sizeof(*matrix_dbl));
if (!matrix_dbl)
@@ -399,27 +396,6 @@ AudioMix *ff_audio_mix_alloc(AVAudioResampleContext *avr)
goto error;
}
- av_get_channel_layout_string(in_layout_name, sizeof(in_layout_name),
- avr->in_channels, avr->in_channel_layout);
- av_get_channel_layout_string(out_layout_name, sizeof(out_layout_name),
- avr->out_channels, avr->out_channel_layout);
- av_log(avr, AV_LOG_DEBUG, "audio_mix: %s to %s\n",
- in_layout_name, out_layout_name);
- av_log(avr, AV_LOG_DEBUG, "matrix size: %d x %d\n",
- am->in_matrix_channels, am->out_matrix_channels);
- for (i = 0; i < avr->out_channels; i++) {
- for (j = 0; j < avr->in_channels; j++) {
- if (am->output_zero[i])
- av_log(avr, AV_LOG_DEBUG, " (ZERO)");
- else if (am->input_skip[j] || am->output_skip[i])
- av_log(avr, AV_LOG_DEBUG, " (SKIP)");
- else
- av_log(avr, AV_LOG_DEBUG, " %0.3f ",
- matrix_dbl[i * avr->in_channels + j]);
- }
- av_log(avr, AV_LOG_DEBUG, "\n");
- }
-
av_free(matrix_dbl);
}
@@ -553,7 +529,9 @@ int ff_audio_mix_get_matrix(AudioMix *am, double *matrix, int stride)
int ff_audio_mix_set_matrix(AudioMix *am, const double *matrix, int stride)
{
- int i, o, i0, o0;
+ int i, o, i0, o0, ret;
+ char in_layout_name[128];
+ char out_layout_name[128];
if ( am->in_channels <= 0 || am->in_channels > AVRESAMPLE_MAX_CHANNELS ||
am->out_channels <= 0 || am->out_channels > AVRESAMPLE_MAX_CHANNELS) {
@@ -701,5 +679,30 @@ int ff_audio_mix_set_matrix(AudioMix *am, const double *matrix, int stride)
return AVERROR(EINVAL);
}
- return mix_function_init(am);
+ ret = mix_function_init(am);
+ if (ret < 0)
+ return ret;
+
+ av_get_channel_layout_string(in_layout_name, sizeof(in_layout_name),
+ am->in_channels, am->in_layout);
+ av_get_channel_layout_string(out_layout_name, sizeof(out_layout_name),
+ am->out_channels, am->out_layout);
+ av_log(am->avr, AV_LOG_DEBUG, "audio_mix: %s to %s\n",
+ in_layout_name, out_layout_name);
+ av_log(am->avr, AV_LOG_DEBUG, "matrix size: %d x %d\n",
+ am->in_matrix_channels, am->out_matrix_channels);
+ for (o = 0; o < am->out_channels; o++) {
+ for (i = 0; i < am->in_channels; i++) {
+ if (am->output_zero[o])
+ av_log(am->avr, AV_LOG_DEBUG, " (ZERO)");
+ else if (am->input_skip[i] || am->output_skip[o])
+ av_log(am->avr, AV_LOG_DEBUG, " (SKIP)");
+ else
+ av_log(am->avr, AV_LOG_DEBUG, " %0.3f ",
+ matrix[o * am->in_channels + i]);
+ }
+ av_log(am->avr, AV_LOG_DEBUG, "\n");
+ }
+
+ return 0;
}