diff --git a/index.bs b/index.bs index 7e5c588..10d4607 100644 --- a/index.bs +++ b/index.bs @@ -359,7 +359,7 @@ For AV1 video streams, the following constraints apply: In addition, a start code insertion and emulation prevention process shall be performed on the AV1 Bitstream prior to its PES encapsulation. This process is described in section 3.2. -## Start-code based format +## Start-code based format ## {#start-code} Prior to carriage into PES, the AV1 open_bitstream_unit() is encapsulated into ts_open_bitstream_unit(). This is required to provide direct access to OBU through a start-code mechanism inserted prior to each OBU. The following syntax describes how to retrieve the open_bitstream_unit() from the ts_open_bitstream_unit() (tsOBU). @@ -450,7 +450,7 @@ Within the ts_open_bitstream_unit() payload, any four-byte s * 0x00000302 * 0x00000303 -## The AV1 Access Unit +## The AV1 Access Unit ## {#access-unit} An AV1 Access Unit consists of all OBUs, including headers, between the end of the last OBU associated with the previous frame, and the end of the last OBU associated with the current frame. With this definition, an Access Unit sometimes maps with a Decodable Frame Group (DFG) as defined in Annex E of [[!AV1]] and some other times to a Temporal Unit (TU) as defined in [[!AV1]], or both, as illustrated in the figure below. An illustration is provided in the figure below for a group of pictures with frames predicted as follows : @@ -462,9 +462,14 @@ with the previous frame, and the end of the last OBU associated with the current ## Use of PES packets -AV1 video encapsulated as defined in clause 4.2 is carried in PES packets as PES_packet_data_bytes, using the stream_id 0xBD (private_stream_id_1). +AV1 video encapsulated as defined in clause [[#start-code]] is carried in PES packets as PES_packet_data_bytes, using the stream_id 0xBD (private_stream_id_1). -A PES shall encapsulate one, and only one, AV1 access unit as defined in clause 4.3. All the PES shall have data_alignment_indicator set to 1. Usage of *data_stream_alignment_descriptor* is not specified and the only allowed *alignment_type* is 1 (Access unit level). +A PES shall encapsulate one, and only one, AV1 access unit as defined in clause [[#access-unit]]. All the PES shall have data_alignment_indicator set to 1. Usage of *data_stream_alignment_descriptor* is not specified and the only allowed *alignment_type* is 1 (Access unit level). + +When the PES encapsulates a AV1 Key Frame or Delayed Key Frame: +* The payload_unit_start_indicator bit shall be set to "1" in the transport packet header and the adaptation_field_control bits shall be set to "11". +* In addition, the random_access_indicator bit in the adaptation header shall be set to "1" whenever a AV1 Key Frame or a Delayed Key Frame occurs in video streams. NOTE: The random_access_indicator bit should only be set in the transport packet containing PES packet containing the first byte of the Key Frame or a Delayed Key Frame. +* The elementary_stream_priority_indicator bit shall also be set to "1" in the same adaptation header if this transport packet contains the first slice start code of the AV1 Key Frame or Delayed Key Frame access unit. The highest level that may occur in an AV1 video stream, as well as a profile and tier that the entire stream conforms to, shall be signalled using the AV1 video descriptor.