Mercurial > libavcodec.hg
comparison aac.c @ 11667:6818ea5a25a2 libavcodec
Rewrite ff_sbr_apply in a manner more friendly to PS.
This includes merging ff_sbr_dequant into ff_sbr_apply.
author | alexc |
---|---|
date | Fri, 30 Apr 2010 21:43:23 +0000 |
parents | 7dd2a45249a9 |
children | db33423d99ac |
comparison
equal
deleted
inserted
replaced
11666:1c6d78234e67 | 11667:6818ea5a25a2 |
---|---|
1890 apply_tns(che->ch[1].coeffs, &che->ch[1].tns, &che->ch[1].ics, 1); | 1890 apply_tns(che->ch[1].coeffs, &che->ch[1].tns, &che->ch[1].ics, 1); |
1891 if (type <= TYPE_CPE) | 1891 if (type <= TYPE_CPE) |
1892 apply_channel_coupling(ac, che, type, i, BETWEEN_TNS_AND_IMDCT, apply_dependent_coupling); | 1892 apply_channel_coupling(ac, che, type, i, BETWEEN_TNS_AND_IMDCT, apply_dependent_coupling); |
1893 if (type != TYPE_CCE || che->coup.coupling_point == AFTER_IMDCT) { | 1893 if (type != TYPE_CCE || che->coup.coupling_point == AFTER_IMDCT) { |
1894 imdct_and_windowing(ac, &che->ch[0], imdct_bias); | 1894 imdct_and_windowing(ac, &che->ch[0], imdct_bias); |
1895 if (ac->m4ac.sbr > 0) { | |
1896 ff_sbr_dequant(ac, &che->sbr, type == TYPE_CPE ? TYPE_CPE : TYPE_SCE); | |
1897 ff_sbr_apply(ac, &che->sbr, 0, che->ch[0].ret, che->ch[0].ret); | |
1898 } | |
1899 } | |
1900 if (type == TYPE_CPE) { | 1895 if (type == TYPE_CPE) { |
1901 imdct_and_windowing(ac, &che->ch[1], imdct_bias); | 1896 imdct_and_windowing(ac, &che->ch[1], imdct_bias); |
1902 if (ac->m4ac.sbr > 0) | 1897 } |
1903 ff_sbr_apply(ac, &che->sbr, 1, che->ch[1].ret, che->ch[1].ret); | 1898 if (ac->m4ac.sbr > 0) { |
1899 ff_sbr_apply(ac, &che->sbr, type, che->ch[0].ret, che->ch[1].ret); | |
1900 } | |
1904 } | 1901 } |
1905 if (type <= TYPE_CCE) | 1902 if (type <= TYPE_CCE) |
1906 apply_channel_coupling(ac, che, type, i, AFTER_IMDCT, apply_independent_coupling); | 1903 apply_channel_coupling(ac, che, type, i, AFTER_IMDCT, apply_independent_coupling); |
1907 } | 1904 } |
1908 } | 1905 } |