Misc bug fixes
authorJean-Marc Valin <jmvalin@jmvalin.ca>
Wed, 12 Oct 2011 01:09:14 +0000 (21:09 -0400)
committerJean-Marc Valin <jmvalin@jmvalin.ca>
Wed, 12 Oct 2011 01:09:14 +0000 (21:09 -0400)
commitb24e57462724185f8922455a2196607f06b98e41
tree5949b3c5f784d4ec8aba4f4c618d30c8537bc63e
parenta4885a5fd5165d4732929328de613a35a3d3b359
Misc bug fixes

- There was a bug where the decoder resampler was not properly initialized
when fs_kHz == API_fs_kHz. In that case the resampler would continue to
upsample, and the output was corrupt.

- The delay value in the decoder was taken from the state before it was
potentially updated. This caused the decoder to apply the new dalay value one
frame late

- The encoder and decoder states are now updated more consistently, when
the sampling rate changes (pesq liked these changes)

- Properly resetting the side channel encoder and decoder for the first
frame with side coding active again

- Faster updating the "ratio" value in the LR_to_MS() code for large
prediction values means that for certain extreme/artificial input
signals the output looks better
15 files changed:
silk/control.h
silk/control_codec.c
silk/create_init_destroy.c
silk/dec_API.c
silk/decoder_set_fs.c
silk/define.h
silk/enc_API.c
silk/fixed/structs_FIX.h
silk/float/structs_FLP.h
silk/init_encoder.c
silk/main.h
silk/stereo_LR_to_MS.c
silk/stereo_find_predictor.c
silk/structs.h
src/opus_decoder.c