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

CENC v2/3: Only video data in slice NALs SHOULD be encrypted #40

Closed
kqyang opened this issue Oct 7, 2015 · 1 comment
Closed

CENC v2/3: Only video data in slice NALs SHOULD be encrypted #40

kqyang opened this issue Oct 7, 2015 · 1 comment
Labels
status: archived Archived and locked; will not be updated type: enhancement New feature or request
Milestone

Comments

@kqyang
Copy link
Contributor

kqyang commented Oct 7, 2015

CENC v2 and v3 suggests that only video data in slice NALs SHOULD be encrypted; other NAL types should be left in clear.

9.5.2.2 Subsample encryption applied to NAL Structured Video (Normative)

NAL Structured Video samples SHALL be exactly spanned by one or more contiguous Subsamples. The slice data in a video NAL MAY be spanned by multiple Subsamples to create multiple clear and protected ranges, or to span protected slice data that is larger than the maximum size of a single BytesOfProtectedData field, with BytesOfClearData size equal to zero in each Subsample. Multiple unprotected NALs SHOULD be spanned by a single Subsample clear range, but a large clear range MAY be spanned by multiple Subsamples with zero size BytesOfProtectedData.

• For AVC video using ‘avc1’ sample description stream format, the NAL lengthSizeMinusOne field and the nal_unit_type field (the first byte after the length) of each NAL unit SHALL be unencrypted, and only video data in slice NALs SHOULD be encrypted.

Note 1: Encrypted slice headers were not prohibited in the first edition of this standard but were prohibited by application specifications. A “SHOULD” requirement to leave slice headers unencrypted for ‘avc1’ allows possible legacy content with encrypted slice headers to remain conformant to this new edition. But, new content should not encrypt slice headers, or it may not decode properly in secure video decoders.

@kqyang kqyang added the type: enhancement New feature or request label Oct 7, 2015
@kqyang kqyang added this to the 1.3.0 milestone Oct 7, 2015
@kqyang
Copy link
Contributor Author

kqyang commented Oct 28, 2015

• For other NAL Structured Video sample description stream formats (e.g. ‘avc3’, ‘hvc1’, ‘hev1’, etc.), only video slice data SHALL be protected. For avoidance of doubt: Video NAL slice, size and type headers SHALL be unencrypted and other NAL types SHALL be unencrypted.

@kqyang kqyang modified the milestones: 1.4.0, 1.3.0 Jan 16, 2016
kqyang pushed a commit that referenced this issue Feb 22, 2016
For non-video slices, the data is not encrypted.  This also skips the
frame headers for H.264; support for H.265 will be added later.

Issue #40

Change-Id: Id0cb0fb9ddb6adedf63ef4aef6b3a26260a21654
@kqyang kqyang closed this as completed in cdcfc4c Mar 29, 2016
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 19, 2018
@shaka-project shaka-project locked and limited conversation to collaborators Apr 19, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants