Amazon Kinesis Webrtc C SDK
RtpH264Payloader.h
Go to the documentation of this file.
1 /*******************************************
2 H264 RTP Payloader include file
3 *******************************************/
4 #ifndef __KINESIS_VIDEO_WEBRTC_CLIENT_RTPH264PAYLOADER_H
5 #define __KINESIS_VIDEO_WEBRTC_CLIENT_RTPH264PAYLOADER_H
6 
7 #pragma once
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #define FU_A_HEADER_SIZE 2
14 #define FU_B_HEADER_SIZE 4
15 #define STAP_A_HEADER_SIZE 1
16 #define STAP_B_HEADER_SIZE 3
17 #define SINGLE_U_HEADER_SIZE 1
18 #define FU_A_INDICATOR 28
19 #define FU_B_INDICATOR 29
20 #define STAP_A_INDICATOR 24
21 #define STAP_B_INDICATOR 25
22 #define NAL_TYPE_MASK 31
23 
24 /*
25  * 0 1 2 3
26  * 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
27  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
28  * | FU indicator | FU header | |
29  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
30  * | |
31  * | FU payload |
32  * | |
33  * | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
34  * | :...OPTIONAL RTP padding |
35  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
36  */
37 
38 STATUS createPayloadForH264(UINT32, PBYTE, UINT32, PBYTE, PUINT32, PUINT32, PUINT32);
39 STATUS getNextNaluLength(PBYTE, UINT32, PUINT32, PUINT32);
40 STATUS createPayloadFromNalu(UINT32, PBYTE, UINT32, PPayloadArray, PUINT32, PUINT32);
41 STATUS depayH264FromRtpPayload(PBYTE, UINT32, PBYTE, PUINT32, PBOOL);
42 
43 #ifdef __cplusplus
44 }
45 #endif
46 #endif //__KINESIS_VIDEO_WEBRTC_CLIENT_RTPH264PAYLOADER_H
STATUS createPayloadFromNalu(UINT32, PBYTE, UINT32, PPayloadArray, PUINT32, PUINT32)
Definition: RtpH264Payloader.c:134
STATUS createPayloadForH264(UINT32, PBYTE, UINT32, PBYTE, PUINT32, PUINT32, PUINT32)
Definition: RtpH264Payloader.c:5
STATUS depayH264FromRtpPayload(PBYTE, UINT32, PBYTE, PUINT32, PBOOL)
Definition: RtpH264Payloader.c:227
STATUS getNextNaluLength(PBYTE, UINT32, PUINT32, PUINT32)
Definition: RtpH264Payloader.c:76
Definition: RtpPacket.h:87