[FFmpeg-cvslog] r20084 - in trunk: libavcodec/dv.c tests/lavf.regression.ref tests/rotozoom.regression.ref tests/vsynth.regression.ref
reimar
subversion
Tue Sep 29 21:17:18 CEST 2009
Author: reimar
Date: Tue Sep 29 21:17:18 2009
New Revision: 20084
Log:
Make sure that dv encoder initializes all encoded packet data.
The specification does not say which value to use for unused
parts, so fill all unused bytes with 0xff, which is consistent
with what DV usually uses for reserved or unused parts.
Modified:
trunk/libavcodec/dv.c
trunk/tests/lavf.regression.ref
trunk/tests/rotozoom.regression.ref
trunk/tests/vsynth.regression.ref
Modified: trunk/libavcodec/dv.c
==============================================================================
--- trunk/libavcodec/dv.c Tue Sep 29 20:03:30 2009 (r20083)
+++ trunk/libavcodec/dv.c Tue Sep 29 21:17:18 2009 (r20084)
@@ -1102,8 +1102,17 @@ static int dv_encode_video_segment(AVCod
av_log(NULL, AV_LOG_ERROR, "ac bitstream overflow\n");
}
- for (j=0; j<5*s->sys->bpm; j++)
+ for (j=0; j<5*s->sys->bpm; j++) {
+ int pos;
+ int size = pbs[j].size_in_bits >> 3;
flush_put_bits(&pbs[j]);
+ pos = put_bits_count(&pbs[j]) >> 3;
+ if (pos > size) {
+ av_log(avctx, AV_LOG_ERROR, "bitstream written beyond buffer size\n");
+ return -1;
+ }
+ memset(pbs[j].buf + pos, 0xff, size - pos);
+ }
return 0;
}
Modified: trunk/tests/lavf.regression.ref
==============================================================================
--- trunk/tests/lavf.regression.ref Tue Sep 29 20:03:30 2009 (r20083)
+++ trunk/tests/lavf.regression.ref Tue Sep 29 21:17:18 2009 (r20084)
@@ -30,7 +30,7 @@ b3174e2db508564c1cce0b5e3c1bc1bd *./test
c145305a775eb2de43cdf94eb1ab5240 *./tests/data/b-lavf.mov
357669 ./tests/data/b-lavf.mov
./tests/data/b-lavf.mov CRC=0x2f6a9b26
-31f115e7106265a7a7cea7f4fcf5c329 *./tests/data/b-lavf.dv
+522e5e5a46b99f8ad8aabdaf3d2f1869 *./tests/data/b-lavf.dv
3600000 ./tests/data/b-lavf.dv
./tests/data/b-lavf.dv CRC=0x02c0af30
bf5c730bb8426dbcfc5420e71ee490f2 *./tests/data/b-lavf.gxf
Modified: trunk/tests/rotozoom.regression.ref
==============================================================================
--- trunk/tests/rotozoom.regression.ref Tue Sep 29 20:03:30 2009 (r20083)
+++ trunk/tests/rotozoom.regression.ref Tue Sep 29 21:17:18 2009 (r20084)
@@ -150,15 +150,15 @@ a8fccf278bbb17d37a756ecf11672b09 *./test
2721758 ./tests/data/a-snow53.avi
dde5895817ad9d219f79a52d0bdfb001 *./tests/data/snowll.rotozoom.out.yuv
stddev: 0.00 PSNR:999.99 bytes: 7603200/ 7603200
-02c85b9bebb23f147ef598da7bcbf736 *./tests/data/a-dv.dv
+bfa766f89bfeabc0ae1044f3954bed52 *./tests/data/a-dv.dv
7200000 ./tests/data/a-dv.dv
7ec62bd3350a6848364669e6e1e4b9cc *./tests/data/dv.rotozoom.out.yuv
stddev: 1.71 PSNR: 43.46 bytes: 7603200/ 7603200
-203e50e75a43fb1b26e1b53d99e1de4f *./tests/data/a-dv411.dv
+00a9d8683ac6826af41bcf7223fb0389 *./tests/data/a-dv411.dv
7200000 ./tests/data/a-dv411.dv
7f9fa421028aabb11eaf4c6513a5a843 *./tests/data/dv.rotozoom.out.yuv
stddev: 10.09 PSNR: 28.04 bytes: 7603200/ 7603200
-2bae05531a24cd6764eefba64db345bc *./tests/data/a-dv50.dv
+61e31c79e8949b25c849753a0785b0d7 *./tests/data/a-dv50.dv
14400000 ./tests/data/a-dv50.dv
af3f2dd5ab62c1a1d98b07d4aeb6852f *./tests/data/dv50.rotozoom.out.yuv
stddev: 0.82 PSNR: 49.81 bytes: 7603200/ 7603200
Modified: trunk/tests/vsynth.regression.ref
==============================================================================
--- trunk/tests/vsynth.regression.ref Tue Sep 29 20:03:30 2009 (r20083)
+++ trunk/tests/vsynth.regression.ref Tue Sep 29 21:17:18 2009 (r20084)
@@ -150,15 +150,15 @@ stddev: 22.77 PSNR: 20.97 bytes: 7603
3419980 ./tests/data/a-snow53.avi
c5ccac874dbf808e9088bc3107860042 *./tests/data/snowll.vsynth.out.yuv
stddev: 0.00 PSNR:999.99 bytes: 7603200/ 7603200
-1482a23e323277f1ff67a29dd07b158d *./tests/data/a-dv.dv
+27ade3031b17214cf81c19cbf70f37d7 *./tests/data/a-dv.dv
7200000 ./tests/data/a-dv.dv
02ac7cdeab91d4d5621e7ce96dddc498 *./tests/data/dv.vsynth.out.yuv
stddev: 6.90 PSNR: 31.33 bytes: 7603200/ 7603200
-ec643f879ccc4d53d285712ec25b5d32 *./tests/data/a-dv411.dv
+bd67f2431db160d4bb6dcd791cea6efd *./tests/data/a-dv411.dv
7200000 ./tests/data/a-dv411.dv
b6640a3a572353f51284acb746eb00c4 *./tests/data/dv.vsynth.out.yuv
stddev: 30.76 PSNR: 18.36 bytes: 7603200/ 7603200
-2a0eace8da46f0061493677deb1fd66d *./tests/data/a-dv50.dv
+26dba84f0ea895b914ef5b333d8394ac *./tests/data/a-dv50.dv
14400000 ./tests/data/a-dv50.dv
a2ff093e93ffed10f730fa21df02fc50 *./tests/data/dv50.vsynth.out.yuv
stddev: 1.72 PSNR: 43.37 bytes: 7603200/ 7603200
More information about the ffmpeg-cvslog
mailing list