# HG changeset patch # User astrange # Date 1229649112 0 # Node ID 11b1f7762830e3082b48b2ca00d67166c4b1c3b9 # Parent 195cba8f6257da7676ef40740ba80b62882f74bb Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of NALs in rbsp_buffer. Fixes valgrind uninitialized value warnings at the end of decoding H.264 frames. diff -r 195cba8f6257 -r 11b1f7762830 h264.c --- a/h264.c Fri Dec 19 00:44:51 2008 +0000 +++ b/h264.c Fri Dec 19 01:11:52 2008 +0000 @@ -1406,7 +1406,7 @@ } bufidx = h->nal_unit_type == NAL_DPC ? 1 : 0; // use second escape buffer for inter data - h->rbsp_buffer[bufidx]= av_fast_realloc(h->rbsp_buffer[bufidx], &h->rbsp_buffer_size[bufidx], length); + h->rbsp_buffer[bufidx]= av_fast_realloc(h->rbsp_buffer[bufidx], &h->rbsp_buffer_size[bufidx], length+FF_INPUT_BUFFER_PADDING_SIZE); dst= h->rbsp_buffer[bufidx]; if (dst == NULL){ @@ -1430,6 +1430,8 @@ dst[di++]= src[si++]; } + memset(dst+di, 0, FF_INPUT_BUFFER_PADDING_SIZE); + *dst_length= di; *consumed= si + 1;//+1 for the header //FIXME store exact number of bits in the getbitcontext (it is needed for decoding)