Skip to main content

Module h265

Module h265 

Source
Expand description

H.265/HEVC payload format (RFC 7798). H.265/HEVC RTP payload format (RFC 7798).

HEVC differs from H.264 in ways that matter to packetization: NAL headers are two bytes rather than one, and there is an extra aggregation form (PACI) that can carry payload content information ahead of the NAL unit.

This module provides the three packet shapes the RFC defines — single NAL unit, aggregation, and fragmentation unit — plus HevcPayloader, which picks between them based on the MTU, and the depacketizer that reverses the choice.

Structs§

H265AggregationPacket
H265AggregationPacket represents an Aggregation packet. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PayloadHdr (Type=48) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | two or more aggregation units | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | :…OPTIONAL RTP padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
H265AggregationUnit
H265AggregationUnit represent the an Aggregation Unit in an AP, which is not the first one.
H265AggregationUnitFirst
Aggregation Packets implementation
H265FragmentationUnitHeader
Fragmentation Unit implementation
H265FragmentationUnitPacket
H265FragmentationUnitPacket represents a single Fragmentation Unit packet.
H265NALUHeader
H265NALUHeader is a H265 NAL Unit Header
H265PACIPacket
PACI implementation
H265Packet
Packet implementation
H265SingleNALUnitPacket
Single NAL Unit Packet implementation
H265TSCI
Temporal Scalability Control Information
HevcPayloader
Packetizes H.265/HEVC NAL units into RTP payloads, fragmenting when needed.

Enums§

H265Payload
H265 Payload Enum
UnitType
The H.265 NAL unit types this payloader distinguishes.

Constants§

H265FRAGMENTATION_UNIT_HEADER_SIZE
Bytes of FU header following the payload header in a fragmentation unit.
NAL_HEADER_SIZE
Bytes in an H.265 NAL header — two, unlike H.264’s one.
RTP_OUTBOUND_MTU
The payload MTU this payloader targets, chosen to survive typical paths without IP fragmentation.

Statics§

AGGR_PAYLOAD_HDR
Payload header for an aggregation packet.
ANNEXB_3_NALUSTART_CODE
The three-byte Annex B start code (00 00 01).
FRAG_PAYLOAD_HDR
Payload header for a fragmentation unit.
FU_HDR_B_E
FU header for the last fragment of a B frame.
FU_HDR_B_M
FU header for a middle fragment of a B frame.
FU_HDR_B_S
FU header for the first fragment of a B frame.
FU_HDR_IDR_E
FU header for the last fragment of an IDR frame.
FU_HDR_IDR_M
FU header for a middle fragment of an IDR frame.
FU_HDR_IDR_S
FU header for the first fragment of an IDR frame.
FU_HDR_P_E
FU header for the last fragment of a P frame.
FU_HDR_P_M
FU header for a middle fragment of a P frame.
FU_HDR_P_S
FU header for the first fragment of a P frame.
SING_PAYLOAD_HDR
Payload header for a single NAL unit packet.