[FFmpeg-cvslog] r16230 - trunk/libavcodec/h264.c
astrange
subversion
Fri Dec 19 02:11:52 CET 2008
Author: astrange
Date: Fri Dec 19 02:11:52 2008
New Revision: 16230
Log:
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.
Modified:
trunk/libavcodec/h264.c
Modified: trunk/libavcodec/h264.c
==============================================================================
--- trunk/libavcodec/h264.c (original)
+++ trunk/libavcodec/h264.c Fri Dec 19 02:11:52 2008
@@ -1406,7 +1406,7 @@ static const uint8_t *decode_nal(H264Con
}
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 @@ static const uint8_t *decode_nal(H264Con
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)
More information about the ffmpeg-cvslog
mailing list