-
Notifications
You must be signed in to change notification settings - Fork 16
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
AV1 Encryption of large samples #193
Comments
We are wondering if we could allow encrypting the tile header (not the frame header). |
@kqyang would you have an opinion on this issue? |
I prefer relying on On the other hand, v1 For clients that rely on In summary, v1 Assuming that it is only a problem with AV1 class of codecs, I think we can update the AVx encryption spec to make it mandatory when the media is encrypted. @joeyparrish FYI. |
@kqyang Should we change Chromium to ignore the ISO BMFF (ISO/IEC 14496-12:2022) says in Section 4.2.2:
|
Yes for spec compliance but it may not give you the expected results. Chromium relies on The correct handling in Chromium would be to parse |
A Pull Request was merged to the AV1-ISOBMFF specification to inform of the problem (see https://github.com/AOMediaCodec/av1-isobmff/pull/195/files). At the moment we can think of the following courses of actions:
|
The AV1-ISOBMFF specification indicates that each tile in an AV1 frame must be encrypted separately. When a sample contains many frames and each frame uses many tiles, this can lead to a large number of encrypted ranges and describing this with the
saiz
box may not be possible.Per Common Encryption (3rd edition), the syntax of auxiliary information is:
So each tile costs 6 bytes.
The
saiz
box syntax is as follows, note thatsample_info_size
is on 8 bits (i.e. auxiliary information has to be less than 256 bytes).For an MP4 sample with 6 AV1 frames, each with 8 tiles, the sample will need 48 encrypted ranges, and the size of the auxiliary information will be 48*6+2 = 290 which is greater than what can be indicated in
sample_info_size
.This was raised at MPEG with this contribution https://dms.mpeg.expert/doc_end_user/documents/142_Antalya/wg11/m62549-v1-m62549_isobmff_saiz16bit_extension.zip (MPEG Member only). The proposal at MPEG is to define version 1 of
saiz
to use 16 or 32 bits.An alternative proposal could be to stop using
saiz
/saio
and only rely onsenc
which does not exhibit this problem.Both changes seem to be breaking changes. It needs to be decided what is preferable.
The text was updated successfully, but these errors were encountered: