Mercurial > libavcodec.hg
diff mlpdec.c @ 9533:b724134599eb libavcodec
mlpdec: Don't overallocate buffers.
Now that max channels and primitive matrices are properly validated, there is
no need to be paranoid that random data will be overwritten.
As a bonus this makes matrix_coeff 16-byte aligned between matrices.
author | ramiro |
---|---|
date | Tue, 21 Apr 2009 22:53:46 +0000 |
parents | 2aabf1a58f19 |
children | d98ad4678fb0 |
line wrap: on
line diff
--- a/mlpdec.c Tue Apr 21 22:32:50 2009 +0000 +++ b/mlpdec.c Tue Apr 21 22:53:46 2009 +0000 @@ -93,7 +93,7 @@ //! Whether the LSBs of the matrix output are encoded in the bitstream. uint8_t lsb_bypass[MAX_MATRICES]; //! Matrix coefficients, stored as 2.14 fixed point. - int32_t matrix_coeff[MAX_MATRICES][MAX_CHANNELS+2]; + int32_t matrix_coeff[MAX_MATRICES][MAX_CHANNELS]; //! Left shift to apply to noise values in 0x31eb substreams. uint8_t matrix_noise_shift[MAX_MATRICES]; //@} @@ -143,7 +143,7 @@ int8_t noise_buffer[MAX_BLOCKSIZE_POW2]; int8_t bypassed_lsbs[MAX_BLOCKSIZE][MAX_CHANNELS]; - int32_t sample_buffer[MAX_BLOCKSIZE][MAX_CHANNELS+2]; + int32_t sample_buffer[MAX_BLOCKSIZE][MAX_CHANNELS]; } MLPDecodeContext; static VLC huff_vlc[3];