Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specify CENC #827

Merged
merged 5 commits into from
Jun 17, 2024
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion index.bs
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,11 @@ url: https://www.iso.org/standard/77752.html#; spec: MP4-PCM; type: dfn;
text: format_flags
text: PCM_sample_size

url: https://www.iso.org/standard/84637.html#; spec: CENC; type: dfn;
text: cenc
text: cbc1
text: cens
text: cbcs
</pre>

<pre class='biblio'>
Expand Down Expand Up @@ -253,6 +258,12 @@ url: https://www.iso.org/standard/77752.html#; spec: MP4-PCM; type: dfn;
"status": "Standard",
"publisher": "IETF",
"href": "https://tools.ietf.org/html/rfc8486"
},
"CENC": {
"title": "Information technology — MPEG systems technologies - Part 7: Common encryption in ISO base media file format files",
"status" : "Standard",
"publisher" : "ISO/IEC",
"href" : "https://www.iso.org/standard/68042.html"
}
}
</pre>
Expand Down Expand Up @@ -1938,7 +1949,7 @@ NOTE: In a typical case, the OBUs in the first [=Descriptors=] of an [=IA Sequen
A file conformant to this specification satisfies the following:
- It SHALL conform to the normative requirements of [[!ISO-BMFF]].
- It SHALL have the <dfn export for="ISO-BMFF Brand">iamf</dfn> brand among the compatible brands array of the FileTypeBox.
- It SHALL contain at least one track using an [=IASampleEntry=].
- It SHALL contain at least one track using an [=IASampleEntry=], possibly transformed by encryption as specified in [[#commonencryption]].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strictly speaking an "old" implementation of v1.0 could have assumed that files would never have encrypted IAMF tracks. I wonder if this warrants a new brand to signal the possible encryption.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already have box presence to signal CENC presence. We decided to not require new profiles to use CENC. If there are other examples of codecs that use brands to signal encryption presence we can do the same.

- It SHOULD indicate a structural ISOBMFF brand among the compatible brands' array of the FileTypeBox, such as 'iso6'.
- It MAY indicate other brands not specified in this specification provided that the associated requirements do not conflict with those given in this specification.

Expand Down Expand Up @@ -2058,6 +2069,12 @@ NOTE: Per the restriction of the profiles carried in an [=IA Track=], all [=Audi

NOTE: In typical cases, when a track contains a single [=IA Sequence=], trimming can only happen at the beginning or the end of the [=IA Sequence=]. Therefore, the edit list can describe the start and end trimming with a single edit entry. A track storing consecutive [=IA Sequence=]s may need multiple edits in the edit list.

## Common Encryption ## {#commonencryption}

[=IA Track=]s MAY be protected. If protected, they SHALL conform to [[!CENC]].

When the protection schemes [=cenc=] or [=cbc1=] are used, an [=IA Track=] SHALL be protected using full sample encryption. When the protection schemes [=cens=] or [=cbcs=] are used, an [=IA Track=] SHALL be protected using whole-block full sample encryption.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a lot of options, and therefore a lot of testing, and possible market fragmentation. Can't the group agree on one approach only?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is CENC is mandatory in ISOBMFF, but CBCS is more widely used. We could pretty easily reduce it to two. Reducing it to one might be more difficult.


## Codecs Parameter String ## {#codecsparameter}

DASH and other applications require defined values for the 'codecs' parameter specified in [[!RFC-6381]] for ISO Media tracks. The codecs parameter string for [=codec_id=] SHALL be:
Expand Down