Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CH264AnnexBBitstreamParser Class Reference

H.264 Annex B format closed caption parser. More...

#include <H264AnnexBBitstreamParser.h>

Inheritance diagram for CH264AnnexBBitstreamParser:
CH264CCBitstreamParser ICCBitstreamParser

Public Member Functions

 CH264AnnexBBitstreamParser ()=default
 
 ~CH264AnnexBBitstreamParser () override=default
 
CCPictureType ParsePacket (DemuxPacket *pPacket, std::vector< CCaptionBlock > &tempBuffer, std::vector< CCaptionBlock > &reorderBuffer) override
 Parse Annex B packet for closed caption data.
 
const char * GetName () const override
 Get parser name for debugging/logging.
 
- Public Member Functions inherited from ICCBitstreamParser
virtual ~ICCBitstreamParser ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from CH264CCBitstreamParser
void ProcessSEIPayload (std::span< const uint8_t > buf, double pts, std::vector< CCaptionBlock > &tempBuffer)
 Process SEI payload containing closed caption data.
 
CCPictureType DetectSliceType (std::span< const uint8_t > buf)
 Detect slice type from H.264 slice header.
 

Detailed Description

H.264 Annex B format closed caption parser.

Parses H.264 streams in Annex B format used by MPEG-TS and broadcast streams. Annex B uses start codes to delimit NAL units:

  • 0x000001 (3-byte start code) or 0x00000001 (4-byte start code)
  • NAL unit data until next start code

Extracts CC data from SEI NAL units (type 6) with payload type 4.

Constructor & Destructor Documentation

◆ CH264AnnexBBitstreamParser()

CH264AnnexBBitstreamParser::CH264AnnexBBitstreamParser ( )
default

◆ ~CH264AnnexBBitstreamParser()

CH264AnnexBBitstreamParser::~CH264AnnexBBitstreamParser ( )
overridedefault

Member Function Documentation

◆ GetName()

const char * CH264AnnexBBitstreamParser::GetName ( ) const
inlineoverridevirtual

Get parser name for debugging/logging.

Returns
Human-readable parser name

Implements ICCBitstreamParser.

◆ ParsePacket()

CCPictureType CH264AnnexBBitstreamParser::ParsePacket ( DemuxPacket * pPacket,
std::vector< CCaptionBlock > & tempBuffer,
std::vector< CCaptionBlock > & reorderBuffer )
overridevirtual

Parse Annex B packet for closed caption data.

Scans for start codes, extracts CC data from SEI NAL units, and detects picture type from slice headers.

Parameters
pPacketH.264 video packet in Annex B format
tempBufferTemporary buffer for CC data from reference frames
reorderBufferReorder buffer for CC data
Returns
Picture type (I_FRAME, P_FRAME, or OTHER)

Implements ICCBitstreamParser.


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