OSDN Git Service

Make DNxHD encoder produce files that are strictly VC-3 compatible
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Tue, 16 Nov 2010 01:00:55 +0000 (01:00 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Tue, 16 Nov 2010 01:00:55 +0000 (01:00 +0000)
Originally committed as revision 25756 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/dnxhdenc.c
tests/ref/vsynth1/dnxhd_1080i
tests/ref/vsynth2/dnxhd_1080i

index 6b08929..8cf54c5 100644 (file)
@@ -239,12 +239,12 @@ static int dnxhd_write_header(AVCodecContext *avctx, uint8_t *buf)
     buf[5] = ctx->interlaced ? ctx->cur_field+2 : 0x01;
     buf[6] = 0x80; // crc flag off
     buf[7] = 0xa0; // reserved
-    AV_WB16(buf + 0x18, avctx->height); // ALPF
+    AV_WB16(buf + 0x18, avctx->height>>ctx->interlaced); // ALPF
     AV_WB16(buf + 0x1a, avctx->width);  // SPL
-    AV_WB16(buf + 0x1d, avctx->height); // NAL
+    AV_WB16(buf + 0x1d, avctx->height>>ctx->interlaced); // NAL
 
     buf[0x21] = 0x38; // FIXME 8 bit per comp
-    buf[0x22] = 0x88 + (ctx->frame.interlaced_frame<<2);
+    buf[0x22] = 0x88 + (ctx->interlaced<<2);
     AV_WB32(buf + 0x28, ctx->cid); // CID
     buf[0x2c] = ctx->interlaced ? 0 : 0x80;
 
index 2be782f..654242c 100644 (file)
@@ -1,4 +1,4 @@
-cd1489f18d2186a49ab23c61ed33bce7 *./tests/data/vsynth1/dnxhd-1080i.mov
+8a814d4056ca2810a8ed0bad3b70f358 *./tests/data/vsynth1/dnxhd-1080i.mov
 3031875 ./tests/data/vsynth1/dnxhd-1080i.mov
 0c651e840f860592f0d5b66030d9fa32 *./tests/data/dnxhd_1080i.vsynth1.out.yuv
 stddev:    6.29 PSNR: 32.15 MAXDIFF:   64 bytes:   760320/  7603200
index 69ec10c..3dc0ef5 100644 (file)
@@ -1,4 +1,4 @@
-1a4594983ae91f41907b89fe3174c527 *./tests/data/vsynth2/dnxhd-1080i.mov
+c81c7cfb375f61b7ab9b60fa340fe52a *./tests/data/vsynth2/dnxhd-1080i.mov
 3031875 ./tests/data/vsynth2/dnxhd-1080i.mov
 3c559af629ae0a8fb1a9a0e4b4da7733 *./tests/data/dnxhd_1080i.vsynth2.out.yuv
 stddev:    1.31 PSNR: 45.77 MAXDIFF:   23 bytes:   760320/  7603200