vdr
2.0.4
|
#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) |
![]() | |
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 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 | |
cDvbSubtitleAssembler * | dvbSubtitleAssembler |
cOsd * | osd |
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 | |
![]() | |
void | SetPriority (int Priority) |
void | SetIOPriority (int Priority) |
void | Lock (void) |
void | Unlock (void) |
bool | Running (void) |
void | Cancel (int WaitSeconds=0) |
Definition at line 23 of file dvbsubtitle.h.
cDvbSubtitleConverter::cDvbSubtitleConverter | ( | void | ) |
Definition at line 789 of file dvbsubtitle.c.
References bitmaps, ddsVersionNumber, displayHeight, displayWidth, dvbSubtitleAssembler, frozen, osd, pages, cThread::Start(), windowHeight, windowHorizontalOffset, windowVerticalOffset, and windowWidth.
|
virtual |
Definition at line 805 of file dvbsubtitle.c.
References bitmaps, cThread::Cancel(), dvbSubtitleAssembler, osd, and pages.
|
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().
|
private |
Definition at line 999 of file dvbsubtitle.c.
References LOCK_THREAD, cOsdProvider::NewOsd(), osd, OSD_LEVEL_SUBTITLES, osdDeltaX, osdDeltaY, osdFactorX, osdFactorY, SetOsdData(), Setup, cSetup::SubtitleOffset, windowHorizontalOffset, and windowVerticalOffset.
Referenced by Action(), and FinishPage().
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 | ||
) |
Definition at line 836 of file dvbsubtitle.c.
References dbgconverter, dvbSubtitleAssembler, ExtractSegment(), cDvbSubtitleAssembler::Get(), PesGetPts(), PesHasPts(), PesPayloadOffset(), cDvbSubtitleAssembler::Put(), and cDvbSubtitleAssembler::Reset().
Referenced by cDevice::PlaySubtitle().
|
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().
|
private |
Definition at line 1261 of file dvbsubtitle.c.
References cListBase::Add(), cDvbSubtitleBitmaps::AddBitmap(), AssertOsd(), bitmaps, cPalette::Bpp(), tArea::bpp, cOsd::CanHandleAreas(), cSubtitleRegion::ClutId(), cListBase::Count(), dbgregions, cBitmap::DrawBitmap(), cList< T >::Get(), cDvbSubtitlePage::GetAreas(), cDvbSubtitlePage::GetClutById(), cSubtitleClut::GetPalette(), cBitmap::Height(), cSubtitleRegion::HorizontalAddress(), cSubtitleRegion::Level(), oeOk, osd, osdFactorX, osdFactorY, cDvbSubtitlePage::Pts(), cBitmap::ReduceBpp(), cSubtitleRegion::RegionId(), cDvbSubtitlePage::regions, cPalette::Replace(), cBitmap::ShrinkBpp(), cDvbSubtitlePage::Timeout(), cSubtitleRegion::UpdateTextData(), cSubtitleRegion::VerticalAddress(), and cBitmap::Width().
Referenced by ExtractSegment().
|
inline |
Definition at line 52 of file dvbsubtitle.h.
References frozen.
Referenced by cDevice::Freeze(), and cDevice::Play().
void cDvbSubtitleConverter::Reset | ( | void | ) |
Definition at line 819 of file dvbsubtitle.c.
References bitmaps, cListBase::Clear(), dbgconverter, ddsVersionNumber, DELETENULL(), displayHeight, displayWidth, dvbSubtitleAssembler, frozen, cThread::Lock(), osd, pages, cDvbSubtitleAssembler::Reset(), cThread::Unlock(), windowHeight, windowHorizontalOffset, windowVerticalOffset, and windowWidth.
Referenced by cDevice::Clear(), cDevice::PlayPes(), and cDevice::SetCurrentSubtitleTrack().
|
private |
Definition at line 979 of file dvbsubtitle.c.
References displayHeight, displayWidth, cDevice::GetOsdSize(), cDevice::GetVideoSize(), osdDeltaX, osdDeltaY, osdFactorX, osdFactorY, and cDevice::PrimaryDevice().
Referenced by AssertOsd(), and ExtractSegment().
|
static |
Definition at line 814 of file dvbsubtitle.c.
References setupLevel.
Referenced by ExtractSegment(), and cMenuSetupDVB::ProcessKey().
|
private |
Definition at line 963 of file dvbsubtitle.c.
References constrain().
Referenced by ExtractSegment().
|
private |
Definition at line 41 of file dvbsubtitle.h.
Referenced by Action(), cDvbSubtitleConverter(), FinishPage(), Reset(), and ~cDvbSubtitleConverter().
|
private |
Definition at line 29 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractSegment(), and Reset().
|
private |
Definition at line 31 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractSegment(), Reset(), and SetOsdData().
|
private |
Definition at line 30 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractSegment(), Reset(), and SetOsdData().
|
private |
Definition at line 26 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ConvertFragments(), Reset(), and ~cDvbSubtitleConverter().
|
private |
Definition at line 28 of file dvbsubtitle.h.
Referenced by Action(), cDvbSubtitleConverter(), Freeze(), and Reset().
|
private |
Definition at line 27 of file dvbsubtitle.h.
Referenced by Action(), AssertOsd(), cDvbSubtitleConverter(), FinishPage(), Reset(), and ~cDvbSubtitleConverter().
|
private |
Definition at line 36 of file dvbsubtitle.h.
Referenced by AssertOsd(), and SetOsdData().
|
private |
Definition at line 37 of file dvbsubtitle.h.
Referenced by AssertOsd(), and SetOsdData().
|
private |
Definition at line 38 of file dvbsubtitle.h.
Referenced by AssertOsd(), FinishPage(), and SetOsdData().
|
private |
Definition at line 39 of file dvbsubtitle.h.
Referenced by AssertOsd(), FinishPage(), and SetOsdData().
|
private |
Definition at line 40 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractSegment(), Reset(), and ~cDvbSubtitleConverter().
|
staticprivate |
Definition at line 25 of file dvbsubtitle.h.
Referenced by Action(), and SetupChanged().
|
private |
Definition at line 35 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractSegment(), and Reset().
|
private |
Definition at line 32 of file dvbsubtitle.h.
Referenced by AssertOsd(), cDvbSubtitleConverter(), ExtractSegment(), and Reset().
|
private |
Definition at line 33 of file dvbsubtitle.h.
Referenced by AssertOsd(), cDvbSubtitleConverter(), ExtractSegment(), and Reset().
|
private |
Definition at line 34 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractSegment(), and Reset().