Amazon Kinesis Webrtc C SDK
 
Loading...
Searching...
No Matches
RtpH264Payloader.h
Go to the documentation of this file.
1/*******************************************
2H264 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
10extern "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
38STATUS createPayloadForH264(UINT32, PBYTE, UINT32, PBYTE, PUINT32, PUINT32, PUINT32);
39STATUS getNextNaluLength(PBYTE, UINT32, PUINT32, PUINT32);
40STATUS createPayloadFromNalu(UINT32, PBYTE, UINT32, PPayloadArray, PUINT32, PUINT32);
41STATUS 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