aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-11-29 00:32:14 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-11-29 00:32:14 +0100
commita7f8817720ea04ab9abf16a5b9d493d6a762cd8a (patch)
tree0f9c31741936bbaa3141e857e5e3491142d17417
parente9a47896a0d1cd8b6577f5a7752e158973d32d2a (diff)
parentb6d5e6aa10a2f09351f287e876f7ed4504e1f75d (diff)
downloadffmpeg-a7f8817720ea04ab9abf16a5b9d493d6a762cd8a.tar.gz
Merge commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d'
* commit 'b6d5e6aa10a2f09351f287e876f7ed4504e1f75d': dca: convert dca_default_coeffs to float. Conflicts: libavcodec/dcadata.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/dcadata.h22
-rw-r--r--libavcodec/dcadec.c4
2 files changed, 13 insertions, 13 deletions
diff --git a/libavcodec/dcadata.h b/libavcodec/dcadata.h
index 15df49eba1..5b22698f2a 100644
--- a/libavcodec/dcadata.h
+++ b/libavcodec/dcadata.h
@@ -7556,17 +7556,17 @@ static const float dca_downmix_scale_factors[241] = {
1.000000
};
-static const uint8_t dca_default_coeffs[10][5][2] = {
- { { 13, 13 }, },
- { { 0, 64 }, { 64, 0 }, },
- { { 0, 64 }, { 64, 0 }, },
- { { 0, 64 }, { 64, 0 }, },
- { { 0, 64 }, { 64, 0 }, },
- { { 6, 6 }, { 0, 25 }, { 25, 0 }, },
- { { 0, 25 }, { 25, 0 }, { 13, 13 }, },
- { { 6, 6 }, { 0, 25 }, { 25, 0 }, { 13, 13 }, },
- { { 0, 25 }, { 25, 0 }, { 0, 13 }, { 13, 0 }, },
- { { 6, 6 }, { 0, 25 }, { 25, 0 }, { 0, 13 }, { 13, 0 }, },
+static const float dca_default_coeffs[10][5][2] = {
+ { { 0.707946, 0.707946 }, }, // 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
};
/* downmix coeffs
diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c
index fbd5dee5b2..ddd5510133 100644
--- a/libavcodec/dcadec.c
+++ b/libavcodec/dcadec.c
@@ -975,8 +975,8 @@ static int dca_subframe_header(DCAContext *s, int base_channel, int block_index)
}
for (j = base_channel; j < s->prim_channels; j++) {
- s->downmix_coef[j][0] = dca_downmix_coeffs[dca_default_coeffs[am][j][0]];
- s->downmix_coef[j][1] = dca_downmix_coeffs[dca_default_coeffs[am][j][1]];
+ s->downmix_coef[j][0] = dca_default_coeffs[am][j][0];
+ s->downmix_coef[j][1] = dca_default_coeffs[am][j][1];
}
}
}