libdca是DTS的浮点开源解码器,在不影响音质的条件下,我对其进行浮点转定点并进行优化,使其能在32位定点DSP上高效的运行。
首先是定点化,首先我们可以先使用64位运算来替代浮点运算,一般来说这种定点化不会影响音质,但在32位定点DSP上64位运算的效率也是不高的,所以最终的目标是32位定点运算。(听说还有16位的,这我就没有达到过了,不知道哪位仁兄能够达到,分享一下)
libdca解码器代码中的主要的浮点运算主要在两个函数中,一个是dca_subsubframe(),另一个是qmf_32_subbands(),集中在反量化,ADPCM,IMDCT,加窗操作中。
我的策略是各个击破,在其他部分不变的情况下,定点化其中之一&#