Amazon Kinesis Webrtc C SDK
RtpH265Payloader.h
Go to the documentation of this file.
1 /*******************************************
2 H265 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
10 extern "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 
33 STATUS createPayloadForH265(UINT32, PBYTE, UINT32, PBYTE, PUINT32, PUINT32, PUINT32);
34 STATUS getNextNaluLengthH265(PBYTE, UINT32, PUINT32, PUINT32);
35 STATUS createPayloadFromNaluH265(UINT32, PBYTE, UINT32, PPayloadArray, PUINT32, PUINT32);
36 STATUS 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