summaryrefslogtreecommitdiff
path: root/libavcodec/dv.c
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2011-07-05 16:02:56 +0200
committerClément Bœsch <ubitux@gmail.com>2011-07-05 17:22:48 +0200
commitafd06c68734e251a616fa53abdcf864e31c302e2 (patch)
tree6900ac892611503fc99f4a61c0538c213f852963 /libavcodec/dv.c
parent50f8c26579f4c88ad2a4c1460cdf05459ee7993d (diff)
dv: fix valgrind use of uninitialised value warnings.
Diffstat (limited to 'libavcodec/dv.c')
-rw-r--r--libavcodec/dv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index b6f7852d7a..2dc03734f6 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -475,8 +475,8 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg)
GetBitContext gb;
BlockInfo mb_data[5 * DV_MAX_BPM], *mb, *mb1;
LOCAL_ALIGNED_16(DCTELEM, sblock, [5*DV_MAX_BPM], [64]);
- LOCAL_ALIGNED_16(uint8_t, mb_bit_buffer, [80 + 4]); /* allow some slack */
- LOCAL_ALIGNED_16(uint8_t, vs_bit_buffer, [5 * 80 + 4]); /* allow some slack */
+ LOCAL_ALIGNED_16(uint8_t, mb_bit_buffer, [ 80 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */
+ LOCAL_ALIGNED_16(uint8_t, vs_bit_buffer, [5*80 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */
const int log2_blocksize = 3-s->avctx->lowres;
int is_field_mode[5];
@@ -543,6 +543,7 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg)
block = block1;
mb = mb1;
init_get_bits(&gb, mb_bit_buffer, put_bits_count(&pb));
+ put_bits32(&pb, 0); // padding must be zero'ed
flush_put_bits(&pb);
for (j = 0; j < s->sys->bpm; j++, block += 64, mb++) {
if (mb->pos < 64 && get_bits_left(&gb) > 0) {
@@ -563,6 +564,7 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg)
block = &sblock[0][0];
mb = mb_data;
init_get_bits(&gb, vs_bit_buffer, put_bits_count(&vs_pb));
+ put_bits32(&vs_pb, 0); // padding must be zero'ed
flush_put_bits(&vs_pb);
for (mb_index = 0; mb_index < 5; mb_index++) {
for (j = 0; j < s->sys->bpm; j++) {