No need to memset() the byte buffer

This commit is contained in:
Jean-Marc Valin 2010-06-21 17:55:28 -04:00
parent bb4f63f4a0
commit 30d5125bff
2 changed files with 5 additions and 6 deletions

View file

@ -734,9 +734,6 @@ int celt_encode_with_ec_float(CELTEncoder * restrict st, const celt_sig * pcm, c
if (LM>=MAX_CONFIG_SIZES) if (LM>=MAX_CONFIG_SIZES)
return CELT_BAD_ARG; return CELT_BAD_ARG;
M=1<<LM; M=1<<LM;
/* The memset is important for now in case the encoder doesn't
fill up all the bytes */
CELT_MEMSET(compressed, 0, nbCompressedBytes);
if (enc==NULL) if (enc==NULL)
{ {
@ -1056,6 +1053,10 @@ int celt_encode_with_ec_float(CELTEncoder * restrict st, const celt_sig * pcm, c
} }
} }
/* If there's any room left (can only happen for very high rates),
fill it with zeros */
while (nbCompressedBytes*8 - ec_enc_tell(enc,0) >= 8)
ec_enc_bits(enc, 0, 8);
ec_enc_done(enc); ec_enc_done(enc);
RESTORE_STACK; RESTORE_STACK;
@ -1752,7 +1753,7 @@ int celt_decode_with_ec_float(CELTDecoder * restrict st, const unsigned char *da
quant_all_bands(0, st->mode, st->start, X, C==2 ? X+N : NULL, NULL, pulses, shortBlocks, has_fold, tf_res, 1, len*8, dec, LM); quant_all_bands(0, st->mode, st->start, X, C==2 ? X+N : NULL, NULL, pulses, shortBlocks, has_fold, tf_res, 1, len*8, dec, LM);
unquant_energy_finalise(st->mode, st->start, bandE, st->oldBandE, fine_quant, fine_priority, len*8-ec_dec_tell(dec, 0), dec, C); unquant_energy_finalise(st->mode, st->start, bandE, st->oldBandE, fine_quant, fine_priority, len*8-ec_dec_tell(dec, 0), dec, C);
if (mdct_weight_shift) if (mdct_weight_shift)
{ {
mdct_shape(st->mode, X, 0, mdct_weight_pos+1, N, mdct_weight_shift, C, 1, M); mdct_shape(st->mode, X, 0, mdct_weight_pos+1, N, mdct_weight_shift, C, 1, M);

View file

@ -38,8 +38,6 @@
#include "arch.h" #include "arch.h"
#define EC_BUFFER_INCREMENT (256)
void ec_byte_writeinit_buffer(ec_byte_buffer *_b, unsigned char *_buf, long _size){ void ec_byte_writeinit_buffer(ec_byte_buffer *_b, unsigned char *_buf, long _size){
_b->ptr=_b->buf=_buf; _b->ptr=_b->buf=_buf;
_b->end_ptr=_b->buf+_size-1; _b->end_ptr=_b->buf+_size-1;