SILK fixes following last codec WG meeting
authorKoen Vos <koen.vos@skype.net>
Tue, 13 Dec 2011 19:47:31 +0000 (14:47 -0500)
committerJean-Marc Valin <jmvalin@jmvalin.ca>
Tue, 13 Dec 2011 19:47:31 +0000 (14:47 -0500)
commitbf75c8ec4d0dded188bc7793de6da56c7ff0be1c
treec21bb05faf0a203b73e8f8aae90fc63dac27625d
parent6619a736376221f2782cecff55d051c3ecfc2ff7
SILK fixes following last codec WG meeting

decoder:
- fixed incorrect scaling of filter states for the smallest quantization
  step sizes
- NLSF2A now limits the prediction gain of LPC filters

encoder:
- increased damping of LTP coefficients in LTP analysis
- increased white noise fraction in noise shaping LPC analysis
- introduced maximum total prediction gain.  Used by Burg's method to
  exit early if prediction gain is exceeded.  This improves packet
  loss robustness and numerical robustness in Burg's method
- Prefiltered signal is now in int32 Q10 domain, from int16 Q0
- Increased max number of iterations in CBR gain control loop from 5 to 6
- Removed useless code from LTP scaling control
- Optimization: smarter LPC loop unrolling
- Switched default win32 compile mode to be floating-point

resampler:
- made resampler have constant delay of 0.75 ms; removed delay
  compensation from silk code.
- removed obsolete table entries (~850 Bytes)
- increased downsampling filter order from 16 to 18/24/36 (depending on
  frequency ratio)
- reoptimized filter coefficients
71 files changed:
silk/CNG.c
silk/LPC_analysis_filter.c
silk/LPC_inv_pred_gain.c
silk/MacroDebug.h
silk/NLSF2A.c
silk/NLSF_VQ.c
silk/NLSF_decode.c
silk/NLSF_encode.c
silk/NSQ.c
silk/NSQ_del_dec.c
silk/PLC.c
silk/PLC.h
silk/SigProc_FIX.h
silk/VAD.c
silk/control_codec.c
silk/dec_API.c
silk/decode_core.c
silk/decode_parameters.c
silk/decoder_set_fs.c
silk/define.h
silk/enc_API.c
silk/fixed/LTP_analysis_filter_FIX.c
silk/fixed/LTP_scale_ctrl_FIX.c
silk/fixed/burg_modified_FIX.c
silk/fixed/encode_frame_FIX.c
silk/fixed/find_LPC_FIX.c
silk/fixed/find_LTP_FIX.c
silk/fixed/find_pitch_lags_FIX.c
silk/fixed/find_pred_coefs_FIX.c
silk/fixed/main_FIX.h
silk/fixed/noise_shape_analysis_FIX.c
silk/fixed/pitch_analysis_core_FIX.c
silk/fixed/prefilter_FIX.c
silk/fixed/residual_energy16_FIX.c
silk/fixed/schur_FIX.c
silk/fixed/structs_FIX.h
silk/fixed/warped_autocorrelation_FIX.c
silk/float/LPC_inv_pred_gain_FLP.c
silk/float/LTP_scale_ctrl_FLP.c
silk/float/SigProc_FLP.h
silk/float/burg_modified_FLP.c
silk/float/encode_frame_FLP.c
silk/float/find_LPC_FLP.c
silk/float/find_pitch_lags_FLP.c
silk/float/find_pred_coefs_FLP.c
silk/float/main_FLP.h
silk/float/noise_shape_analysis_FLP.c
silk/float/pitch_analysis_core_FLP.c
silk/float/prefilter_FLP.c
silk/float/process_gains_FLP.c
silk/float/structs_FLP.h
silk/float/wrappers_FLP.c
silk/interpolate.c
silk/macros.h
silk/main.h
silk/quant_LTP_gains.c
silk/resampler.c
silk/resampler_down2.c
silk/resampler_private.h
silk/resampler_private_IIR_FIR.c
silk/resampler_private_down_FIR.c
silk/resampler_private_up2_HQ.c
silk/resampler_rom.c
silk/resampler_rom.h
silk/resampler_structs.h
silk/stereo_LR_to_MS.c
silk/stereo_MS_to_LR.c
silk/structs.h
silk/tuning_parameters.h
src/opus_encoder.c
win32/config.h