vdr  1.7.31
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)
 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)
virtual ~cThread ()
void SetDescription (const char *Description,...) __attribute__((format(printf
void bool Start (void)
bool Active (void)
 cThread (const char *Description=NULL)
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 void SetupChanged (void)
- Static Public Member Functions inherited from cThread
static tThreadId ThreadId (void)
static tThreadId IsMainThread (void)
static void SetMainThreadId (void)
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)
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)
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 806 of file dvbsubtitle.c.

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

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

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 920 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().

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.

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

Definition at line 883 of file dvbsubtitle.c.

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

Referenced by cDevice::PlayTsSubtitle().

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

Definition at line 1010 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().

int cDvbSubtitleConverter::ExtractSegment ( const uchar Data,
int  Length,
int64_t  Pts 
)
private
void cDvbSubtitleConverter::FinishPage ( cDvbSubtitlePage Page)
private
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::Freeze ( bool  Status)
inline

Definition at line 52 of file include/vdr/dvbsubtitle.h.

References frozen.

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

Definition at line 815 of file dvbsubtitle.c.

References setupLevel.

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

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

Definition at line 964 of file dvbsubtitle.c.

References constrain().

Referenced by ExtractSegment().

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

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().

static 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: