Amazon Kinesis Webrtc C SDK
 
Loading...
Searching...
No Matches
RtpH265Payloader.h
Go to the documentation of this file.
1/*******************************************
2H265 RTP Payloader include file
3*******************************************/
4#ifndef __KINESIS_VIDEO_WEBRTC_CLIENT_RTPH265PAYLOADER_H
5#define __KINESIS_VIDEO_WEBRTC_CLIENT_RTPH265PAYLOADER_H
6
7#pragma once
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#define H265_FU_HEADER_SIZE 3
14#define H265_FU_TYPE_ID 49
15
16// https://www.rfc-editor.org/rfc/rfc7798.html#section-4.4.3
17
18/*
19 * 0 1 2 3
20 * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
21 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
22 * | PayloadHdr (Type=49) | FU header | DONL (cond) |
23 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
24 * | DONL (cond) | |
25 * |-+-+-+-+-+-+-+-+ |
26 * | FU payload |
27 * | |
28 * | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
29 * | :...OPTIONAL RTP padding |
30 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
31 */
32
33STATUS createPayloadForH265(UINT32, PBYTE, UINT32, PBYTE, PUINT32, PUINT32, PUINT32);
34STATUS getNextNaluLengthH265(PBYTE, UINT32, PUINT32, PUINT32);
35STATUS createPayloadFromNaluH265(UINT32, PBYTE, UINT32, PPayloadArray, PUINT32, PUINT32);
36STATUS depayH265FromRtpPayload(PBYTE, UINT32, PBYTE, PUINT32, PBOOL);
37
38#ifdef __cplusplus
39}
40#endif
41#endif
STATUS createPayloadForH265(UINT32, PBYTE, UINT32, PBYTE, PUINT32, PUINT32, PUINT32)
Definition RtpH265Payloader.c:5
STATUS createPayloadFromNaluH265(UINT32, PBYTE, UINT32, PPayloadArray, PUINT32, PUINT32)
Definition RtpH265Payloader.c:134
STATUS depayH265FromRtpPayload(PBYTE, UINT32, PBYTE, PUINT32, PBOOL)
Definition RtpH265Payloader.c:224
STATUS getNextNaluLengthH265(PBYTE, UINT32, PUINT32, PUINT32)
Definition RtpH265Payloader.c:76
Definition RtpPacket.h:87