Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Opus
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Xiph.Org
Opus
Commits
e26abfac
Commit
e26abfac
authored
8 years ago
by
Ralph Giles
Browse files
Options
Downloads
Patches
Plain Diff
Update ISO Base Media Format draft to version 0.6.8.
parent
225e09ca
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/opus_in_isobmff.html
+19
-23
19 additions, 23 deletions
doc/opus_in_isobmff.html
with
19 additions
and
23 deletions
doc/opus_in_isobmff.html
+
19
−
23
View file @
e26abfac
...
...
@@ -7,12 +7,12 @@
</head>
<body
bgcolor=
"0x333333"
text=
"#60B0C0"
>
<b><u>
Encapsulation of Opus in ISO Base Media File Format
</u></b><br>
<font
size=
"2"
>
last updated:
January 12
, 201
5
</font><br>
<font
size=
"2"
>
last updated:
April 28
, 201
6
</font><br>
<br>
<div
class=
"normal_link pre frame_box"
>
Encapsulation of Opus in ISO Base Media File Format
Version 0.6.
6
(incomplete)
Version 0.6.
8
(incomplete)
Table of Contents
...
...
@@ -47,17 +47,13 @@ Table of Contents
<a
name=
"2"
></a>
2 Normative References
[1] ISO/IEC 14496-12:201
2
Corrected version
[1] ISO/IEC 14496-12:201
5
Corrected version
Information technology — Coding of audio-visual objects — Part 12: ISO base media file format
[2] ISO/IEC 14496-12:2012/Amd.1:2013
Information technology — Coding of audio-visual objects — Part 12: ISO base media file format
AMENDMENT 1: Various enhancements including support for large metadata
[3] RFC 6716
[2] RFC 6716
Definition of the Opus Audio Codec
[
4
] draft-ietf-codec-oggopus-06
[
3
] draft-ietf-codec-oggopus-06
Ogg Encapsulation for the Opus Audio Codec
<a
name=
"3"
></a>
...
...
@@ -129,7 +125,7 @@ Table of Contents
The channelcount field shall be set to the sum of the total number of Opus bitstreams and the number
of Opus bitstreams producing two channels. This value is indentical with (M+N), where M is the value of
the *Coupled Stream Count* field and N is the value of the *Stream Count* field in the *Channel Mapping
Table* in the identification header defined in Ogg Opus [
4
].
Table* in the identification header defined in Ogg Opus [
3
].
+ samplesize:
The samplesize field shall be set to 16.
+ samplerate:
...
...
@@ -142,7 +138,7 @@ Table of Contents
The Opus Specific Box contains the Version field and this specification defines version 0 of this box.
If incompatible changes occured in the fields after the Version field within the OpusSpecificBox in the
future versions of this specification, another version will be defined.
This box refers to Ogg Opus [
4
] at many parts but all the data are stored as big-endian format.
This box refers to Ogg Opus [
3
] at many parts but all the data are stored as big-endian format.
The syntax and semantics of the Opus Specific Box is shown as follows.
...
...
@@ -170,37 +166,37 @@ Table of Contents
of those values, the reader shall not read the fields after this within the OpusSpecificBox.
+ OutputChannelCount:
The OutputChannelCount field shall be set to the same value as the *Output Channel Count* field in the
identification header defined in Ogg Opus [
4
].
identification header defined in Ogg Opus [
3
].
+ PreSkip:
The PreSkip field indicates the number of the priming samples, that is, the number of samples at 48000 Hz
to discard from the decoder output when starting playback. The value of the PreSkip field
could be zero
when removing Opus samples contain
ing
the
number of
PCM
samples
equal to or more than of the priming
samples. The PreSkip field is not used for discarding the priming samples at the whole
playback at all
since it is informative only, and that task falls on the Edit List Box.
to discard from the decoder output when starting playback. The value of the PreSkip field
shall be at least
80 milliseconds' worth of PCM samples even when remov
ing
any
number of
Opus
samples
which may or may not
contain the priming
samples. The PreSkip field is not used for discarding the priming samples at the whole
playback at all
since it is informative only, and that task falls on the Edit List Box.
+ InputSampleRate:
The InputSampleRate field shall be set to the same value as the *Input Sample Rate* field in the
identification header defined in Ogg Opus [
4
].
identification header defined in Ogg Opus [
3
].
+ OutputGain:
The OutputGain field shall be set to the same value as the *Output Gain* field in the identification
header define in Ogg Opus [
4
]. Note that the value is stored as 8.8 fixed-point.
header define in Ogg Opus [
3
]. Note that the value is stored as 8.8 fixed-point.
+ ChannelMappingFamily:
The ChannelMappingFamily field shall be set to the same value as the *Channel Mapping Family* field in
the identification header defined in Ogg Opus [
4
].
the identification header defined in Ogg Opus [
3
].
+ StreamCount:
The StreamCount field shall be set to the same value as the *Stream Count* field in the identification
header defined in Ogg Opus [
4
].
header defined in Ogg Opus [
3
].
+ CoupledCount:
The CoupledCount field shall be set to the same value as the *Coupled Count* field in the identification
header defined in Ogg Opus [
4
].
header defined in Ogg Opus [
3
].
+ ChannelMapping:
The ChannelMapping field shall be set to the same octet string as *Channel Mapping* field in the identi-
fication header defined in Ogg Opus [
4
].
fication header defined in Ogg Opus [
3
].
4.3.3 Sample format
<a
name=
"4.3.3"
></a>
An Opus sample is exactly one Opus packet for each of different Opus bitstreams. Due to support more than
two channels, an Opus sample can contain frames from multiple Opus bitstreams but all Opus packets shall
share with the total of frame sizes in a single Opus sample. The way of how to pack an Opus packet from
each of Opus bitstreams into a single Opus sample follows Appendix B. in RFC 6716 [
3
].
each of Opus bitstreams into a single Opus sample follows Appendix B. in RFC 6716 [
2
].
The endianness has nothing to do with any Opus sample since every Opus packet is processed byte-by-byte.
In this specification, 'sample' means 'Opus sample' except for 'padded samples', 'priming samples', 'valid
sample' and 'sample-accurate', i.e. 'sample' is 'sample' in the term defined in ISO/IEC 14496-12 [1].
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment