# HG changeset patch # User pross # Date 1267609916 0 # Node ID 15dd07e86519f40014a315e2b410e042606f2df4 # Parent ad4ac2a6373f53418cbc866b29d40f9edf69d502 Perform coefficient transformations in Bink Audio DCT decoder (issue1770) diff -r ad4ac2a6373f -r 15dd07e86519 binkaudio.c --- a/binkaudio.c Wed Mar 03 09:38:09 2010 +0000 +++ b/binkaudio.c Wed Mar 03 09:51:56 2010 +0000 @@ -125,7 +125,7 @@ if (CONFIG_BINKAUDIO_RDFT_DECODER && avctx->codec->id == CODEC_ID_BINKAUDIO_RDFT) ff_rdft_init(&s->trans.rdft, frame_len_bits, IRIDFT); else if (CONFIG_BINKAUDIO_DCT_DECODER) - ff_dct_init(&s->trans.dct, frame_len_bits, 0); + ff_dct_init(&s->trans.dct, frame_len_bits, 1); else return -1; @@ -211,8 +211,11 @@ } } - if (CONFIG_BINKAUDIO_DCT_DECODER && use_dct) + if (CONFIG_BINKAUDIO_DCT_DECODER && use_dct) { + coeffs[0] /= 0.5; ff_dct_calc (&s->trans.dct, coeffs); + s->dsp.vector_fmul_scalar(coeffs, coeffs, s->frame_len / 2, s->frame_len); + } else if (CONFIG_BINKAUDIO_RDFT_DECODER) ff_rdft_calc(&s->trans.rdft, coeffs); }