80c613c950a2df411a6458c5d02aab5b0c3e81a8
[flac.git] / doc / isoflac.txt
1 Encapsulation of FLAC in ISO Base Media File Format
2 Version 0.0.2 (draft)
3
4 Table of Contents
5 1 Scope
6 2 Supporting Normative References
7 3 Terms and Definitions
8 4 Design Rules of Encapsulation
9   4.1 File Type Identification
10   4.2 Overview of Track Structure
11   4.3 Definition of FLAC sample
12         4.3.1 Sample entry format
13         4.3.2 FLAC Specific Box
14         4.3.3 Sample format
15         4.3.4 Duration of FLAC sample
16         4.3.5 Sub-sample
17         4.3.6 Random Access
18             4.3.6.1 Random Access Point
19    4.4 Basic Structure (informative)
20         4.4.1 Initial Movie
21    4.5 Example of Encapsulation (informative)
22 5 Acknowledgements
23 6 Author's Address
24
25 1 Scope
26
27     This document specifies the normative mapping for encapsulation of
28     FLAC coded audio bitstreams in ISO Base Media file format and its
29     derivatives. The encapsulation of FLAC coded bitstreams in
30     QuickTime file format is outside the scope of this specification.
31
32 2 Supporting Normative References
33
34     [1] ISO/IEC 14496-12:2012 Corrected version
35
36         Information technology — Coding of audio-visual objects — Part
37         12: ISO base media file format
38
39     [2] ISO/IEC 14496-12:2012/Amd.1:2013
40
41         Information technology — Coding of audio-visual objects — Part
42         12: ISO base media file format AMENDMENT 1: Various
43         enhancements including support for large metadata
44
45     [3] FLAC format specification
46
47         https://xiph.org/flac/format.html
48
49         Definition of the FLAC Audio Codec stream format
50
51     [4] FLAC-in-Ogg mapping specification
52
53         https://xiph.org/flac/ogg_mapping.html
54
55         Ogg Encapsulation for the FLAC Audio Codec
56
57     [5] Matroska specification
58
59 3 Terms and Definitions
60
61     3.1 active track
62
63         enabled track from the non-alternate group or selected track
64         from alternate group
65
66     3.2 edit
67
68         entry in the Edit List Box
69
70     3.3 sample-accurate
71
72         for any PCM sample, a timestamp exactly matching its sampling
73         timestamp is present in the media timeline.
74
75
76 4 Design Rules of Encapsulation
77
78     4.1 File Type Identification
79     
80         This specification does not define any brand to declare files
81         which conform to this specification.  Files which conform to
82         this specification shall contain at least one brand which
83         supports the requirements and the requirements described in
84         this clause without contradiction in the compatible brands
85         list of the File Type Box.  The minimal support of the
86         encapsulation of FLAC bitstreams in ISO Base Media file format
87         requires the 'isom' brand.
88         
89     4.2 Overview of Track Structure
90
91         FLAC coded audio shall be encapsulated into the ISO Base
92         Media File Format as media data within an audio track.
93         
94             + The handler_type field in the Handler Reference Box
95               shall be set to 'soun'.
96             
97             + The Media Information Box shall contain the Sound Media
98               Header Box.
99             
100             + The codingname of the sample entry is 'fLaC'.
101             
102                 This specification does not define any encapsulation
103                 using MP4AudioSampleEntry with objectTypeIndication
104                 specified by the MPEG-4 Registration Authority
105                 (http://www.mp4ra.org/).  See section 'Sample entry
106                 format' for the definition of the sample entry.
107                 
108             + The 'dfLa' box is added to the sample entry to convey
109                 initializing information for the decoder.
110
111                 See section 'FLAC Specific Box' for the definition of
112                 the box contents.
113
114             + A FLAC sample is exactly one FLAC frame as described
115                 in the format specification[3].  See section
116                 'Sample format' for details of the frame contents.
117
118             + Every FLAC sample is a sync sample.  No pre-roll or
119                 lapping is required.  See section 'Random Access' for
120                 further details.
121
122     4.3 Definition of a FLAC sample
123     
124         4.3.1 Sample entry format
125
126             For any track containing one or more FLAC bitstreams, a
127             sample entry describing the corresponding FLAC bitstream
128             shall be present inside the Sample Table Box. This version
129             of the specification defines only one sample entry format
130             named FLACSampleEntry whose codingname is 'fLaC'.  This
131             sample entry includes exactly one FLAC Specific Box
132             defined in section 'FLAC specific box' as a mandatory box
133             and indicates that FLAC samples described by this sample
134             entry are stored by the sample format described in section
135             'Sample format'.
136
137             The syntax and semantics of the FLACSampleEntry is shown
138             as follows.  The data fields of this box and native
139             FLAC[3] structures encoded within FLAC blocks are both
140             stored in big-endian format, though for purposes of the
141             ISO BMFF container, FLAC native metadata and data blocks
142             are treated as unstructured octet streams.
143  
144             class FLACSampleEntry() extends AudioSampleEntry ('fLaC'){
145                 FLACSpecificBox();
146             }
147
148             The fields of the AudioSampleEntry portion shall be set as
149             follows:
150
151             + channelcount:
152
153                 The channelcount field shall be set equal to the
154                 channel count specified by the FLAC bitstream's native
155                 METADATA_BLOCK_STREAMINFO header as described in [3].
156                 Note that the FLAC FRAME_HEADER structure that begins
157                 each FLAC sample redundantly encodes channel number;
158                 the number of channels declared in each FRAME_HEADER
159                 MUST match the number of channels declared here and in
160                 the METADATA_BLOCK_STREAMINFO header.
161
162             + samplesize:
163
164                 The samplesize field shall be set equal to the bits
165                 per sample specified by the FLAC bitstream's native
166                 METADATA_BLOCK_STREAMINFO header as described in [3].
167                 Note that the FLAC FRAME_HEADER structure that begins
168                 each FLAC sample redundantly encodes the number of
169                 bits per sample; the bits per sample declared in each
170                 FRAME_HEADER MUST match the samplesize declared here
171                 and the bits per sample field declared in the
172                 METADATA_BLOCK_STREAMINFO header.
173                 
174             + samplerate:
175
176                 The samplerate field shall be set equal to the sample
177                 rate specified by the FLAC bitstream's native
178                 METADATA_BLOCK_STREAMINFO header as described in [3],
179                 left-shifted by 16 bits.  Note that the FLAC
180                 FRAME_HEADER structure that begins each FLAC sample
181                 redundantly encodes the sample rate; the sample rate
182                 declared in each FRAME_HEADER MUST match the sample
183                 rate declared here and in the
184                 METADATA_BLOCK_STREAMINFO header.
185                 
186             Finally, the FLACSpecificBox carries codec headers:
187
188             + FLACSpecificBox
189             
190                 This box contains initializing information for the
191                 decoder as defined in section 'FLAC specific box'
192
193         4.3.2 FLAC Specific Box
194         
195             Exactly one FLAC Specific Box shall be present in each
196             FLACSampleEntry.  The FLAC Specific Box contains the
197             Version field and this specification defines version 0 of
198             this box.  If incompatible changes occur in the fields
199             after the Version field within the FLACSpecificBox in the
200             future versions of this specification, another version
201             will be defined.  The data fields of this box and native
202             FLAC[3] structures encoded within FLAC blocks are both
203             stored in big-endian format, though for purposes of the
204             ISO BMFF container, FLAC native metadata and data blocks
205             are treated as unstructured octet streams.
206
207             The syntax and semantics of the FLAC Specific Box is shown
208             as follows.
209
210             aligned(8) class FLACMetadataBlock {
211                unsigned int(1) LastMetadataBlockFlag;
212                unsigned int(7) BlockType;
213                unsigned int(24) Length;
214                unsigned int(8) BlockData[Length];
215             }
216
217             aligned(8) class FLACSpecificBox
218                   extends FullBox('dfLa', version=0, 0){
219                for (i=0; ; i++) { // to end of box
220                   FLACMetadataBlock();
221                }
222             }
223
224             + Version:
225
226                 The Version field shall be set to 0.
227
228                 In the future versions of this specification, this
229                 field may be set to other values. And without support
230                 of those values, the reader shall not read the fields
231                 after this within the FLACSpecificBox.
232
233             + Flags:
234
235                 The Flags field shall be set to 0.
236
237             After the FullBox header, the box contains a sequence of
238             FLAC[3] native-metadata block structures that fill the
239             remainder of the box.
240
241             Each FLACMetadataBlock structure consists of three fields
242             filling a total of four bytes that form a FLAC[3] native
243             METADATA_BLOCK_HEADER, followed by raw octet bytes that
244             comprise the FLAC[3] native METADATA_BLOCK_DATA.
245
246             + LastMetadataBlockFlag:
247
248                 The LastMetadataBlockFlag field maps semantically to
249                 the FLAC[3] native METADATA_BLOCK_HEADER
250                 Last-metadata-block flag as defined in the FLAC[3]
251                 file specification.
252                 
253                 The LastMetadataBlockFlag is set to 1 if this
254                 MetadataBlock is the last metadata block in the
255                 FLACSpecificBox.  It is set to 0 otherwise.
256                
257             + BlockType:
258
259                 The BlockType field maps semantically to the FLAC[3]
260                 native MEATADATA_BLOCK_HEADER BLOCK_TYPE field as
261                 defined in the FLAC[3] file specification.
262
263                 The BlockType is set to a valid FLAC[3] BLOCK_TYPE
264                 value that identifies the type of this native metadata
265                 block.  The BlockType of the first FLACMetadataBlock
266                 must be set to 0, signifying this is a FLAC[3] native
267                 METADATA_BLOCK_STREAMINFO block.
268                
269             + Length:
270
271                 The Length field maps semantically to the FLAC[3]
272                 native MEATADATA_BLOCK_HEADER Length field as
273                 defined in the FLAC[3] file specification.
274
275                 The length field specifies the number of bytes of
276                 MetadataBlockData to follow.
277
278             + BlockData
279
280                 The BlockData field maps semantically to the FLAC[3]
281                 native MEATADATA_BLOCK_HEADER METADATA_BLOCK_DATA as
282                 defined in the FLAC[3] file specification.
283
284             Taken together, the bytes of the FLACMetadataBlock form a
285             complete FLAC[3] native METADATA_BLOCK structure.
286
287             Note that a minimum of a single FLACMetadataBlock,
288             consisting of a FLAC[3] native METADATA_BLOCK_STREAMINFO
289             structure, is required.  Should the FLACSpecificBox
290             contain more than a single FLACMetadataBlock structure,
291             the FLACMetadataBlock containing the FLAC[3] native
292             METADATA_BLOCK_STREAMINFO must occur first in the list.
293
294             Other containers that package FLAC audio streams, such as
295             Ogg[4] and Matroska[5], wrap FLAC[3] native metadata without
296             modification similar to this specification.  When
297             repackaging or remuxing FLAC[3] streams from another
298             format that contains FLAC[3] native metadata into an ISO
299             BMFF file, the complete FLAC[3] native metadata should be
300             preserved in the ISO BMFF stream as described above.  It
301             is also allowed to parse this native metadata and include
302             contextually redundant ISO BMFF-native repackagings and/or
303             reparsings of FLAC[3] native metadata, so long as the
304             native metadata is also preserved.
305
306         4.3.3 Sample format
307         
308             A FLAC sample is exactly one FLAC audio FRAME (as defined
309             in the FLAC[3] file specification) belonging to a FLAC
310             bitstreams. The FLAC sample data begins with a complete
311             FLAC FRAME_HEADER, followed by one FLAC SUBFRAME per
312             channel, any necessary bit padding, and ends with the
313             usual FLAC FRAME_FOOTER.
314
315             Note that the FLAC native FRAME_HEADER structure that
316             begins each FLAC sample redundantly encodes channel count,
317             sample rate, and sample size.  The values of these fields
318             must agree both with the values declared in the FLAC
319             METADATA_BLOCK_STREAMINFO structure as well as the
320             FLACSampleEntry box.
321
322         4.3.4 Duration of a FLAC sample
323
324             The duration of any given FLAC sample is determined by
325             dividing the decoded block size of a FLAC frame, as
326             encoded in the FLAC FRAME's FRAME_HEADER structure, by the
327             value of the timescale field in the Media Header Box.
328             FLAC samples are permitted to have variable durations
329             within a given audio stream.  FLAC does not use padding
330             values.
331
332         4.3.5 Sub-sample
333
334             Sub-samples are not defined for FLAC samples in this
335             specification.
336
337         4.3.6 Random Access
338         
339             This subclause describes the nature of the random access of FLAC sample.
340
341             4.3.6.1 Random Access Point
342             
343                 All FLAC samples can be independently decoded
344                 i.e. every FLAC sample is a sync sample. The Sync
345                 Sample Box shall not be present as long as there are
346                 no samples other than FLAC samples in the same
347                 track. The sample_is_non_sync_sample field for FLAC
348                 samples shall be set to 0.
349
350     4.4 Basic Structure (informative)
351
352         4.4.1 Initial Movie
353         
354             This subclause shows a basic structure of the Movie Box as follows:
355
356             +----+----+----+----+----+----+----+----+------------------------------+
357             |moov|    |    |    |    |    |    |    | Movie Box                    |
358             +----+----+----+----+----+----+----+----+------------------------------+
359             |    |mvhd|    |    |    |    |    |    | Movie Header Box             |
360             +----+----+----+----+----+----+----+----+------------------------------+
361             |    |trak|    |    |    |    |    |    | Track Box                    |
362             +----+----+----+----+----+----+----+----+------------------------------+
363             |    |    |tkhd|    |    |    |    |    | Track Header Box             |
364             +----+----+----+----+----+----+----+----+------------------------------+
365             |    |    |edts|*   |    |    |    |    | Edit Box                     |
366             +----+----+----+----+----+----+----+----+------------------------------+
367             |    |    |    |elst|*   |    |    |    | Edit List Box                |
368             +----+----+----+----+----+----+----+----+------------------------------+
369             |    |    |mdia|    |    |    |    |    | Media Box                    |
370             +----+----+----+----+----+----+----+----+------------------------------+
371             |    |    |    |mdhd|    |    |    |    | Media Header Box             |
372             +----+----+----+----+----+----+----+----+------------------------------+
373             |    |    |    |hdlr|    |    |    |    | Handler Reference Box        |
374             +----+----+----+----+----+----+----+----+------------------------------+
375             |    |    |    |minf|    |    |    |    | Media Information Box        |
376             +----+----+----+----+----+----+----+----+------------------------------+
377             |    |    |    |    |smhd|    |    |    | Sound Media Header Box       |
378             +----+----+----+----+----+----+----+----+------------------------------+
379             |    |    |    |    |dinf|    |    |    | Data Information Box         |
380             +----+----+----+----+----+----+----+----+------------------------------+
381             |    |    |    |    |    |dref|    |    | Data Reference Box           |
382             +----+----+----+----+----+----+----+----+------------------------------+
383             |    |    |    |    |    |    |url |    | DataEntryUrlBox              |
384             +----+----+----+----+----+----+ or +----+------------------------------+
385             |    |    |    |    |    |    |urn |    | DataEntryUrnBox              |
386             +----+----+----+----+----+----+----+----+------------------------------+
387             |    |    |    |    |stbl|    |    |    | Sample Table                 |
388             +----+----+----+----+----+----+----+----+------------------------------+
389             |    |    |    |    |    |stsd|    |    | Sample Description Box       |
390             +----+----+----+----+----+----+----+----+------------------------------+
391             |    |    |    |    |    |    |fLaC|    | FLACSampleEntry              |
392             +----+----+----+----+----+----+----+----+------------------------------+
393             |    |    |    |    |    |    |    |dfLa| FLAC Specific Box            |
394             +----+----+----+----+----+----+----+----+------------------------------+
395             |    |    |    |    |    |stts|    |    | Decoding Time to Sample Box  |
396             +----+----+----+----+----+----+----+----+------------------------------+
397             |    |    |    |    |    |stsc|    |    | Sample To Chunk Box          |
398             +----+----+----+----+----+----+----+----+------------------------------+
399             |    |    |    |    |    |stsz|    |    | Sample Size Box              |
400             +----+----+----+----+----+ or +----+----+------------------------------+
401             |    |    |    |    |    |stz2|    |    | Compact Sample Size Box      |
402             +----+----+----+----+----+----+----+----+------------------------------+
403             |    |    |    |    |    |stco|    |    | Chunk Offset Box             |
404             +----+----+----+----+----+ or +----+----+------------------------------+
405             |    |    |    |    |    |co64|    |    | Chunk Large Offset Box       |
406             +----+----+----+----+----+----+----+----+------------------------------+
407             |    |mvex|*   |    |    |    |    |    | Movie Extends Box            |
408             +----+----+----+----+----+----+----+----+------------------------------+
409             |    |    |trex|*   |    |    |    |    | Track Extends Box            |
410             +----+----+----+----+----+----+----+----+------------------------------+
411
412                     Figure 1 - Basic structure of Movie Box
413
414             It is strongly recommended that the order of boxes should
415             follow the above structure.  Boxes marked with an asterisk
416             (*) may or may not be present depending on context.  For
417             most boxes listed above, the definition is as is defined
418             in ISO/IEC 14496-12 [1]. The additional boxes and the
419             additional requirements, restrictions and recommendations
420             to the other boxes are described in this specification.
421             
422     4.5 Example of Encapsulation (informative)
423         [File]
424             size = 17790
425             [ftyp: File Type Box]
426                 position = 0
427                 size = 24
428                 major_brand = mp42 : MP4 version 2
429                 minor_version = 0
430                 compatible_brands
431                     brand[0] = mp42 : MP4 version 2
432                     brand[1] = isom : ISO Base Media file format
433             [moov: Movie Box]
434                 position = 24
435                 size = 757
436                 [mvhd: Movie Header Box]
437                     position = 32
438                     size = 108
439                     version = 0
440                     flags = 0x000000
441                     creation_time = UTC 2014/12/12, 18:41:19
442                     modification_time = UTC 2014/12/12, 18:41:19
443                     timescale = 48000
444                     duration = 33600 (00:00:00.700)
445                     rate = 1.000000
446                     volume = 1.000000
447                     reserved = 0x0000
448                     reserved = 0x00000000
449                     reserved = 0x00000000
450                     transformation matrix
451                         | a, b, u |   | 1.000000, 0.000000, 0.000000 |
452                         | c, d, v | = | 0.000000, 1.000000, 0.000000 |
453                         | x, y, w |   | 0.000000, 0.000000, 1.000000 |
454                     pre_defined = 0x00000000
455                     pre_defined = 0x00000000
456                     pre_defined = 0x00000000
457                     pre_defined = 0x00000000
458                     pre_defined = 0x00000000
459                     pre_defined = 0x00000000
460                     next_track_ID = 2
461                 [iods: Object Descriptor Box]
462                     position = 140
463                     size = 33
464                     version = 0
465                     flags = 0x000000
466                     [tag = 0x10: MP4_IOD]
467                         expandableClassSize = 16
468                         ObjectDescriptorID = 1
469                         URL_Flag = 0
470                         includeInlineProfileLevelFlag = 0
471                         reserved = 0xf
472                         ODProfileLevelIndication = 0xff
473                         sceneProfileLevelIndication = 0xff
474                         audioProfileLevelIndication = 0xfe
475                         visualProfileLevelIndication = 0xff
476                         graphicsProfileLevelIndication = 0xff
477                         [tag = 0x0e: ES_ID_Inc]
478                             expandableClassSize = 4
479                             Track_ID = 1
480                 [trak: Track Box]
481                     position = 173
482                     size = 608
483                     [tkhd: Track Header Box]
484                         position = 181
485                         size = 92
486                         version = 0
487                         flags = 0x000007
488                             Track enabled
489                             Track in movie
490                             Track in preview
491                         creation_time = UTC 2014/12/12, 18:41:19
492                         modification_time = UTC 2014/12/12, 18:41:19
493                         track_ID = 1
494                         reserved = 0x00000000
495                         duration = 33600 (00:00:00.700)
496                         reserved = 0x00000000
497                         reserved = 0x00000000
498                         layer = 0
499                         alternate_group = 0
500                         volume = 1.000000
501                         reserved = 0x0000
502                         transformation matrix
503                             | a, b, u |   | 1.000000, 0.000000, 0.000000 |
504                             | c, d, v | = | 0.000000, 1.000000, 0.000000 |
505                             | x, y, w |   | 0.000000, 0.000000, 1.000000 |
506                         width = 0.000000
507                         height = 0.000000
508                     [mdia: Media Box]
509                         position = 273
510                         size = 472
511                         [mdhd: Media Header Box]
512                             position = 281
513                             size = 32
514                             version = 0
515                             flags = 0x000000
516                             creation_time = UTC 2014/12/12, 18:41:19
517                             modification_time = UTC 2014/12/12, 18:41:19
518                             timescale = 48000
519                             duration = 34560 (00:00:00.720)
520                             language = und
521                             pre_defined = 0x0000
522                         [hdlr: Handler Reference Box]
523                             position = 313
524                             size = 51
525                             version = 0
526                             flags = 0x000000
527                             pre_defined = 0x00000000
528                             handler_type = soun
529                             reserved = 0x00000000
530                             reserved = 0x00000000
531                             reserved = 0x00000000
532                             name = Xiph Audio Handler
533                         [minf: Media Information Box]
534                             position = 364
535                             size = 381
536                             [smhd: Sound Media Header Box]
537                                 position = 372
538                                 size = 16
539                                 version = 0
540                                 flags = 0x000000
541                                 balance = 0.000000
542                                 reserved = 0x0000
543                             [dinf: Data Information Box]
544                                 position = 388
545                                 size = 36
546                                 [dref: Data Reference Box]
547                                     position = 396
548                                     size = 28
549                                     version = 0
550                                     flags = 0x000000
551                                     entry_count = 1
552                                     [url : Data Entry Url Box]
553                                         position = 412
554                                         size = 12
555                                         version = 0
556                                         flags = 0x000001
557                                         location = in the same file
558                             [stbl: Sample Table Box]
559                                 position = 424
560                                 size = 321
561                                 [stsd: Sample Description Box]
562                                     position = 432
563                                     size = 79
564                                     version = 0
565                                     flags = 0x000000
566                                     entry_count = 1
567                                     [fLaC: Audio Description]
568                                         position = 448
569                                         size = 63
570                                         reserved = 0x000000000000
571                                         data_reference_index = 1
572                                         reserved = 0x0000
573                                         reserved = 0x0000
574                                         reserved = 0x00000000
575                                         channelcount = 2
576                                         samplesize = 16
577                                         pre_defined = 0
578                                         reserved = 0
579                                         samplerate = 48000.000000
580                                         [dfLa: FLAC Specific Box]
581                                             position = 484
582                                             size = 50
583                                             version = 0
584                                             flags = 0x000000
585                                             [FLACMetaDataBlock]
586                                                 LastMetadataBlockFlag = 1
587                                                 BlockType = 0
588                                                 Length = 34
589                                                 BlockData[34];
590                                 [stts: Decoding Time to Sample Box]
591                                     position = 492
592                                     size = 24
593                                     version = 0
594                                     flags = 0x000000
595                                     entry_count = 1
596                                     entry[0]
597                                         sample_count = 18
598                                         sample_delta = 1920
599                                 [stsc: Sample To Chunk Box]
600                                     position = 516
601                                     size = 40
602                                     version = 0
603                                     flags = 0x000000
604                                     entry_count = 2
605                                     entry[0]
606                                         first_chunk = 1
607                                         samples_per_chunk = 13
608                                         sample_description_index = 1
609                                     entry[1]
610                                         first_chunk = 2
611                                         samples_per_chunk = 5
612                                         sample_description_index = 1
613                                 [stsz: Sample Size Box]
614                                     position = 556
615                                     size = 92
616                                     version = 0
617                                     flags = 0x000000
618                                     sample_size = 0 (variable)
619                                     sample_count = 18
620                                     entry_size[0] = 977
621                                     entry_size[1] = 938
622                                     entry_size[2] = 939
623                                     entry_size[3] = 938
624                                     entry_size[4] = 934
625                                     entry_size[5] = 945
626                                     entry_size[6] = 948
627                                     entry_size[7] = 956
628                                     entry_size[8] = 955
629                                     entry_size[9] = 930
630                                     entry_size[10] = 933
631                                     entry_size[11] = 934
632                                     entry_size[12] = 972
633                                     entry_size[13] = 977
634                                     entry_size[14] = 958
635                                     entry_size[15] = 949
636                                     entry_size[16] = 962
637                                     entry_size[17] = 848
638                                 [stco: Chunk Offset Box]
639                                     position = 648
640                                     size = 24
641                                     version = 0
642                                     flags = 0x000000
643                                     entry_count = 2
644                                     chunk_offset[0] = 686
645                                     chunk_offset[1] = 12985
646             [free: Free Space Box]
647                 position = 672
648                 size = 8
649             [mdat: Media Data Box]
650                 position = 680
651                 size = 17001
652
653 5 Acknowledgements
654
655     This spec draws heavily from the Opus-in-ISOBMFF specification
656     work done by Yusuke Nakamura <muken.the.vfrmaniac |at| gmail.com>
657
658 6 Authors' Address
659
660     Monty Montgomery <cmontgomery@mozilla.com>