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

Base interface for codec-specific closed caption bitstream parsers. More...

#include <ICCBitstreamParser.h>

Inheritance diagram for ICCBitstreamParser:
CH264CCBitstreamParser CMPEG2CCBitstreamParser CH264AVCCBitstreamParser CH264AnnexBBitstreamParser

Public Member Functions

virtual ~ICCBitstreamParser ()=default
 
virtual CCPictureType ParsePacket (DemuxPacket *pPacket, std::vector< CCaptionBlock > &tempBuffer, std::vector< CCaptionBlock > &reorderBuffer)=0
 Parse a video packet and extract closed caption data.
 
virtual const char * GetName () const =0
 Get parser name for debugging/logging.
 

Detailed Description

Base interface for codec-specific closed caption bitstream parsers.

Implementations extract CEA-608/708 closed caption data from video packets. Each codec (MPEG2, H.264 AVCC, H.264 Annex B) has its own parsing logic.

Constructor & Destructor Documentation

◆ ~ICCBitstreamParser()

virtual ICCBitstreamParser::~ICCBitstreamParser ( )
virtualdefault

Member Function Documentation

◆ GetName()

virtual const char * ICCBitstreamParser::GetName ( ) const
pure virtual

Get parser name for debugging/logging.

Returns
Human-readable parser name

Implemented in CH264AnnexBBitstreamParser, CH264AVCCBitstreamParser, and CMPEG2CCBitstreamParser.

◆ ParsePacket()

virtual CCPictureType ICCBitstreamParser::ParsePacket ( DemuxPacket * pPacket,
std::vector< CCaptionBlock > & tempBuffer,
std::vector< CCaptionBlock > & reorderBuffer )
pure virtual

Parse a video packet and extract closed caption data.

Parameters
pPacketVideo packet to parse (contains raw bitstream data)
tempBufferTemporary buffer for CC data (used for reordering)
reorderBufferReorder buffer for CC data (sorted by PTS)
Returns
Picture type of the frame, used to determine when to decode CC

Implementations search for SEI (H.264) or user data (MPEG2) NAL units containing GA94 closed caption payloads.

Implemented in CH264AnnexBBitstreamParser, CH264AVCCBitstreamParser, and CMPEG2CCBitstreamParser.


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