OSDN Git Service

opus_celt: move quantization and band decoding to opus_pvq.c
authorRostislav Pehlivanov <atomnuker@gmail.com>
Sat, 11 Feb 2017 00:25:06 +0000 (00:25 +0000)
committerRostislav Pehlivanov <atomnuker@gmail.com>
Tue, 14 Feb 2017 06:15:36 +0000 (06:15 +0000)
commite538108c219d7b3628a9ec33d85bf252ee70c957
tree796c62422dbc5f3e555d84ce57557729c7a8c900
parentd2119f624d392f53f80c3d36ffaadca23aef8a10
opus_celt: move quantization and band decoding to opus_pvq.c

A huge amount can be reused by the encoder, as the only thing
which needs to be done would be to add a 10 line celt_icwrsi,
a wrapper around it (celt_alg_quant) and templating the
ff_celt_decode_band to replace entropy decoding functions
with entropy encoding.

There is no performance loss but in fact a performance gain of
around 6% which is caused by the compiler being able to optimize
the decoding more efficiently.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
libavcodec/Makefile
libavcodec/opus.h
libavcodec/opus_celt.c
libavcodec/opus_celt.h [new file with mode: 0644]
libavcodec/opus_pvq.c [new file with mode: 0644]
libavcodec/opus_pvq.h [new file with mode: 0644]