r210enc: don't write uninitialized data

Also fix r210 fate decoding test.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Paul B Mahol 2012-01-29 19:03:04 +00:00 committed by Michael Niedermayer
parent 3b93a524c2
commit 371946bc27
4 changed files with 9 additions and 7 deletions

View File

@ -39,6 +39,7 @@ static int encode_frame(AVCodecContext *avctx, uint8_t *buf,
AVFrame *pic = data;
int i, j;
int aligned_width = FFALIGN(avctx->width, 64);
int pad = (aligned_width - avctx->width) * 4;
uint8_t *src_line;
uint8_t *dst = buf;
@ -68,7 +69,8 @@ static int encode_frame(AVCodecContext *avctx, uint8_t *buf,
else
bytestream_put_be32(&dst, pixel);
}
dst += (aligned_width - avctx->width) * 4;
memset(dst, 0, pad);
dst += pad;
src_line += pic->linesize[0];
}

View File

@ -320,8 +320,8 @@ do_video_decoding "" "-pix_fmt yuv420p"
fi
if [ -n "$do_r210" ] ; then
do_video_encoding r210.avi "-an -c:v r210 -pix_fmt rgb48le"
do_video_decoding "" "-pix_fmt rgb48le"
do_video_encoding r210.avi "-an -c:v r210"
do_video_decoding "" "-pix_fmt yuv420p"
fi
if [ -n "$do_v210" ] ; then

View File

@ -1,4 +1,4 @@
604a34c9f9151891c2d63d2652b75329 *./tests/data/vsynth1/r210.avi
22125260 ./tests/data/vsynth1/r210.avi
1ac5ec3bbb6bfbdf1ce6316e48e5fd89 *./tests/data/r210.vsynth1.out.yuv
stddev: 91.79 PSNR: 8.87 MAXDIFF: 254 bytes: 30412800/ 7603200
ecaafa9eec11b5e1453a63ed6d194eed *./tests/data/r210.vsynth1.out.yuv
stddev: 3.23 PSNR: 37.94 MAXDIFF: 48 bytes: 7603200/ 7603200

View File

@ -1,4 +1,4 @@
d7a6f298e6869a74c0988fc3b30d0351 *./tests/data/vsynth2/r210.avi
22125260 ./tests/data/vsynth2/r210.avi
3ca229927a09e3d7ecedc0b868c568b0 *./tests/data/r210.vsynth2.out.yuv
stddev: 82.11 PSNR: 9.84 MAXDIFF: 230 bytes: 30412800/ 7603200
6ea4fcd93fc83defc8770e85b64b60bb *./tests/data/r210.vsynth2.out.yuv
stddev: 0.70 PSNR: 51.12 MAXDIFF: 12 bytes: 7603200/ 7603200