diff options
Diffstat (limited to 'accel/subsample_entry.h')
-rw-r--r-- | accel/subsample_entry.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/accel/subsample_entry.h b/accel/subsample_entry.h new file mode 100644 index 0000000..1e0bfad --- /dev/null +++ b/accel/subsample_entry.h @@ -0,0 +1,32 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// Note: ported from Chromium commit head: 7014d6d + +#ifndef SUBSAMPLE_ENTRY_H_ +#define SUBSAMPLE_ENTRY_H_ + +#include <stdint.h> + +namespace media { + +// The Common Encryption spec provides for subsample encryption, where portions +// of a sample are set in cleartext. A SubsampleEntry specifies the number of +// clear and encrypted bytes in each subsample. For decryption, all of the +// encrypted bytes in a sample should be considered a single logical stream, +// regardless of how they are divided into subsamples, and the clear bytes +// should not be considered as part of decryption. This is logically equivalent +// to concatenating all 'cypher_bytes' portions of subsamples, decrypting that +// result, and then copying each byte from the decrypted block over the +// position of the corresponding encrypted byte. +struct SubsampleEntry { + SubsampleEntry() : clear_bytes(0), cypher_bytes(0) {} + SubsampleEntry(uint32_t clear_bytes, uint32_t cypher_bytes) + : clear_bytes(clear_bytes), cypher_bytes(cypher_bytes) {} + uint32_t clear_bytes; + uint32_t cypher_bytes; +}; + +} // namespace media + +#endif // SUBSAMPLE_ENTRY_H_ |