16#include <smolrtsp/priv/compiler_attrs.h>
21#define SMOLRTSP_H264_NAL_HEADER_SIZE sizeof(uint8_t)
28#define SMOLRTSP_H264_FU_HEADER_SIZE \
29 ( sizeof(uint8_t) + sizeof(uint8_t))
76 SMOLRTSP_PRIV_MUST_USE;
82 SMOLRTSP_PRIV_MUST_USE;
88 SMOLRTSP_PRIV_MUST_USE;
94 SMOLRTSP_PRIV_MUST_USE;
100 SMOLRTSP_PRIV_MUST_USE;
106 SMOLRTSP_PRIV_MUST_USE;
121 bool is_first_fragment,
bool is_last_fragment);
126#define SMOLRTSP_H264_NAL_UNIT_UNSPECIFIED 0
131#define SMOLRTSP_H264_NAL_UNIT_CODED_SLICE_NON_IDR 1
136#define SMOLRTSP_H264_NAL_UNIT_CODED_SLICE_DATA_PARTITION_A 2
141#define SMOLRTSP_H264_NAL_UNIT_CODED_SLICE_DATA_PARTITION_B 3
146#define SMOLRTSP_H264_NAL_UNIT_CODED_SLICE_DATA_PARTITION_C 4
151#define SMOLRTSP_H264_NAL_UNIT_CODED_SLICE_IDR 5
156#define SMOLRTSP_H264_NAL_UNIT_SEI 6
161#define SMOLRTSP_H264_NAL_UNIT_SPS 7
166#define SMOLRTSP_H264_NAL_UNIT_PPS 8
171#define SMOLRTSP_H264_NAL_UNIT_AUD 9
176#define SMOLRTSP_H264_NAL_UNIT_END_OF_SEQUENCE 10
181#define SMOLRTSP_H264_NAL_UNIT_END_OF_STREAM 11
186#define SMOLRTSP_H264_NAL_UNIT_FILLER 12
191#define SMOLRTSP_H264_NAL_UNIT_SPS_EXT 13
196#define SMOLRTSP_H264_NAL_UNIT_PREFIX 14
201#define SMOLRTSP_H264_NAL_UNIT_SUBSET_SPS 15
206#define SMOLRTSP_H264_NAL_UNIT_DPS 16
211#define SMOLRTSP_H264_NAL_UNIT_CODED_SLICE_AUX 19
216#define SMOLRTSP_H264_NAL_UNIT_CODED_SLICE_EXT 20
222#define SMOLRTSP_H264_NAL_UNIT_CODED_SLICE_EXT_DEPTH_VIEW 21
bool SmolRTSP_H264NalHeader_is_coded_slice_non_idr(SmolRTSP_H264NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is a coded slice non-IDR.
void SmolRTSP_H264NalHeader_write_fu_header(SmolRTSP_H264NalHeader self, uint8_t buffer[restrict], bool is_first_fragment, bool is_last_fragment)
Writes a FU header of self to buffer.
SmolRTSP_H264NalHeader SmolRTSP_H264NalHeader_parse(uint8_t byte_header) SMOLRTSP_PRIV_MUST_USE
Parses an H.264 NAL header from byte_header.
bool SmolRTSP_H264NalHeader_is_pps(SmolRTSP_H264NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is PPS.
bool SmolRTSP_H264NalHeader_is_coded_slice_idr(SmolRTSP_H264NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is a coded slice IDR.
uint8_t SmolRTSP_H264NalHeader_serialize(SmolRTSP_H264NalHeader self) SMOLRTSP_PRIV_MUST_USE
Converts self to a single octet representation.
bool SmolRTSP_H264NalHeader_is_vps(SmolRTSP_H264NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is VPS.
bool SmolRTSP_H264NalHeader_is_sps(SmolRTSP_H264NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is SPS.
An H.264 NAL unit.
Definition h264.h:54
U8Slice99 payload
The payload data of this NAL unit (not including the header).
Definition h264.h:63
SmolRTSP_H264NalHeader header
The NAL header of this NAL unit.
Definition h264.h:58