cDvbSubtitleConverter Class Reference

#include <dvbsubtitle.h>

Inheritance diagram for cDvbSubtitleConverter:

Inheritance graph
Collaboration diagram for cDvbSubtitleConverter:

Collaboration graph

List of all members.

Public Member Functions

 cDvbSubtitleConverter (void)
virtual ~cDvbSubtitleConverter ()
void Action (void)
void Reset (void)
int ConvertFragments (const uchar *Data, int Length)
int Convert (const uchar *Data, int Length)

Static Public Member Functions

static void SetupChanged (void)

Private Member Functions

tColor yuv2rgb (int Y, int Cb, int Cr)
bool AssertOsd (void)
int ExtractSegment (const uchar *Data, int Length, int64_t Pts)
void FinishPage (cDvbSubtitlePage *Page)

Private Attributes

cList< cDvbSubtitlePage > * pages
cList< cDvbSubtitleBitmaps > * bitmaps

Static Private Attributes

static int setupLevel = 0

Detailed Description

Definition at line 23 of file dvbsubtitle.h.

Constructor & Destructor Documentation

cDvbSubtitleConverter::cDvbSubtitleConverter ( void   ) 

Definition at line 652 of file dvbsubtitle.c.

References bitmaps, dvbSubtitleAssembler, osd, pages, and cThread::Start().

Here is the call graph for this function:

cDvbSubtitleConverter::~cDvbSubtitleConverter (  )  [virtual]

Definition at line 662 of file dvbsubtitle.c.

References bitmaps, cThread::Cancel(), dvbSubtitleAssembler, osd, and pages.

Here is the call graph for this function:

Member Function Documentation

tColor cDvbSubtitleConverter::yuv2rgb ( int  Y,
int  Cb,
int  Cr 
) [private]

Definition at line 819 of file dvbsubtitle.c.

References max(), and min().

Referenced by ExtractSegment().

Here is the call graph for this function:

bool cDvbSubtitleConverter::AssertOsd ( void   )  [private]

Definition at line 835 of file dvbsubtitle.c.

References cOsdProvider::NewOsd(), osd, OSD_LEVEL_SUBTITLES, Setup, and cSetup::SubtitleOffset.

Referenced by Action(), and FinishPage().

Here is the call graph for this function:

int cDvbSubtitleConverter::ExtractSegment ( const uchar Data,
int  Length,
int64_t  Pts 
) [private]

Definition at line 840 of file dvbsubtitle.c.

References cListBase::Add(), cPalette::Bpp(), cListBase::Clear(), CLUT_DEFINITION_SEGMENT, cSubtitleClut::ClutId(), cSubtitleRegion::ClutId(), cListBase::Count(), dbgcluts, dbgobjects, dbgpages, dbgregions, dbgsegments, cSubtitleRegion::Depth(), END_OF_DISPLAY_SET_SEGMENT, cSubtitleRegion::FillRegion(), FinishPage(), cList< T >::First(), cDvbSubtitlePage::GetClutById(), cDvbSubtitlePage::GetObjectById(), cSubtitleRegion::GetObjectById(), cDvbSubtitlePage::GetRegionById(), cSubtitleRegion::Level(), LOCK_THREAD, cList< T >::Next(), OBJECT_DATA_SEGMENT, cSubtitleObject::ObjectId(), PAGE_COMPOSITION_SEGMENT, pages, cDvbSubtitlePage::Pts(), REGION_COMPOSITION_SEGMENT, cSubtitleRegion::RegionId(), cDvbSubtitlePage::regions, cSubtitleRegion::SetClutId(), cSubtitleObject::SetCodingMethod(), cSubtitleClut::SetColor(), cSubtitleRegion::SetDepth(), cSubtitleRegion::SetHorizontalAddress(), cSubtitleRegion::SetLevel(), cDvbSubtitlePage::SetPts(), cBitmap::SetSize(), cDvbSubtitlePage::SetState(), cDvbSubtitlePage::SetTimeout(), Setup, cSubtitleObject::SetVersion(), cSubtitleClut::SetVersion(), cSubtitleRegion::SetVersion(), cDvbSubtitlePage::SetVersion(), cSubtitleRegion::SetVerticalAddress(), cDvbSubtitlePage::State(), cSetup::SubtitleBgTransparency, cSetup::SubtitleFgTransparency, cDvbSubtitlePage::Timeout(), cDvbSubtitlePage::UpdateRegionPalette(), cSubtitleObject::Version(), cSubtitleClut::Version(), cSubtitleRegion::Version(), cDvbSubtitlePage::Version(), and yuv2rgb().

Referenced by Convert(), and ConvertFragments().

Here is the call graph for this function:

void cDvbSubtitleConverter::FinishPage ( cDvbSubtitlePage Page  )  [private]

void cDvbSubtitleConverter::Action ( void   )  [virtual]

A derived cThread class must implement the code it wants to execute as a separate thread in this function. If this is a loop, it must check Running() repeatedly to see whether it's time to stop.

Implements cThread.

Definition at line 770 of file dvbsubtitle.c.

References AssertOsd(), bitmaps, cListBase::Count(), dbgconverter, cListBase::Del(), DELETENULL, cList< T >::First(), cDevice::GetSTC(), LimitTo32Bit, cThread::Lock(), MAXDELTA, osd, cDevice::PrimaryDevice(), cThread::Running(), cTimeMs::Set(), setupLevel, cCondWait::SleepMs(), cTimeMs::TimedOut(), and cThread::Unlock().

Here is the call graph for this function:

void cDvbSubtitleConverter::Reset ( void   ) 

int cDvbSubtitleConverter::ConvertFragments ( const uchar Data,
int  Length 

int cDvbSubtitleConverter::Convert ( const uchar Data,
int  Length 

Definition at line 733 of file dvbsubtitle.c.

References dbgconverter, ExtractSegment(), PesGetPts(), and PesPayloadOffset().

Referenced by cDevice::PlayTsSubtitle().

Here is the call graph for this function:

void cDvbSubtitleConverter::SetupChanged ( void   )  [static]

Definition at line 671 of file dvbsubtitle.c.

References setupLevel.

Referenced by cMenuSetupDVB::ProcessKey().

Member Data Documentation

int cDvbSubtitleConverter::setupLevel = 0 [static, private]

Definition at line 25 of file dvbsubtitle.h.

Referenced by Action(), and SetupChanged().

Definition at line 28 of file dvbsubtitle.h.

Referenced by cDvbSubtitleConverter(), ExtractSegment(), Reset(), and ~cDvbSubtitleConverter().

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

Generated on Tue Jan 13 14:28:44 2009 for VDR by  doxygen 1.5.6