aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2010-11-16 01:00:55 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2010-11-16 01:00:55 +0000
commit9d9c3e1a70207e28bf81a4026902582ddfd60058 (patch)
treeff24e819d81e93f7c18cb9e0b365fc031547dccf
parentdd22cfb1015dea8f9db29a2334662bd35c3d3f79 (diff)
downloadffmpeg-9d9c3e1a70207e28bf81a4026902582ddfd60058.tar.gz
Make DNxHD encoder produce files that are strictly VC-3 compatible
Originally committed as revision 25756 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/dnxhdenc.c6
-rw-r--r--tests/ref/vsynth1/dnxhd_1080i2
-rw-r--r--tests/ref/vsynth2/dnxhd_1080i2
3 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c
index 6b089299e9..8cf54c5dc7 100644
--- a/libavcodec/dnxhdenc.c
+++ b/libavcodec/dnxhdenc.c
@@ -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;
diff --git a/tests/ref/vsynth1/dnxhd_1080i b/tests/ref/vsynth1/dnxhd_1080i
index 2be782f462..654242c745 100644
--- a/tests/ref/vsynth1/dnxhd_1080i
+++ b/tests/ref/vsynth1/dnxhd_1080i
@@ -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
diff --git a/tests/ref/vsynth2/dnxhd_1080i b/tests/ref/vsynth2/dnxhd_1080i
index 69ec10cc5b..3dc0ef5e4a 100644
--- a/tests/ref/vsynth2/dnxhd_1080i
+++ b/tests/ref/vsynth2/dnxhd_1080i
@@ -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