[FFmpeg-cvslog] dpx: always write the image offset

Zoltan Kovacs git at videolan.org
Mon Dec 8 21:00:47 CET 2014


ffmpeg | branch: master | Zoltan Kovacs <giszo.k at gmail.com> | Fri Dec  5 02:42:10 2014 +0000| [4843a9c74f77f5eb8d2b1ee648fe2ac6e2a48ec3] | committer: Vittorio Giovara

dpx: always write the image offset

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 at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4843a9c74f77f5eb8d2b1ee648fe2ac6e2a48ec3
---

 libavcodec/dpxenc.c |    1 +
 tests/ref/lavf/dpx  |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/dpxenc.c b/libavcodec/dpxenc.c
index 4de71cf..2b1ead3 100644
--- a/libavcodec/dpxenc.c
+++ b/libavcodec/dpxenc.c
@@ -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);
diff --git a/tests/ref/lavf/dpx b/tests/ref/lavf/dpx
index a9f1169..42c0a33 100644
--- a/tests/ref/lavf/dpx
+++ b/tests/ref/lavf/dpx
@@ -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



More information about the ffmpeg-cvslog mailing list