Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
H264Utils.h
1#pragma once
2
3#include <stddef.h>
4#include <tuple>
5#include <boost/asio/buffer.hpp>
6using boost::asio::const_buffer;
7using boost::asio::mutable_buffer;
8
9class Frame;
10class H264Utils {
11private:
12 H264Utils(void) {}
13public:
29 static H264_NAL_TYPE getNALUType(const char *buffer);
30 static H264_NAL_TYPE getNALUType(Frame *frm);
31 static bool getNALUnit(const char *buffer, size_t length, size_t &offset);
32 static std::tuple<short, const_buffer, const_buffer> parseNalu(const const_buffer input);
33 static H264_NAL_TYPE getNalTypeAfterSpsPps(void* frameData, size_t frameSize);
34};
Definition Frame.h:10
Definition H264Utils.h:10
static bool getNALUnit(const char *buffer, size_t length, size_t &offset)
Definition H264Utils.cpp:16
static std::tuple< short, const_buffer, const_buffer > parseNalu(const const_buffer input)
Definition H264Utils.cpp:35
H264_NAL_TYPE
Definition H264Utils.h:14
@ H264_NAL_TYPE_FILLER_DATA
Definition H264Utils.h:26
@ H264_NAL_TYPE_DP_B_SLICE
Definition H264Utils.h:17
@ H264_NAL_TYPE_PIC_PARAM
Definition H264Utils.h:22
@ H264_NAL_TYPE_END_OF_STREAM
Definition H264Utils.h:25
@ H264_NAL_TYPE_SEQ_EXTENSION
Definition H264Utils.h:27
@ H264_NAL_TYPE_NON_IDR_SLICE
Definition H264Utils.h:15
@ H264_NAL_TYPE_DP_A_SLICE
Definition H264Utils.h:16
@ H264_NAL_TYPE_ACCESS_UNIT
Definition H264Utils.h:23
@ H264_NAL_TYPE_SEQ_PARAM
Definition H264Utils.h:21
@ H264_NAL_TYPE_DP_C_SLICE
Definition H264Utils.h:18
@ H264_NAL_TYPE_END_OF_SEQ
Definition H264Utils.h:24
@ H264_NAL_TYPE_SEI
Definition H264Utils.h:20
@ H264_NAL_TYPE_IDR_SLICE
Definition H264Utils.h:19
static H264_NAL_TYPE getNalTypeAfterSpsPps(void *frameData, size_t frameSize)
Definition H264Utils.cpp:90
H264Utils(void)
Definition H264Utils.h:12
static H264_NAL_TYPE getNALUType(const char *buffer)
Definition H264Utils.cpp:11