Hi, all. I have two questions about wideband encoding.>From "testenc_wb.c"...1) tmp=8; speex_encoder_ctl(st, SPEEX_SET_QUALITY, &tmp); tmp=3; speex_encoder_ctl(st, SPEEX_SET_HIGH_MODE, &tmp); tmp=6; speex_encoder_ctl(st, SPEEX_SET_LOW_MODE, &tmp); How to set high_mode and low_mode, if quality is set to '9'? When I set quality '9' / high_mode '3' / low_mode '6', encode as like quality is '8'. And what does high/low mode value in encoding process? 2) callback.callback_id = SPEEX_INBAND_CHAR; callback.func = speex_std_char_handler; callback.data = stderr; speex_decoder_ctl(dec, SPEEX_SET_HANDLER, &callback); callback.callback_id = SPEEX_INBAND_MODE_REQUEST; callback.func = speex_std_mode_request_handler; callback.data = st; speex_decoder_ctl(dec, SPEEX_SET_HANDLER, &callback); Are these codes essential for encoding? I don't know role of above codes. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20060210/8609d948/attachment.htm
> tmp=8; > speex_encoder_ctl(st, SPEEX_SET_QUALITY, &tmp); > tmp=3; > speex_encoder_ctl(st, SPEEX_SET_HIGH_MODE, &tmp); > tmp=6; > speex_encoder_ctl(st, SPEEX_SET_LOW_MODE, &tmp); > > How to set high_mode and low_mode, if quality is set to '9'? > When I set quality '9' / high_mode '3' / low_mode '6', encode as like > quality is '8'. > And what does high/low mode value in encoding process?low mode and high mode are advanced features, which you most likely don't need.> 2) > callback.callback_id = SPEEX_INBAND_CHAR; > callback.func = speex_std_char_handler; > callback.data = stderr; > speex_decoder_ctl(dec, SPEEX_SET_HANDLER, &callback); > > callback.callback_id = SPEEX_INBAND_MODE_REQUEST; > callback.func = speex_std_mode_request_handler; > callback.data = st; > speex_decoder_ctl(dec, SPEEX_SET_HANDLER, &callback); > > Are these codes essential for encoding? > I don't know role of above codes.No, again it's just for testing Jean-Marc
I am trying to implement a relatively high number of encoders (24/32) on a single DSP and would like to minimize the memory requirements. Has anyone optimized the persistent EncState memory allocation for multiple channels. The default C64x fixed point implementation allocates 5280 bytes of persistent memory per encoder. I'm willing to restrict my settings to complexity 1, quality 3. It looks like I can share the st->window, lagWindow, bw_lpc1, bw_lpc2, variables which would save 562 bytes per encoder. Are there more variables that can be shared or eliminated if I stick to narrow band? The biggest variables are the inBuf, excBuf, swBuf, innov and I think these have to stay. Jerry J. Trantow Applied Signal Processing, Inc. jtrantow@ieee.org