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>
Showing
- libavcodec/Makefile 1 addition, 1 deletionlibavcodec/Makefile
- libavcodec/opus.h 0 additions, 10 deletionslibavcodec/opus.h
- libavcodec/opus_celt.c 11 additions, 817 deletionslibavcodec/opus_celt.c
- libavcodec/opus_celt.h 133 additions, 0 deletionslibavcodec/opus_celt.h
- libavcodec/opus_pvq.c 729 additions, 0 deletionslibavcodec/opus_pvq.c
- libavcodec/opus_pvq.h 35 additions, 0 deletionslibavcodec/opus_pvq.h
Loading
Please register or sign in to comment