RtpMpegHeader

Namespace inet::rtp

RtpMpegHeader

class

(no description)

Extends

Name Type Description
FieldsChunk (unknown -- not in documented files)

Fields

Name Type Description
chunkLength
headerLength int
payloadLength int

size of the mpeg data

mbz uint8_t

Unused. Must be set to zero in current specification.

two bool

Set to 1 when the MPEG-2 video-specific header extension follows this header.

temporalReference uint16_t

The temporal reference of the current picture within the current GOP.

activeN bool

Set to 1 when the following bit (N) is used to signal changes in the picture header information for MPEG-2 payloads.

newPictureHeader bool

Used for MPEG-2 payloads when the previous bit (AN) is set to 1. Otherwise, it must be set to zero.

sequenceHeaderPresent bool

Normally 0 and set to 1 at the occurrence of each MPEG sequence header.

beginningOfSlice bool

Set when the start of the packet payload is a slice start code, or when a slice start code is preceded only by one or more of a Video_Sequence_Header, GOP_header and/or Picture_Header.

endOfSlice bool

Set when the last byte of the payload is the end of an MPEG slice.

pictureType uint8_t

picture type of the frame the data in this packet belongs to.

fbv bool

full_pel_backward_vector

bfc uint8_t

backward_f_code

ffv bool

full_pel_forward_vector

ffc uint8_t

forward_f_code

currenrtly unused fields: int mzb; int two; int temporalReference; int activeN; int newPictureHeader; int sequenceHeaderPresent; int beginningOfSlice; int endOfSlice; int fbv; int bfc; int ffv; int ffc;

Packet operations (observed)

actionmodule
insertAtBackRtpAvProfilePayload32Sender
peekAtFrontRtpAvProfilePayload32Receiver

Source code

class RtpMpegHeader extends FieldsChunk
{
    chunkLength = B(4);
    int headerLength = 4;
    int payloadLength; // size of the mpeg data
    uint8_t mbz = 0; // Unused. Must be set to zero in current specification.
    bool two = false; // Set to 1 when the MPEG-2 video-specific header extension follows this header.
    uint16_t temporalReference = 0; // The temporal reference of the current picture within the current GOP.
    bool activeN = false; // Set to 1 when the following bit (N) is used to signal changes in the picture header information for MPEG-2 payloads.
    bool newPictureHeader = false; // Used for MPEG-2 payloads when the previous bit (AN) is set to 1. Otherwise, it must be set to zero.
    bool sequenceHeaderPresent = false; // Normally 0 and set to 1 at the occurrence of each MPEG sequence header.
    bool beginningOfSlice = false; // Set when the start of the packet payload is a slice start code, or when a slice start
                                   // code is preceded only by one or more of a Video_Sequence_Header, GOP_header and/or Picture_Header.
    bool endOfSlice = false; // Set when the last byte of the payload is the end of an MPEG slice.
    uint8_t pictureType; // picture type of the frame the data in this packet belongs to.
    bool fbv = false; // full_pel_backward_vector
    uint8_t bfc = 0; // backward_f_code
    bool ffv = false; // full_pel_forward_vector
    uint8_t ffc = 0; // forward_f_code

    // currenrtly unused fields:
    //int mzb;
    //int two;
    //int temporalReference;
    //int activeN;
    //int newPictureHeader;
    //int sequenceHeaderPresent;
    //int beginningOfSlice;
    //int endOfSlice;
    //int fbv;
    //int bfc;
    //int ffv;
    //int ffc;
}
File: src/inet/transportlayer/rtp/profiles/avprofile/RtpMpegPacket.msg