15#include <smolrtsp/priv/compiler_attrs.h>
20#define SMOLRTSP_H265_NAL_HEADER_SIZE sizeof(uint16_t)
27#define SMOLRTSP_H265_FU_HEADER_SIZE \
28 ( sizeof(uint16_t) + sizeof(uint8_t))
74 uint8_t bytes[restrict
static 2]) SMOLRTSP_PRIV_MUST_USE;
80 SMOLRTSP_PRIV_MUST_USE;
86 SMOLRTSP_PRIV_MUST_USE;
92 SMOLRTSP_PRIV_MUST_USE;
98 SMOLRTSP_PRIV_MUST_USE;
104 SMOLRTSP_PRIV_MUST_USE;
110 SMOLRTSP_PRIV_MUST_USE;
125 bool is_first_fragment,
bool is_last_fragment);
130#define SMOLRTSP_H265_NAL_UNIT_TRAIL_N 0
135#define SMOLRTSP_H265_NAL_UNIT_TRAIL_R 1
140#define SMOLRTSP_H265_NAL_UNIT_TSA_N 2
145#define SMOLRTSP_H265_NAL_UNIT_TSA_R 3
150#define SMOLRTSP_H265_NAL_UNIT_STSA_N 4
155#define SMOLRTSP_H265_NAL_UNIT_STSA_R 5
160#define SMOLRTSP_H265_NAL_UNIT_RADL_N 6
165#define SMOLRTSP_H265_NAL_UNIT_RADL_R 7
170#define SMOLRTSP_H265_NAL_UNIT_RASL_N 8
175#define SMOLRTSP_H265_NAL_UNIT_RASL_R 9
180#define SMOLRTSP_H265_NAL_UNIT_BLA_W_LP 16
185#define SMOLRTSP_H265_NAL_UNIT_BLA_W_RADL 17
190#define SMOLRTSP_H265_NAL_UNIT_BLA_N_LP 18
195#define SMOLRTSP_H265_NAL_UNIT_IDR_W_RADL 19
200#define SMOLRTSP_H265_NAL_UNIT_IDR_N_LP 20
205#define SMOLRTSP_H265_NAL_UNIT_CRA_NUT 21
210#define SMOLRTSP_H265_NAL_UNIT_VPS_NUT 32
215#define SMOLRTSP_H265_NAL_UNIT_SPS_NUT 33
220#define SMOLRTSP_H265_NAL_UNIT_PPS_NUT 34
225#define SMOLRTSP_H265_NAL_UNIT_AUD_NUT 35
230#define SMOLRTSP_H265_NAL_UNIT_EOS_NUT 36
235#define SMOLRTSP_H265_NAL_UNIT_EOB_NUT 37
240#define SMOLRTSP_H265_NAL_UNIT_FD_NUT 38
245#define SMOLRTSP_H265_NAL_UNIT_PREFIX_SEI_NUT 39
250#define SMOLRTSP_H265_NAL_UNIT_SUFFIX_SEI_NUT 40
bool SmolRTSP_H265NalHeader_is_sps(SmolRTSP_H265NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is SPS.
bool SmolRTSP_H265NalHeader_is_coded_slice_idr(SmolRTSP_H265NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is a coded slice IDR.
void SmolRTSP_H265NalHeader_write_fu_header(SmolRTSP_H265NalHeader self, uint8_t buffer[restrict], bool is_first_fragment, bool is_last_fragment)
Writes a FU header of self to buffer.
bool SmolRTSP_H265NalHeader_is_pps(SmolRTSP_H265NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is PPS.
bool SmolRTSP_H265NalHeader_is_coded_slice_non_idr(SmolRTSP_H265NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is a coded slice non-IDR.
SmolRTSP_H265NalHeader SmolRTSP_H265NalHeader_parse(uint8_t bytes[restrict static 2]) SMOLRTSP_PRIV_MUST_USE
Parses an H.265 NAL header from byte_header.
bool SmolRTSP_H265NalHeader_is_vps(SmolRTSP_H265NalHeader self) SMOLRTSP_PRIV_MUST_USE
Checks whether self is VPS.
uint16_t SmolRTSP_H265NalHeader_serialize(SmolRTSP_H265NalHeader self) SMOLRTSP_PRIV_MUST_USE
Converts self to a two-octet representation.
An H.265 NAL unit.
Definition h265.h:58
U8Slice99 payload
The payload data of this NAL unit (not including the header).
Definition h265.h:67
SmolRTSP_H265NalHeader header
The NAL header of this NAL unit.
Definition h265.h:62