2.2.4 RTVideo Extended 2 RTP Payload Format

The size of the RTVideo Extended 2 RTP Payload Format header varies. The minimum size is 8 bytes without codec headers present. With codec headers present, the maximum size is 72 bytes.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

A

B

C

D

E

F

G

H

I

J

HiFC

DV

K

FrameCounter

RefFrameCounter

Reserved

L (optional)

Codec Headers Bytes (variable)

...

A - M (1 bit): Payload format mode. It MUST be set to one in the RTVideo Extended 2 RTP Payload Format.

B - C (1 bit): Cached frame flag. A value of one specifies a cached frame. A value of zero specifies the frame is not a cached frame. The decoder on the receiver side MUST cache the cached frame because the next SP-frame references it.

C - SP (1 bit): Super P-frame (SP-frame) flag. A value of one specifies an SP-frame. A value of zero specifies the frame is not an SP-frame.

D - L (1 bit): Last packet flag. Indicates whether this packet is the last packet of the video frame, excluding FEC metadata packets. A value of one specifies the last packet. A value of zero specifies that it is not the last packet.

E - O (1 bit): MUST be set to one.

F - I (1 bit): I-frame flag. Indicates whether the frame is an I-frame. A value of one indicates the frame is an I-frame. A value of zero indicates that the frame is not an I-frame, but rather a SP-frame, P-frame, or B-frame.

G - S (1 bit): Codec headers presence flag. Indicates presence of the Codec Headers. A value of one indicates the Codec Headers Length field is present. A value of zero indicates that the Codec Headers Length field is not present.

H - F (1 bit): First packet flag. Indicates whether the packet is the first packet of the video frame, excluding FEC metadata packets. A value of one indicates the packet is the first packet. A value of zero indicates it is not the first packet.

I - M2 (1 bit): Payload format mode2 flag. This field MUST be set to one in the RTVideo Extended 2 RTP Payload Format.

J - HiRFC (2 bits): The HiRFC field and RefFrameCounter field together specify the video frame counter (10 bits) for the reference frame or the reference frames, if the current frame is a B-frame of this frame.

If the video frame is an I-frame, P-frame, or SP-frame, the whole 10-bit field specifies a frame counter.

The HiRFC field specifies the 2 high bits of the counter. The RefFrameCounter specifies the 8 low bits.

If the video frame is a B-frame, the HiRFC field MUST be set to zero. The 4 high bits of the RefFrameCounter specify one reference frame counter delta, RefFrameCounterDelta1, and the 4 low bits of the RefFrameCounter specify another reference frame counter delta, RefFrameCounterDelta2. These two reference counter delta values correspond to the frame counters, referred to as RefFrameCounter1 and RefFrameCounter2, of the two reference frames for the B-frame, respectively.

The two reference frame counters are calculated by subtracting the frame counter delta from the frame counter for the B-frame. If the B-frame references a single frame only, the two reference counters MUST be the same.

HiFC (2 bits): The HiFC field and the FrameCounter field together specify the video frame counter (10 bits) for the video frame. The HiFC field specifies the 2 high bits. FrameCounter specifies the 8 low bits.

DV (2 bits): The Data version field. The value ranges from zero to three. This field SHOULD be ignored when receiving an RTVideo Extended 2 RTP Payload Format packet, and MUST be set to zero when sending an RTVideo Extended 2 RTP Payload Format packet.

K - E (1 bit): The ExtraData field. In this document, the FEC metadata is considered to be extra data. A value of one specifies the packet is an FEC metadata packet. A value of zero specifies it is an RTVideo video data packet. There is no extra data defined in the RTVideo Extended 2 RTP Payload Format header. For this reason, this field MUST be set to zero in the RTVideo Extended 2 RTP Payload Format header.

FrameCounter (1 byte): The HiFC field and the FrameCounter field together specify the video frame counter (10 bits) for the video frame. The HiFC field specifies the 2 high bits. FrameCounter specifies the 8 low bits.

RefFrameCounter (1 byte): The HiRFC field and RefFrameCounter field together specify the video frame counter (10 bits) for the reference frame or the reference frames, if the current frame is a B-frame, of this frame.

If the video frame is an I-frame, P-frame, or SP-frame, the whole 10-bit field specifies a frame counter.

The HiRFC field specifies the 2 high bits of the counter. The RefFrameCounter specifies the 8 low bits.

If the video frame is a B-frame, the HiRFC field MUST be set to zero. The 4 high bits of the RefFrameCounter specify one reference frame counter delta, RefFrameCounterDelta1, and the 4 low bits of the RefFrameCounter specify another reference frame counter delta, RefFrameCounterDelta2. These two reference counter delta values correspond to the frame counters, referred to as RefFrameCounter1 and RefFrameCounter2, of the two reference frames for the B-frame, respectively.

The two reference frame counters are calculated by subtracting the frame counter delta from the frame counter for the B-frame. If the B-frame references a single frame only, the two reference counters MUST be the same.

Reserved (4 bytes): Reserved field. This field MUST be set to zero when the E field is set to zero. This field is redefined when the E field is set to one, as specified in the RTVideo FEC RTP Payload Format header (section 2.2.5).

L - Codec Headers Length (1 byte, optional): The size of Codec Headers Bytes field. Only present when the S bit is one. The value of this field MUST be less than or equal to 63.

Codec Headers Bytes (variable): Codec headers (binding byte, sequence header and entry point header). Only present when the S bit is one and the Codec Headers Length is greater than zero. The size is indicated by the Codec Headers Length field.