dpx: always write the image offset
authorZoltan Kovacs <giszo.k@gmail.com>
Fri, 5 Dec 2014 02:42:10 +0000 (02:42 +0000)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Mon, 8 Dec 2014 13:29:18 +0000 (13:29 +0000)
According to the DPX file format description found at
http://www.fileformat.info/format/dpx/egff.htm the ImageElement part of
the GenericImageHeader also contains an an offset to the real image data
beside the same member that can be found in the GenericFileHeader.

Libav keeps this member empty (=0) while some applications expects it to
be filled properly. FATE test updated accordingly.

Bug-Id: 742
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
libavcodec/dpxenc.c
tests/ref/lavf/dpx

index 4de71cf..2b1ead3 100644 (file)
@@ -144,6 +144,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     buf[802] = 2; /* linear colorimetric */
     buf[803] = s->bits_per_component;
     write16(buf + 804, s->bits_per_component == 10 ? 1 : 0); /* packing method */
+    write32(buf + 808, HEADER_SIZE); /* data offset */
 
     /* Image source information header */
     write32(buf + 1628, avctx->sample_aspect_ratio.num);
index a9f1169..42c0a33 100644 (file)
@@ -1,3 +1,3 @@
-808ea110635774252439722a48329d61 *./tests/data/images/dpx/02.dpx
+d2f0b4e854fda2d3b3bee84cef80593c *./tests/data/images/dpx/02.dpx
 ./tests/data/images/dpx/%02d.dpx CRC=0x28c7369b
 305792 ./tests/data/images/dpx/02.dpx