ISO/IEC 14496-12:2012/Amd 3:2015
(Amendment)Information technology — Coding of audio-visual objects — Part 12: ISO base media file format — Amendment 3: Font streams and other improvements to file format
Information technology — Coding of audio-visual objects — Part 12: ISO base media file format — Amendment 3: Font streams and other improvements to file format
Technologies de l'information — Codage des objets audiovisuels — Partie 12: Format ISO de base pour les fichiers médias — Amendement 3: Flux de police et autres améliorations de fichiers
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 14496-12
Fourth edition
2012-07-15
AMENDMENT 3
2015-04-01
Information technology — Coding of
audio-visual objects —
Part 12:
ISO base media file format
AMENDMENT 3: Font streams and other
improvements to file format
Technologies de l’information — Codage des objets audiovisuels —
Partie 12: Format ISO de base pour les fichiers médias
AMENDEMENT 3: Flux de police et autres améliorations de fichiers
Reference number
ISO/IEC 14496-12:2012/Amd.3:2015(E)
©
ISO/IEC 2015
---------------------- Page: 1 ----------------------
ISO/IEC 14496-12:2012/Amd.3:2015(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2015
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2015 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 14496-12:2012/Amd.3:2015(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are
members of ISO or IEC participate in the development of International Standards through technical
committees established by the respective organization to deal with particular fields of technical
activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international
organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the
work. In the field of information technology, ISO and IEC have established a joint technical committee,
ISO/IEC JTC 1.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for
the different types of document should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject
of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
Details of any patent rights identified during the development of the document will be in the Introduction
and/or on the ISO list of patent declarations received (see www.iso.org/patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation on the meaning of ISO specific terms and expressions related to conformity
assessment, as well as information about ISO’s adherence to the WTO principles in the Technical Barriers
to Trade (TBT), see the following URL: Foreword — Supplementary information.
The committee responsible for this document is ISO/IEC JTC 1, Information technology, Subcommittee
SC 29, Coding of audio, picture, multimedia and hypermedia information.
© ISO/IEC 2015 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 14496-12:2012/Amd.3:2015(E)
Information technology — Coding of audio-visual objects —
Part 12:
ISO base media file format
AMENDMENT 3: Font streams and other improvements to file
format
In 8.3.3.3, before:
— ‘hind‘ this track depends on the referenced hint track, i.e., it should only be used if the referenced
hint track is used.
add:
— ‘font‘ used to indicate that a track uses fonts carried/defined in the referenced track.
In 8.4.3.3, after:
‘subt’ subtitle track
add:
‘fdsm’ font data stream track
In 8.5.2.1, after:
— hint tracks use an entry format specific to their protocol, with an appropriate name.
add:
— font tracks FontSampleEntry
In 8.5.2.2, change:
aligned(8) class SampleDescriptionBox (unsigned int(32) handler_type)
extends FullBox(‘stsd’, version, 0){
int i ;
unsigned int(32) entry_count;
for (i = 1 ; i <= entry_count ; i++){
switch (handler_type){
case ‘soun’: // for audio tracks
AudioSampleEntry();
break;
case ‘vide’: // for video tracks
VisualSampleEntry();
break;
case ‘subt’: // for subtitle tracks
SubtitleSampleEntry();
break;
case ‘text’: // for plain text tracks
TextSampleEntry();
break;
case ‘hint’: // Hint track
HintSampleEntry();
break;
case ‘meta’: // Metadata track
MetadataSampleEntry();
break;
}
© ISO 2015 – All rights reserved 1
---------------------- Page: 4 ----------------------
ISO/IEC 14496-12:2012/Amd.3:2015(E)
}
}
}
to
class FontSampleEntry(codingname) extends SampleEntry (codingname){
//other boxes from derived specifications
BitRateBox (); // optional
}
aligned(8) class SampleDescriptionBox (unsigned int(32) handler_type)
extends FullBox(‘stsd’, version, 0){
int i ;
unsigned int(32) entry_count;
for (i = 1 ; i <= entry_count ; i++){
SampleEntry (); // an instance of a class derived from this
}
}
In 8.6.1.1, add before the paragraph starting “In the following example”:
Some coding systems may allow samples that are used only for reference and not output (e.g. a non-displayed
reference frame in video). When any such non-output sample is present in a track, the following applies:
a) A non-output sample shall be given a composition time which is outside the time-range of the
samples that are output;
b) An edit list shall be used to exclude the composition times of the non-output samples.
c) When the track includes a CompositionOffsetBox (‘ctts’),
1) version 1 of the CompositionOffsetBox shall be used,
2) the value of sample_offset shall be set equal to the most negative number possible (for 32-
31
bit values, -2 ) for each non-output sample,
3) the CompositionToDecodeBox (‘cslg’) should be contained in the SampleTableBox (‘stbl’) of
the track, and
4) when the CompositionToDecodeBox is present for the track, the value of
leastDecodeToDisplayDelta field in the box shall be equal to the smallest composition offset
in the CompositionOffsetBox excluding the sample_offset values for non-output samples.
31
NOTE Thus, leastDecodeToDisplayDelta is greater than -2 .
In 8.7.2.1, change the header from:
Box Types: ‘url ‘, ‘urn ‘, ‘dref’
Container: Data Information Box (‘dinf’)
Mandatory: Yes
Quantity: Exactly one
to
Box Types: ‘dref’
Container: Data Information Box (‘dinf’)
Mandatory: Yes
Quantity: Exactly one
Box Types: ‘url ‘, ‘urn ‘
Container: Data Information Box (‘dref’)
2 © ISO 2015 – All rights reserved
---------------------- Page: 5 ----------------------
ISO/IEC 14496-12:2012/Amd.3:2015(E)
Mandatory: Yes (at least one of ‘url ‘ or ‘urn ‘ shall be present)
Quantity: One or more
and replace
The DataEntryBox within the DataReferenceBox shall be either a DataEntryUrnBox or a DataEntryUrlBox.
with
The entry_count in the DataReferenceBox shall be 1 or greater; each DataEntryBox within the
DataReferenceBox shall be either a DataEntryUrnBox or a DataEntryUrlBox.
In 8.7.7.1, change the definition of the sub-sample box to read:
Box Type: ‘subs’
Container: Sample Table Box (‘stbl’) or Track Fragment Box (‘traf’)
Mandatory: No
Quantity: Zero or more
and add at the end of 8.7.7.1:
When more than one Sub-Sample Information box is present in the same container box, the value of flags
shall differ in each of these Sub-Sample Information boxes. The semantics of flags, if any, shall be supplied
for a given coding system. If flags have no semantics for a given coding system, the flags shall be 0.
In 8.7.7.2, change:
aligned(8) class SubSampleInformationBox
extends FullBox(‘subs’, version, 0) {
unsigned int(32) entry_count;
int i,j;
for (i=0; i < entry_count; i++) {
unsigned int(32) sample_delta;
unsigned int(16) subsample_count;
if (subsample_count > 0) {
for (j=0; j < subsample_count; j++) {
if(version == 1)
{
unsigned int(32) subsample_size;
}
else
{
unsigned int(16) subsample_size;
}
unsigned int(8) subsample_priority;
unsigned int(8) discardable;
unsigned int(32) reserved = 0;
}
}
}
}
to
aligned(8) class SubSampleInformationBox
extends FullBox(‘subs’, version, flags) {
unsigned int(32) entry_count;
int i,j;
for (i=0; i < entry_count; i++) {
unsigned int(32) sample_delta;
unsigned int(16) subsample_count;
if (subsample_count > 0) {
for (j=0; j < subsample_count; j++) {
if(version == 1)
{
© ISO 2015 – All rights reserved 3
---------------------- Page: 6 ----------------------
ISO/IEC 14496-12:2012/Amd.3:2015(E)
unsigned int(32) subsample_size;
}
else
{
unsigned int(16) subsample_size;
}
unsigned int(8) subsample_priority;
unsigned int(8) discardable;
unsigned int(32) reserved = 0;
}
}
}
}
In 8.8.7.1, add before “The following flags” the following paragraph:
The base-data-offset, if explicitly provided, is a data offset that is identical to a chunk offset in the
Chunk Offset Box, i.e. applying to the complete file (e.g. starting with a file-type box and movie box). In
circumstances when the complete file does not exist or its size is unknown, it may be impossible to use
an explicit base-data-offset; then, offsets need to be established relative to the movie fragment.
Add the following paragraph to the end of 8.8.12.1:
If the time
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.