AVI tag reading and writing patch by David Conrad.
authorDavid Conrad <lessen42@gmail.com>
Fri, 18 Aug 2006 16:48:35 +0000 (16:48 +0000)
committerBenjamin Larsson <banan@ludd.ltu.se>
Fri, 18 Aug 2006 16:48:35 +0000 (16:48 +0000)
umovimus at gmail dot com

Originally committed as revision 6022 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/avidec.c
libavformat/avienc.c
tests/ffmpeg.regression.ref
tests/ffserver.regression.ref
tests/libav.regression.ref
tests/rotozoom.regression.ref

index 1c4ee6affeed1dc228f1fea7db25dbba5da55ac6..fd50c865089a25de4fca39b0683c6f09a6785e3f 100644 (file)
@@ -180,6 +180,15 @@ static void clean_index(AVFormatContext *s){
     }
 }
 
+static int avi_read_tag(ByteIOContext *pb, char *buf, int maxlen,  unsigned int size)
+{
+    offset_t i = url_ftell(pb);
+    size += (size & 1);
+    get_strz(pb, buf, maxlen);
+    url_fseek(pb, i+size, SEEK_SET);
+    return 0;
+}
+
 static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
 {
     AVIContext *avi = s->priv_data;
@@ -438,6 +447,21 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
             }
             url_fseek(pb, i+size, SEEK_SET);
             break;
+        case MKTAG('I', 'N', 'A', 'M'):
+            avi_read_tag(pb, s->title, sizeof(s->title), size);
+            break;
+        case MKTAG('I', 'A', 'R', 'T'):
+            avi_read_tag(pb, s->author, sizeof(s->author), size);
+            break;
+        case MKTAG('I', 'C', 'O', 'P'):
+            avi_read_tag(pb, s->copyright, sizeof(s->copyright), size);
+            break;
+        case MKTAG('I', 'C', 'M', 'T'):
+            avi_read_tag(pb, s->comment, sizeof(s->comment), size);
+            break;
+        case MKTAG('I', 'G', 'N', 'R'):
+            avi_read_tag(pb, s->genre, sizeof(s->genre), size);
+            break;
         default:
             /* skip tag */
             size += (size & 1);
index 98ce333cd9c8b83c88782a44829f7f51e1bec8ff..fcbcd8b6a4de778790d5957e264999ed339430c6 100644 (file)
@@ -89,6 +89,19 @@ static unsigned char* avi_stream2fourcc(unsigned char* tag, int index,
     return tag;
 }
 
+static void avi_write_info_tag(ByteIOContext *pb, const char *tag, const char *str)
+{
+    int len = strlen(str);
+    if (len > 0) {
+        len++;
+        put_tag(pb, tag);
+        put_le32(pb, len);
+        put_strz(pb, str);
+        if (len & 1)
+            put_byte(pb, 0);
+    }
+}
+
 static int avi_write_header(AVFormatContext *s)
 {
     AVIContext *avi = s->priv_data;
@@ -258,6 +271,24 @@ static int avi_write_header(AVFormatContext *s)
 
     end_tag(pb, list1);
 
+    list2 = start_tag(pb, "LIST");
+    put_tag(pb, "INFO");
+    avi_write_info_tag(pb, "INAM", s->title);
+    avi_write_info_tag(pb, "IART", s->author);
+    avi_write_info_tag(pb, "ICOP", s->copyright);
+    avi_write_info_tag(pb, "ICMT", s->comment);
+    avi_write_info_tag(pb, "IPRD", s->album);
+    avi_write_info_tag(pb, "IGNR", s->genre);
+    if(!(s->streams[0]->codec->flags & CODEC_FLAG_BITEXACT))
+        avi_write_info_tag(pb, "ISFT", LIBAVFORMAT_IDENT);
+    end_tag(pb, list2);
+
+    /* some padding for easier tag editing */
+    list2 = start_tag(pb, "JUNK");
+    for (i = 0; i < 1016; i += 4)
+        put_le32(pb, 0);
+    end_tag(pb, list2);
+
     avi->movi_list = start_tag(pb, "LIST");
     put_tag(pb, "movi");
 
index e5f5a6f65e536a7bdfcc89e5c4a1b7efaa3790e9..037c748e3c82b35b13a395147134f56b89283614 100644 (file)
@@ -31,82 +31,82 @@ edb3e58ea66de2e9b32713daf9b5c3f1 *./data/a-mpeg2reuse.mpg
 2119706 ./data/a-mpeg2reuse.mpg
 1dab2eaca5320fe01afbe9596b2bd6cc *./data/out.yuv
 stddev:  7.68 PSNR:30.41 bytes:7602176
-09086e7b020e9425a8f7e05372dbcfcd *./data/a-msmpeg4v2.avi
-642666 ./data/a-msmpeg4v2.avi
+f24f317ad39c5f2d0195ce0675a828e7 *./data/a-msmpeg4v2.avi
+643702 ./data/a-msmpeg4v2.avi
 7646e5cc93452b5fb380c8c4c5f535f4 *./data/out.yuv
 stddev:  8.02 PSNR:30.03 bytes:7602176
-2a7548673b1fdddbb91e2a16698a6249 *./data/a-msmpeg4.avi
-644964 ./data/a-msmpeg4.avi
+605165d0beeea3a38525ff138256b5f6 *./data/a-msmpeg4.avi
+646000 ./data/a-msmpeg4.avi
 cdc5d7403a16dc9450a2dbacb349dc70 *./data/out.yuv
 stddev:  8.01 PSNR:30.04 bytes:7602176
-199d97760f89a27406ab1c36eeb86045 *./data/a-wmv1.avi
-648074 ./data/a-wmv1.avi
+a9c47ab417361e6f9978b66d89861ad6 *./data/a-wmv1.avi
+649110 ./data/a-wmv1.avi
 09253222ab4eb95628c931a86006a2b1 *./data/out.yuv
 stddev:  8.02 PSNR:30.04 bytes:7602176
-1224b828b077ea06d07f60e2b5d65daa *./data/a-wmv2.avi
-682132 ./data/a-wmv2.avi
+6dfa7cbf42345a53fbb310ad9e6e215c *./data/a-wmv2.avi
+683168 ./data/a-wmv2.avi
 09253222ab4eb95628c931a86006a2b1 *./data/out.yuv
 stddev:  8.02 PSNR:30.04 bytes:7602176
-83aa4946c21cd3b2b053638302a6bc64 *./data/a-h261.avi
-735098 ./data/a-h261.avi
+6755ed0b90ce3a8a55d2f26bcbcaf402 *./data/a-h261.avi
+736134 ./data/a-h261.avi
 0a6e6dd4f09df9fe77ff29581c1a39c3 *./data/out.yuv
 stddev:  9.14 PSNR:28.90 bytes:7602176
-e73d7a4cad997f18587dff27094fb8f4 *./data/a-h263.avi
-682226 ./data/a-h263.avi
+6547e7e79d5ea7b8a35e347b18921327 *./data/a-h263.avi
+683262 ./data/a-h263.avi
 f2b7fcff9de17f5aecfeb1090fe1963b *./data/out.yuv
 stddev:  8.08 PSNR:29.97 bytes:7602176
-fc01a5723a0d629bb73c74d64692120d *./data/a-h263p.avi
-2414342 ./data/a-h263p.avi
+0f2f8d438b292222d691418552995e43 *./data/a-h263p.avi
+2415378 ./data/a-h263p.avi
 28fd12ac0b168252d81df6f6e60a5d17 *./data/out.yuv
 stddev:  2.07 PSNR:41.76 bytes:7602176
 0ff2951f72be3e62038b426f0ec12e1b *./data/a-odivx.mp4
 554499 ./data/a-odivx.mp4
 57aed19df5cbada4b05991527ee72ebe *./data/out.yuv
 stddev:  7.99 PSNR:30.06 bytes:7602176
-8a9a98678a2e9c2e857f741cbb8e9ccb *./data/a-huffyuv.avi
-7932708 ./data/a-huffyuv.avi
+6c58e5707afe056b072d2ce21b3b8e4f *./data/a-huffyuv.avi
+7933744 ./data/a-huffyuv.avi
 799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
-acf1fb041e2208742df6a083ee24f6bb *./data/a-mpeg4-rc.avi
-822270 ./data/a-mpeg4-rc.avi
+b6115b930e8087553d67a1efd0baedae *./data/a-mpeg4-rc.avi
+823306 ./data/a-mpeg4-rc.avi
 3ecd1afdaf2d691d01628737326dda35 *./data/out.yuv
 stddev: 10.41 PSNR:27.76 bytes:7602176
-b3060dfd7638093b92de96ccc4568409 *./data/a-mpeg4-adv.avi
-600240 ./data/a-mpeg4-adv.avi
+01665bbcc72ab95d6d5ac93e87ab672c *./data/a-mpeg4-adv.avi
+601276 ./data/a-mpeg4-adv.avi
 0b7935cee2070f3b838478cea6dc4b3c *./data/out.yuv
 stddev: 10.25 PSNR:27.90 bytes:7602176
-0ba8ddfbdf68c7b53b24da5915b6bbf1 *./data/a-mpeg4-thread.avi
-764686 ./data/a-mpeg4-thread.avi
+729af3941305c27ce330e2afaebb5592 *./data/a-mpeg4-thread.avi
+765722 ./data/a-mpeg4-thread.avi
 252d1e8cc1ee88eea693cebd6b4e7e53 *./data/out.yuv
 stddev: 12.32 PSNR:26.31 bytes:7602176
-a316960921c77d88817d857bbe19dccd *./data/a-mpeg4-Q.avi
-899452 ./data/a-mpeg4-Q.avi
+670f6e540bcf504ccc72d41952cc401e *./data/a-mpeg4-Q.avi
+900488 ./data/a-mpeg4-Q.avi
 af59c063ed644c7dc4151a0a2debbddd *./data/out.yuv
 stddev:  5.69 PSNR:33.00 bytes:7602176
 2ff870bf5e75d493072cc28ea8d51ab1 *./data/a-mpeg4-PSP.mp4
 407313 ./data/a-mpeg4-PSP.mp4
-40f1b11c7c5c114af109ef4ea6a7097d *./data/a-error-mpeg4-adv.avi
-766682 ./data/a-error-mpeg4-adv.avi
+ef45e577219460332bed428106f638a6 *./data/a-error-mpeg4-adv.avi
+767718 ./data/a-error-mpeg4-adv.avi
 e90b201e20563ec7817f5dc4276902ed *./data/out.yuv
 stddev: 15.90 PSNR:24.09 bytes:7602176
-994c604f7fafc77f50acc61df7c20cd2 *./data/a-mpeg4-nr.avi
-689772 ./data/a-mpeg4-nr.avi
+dc4b99dc8edd9026cb504950864c396d *./data/a-mpeg4-nr.avi
+690808 ./data/a-mpeg4-nr.avi
 79f4e8263e40822c0cbf35725f375b24 *./data/out.yuv
 stddev:  7.03 PSNR:31.18 bytes:7602176
 9060d865a32d5c760ab51df013c0aece *./data/a-mpeg1b.mpg
 1037617 ./data/a-mpeg1b.mpg
 cb5b972265599c17f01b96737947b482 *./data/out.yuv
 stddev:  6.35 PSNR:32.06 bytes:7602176
-f7562207c0e7490e570c91c2900b73f6 *./data/a-mjpeg.avi
-1566544 ./data/a-mjpeg.avi
+2f9cb2ede35f7d12f6b518c50e20d81c *./data/a-mjpeg.avi
+1567580 ./data/a-mjpeg.avi
 18c3a76f984e717dd886d21fa04355f6 *./data/out.yuv
 stddev:  7.93 PSNR:30.13 bytes:7602176
-7e434004d285155cf81ed206bb387870 *./data/a-ljpeg.avi
-6263462 ./data/a-ljpeg.avi
+5a662e3833d900b56cca79ba5ed5ec06 *./data/a-ljpeg.avi
+6264498 ./data/a-ljpeg.avi
 799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
-7b3010f595177b428cb909fa1a10ef83 *./data/a-jpegls.avi
-9085658 ./data/a-jpegls.avi
+8b9359781a7e87d09af1b1c9a536cb75 *./data/a-jpegls.avi
+9086694 ./data/a-jpegls.avi
 0f8637e9b861230aff9894825af83720 *./data/out.yuv
 stddev:  2.84 PSNR:39.04 bytes:7602176
 49c87af74432890cadb28b93da1c653d *./data/a-rv10.rm
@@ -117,28 +117,28 @@ a00fbb82c030fe41febe1d03eacb338e *./data/a-rv20.rm
 652897 ./data/a-rv20.rm
 203e9790cb25b1d308fd602275afbb0e *./data/out.yuv
 stddev:  8.27 PSNR:29.76 bytes:7602176
-98c310d768d0bee325424f6e1cd92548 *./data/a-asv1.avi
-1487828 ./data/a-asv1.avi
+d13292f4583618d1b7b525a9ee010dff *./data/a-asv1.avi
+1488864 ./data/a-asv1.avi
 925320b74c7dfda5dc8378dd879ae2c3 *./data/out.yuv
 stddev: 20.00 PSNR:22.10 bytes:7602176
-629fe6fdebcd295e0ad76f5bbaf3abec *./data/a-asv2.avi
-1453500 ./data/a-asv2.avi
+2e50b590f32bf98bde82dbfaf180007a *./data/a-asv2.avi
+1454536 ./data/a-asv2.avi
 0b310840a6d3970595983491687669df *./data/out.yuv
 stddev: 18.82 PSNR:22.63 bytes:7602176
 fc2eaff78828dd0efd6483f754511f33 *./data/a-flv.flv
 658142 ./data/a-flv.flv
 4d9c04e7017dc68da7891048c46c1c37 *./data/out.yuv
 stddev:  8.08 PSNR:29.97 bytes:7602176
-a7ef4746f27be309138c188e327d3ebe *./data/a-ffv1.avi
-2653642 ./data/a-ffv1.avi
+f8f51fa737add17f7fecaefa118b57ed *./data/a-ffv1.avi
+2654678 ./data/a-ffv1.avi
 799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
-495ad3209021bb2bb98ab431965d27b9 *./data/a-snow.avi
-155066 ./data/a-snow.avi
+70ec217c2513f22f48e9b29aa059d902 *./data/a-snow.avi
+156102 ./data/a-snow.avi
 5aba44ff94d278a20c9cbfb19953e618 *./data/out.yuv
 stddev: 23.19 PSNR:20.81 bytes:7602176
-ef6b08e8e122c5d29aa7af9259098d3e *./data/a-snow53.avi
-3533712 ./data/a-snow53.avi
+f998347483cef957af497aa0055dca0c *./data/a-snow53.avi
+3534748 ./data/a-snow53.avi
 799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
 85529d9838c5a8aef041445fa8ef3c85 *./data/a-dv.dv
index 141d5faeb8e8cbc891338d508087a5b10ae1cc93..c4171a44cad9e6cc8395c200db478879823bcc9d 100644 (file)
@@ -1,5 +1,5 @@
-8e431131485c2862672e040c662da43c  ff-test_h.avi
-159562fd980af62ff888d709fad7042a  ff-test_l.avi
+418d0c843a6605a7d48f285804a69df4  ff-test_h.avi
+ad4605187044d5e169f32a2ea205f937  ff-test_l.avi
 34f4f0c160efcdb37c0999680e07c41c  ff-test.swf
 1eb3fdf04c43c8b0cc59d8444c0f2af3  ff-test_h.asf
 ffa9d3708aa394fd3631c002fc6cc088  ff-test_l.asf
index 5077cbd88fc50eac169790cbe7e3bf77eec0af9a..8cedb098861da5b696ca6bb7514fd7dcd677ae99 100644 (file)
@@ -1,6 +1,6 @@
 ffmpeg regression test
-3175f33f01e7d0e1ee4bf7f7e4894393 *./data/b-libav.avi
- 342282 ./data/b-libav.avi
+5fb135845dbde3ce5208c468173ef2c2 *./data/b-libav.avi
+ 343318 ./data/b-libav.avi
 ./data/b-libav.avi CRC=0xccab3a27
 6f4dca897d9a009009798e434fe5f651 *./data/b-libav.asf
  342967 ./data/b-libav.asf
index 62e4ccff55e100ab1e6b572f32af8cb3b3421fdf..441c951017a989ba996d0612501fed78c6e40296 100644 (file)
@@ -31,82 +31,82 @@ c9f6617461caee57ccb6d438761527c8 *./data/a-mpeg2reuse.mpg
 396729 ./data/a-mpeg2reuse.mpg
 b10aec71132301cad001070e8ad46b7d *./data/out.yuv
 stddev:  4.77 PSNR:34.55 bytes:7602176
-dc68a5115d1bf1bb2eb2ce9bb237bd79 *./data/a-msmpeg4v2.avi
-129504 ./data/a-msmpeg4v2.avi
+7cab039142e9bda70c1551da7106860e *./data/a-msmpeg4v2.avi
+130540 ./data/a-msmpeg4v2.avi
 25b5ba0b024fcd4028e707ffbeb80f55 *./data/out.yuv
 stddev:  5.33 PSNR:33.57 bytes:7602176
-261326db3c2561889c53da3c395af4b2 *./data/a-msmpeg4.avi
-127110 ./data/a-msmpeg4.avi
+8c8de7842e308bb230a51ce64161d30e *./data/a-msmpeg4.avi
+128146 ./data/a-msmpeg4.avi
 638e64258f26330f3cd36d8d2bbc73f5 *./data/out.yuv
 stddev:  5.33 PSNR:33.57 bytes:7602176
-a931648e881765ff168239440b772842 *./data/a-wmv1.avi
-128880 ./data/a-wmv1.avi
+bfc02459aed0f533214fb53446326449 *./data/a-wmv1.avi
+129916 ./data/a-wmv1.avi
 f80d2809e79af3ebcfe831deab9af03c *./data/out.yuv
 stddev:  5.33 PSNR:33.58 bytes:7602176
-38ad36644b4521607f56cb4f7fbb6114 *./data/a-wmv2.avi
-129214 ./data/a-wmv2.avi
+dd53a4f17be5113177048ad66dab4678 *./data/a-wmv2.avi
+130250 ./data/a-wmv2.avi
 f80d2809e79af3ebcfe831deab9af03c *./data/out.yuv
 stddev:  5.33 PSNR:33.58 bytes:7602176
-0423035ddc9aeb8a0b2c29f1d202e0ad *./data/a-h261.avi
-191124 ./data/a-h261.avi
+08d4b8d62b34ef76286affc5db33fffb *./data/a-h261.avi
+192160 ./data/a-h261.avi
 452714d0883f555e831888de0be1fc49 *./data/out.yuv
 stddev:  6.39 PSNR:32.00 bytes:7602176
-f02f10a94fc39a7518141bef9e532bd2 *./data/a-h263.avi
-159596 ./data/a-h263.avi
+463d2eeafd6a583d8bedeb378dcfda6a *./data/a-h263.avi
+160632 ./data/a-h263.avi
 7ec66fb7dd4e5dddd3820c668d6636aa *./data/out.yuv
 stddev:  5.44 PSNR:33.41 bytes:7602176
-804a8facc831125842453fb3b7016735 *./data/a-h263p.avi
-868164 ./data/a-h263p.avi
+809b4da31640dbd5460db24d86c93d0c *./data/a-h263p.avi
+869200 ./data/a-h263p.avi
 80fb224bebbe2e04f228da7485b905c5 *./data/out.yuv
 stddev:  1.91 PSNR:42.49 bytes:7602176
 58ca40c205c596abbd770ceb221df3ec *./data/a-odivx.mp4
 120150 ./data/a-odivx.mp4
 e8c90899c32e11e7e4d1354dab0b8f28 *./data/out.yuv
 stddev:  5.34 PSNR:33.56 bytes:7602176
-4a8912deb0182471aaaf4fc3ece39fb2 *./data/a-huffyuv.avi
-6454196 ./data/a-huffyuv.avi
+a1323da0c8b437cd6961f8c90451880b *./data/a-huffyuv.avi
+6455232 ./data/a-huffyuv.avi
 dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
-b25c4fd396faddd829d8ef5a31a1cce3 *./data/a-mpeg4-rc.avi
-227618 ./data/a-mpeg4-rc.avi
+b06de4a277807e6e6ab117da3f9f97d5 *./data/a-mpeg4-rc.avi
+228654 ./data/a-mpeg4-rc.avi
 addcb0b8e42d71c25a0590d10e8e41c6 *./data/out.yuv
 stddev:  4.27 PSNR:35.51 bytes:7602176
-390b43f0156d05f11489fe6cec2d7593 *./data/a-mpeg4-adv.avi
-172526 ./data/a-mpeg4-adv.avi
+6f51f9655b4c1bc974da345d70b5dea2 *./data/a-mpeg4-adv.avi
+173562 ./data/a-mpeg4-adv.avi
 e3445dab9a3fa83a0f86457e24cb0cea *./data/out.yuv
 stddev:  4.84 PSNR:34.42 bytes:7602176
-c6c0c6884f4388bcb6eeba8046dd1e18 *./data/a-mpeg4-thread.avi
-253268 ./data/a-mpeg4-thread.avi
+4f94c18c6e69df74d026f4161f565059 *./data/a-mpeg4-thread.avi
+254304 ./data/a-mpeg4-thread.avi
 d6f1714d6fe1f969fc4ca416c6f8ba6c *./data/out.yuv
 stddev:  4.04 PSNR:35.98 bytes:7602176
-e3297036902923727157b8d1b52cbc7e *./data/a-mpeg4-Q.avi
-164998 ./data/a-mpeg4-Q.avi
+1c73de943d89a2f6e8a6efead02492e2 *./data/a-mpeg4-Q.avi
+166034 ./data/a-mpeg4-Q.avi
 b078f22c66083f0537bd3581509684d8 *./data/out.yuv
 stddev:  4.01 PSNR:36.05 bytes:7602176
 30fa98177dad6bd40a1baf13c29c20d4 *./data/a-mpeg4-PSP.mp4
 321886 ./data/a-mpeg4-PSP.mp4
-a2adfb70459e8b2218756bac5e67c4c7 *./data/a-error-mpeg4-adv.avi
-177212 ./data/a-error-mpeg4-adv.avi
+d93e3d53110437db55e954a14fdd7c3a *./data/a-error-mpeg4-adv.avi
+178248 ./data/a-error-mpeg4-adv.avi
 9fa0943825f364d6fb700dc75cf5d8bb *./data/out.yuv
 stddev:  9.71 PSNR:28.37 bytes:7602176
-b2722a6e5e7cce05665f221e15fd5202 *./data/a-mpeg4-nr.avi
-154302 ./data/a-mpeg4-nr.avi
+1ac8e7645c6c045e2afe2005737fe05e *./data/a-mpeg4-nr.avi
+155338 ./data/a-mpeg4-nr.avi
 b69fc415185075bdb21bedeae03d20b8 *./data/out.yuv
 stddev:  4.73 PSNR:34.62 bytes:7602176
 1286f6db500a739f724994991be211b0 *./data/a-mpeg1b.mpg
 231292 ./data/a-mpeg1b.mpg
 a0eeed27d5123995b32210dc35052cfe *./data/out.yuv
 stddev:  4.13 PSNR:35.78 bytes:7602176
-213976bbab45a461e3334feb8fef38d9 *./data/a-mjpeg.avi
-702528 ./data/a-mjpeg.avi
+b179402bba391073b5f5f9324a834061 *./data/a-mjpeg.avi
+703564 ./data/a-mjpeg.avi
 b1aa72cfb6f9cc3f525b27abc86a8f51 *./data/out.yuv
 stddev:  4.38 PSNR:35.28 bytes:7602176
-438065c90b5fbec7c670fbf4eb70f24d *./data/a-ljpeg.avi
-4765522 ./data/a-ljpeg.avi
+bc0d8c868c1a05db0ff03f41768f6c5e *./data/a-ljpeg.avi
+4766558 ./data/a-ljpeg.avi
 dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
-315493c7e63139c47f0197831475c4da *./data/a-jpegls.avi
-8333472 ./data/a-jpegls.avi
+8a2f3984a27a7513545cf98bc05fd066 *./data/a-jpegls.avi
+8334508 ./data/a-jpegls.avi
 a63d4e3ea1f0b0c0d44821da9e09b8f4 *./data/out.yuv
 stddev:  0.67 PSNR:51.57 bytes:7602176
 2123b30d786e6e6e25caf337f24e7834 *./data/a-rv10.rm
@@ -117,28 +117,28 @@ d4a6977b0162d8c1cfea5ffd0a3d5f56 *./data/a-rv20.rm
 133224 ./data/a-rv20.rm
 fce5eda7118cbb0bd60da60e827842ee *./data/out.yuv
 stddev:  5.42 PSNR:33.43 bytes:7602176
-5e6ad8292d66d4aff3dfcbdc61696c94 *./data/a-asv1.avi
-831476 ./data/a-asv1.avi
+4eb34d2de25f67a2706456e999338fe9 *./data/a-asv1.avi
+832512 ./data/a-asv1.avi
 c96ff7fd17c52f99ddb7922a4cb9168f *./data/out.yuv
 stddev: 10.47 PSNR:27.72 bytes:7602176
-f41877971145f58fae85c613ec570d66 *./data/a-asv2.avi
-788036 ./data/a-asv2.avi
+9649a4b68fb1107bad13e8a7574cc72d *./data/a-asv2.avi
+789072 ./data/a-asv2.avi
 74a78015b64b2cf8cb9da2e44f508a69 *./data/out.yuv
 stddev: 10.28 PSNR:27.88 bytes:7602176
 e298764f4da4a76d937d9a92a8d3b10b *./data/a-flv.flv
 131922 ./data/a-flv.flv
 e61cd1e7c5a292d396ae90f4d2fb3db7 *./data/out.yuv
 stddev:  5.33 PSNR:33.57 bytes:7602176
-d0831a8339491fd680b650f05262e5d9 *./data/a-ffv1.avi
-3524768 ./data/a-ffv1.avi
+d72b0960e162d4998b9acbabb07e99ab *./data/a-ffv1.avi
+3525804 ./data/a-ffv1.avi
 dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
-b0bfe9be7082450d1c079d89a54527fb *./data/a-snow.avi
-67464 ./data/a-snow.avi
+f47f5987a30817f13dc650e52a80074b *./data/a-snow.avi
+68500 ./data/a-snow.avi
 8ab54d65f2edbc2255444a039b7bd06e *./data/out.yuv
 stddev: 10.93 PSNR:27.34 bytes:7602176
-1b4d88af4c8c1ac3fd092de0a69d5023 *./data/a-snow53.avi
-2725570 ./data/a-snow53.avi
+86d26b79acf02c34dc9eb09a31892633 *./data/a-snow53.avi
+2726606 ./data/a-snow53.avi
 dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv
 stddev:  0.00 PSNR:99.99 bytes:7602176
 6568326ee439099e8a0e1680336ed351 *./data/a-dv.dv