diff options
author | Tim Walker <tdskywalker@gmail.com> | 2013-11-22 22:11:47 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-11-28 22:02:53 +0100 |
commit | 149438cfe5d233c46bb18341b7c574fe643dd5f2 (patch) | |
tree | 45798acbcec297a7e3900926a3608df1d47c6598 | |
parent | 44b17d794aa508ae21f438ae80bfe8aaf4b426e1 (diff) | |
download | ffmpeg-149438cfe5d233c46bb18341b7c574fe643dd5f2.tar.gz |
dca: improve default stereo downmix coefficients.
Previous coefficients were producing a non-normalized, incorrect Lt/Rt downmix.
The new coefficients produce a standard Lo/Ro downmix with 3dB attenuation.
This should match the typical default coefficients used by DTS encoders.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r-- | libavcodec/dcadata.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/dcadata.h b/libavcodec/dcadata.h index 156a2c3350..e6997bc926 100644 --- a/libavcodec/dcadata.h +++ b/libavcodec/dcadata.h @@ -7552,16 +7552,16 @@ static const float dca_dmixtable[241] = { }; static const float dca_default_coeffs[10][5][2] = { - { { 0.707946, 0.707946 }, }, // A + { { 0.707107, 0.707107 }, }, // A { { 1.000000, 0.000000 }, { 0.000000, 1.000000 }, }, // A + B (dual mono) { { 1.000000, 0.000000 }, { 0.000000, 1.000000 }, }, // L + R (stereo) { { 1.000000, 0.000000 }, { 0.000000, 1.000000 }, }, // (L+R) + (L-R) (sum-difference) { { 1.000000, 0.000000 }, { 0.000000, 1.000000 }, }, // LT + RT (left and right total) - { { 0.865964, 0.865964 }, { 1.000000, 0.501187 }, { 0.501187, 1.000000 }, }, // C + L + R - { { 1.000000, 0.501187 }, { 0.501187, 1.000000 }, { 0.707946, 0.707946 }, }, // L + R + S - { { 0.865964, 0.865964 }, { 1.000000, 0.501187 }, { 0.501187, 1.000000 }, { 0.707946, 0.707946 }, }, // C + L + R + S - { { 1.000000, 0.501187 }, { 0.501187, 1.000000 }, { 1.000000, 0.707946 }, { 0.707946, 1.000000 }, }, // L + R + SL + SR - { { 0.865964, 0.865964 }, { 1.000000, 0.501187 }, { 0.501187, 1.000000 }, { 1.000000, 0.707946 }, { 0.707946, 1.000000 }, }, // C + L + R + SL + SR + { { 0.501187, 0.501187 }, { 0.707107, 0.000000 }, { 0.000000, 0.707107 }, }, // C + L + R + { { 0.707107, 0.000000 }, { 0.000000, 0.707107 }, { 0.501187, 0.501187 }, }, // L + R + S + { { 0.501187, 0.501187 }, { 0.707107, 0.000000 }, { 0.000000, 0.707107 }, { 0.501187, 0.501187 }, }, // C + L + R + S + { { 0.707107, 0.000000 }, { 0.000000, 0.707107 }, { 0.501187, 0.000000 }, { 0.000000, 0.501187 }, }, // L + R + SL + SR + { { 0.501187, 0.501187 }, { 0.707107, 0.000000 }, { 0.000000, 0.707107 }, { 0.501187, 0.000000 }, { 0.000000, 0.501187 }, }, // C + L + R + SL + SR }; /* downmix coeffs |