vdr-plugin-softhddevice-drm-gles 1.6.2
cReassemblyBufferVideo Class Reference

Video Stream Reassembly Buffer. More...

#include <pes.h>

Public Member Functions

 cReassemblyBufferVideo (void)
 
AVPacketPopAvPacket (void) override
 
bool ParseCodecHeader (const uint8_t *, int)
 Parse video codec header to detect codec type.
 
bool HasLeadingZero (const uint8_t *, int)
 Check if video data has a leading zero byte before the start code.
 
- Public Member Functions inherited from cReassemblyBuffer
virtual void Push (const uint8_t *data, int size, int64_t pts)
 
bool IsEmpty (void)
 
size_t GetSize (void)
 
void Reset (void)
 Reset the reassembly buffer.
 
AVCodecID GetCodec (void)
 

Static Private Attributes

static constexpr uint32_t VIDEO_FRAME_START_CODE = 0x00'0001
 
static constexpr int VIDEO_FRAME_START_CODE_LEN = 3
 
static constexpr uint8_t MPEG2_STREAM_TYPE = 0xB3
 
static constexpr uint8_t H264_STREAM_TYPE = 0x09
 
static constexpr uint8_t HEVC_STREAM_TYPE = 0x46
 

Additional Inherited Members

- Protected Member Functions inherited from cReassemblyBuffer
 cReassemblyBuffer (const char *identifier)
 
AVPacketPopAvPacket (int)
 Pop an AVPacket from the reassembly buffer.
 
- Protected Attributes inherited from cReassemblyBuffer
AVCodecID m_codec = AV_CODEC_ID_NONE
 detected codec ID
 
cPtsTrackingBuffer m_buffer
 fragmentation buffer
 
int64_t m_lastPoppedPts = AV_NOPTS_VALUE
 PTS of the last popped AVPacket.
 

Detailed Description

Video Stream Reassembly Buffer.

Reassembles video elementary streams (MPEG2, H.264, HEVC) by detecting frame start codes and codec headers.

Definition at line 137 of file pes.h.

Constructor & Destructor Documentation

◆ cReassemblyBufferVideo()

cReassemblyBufferVideo::cReassemblyBufferVideo ( void  )
inline

Definition at line 139 of file pes.h.

Member Function Documentation

◆ PopAvPacket()

AVPacket * cReassemblyBufferVideo::PopAvPacket ( void  )
inlineoverridevirtual

Member Data Documentation

◆ H264_STREAM_TYPE

constexpr uint8_t cReassemblyBufferVideo::H264_STREAM_TYPE = 0x09
staticconstexprprivate

Definition at line 148 of file pes.h.

Referenced by ParseCodecHeader().

◆ HEVC_STREAM_TYPE

constexpr uint8_t cReassemblyBufferVideo::HEVC_STREAM_TYPE = 0x46
staticconstexprprivate

Definition at line 149 of file pes.h.

Referenced by ParseCodecHeader().

◆ MPEG2_STREAM_TYPE

constexpr uint8_t cReassemblyBufferVideo::MPEG2_STREAM_TYPE = 0xB3
staticconstexprprivate

Definition at line 147 of file pes.h.

Referenced by ParseCodecHeader().

◆ VIDEO_FRAME_START_CODE

constexpr uint32_t cReassemblyBufferVideo::VIDEO_FRAME_START_CODE = 0x00'0001
staticconstexprprivate

Definition at line 144 of file pes.h.

Referenced by HasLeadingZero(), and ParseCodecHeader().

◆ VIDEO_FRAME_START_CODE_LEN

constexpr int cReassemblyBufferVideo::VIDEO_FRAME_START_CODE_LEN = 3
staticconstexprprivate

Definition at line 145 of file pes.h.

Referenced by HasLeadingZero(), and ParseCodecHeader().


The documentation for this class was generated from the following files: