vdr  2.0.6
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
cDvbSubtitleConverter Class Reference

#include <dvbsubtitle.h>

Public Member Functions

 cDvbSubtitleConverter (void)
 
virtual ~cDvbSubtitleConverter ()
 
void Action (void)
 
void Reset (void)
 
void Freeze (bool Status)
 
int ConvertFragments (const uchar *Data, int Length)
 
int Convert (const uchar *Data, int Length)
 
- Public Member Functions inherited from cThread
 cThread (const char *Description=NULL, bool LowPriority=false)
 
virtual ~cThread ()
 
void SetDescription (const char *Description,...) __attribute__((format(printf
 
void bool Start (void)
 
bool Active (void)
 

Static Public Member Functions

static void SetupChanged (void)
 
- Static Public Member Functions inherited from cThread
static tThreadId ThreadId (void)
 
static tThreadId IsMainThread (void)
 
static void SetMainThreadId (void)
 

Private Member Functions

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

Private Attributes

cDvbSubtitleAssemblerdvbSubtitleAssembler
 
cOsdosd
 
bool frozen
 
int ddsVersionNumber
 
int displayWidth
 
int displayHeight
 
int windowHorizontalOffset
 
int windowVerticalOffset
 
int windowWidth
 
int windowHeight
 
int osdDeltaX
 
int osdDeltaY
 
double osdFactorX
 
double osdFactorY
 
cList< cDvbSubtitlePage > * pages
 
cList< cDvbSubtitleBitmaps > * bitmaps
 

Static Private Attributes

static int setupLevel = 0
 

Additional Inherited Members

- Protected Member Functions inherited from cThread
void SetPriority (int Priority)
 
void SetIOPriority (int Priority)
 
void Lock (void)
 
void Unlock (void)
 
bool Running (void)
 
void Cancel (int WaitSeconds=0)
 

Detailed Description

Definition at line 23 of file dvbsubtitle.h.

Constructor & Destructor Documentation

cDvbSubtitleConverter::cDvbSubtitleConverter ( void  )
cDvbSubtitleConverter::~cDvbSubtitleConverter ( )
virtual

Definition at line 805 of file dvbsubtitle.c.

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

Member Function Documentation

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 919 of file dvbsubtitle.c.

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

bool cDvbSubtitleConverter::AssertOsd ( void  )
private
int cDvbSubtitleConverter::Convert ( const uchar Data,
int  Length 
)

Definition at line 882 of file dvbsubtitle.c.

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

Referenced by cDevice::PlayTsSubtitle().

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

Definition at line 1009 of file dvbsubtitle.c.

References cListBase::Add(), cPalette::Bpp(), CLUT_DEFINITION_SEGMENT, cSubtitleClut::ClutId(), cSubtitleRegion::ClutId(), cListBase::Count(), dbgcluts, dbgobjects, dbgpages, dbgregions, dbgsegments, ddsVersionNumber, cSubtitleRegion::Depth(), DISPARITY_SIGNALING_SEGMENT, DISPLAY_DEFINITION_SEGMENT, displayHeight, displayWidth, END_OF_DISPLAY_SET_SEGMENT, cSubtitleRegion::FillRegion(), FinishPage(), cList< T >::First(), cBitStream::GetBit(), cBitStream::GetBits(), cDvbSubtitlePage::GetClutById(), cBitStream::GetData(), cSubtitleRegion::GetObjectById(), cDvbSubtitlePage::GetObjectById(), cDvbSubtitlePage::GetRegionById(), cBitStream::Index(), cBitStream::IsEOF(), cBitStream::Length(), cSubtitleRegion::Level(), LOCK_THREAD, cList< T >::Next(), OBJECT_DATA_SEGMENT, cSubtitleObject::ObjectId(), PAGE_COMPOSITION_SEGMENT, pages, cDvbSubtitlePage::Pts(), REGION_COMPOSITION_SEGMENT, cSubtitleRegion::RegionId(), cSubtitleRegion::SetClutId(), cSubtitleClut::SetColor(), cSubtitleRegion::SetDepth(), cSubtitleRegion::SetHorizontalAddress(), cBitStream::SetLength(), cSubtitleRegion::SetLevel(), SetOsdData(), cDvbSubtitlePage::SetPts(), cBitmap::SetSize(), cDvbSubtitlePage::SetState(), cDvbSubtitlePage::SetTimeout(), Setup, SetupChanged(), cSubtitleClut::SetVersion(), cSubtitleRegion::SetVersion(), cDvbSubtitlePage::SetVersion(), cSubtitleRegion::SetVerticalAddress(), cBitStream::SkipBit(), cBitStream::SkipBits(), cDvbSubtitlePage::State(), STUFFING_SEGMENT, cSetup::SubtitleBgTransparency, cSetup::SubtitleFgTransparency, cDvbSubtitlePage::Timeout(), cSubtitleClut::Version(), cSubtitleObject::Version(), cSubtitleRegion::Version(), cDvbSubtitlePage::Version(), windowHeight, windowHorizontalOffset, windowVerticalOffset, windowWidth, cBitStream::WordAlign(), and yuv2rgb().

Referenced by Convert(), and ConvertFragments().

void cDvbSubtitleConverter::FinishPage ( cDvbSubtitlePage Page)
private
void cDvbSubtitleConverter::Freeze ( bool  Status)
inline

Definition at line 52 of file dvbsubtitle.h.

References frozen.

Referenced by cDevice::Freeze(), and cDevice::Play().

void cDvbSubtitleConverter::Reset ( void  )
void cDvbSubtitleConverter::SetOsdData ( void  )
private
void cDvbSubtitleConverter::SetupChanged ( void  )
static

Definition at line 814 of file dvbsubtitle.c.

References setupLevel.

Referenced by ExtractSegment(), and cMenuSetupDVB::ProcessKey().

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

Definition at line 963 of file dvbsubtitle.c.

References constrain().

Referenced by ExtractSegment().

Member Data Documentation

cList<cDvbSubtitleBitmaps>* cDvbSubtitleConverter::bitmaps
private
int cDvbSubtitleConverter::ddsVersionNumber
private

Definition at line 29 of file dvbsubtitle.h.

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

int cDvbSubtitleConverter::displayHeight
private

Definition at line 31 of file dvbsubtitle.h.

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

int cDvbSubtitleConverter::displayWidth
private

Definition at line 30 of file dvbsubtitle.h.

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

cDvbSubtitleAssembler* cDvbSubtitleConverter::dvbSubtitleAssembler
private
bool cDvbSubtitleConverter::frozen
private

Definition at line 28 of file dvbsubtitle.h.

Referenced by Action(), cDvbSubtitleConverter(), Freeze(), and Reset().

cOsd* cDvbSubtitleConverter::osd
private
int cDvbSubtitleConverter::osdDeltaX
private

Definition at line 36 of file dvbsubtitle.h.

Referenced by AssertOsd(), and SetOsdData().

int cDvbSubtitleConverter::osdDeltaY
private

Definition at line 37 of file dvbsubtitle.h.

Referenced by AssertOsd(), and SetOsdData().

double cDvbSubtitleConverter::osdFactorX
private

Definition at line 38 of file dvbsubtitle.h.

Referenced by AssertOsd(), FinishPage(), and SetOsdData().

double cDvbSubtitleConverter::osdFactorY
private

Definition at line 39 of file dvbsubtitle.h.

Referenced by AssertOsd(), FinishPage(), and SetOsdData().

cList<cDvbSubtitlePage>* cDvbSubtitleConverter::pages
private

Definition at line 40 of file dvbsubtitle.h.

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

int cDvbSubtitleConverter::setupLevel = 0
staticprivate

Definition at line 25 of file dvbsubtitle.h.

Referenced by Action(), and SetupChanged().

int cDvbSubtitleConverter::windowHeight
private

Definition at line 35 of file dvbsubtitle.h.

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

int cDvbSubtitleConverter::windowHorizontalOffset
private

Definition at line 32 of file dvbsubtitle.h.

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

int cDvbSubtitleConverter::windowVerticalOffset
private

Definition at line 33 of file dvbsubtitle.h.

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

int cDvbSubtitleConverter::windowWidth
private

Definition at line 34 of file dvbsubtitle.h.

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


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