diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-10-15 15:58:44 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-10-16 03:01:15 +0200 |
commit | 3896cd11a107f241f06b06a336322aef2f372fdd (patch) | |
tree | 238ba0993f44424cc96742479a2aef717a52ca69 | |
parent | 1fe45903b81fd7c3c81292723affac7de4f4e4ee (diff) | |
download | ffmpeg-3896cd11a107f241f06b06a336322aef2f372fdd.tar.gz |
mxfenc: explicitly truncate continuity count.
The field is intended to overflow and have only its low 16bits stored.
This commit avoids the implicit truncation and clarifies that its
intended and not a bug
S326m section 7.6 ("Continuity count"):
> The continuity count word consists of 2 bytes allow-
> ing a number to be created by a modulo 65536
> counter (bits C15 to C0 in figure 7). The continuity
> count shall increment by 1 for each newly transmit-
> ted content package with the same SDTI source and
> destination addresses. The continuity count may
> be used to detect whether the content package
> sequence has been broken by an operation such as
> a routing switch.
Approved-by: Tjoppen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/mxfenc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c index b7e9449209..6a27d2a03b 100644 --- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -1820,7 +1820,7 @@ static void mxf_write_system_item(AVFormatContext *s) avio_w8(pb, 0x04); // content package rate avio_w8(pb, 0x00); // content package type avio_wb16(pb, 0x00); // channel handle - avio_wb16(pb, mxf->tc.start + frame); // continuity count + avio_wb16(pb, (mxf->tc.start + frame) & 0xFFFF); // continuity count, supposed to overflow if (mxf->essence_container_count > 1) avio_write(pb, multiple_desc_ul, 16); else { |