Membrane Element: H264 v0.1.0 Membrane.Element.RTP.H264.NAL.Header View Source
Defines a structure representing Network Abstraction Layer Unit Header
Defined in RFC6184
+---------------+
|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+
|F|NRI| Type |
+---------------+
Link to this section Summary
Types
NRI stands for nal_ref_idc. This value represents importance of frame that is being parsed.
Specifies the type of RBSP data structure contained in the NAL unit.
Link to this section Types
nri()
View Source
nri() :: 0..3
nri() :: 0..3
NRI stands for nal_ref_idc. This value represents importance of frame that is being parsed.
The higher the value the more important frame is (for example key frames have nri value of 3) and a value of 00 indicates that the content of the NAL unit is not used to reconstruct reference pictures for inter picture prediction. NAL units with NRI equal 0 can be discarded without risking the integrity of the reference pictures, although these payloads might contain metadata.
supported_types()
View Source
supported_types() :: :stap_a | :fu_a
supported_types() :: :stap_a | :fu_a
type()
View Source
type() :: 1..31
type() :: 1..31
Specifies the type of RBSP data structure contained in the NAL unit.
Types are defined as follows.
ID | RBSP Type |
---|---|
0 | Unspecified |
1-23 | NAL unit types |
24 | STAP-A |
25 | STAP-B |
26 | MTAP-16 |
27 | MTAP-24 |
28 | FU-A |
29 | FU-B |
Reserved | 30-31 |
RBSP stands for Raw Byte Sequence Payload
RBSP types are described in detail here
types()
View Source
types() :: :single_nalu | supported_types() | unsupported_types() | :reserved
types() :: :single_nalu | supported_types() | unsupported_types() | :reserved
unsupported_types()
View Source
unsupported_types() :: :stap_b | :mtap_16 | :mtap_24 | :fu_b
unsupported_types() :: :stap_b | :mtap_16 | :mtap_24 | :fu_b
Link to this section Functions
decode_type(header) View Source
Parses type stored in NAL Header