#include <DVDRingBuffer.h>
A spiffy little class to allow a RingBuffer to read from DVDs.
Definition at line 27 of file DVDRingBuffer.h.
Public Member Functions | |
| DVDRingBufferPriv () | |
| virtual | ~DVDRingBufferPriv () |
| int | GetTitle (void) const |
| int | GetPart (void) const |
| bool | IsInMenu (void) const |
| bool | IsOpen (void) const |
| long long | GetReadPosition (void) |
| returns current position in the PGC. | |
| long long | GetTotalReadPosition (void) |
| void | GetDescForPos (QString &desc) const |
| void | GetPartAndTitle (int &_part, int &_title) const |
| uint | GetTotalTimeOfTitle (void) |
| get the total time of the title in seconds 90000 ticks = 1 sec | |
| uint | GetChapterLength (void) const |
| uint | GetCellStart (void) |
| get the start of the cell in seconds | |
| bool | PGCLengthChanged (void) |
| check if pgc length has changed | |
| bool | CellChanged (void) |
| check if dvd cell has changed | |
| bool | InStillFrame (void) const |
| bool | AudioStreamsChanged (void) const |
| bool | IsWaiting (void) const |
| int | NumPartsInTitle (void) const |
| void | GetMenuSPUPkt (uint8_t *buf, int len, int stream_id) |
| get SPU pkt from dvd menu subtitle stream | |
| QRect | GetButtonCoords (void) |
| get coordinates of highlighted button | |
| AVSubtitle * | GetMenuSubtitle (void) |
| returns dvd menu button information if available. | |
| void | ReleaseMenuButton (void) |
| bool | IgnoringStillorWait (void) |
| uint | GetAudioLanguage (int id) |
| get the audio language from the dvd | |
| int | GetSubTrackNum (uint key) |
| get real dvd track subtitle number | |
| int | GetAudioTrackNum (uint key) |
| get real dvd track audio number | |
| uint | GetSubtitleLanguage (int key) |
| get the subtitle language from the dvd | |
| void | SetMenuPktPts (long long pts) |
| long long | GetMenuPktPts (void) |
| bool | DecodeSubtitles (AVSubtitle *sub, int *gotSubtitles, const uint8_t *buf, int buf_size) |
| generate dvd subtitle bitmap or dvd menu bitmap. | |
| bool | GetNameAndSerialNum (QString &_name, QString &_serialnum) |
| Get the dvd title and serial num. | |
| bool | JumpToTitle (void) |
| double | GetFrameRate (void) |
| used by DecoderBase for the total frame number calculation for position map support and ffw/rew. | |
| bool | StartOfTitle (void) |
| bool | EndOfTitle (void) |
| int | GetCellID (void) |
| int | GetVobID (void) |
| bool | IsSameChapter (int tmpcellid, int tmpvobid) |
| check if the current chapter is the same as the previously accessed chapter. | |
| void | RunSeekCellStart (void) |
| Run SeekCellStart its okay to run seekcellstart ffmpeg for some reason doesnt' output menu spu if seekcellstart is started too soon after a video codec/resolution change. | |
| bool | OpenFile (const QString &filename) |
| void | PlayTitleAndPart (int _title, int _part) |
| void | CloseDVD (void) |
| bool | nextTrack (void) |
| void | prevTrack (void) |
| int | safe_read (void *data, unsigned sz) |
| long long | NormalSeek (long long time) |
| void | SkipStillFrame (void) |
| void | WaitSkip (void) |
| bool | GoToMenu (const QString str) |
| jump to a dvd root or chapter menu | |
| void | GoToNextProgram (void) |
| void | GoToPreviousProgram (void) |
| void | MoveButtonLeft (void) |
| void | MoveButtonRight (void) |
| void | MoveButtonUp (void) |
| void | MoveButtonDown (void) |
| void | ActivateButton (void) |
| action taken when a dvd menu button is selected | |
| int | NumMenuButtons (void) const |
| void | IgnoreStillOrWait (bool skip) |
| void | InStillFrame (bool change) |
| void | AudioStreamsChanged (bool change) |
| uint | GetCurrentTime (void) |
| uint | TitleTimeLeft (void) |
| returns seconds left in the title | |
| void | SetTrack (uint type, int trackNo) |
| set the dvd subtitle/audio track used | |
| int | GetTrack (uint type) |
| get the track the dvd should be playing. | |
| uint8_t | GetNumAudioChannels (int id) |
| void | JumpToTitle (bool change) |
| void | SetDVDSpeed (void) |
| set dvd speed. | |
| void | SetDVDSpeed (int speed) |
| set dvd speed. | |
| void | SetRunSeekCellStart (bool change) |
| void | SetParent (NuppelVideoPlayer *p) |
Protected Member Functions | |
| long long | Seek (long long time) |
| bool | DVDButtonUpdate (bool b_mode) |
| update the dvd menu button parameters when a user changes the dvd menu button position | |
| void | ClearMenuSPUParameters (void) |
| clears the menu SPU pkt and parameters. | |
| void | ClearMenuButton (void) |
| clears the dvd menu button structures | |
| bool | MenuButtonChanged (void) |
| uint | ConvertLangCode (uint16_t code) |
| converts the subtitle/audio lang code to iso639. | |
| void | SelectDefaultButton (void) |
| determines the default dvd menu button to show when you initially access the dvd menu. | |
| void | ClearSubtitlesOSD (void) |
| clear the currently displaying subtitles or dvd menu buttons. | |
| bool | SeekCellStart (void) |
| seek the beginning of a dvd cell | |
| int | get_nibble (const uint8_t *buf, int nibble_offset) |
| copied from ffmpeg's dvdsubdec.c | |
| int | decode_rle (uint8_t *bitmap, int linesize, int w, int h, const uint8_t *buf, int nibble_offset, int buf_size) |
| decodes the bitmap from the subtitle packet. | |
| void | guess_palette (uint32_t *rgba_palette, uint8_t *palette, uint8_t *alpha) |
| converts palette values from YUV to RGB | |
| int | is_transp (const uint8_t *buf, int pitch, int n, const uint8_t *transp_color) |
| obtained from ffmpeg dvdsubdec.c used to find smallest bounded rectangle | |
| int | find_smallest_bounding_rectangle (AVSubtitle *s) |
| obtained from ffmpeg dvdsubdec.c used to find smallest bounded rect. | |
Protected Attributes | |
| dvdnav_t * | dvdnav |
| unsigned char | dvdBlockWriteBuf [DVD_BLOCK_SIZE] |
| unsigned char * | dvdBlockReadBuf |
| const char * | dvdFilename |
| int | dvdBlockRPos |
| int | dvdBlockWPos |
| long long | pgLength |
| long long | pgcLength |
| long long | cellStart |
| bool | cellChanged |
| bool | pgcLengthChanged |
| long long | pgStart |
| long long | currentpos |
| dvdnav_t * | lastNav |
| int32_t | part |
| int32_t | title |
| int32_t | titleParts |
| bool | gotStop |
| bool | cellHasStillFrame |
| bool | audioStreamsChanged |
| bool | dvdWaiting |
| long long | titleLength |
| MythTimer | stillFrameTimer |
| uint32_t | clut [16] |
| uint8_t | button_color [4] |
| uint8_t | button_alpha [4] |
| QRect | hl_button |
| uint8_t * | menuSpuPkt |
| int | menuBuflength |
| AVSubtitle | dvdMenuButton |
| bool | skipstillorwait |
| long long | cellstartPos |
| bool | buttonSelected |
| bool | buttonExists |
| int | cellid |
| int | lastcellid |
| int | vobid |
| int | lastvobid |
| bool | cellRepeated |
| int | buttonstreamid |
| bool | runningCellStart |
| bool | runSeekCellStart |
| long long | menupktpts |
| int | curAudioTrack |
| int8_t | curSubtitleTrack |
| bool | autoselectaudio |
| bool | autoselectsubtitle |
| bool | jumptotitle |
| long long | seekpos |
| int | seekwhence |
| QString | dvdname |
| QString | serialnumber |
| bool | seeking |
| uint64_t | seektime |
| uint | currentTime |
| QMap< uint, uint > | seekSpeedMap |
| QMap< uint, uint > | audioTrackMap |
| QMap< uint, uint > | subTrackMap |
| NuppelVideoPlayer * | parent |
| QMutex | menuBtnLock |
| QMutex | seekLock |
| DVDRingBufferPriv::DVDRingBufferPriv | ( | ) |
Definition at line 27 of file DVDRingBuffer.cpp.
| DVDRingBufferPriv::~DVDRingBufferPriv | ( | ) | [virtual] |
Definition at line 72 of file DVDRingBuffer.cpp.
| int DVDRingBufferPriv::GetTitle | ( | void | ) | const [inline] |
Definition at line 34 of file DVDRingBuffer.h.
| int DVDRingBufferPriv::GetPart | ( | void | ) | const [inline] |
Definition at line 35 of file DVDRingBuffer.h.
| bool DVDRingBufferPriv::IsInMenu | ( | void | ) | const |
Definition at line 88 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::calcSliderPos(), DecodeSubtitles(), GetDescForPos(), AvFormatDecoder::GetFrame(), RingBuffer::InDVDMenuOrStillFrame(), safe_read(), Seek(), and TV::ShowLCDDVDInfo().
| bool DVDRingBufferPriv::IsOpen | ( | void | ) | const [inline] |
| long long DVDRingBufferPriv::GetReadPosition | ( | void | ) |
returns current position in the PGC.
Definition at line 219 of file DVDRingBuffer.cpp.
Referenced by RingBuffer::GetReadPosition(), and safe_read().
| long long DVDRingBufferPriv::GetTotalReadPosition | ( | void | ) | [inline] |
| void DVDRingBufferPriv::GetDescForPos | ( | QString & | desc | ) | const |
| void DVDRingBufferPriv::GetPartAndTitle | ( | int & | _part, | |
| int & | _title | |||
| ) | const [inline] |
Definition at line 41 of file DVDRingBuffer.h.
Referenced by AvFormatDecoder::GetFrame(), NuppelVideoPlayer::SetDVDBookmark(), and TV::ShowLCDDVDInfo().
| uint DVDRingBufferPriv::GetTotalTimeOfTitle | ( | void | ) |
get the total time of the title in seconds 90000 ticks = 1 sec
Definition at line 658 of file DVDRingBuffer.cpp.
Referenced by TV::BookmarkAllowed(), TV::DVDJumpBack(), TV::DVDJumpForward(), DecoderBase::PosMapFromDb(), NuppelVideoPlayer::SetDVDBookmark(), TV::ShowLCDDVDInfo(), DecoderBase::SyncPositionMap(), and TitleTimeLeft().
| uint DVDRingBufferPriv::GetChapterLength | ( | void | ) | const [inline] |
Definition at line 44 of file DVDRingBuffer.h.
Referenced by NuppelVideoPlayer::DisplayNormalFrame(), TV::DVDJumpBack(), and TV::DVDJumpForward().
| uint DVDRingBufferPriv::GetCellStart | ( | void | ) |
get the start of the cell in seconds
Definition at line 665 of file DVDRingBuffer.cpp.
Referenced by DecoderBase::ChangeDVDTrack().
| bool DVDRingBufferPriv::PGCLengthChanged | ( | void | ) |
check if pgc length has changed
Definition at line 681 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::GetFrame().
| bool DVDRingBufferPriv::CellChanged | ( | void | ) |
check if dvd cell has changed
Definition at line 672 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::GetFrame().
| bool DVDRingBufferPriv::InStillFrame | ( | void | ) | const [inline] |
Definition at line 48 of file DVDRingBuffer.h.
Referenced by NuppelVideoPlayer::AddAudioData(), NuppelVideoPlayer::AVSync(), NuppelVideoPlayer::DisplayNormalFrame(), TV::DVDJumpForward(), AvFormatDecoder::GetFrame(), RingBuffer::InDVDMenuOrStillFrame(), and TV::ShowLCDDVDInfo().
| bool DVDRingBufferPriv::AudioStreamsChanged | ( | void | ) | const [inline] |
| bool DVDRingBufferPriv::IsWaiting | ( | void | ) | const [inline] |
| int DVDRingBufferPriv::NumPartsInTitle | ( | void | ) | const [inline] |
| void DVDRingBufferPriv::GetMenuSPUPkt | ( | uint8_t * | buf, | |
| int | len, | |||
| int | stream_id | |||
| ) |
get SPU pkt from dvd menu subtitle stream
Definition at line 803 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::GetFrame().
| QRect DVDRingBufferPriv::GetButtonCoords | ( | void | ) |
get coordinates of highlighted button
Definition at line 858 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::DisplayDVDButton().
| AVSubtitle * DVDRingBufferPriv::GetMenuSubtitle | ( | void | ) |
returns dvd menu button information if available.
used by NVP::DisplayDVDButton
Definition at line 836 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::DisplayDVDButton().
| void DVDRingBufferPriv::ReleaseMenuButton | ( | void | ) |
Definition at line 851 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::DisplayDVDButton().
| bool DVDRingBufferPriv::IgnoringStillorWait | ( | void | ) | [inline] |
Definition at line 58 of file DVDRingBuffer.h.
| uint DVDRingBufferPriv::GetAudioLanguage | ( | int | id | ) |
get the audio language from the dvd
Definition at line 1132 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::GetTrackDesc().
| int DVDRingBufferPriv::GetSubTrackNum | ( | uint | stream_id | ) |
get real dvd track subtitle number
| stream_id | stream_id of dvd track. |
Definition at line 1142 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::ScanStreams().
| int DVDRingBufferPriv::GetAudioTrackNum | ( | uint | stream_id | ) |
get real dvd track audio number
| key | stream_id of dvd track audioTrackMap. |
Definition at line 1159 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::ScanStreams().
| uint DVDRingBufferPriv::GetSubtitleLanguage | ( | int | key | ) |
get the subtitle language from the dvd
Definition at line 1174 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::GetTrackDesc().
| void DVDRingBufferPriv::SetMenuPktPts | ( | long long | pts | ) | [inline] |
Definition at line 63 of file DVDRingBuffer.h.
| long long DVDRingBufferPriv::GetMenuPktPts | ( | void | ) | [inline] |
Definition at line 64 of file DVDRingBuffer.h.
| bool DVDRingBufferPriv::DecodeSubtitles | ( | AVSubtitle * | sub, | |
| int * | gotSubtitles, | |||
| const uint8_t * | spu_pkt, | |||
| int | buf_size | |||
| ) |
generate dvd subtitle bitmap or dvd menu bitmap.
code obtained from ffmpeg project
Definition at line 880 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::GetFrame(), and GetMenuSPUPkt().
| bool DVDRingBufferPriv::GetNameAndSerialNum | ( | QString & | _name, | |
| QString & | _serialnum | |||
| ) |
Get the dvd title and serial num.
Definition at line 1274 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::GetDVDBookmark(), internal_play_media(), NuppelVideoPlayer::SetDVDBookmark(), and TV::ShowLCDDVDInfo().
| bool DVDRingBufferPriv::JumpToTitle | ( | void | ) | [inline] |
Definition at line 68 of file DVDRingBuffer.h.
Referenced by NuppelVideoPlayer::GetDVDBookmark(), NuppelVideoPlayer::OpenFile(), and TV::ProcessKeypress().
| double DVDRingBufferPriv::GetFrameRate | ( | void | ) |
used by DecoderBase for the total frame number calculation for position map support and ffw/rew.
FPS for a dvd is determined by AFD::normalized_fps
Definition at line 1287 of file DVDRingBuffer.cpp.
Referenced by DecoderBase::PosMapFromDb().
| bool DVDRingBufferPriv::StartOfTitle | ( | void | ) | [inline] |
| bool DVDRingBufferPriv::EndOfTitle | ( | void | ) | [inline] |
| int DVDRingBufferPriv::GetCellID | ( | void | ) | [inline] |
Definition at line 74 of file DVDRingBuffer.h.
| int DVDRingBufferPriv::GetVobID | ( | void | ) | [inline] |
Definition at line 75 of file DVDRingBuffer.h.
| bool DVDRingBufferPriv::IsSameChapter | ( | int | tmpcellid, | |
| int | tmpvobid | |||
| ) |
check if the current chapter is the same as the previously accessed chapter.
Definition at line 1302 of file DVDRingBuffer.cpp.
| void DVDRingBufferPriv::RunSeekCellStart | ( | void | ) |
Run SeekCellStart its okay to run seekcellstart ffmpeg for some reason doesnt' output menu spu if seekcellstart is started too soon after a video codec/resolution change.
Definition at line 1314 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::GetFrame().
| bool DVDRingBufferPriv::OpenFile | ( | const QString & | filename | ) |
| void DVDRingBufferPriv::PlayTitleAndPart | ( | int | _title, | |
| int | _part | |||
| ) | [inline] |
| void DVDRingBufferPriv::CloseDVD | ( | void | ) |
| bool DVDRingBufferPriv::nextTrack | ( | void | ) |
| void DVDRingBufferPriv::prevTrack | ( | void | ) |
| int DVDRingBufferPriv::safe_read | ( | void * | data, | |
| unsigned | sz | |||
| ) |
Definition at line 234 of file DVDRingBuffer.cpp.
Referenced by OpenFile(), RingBuffer::Read(), and RingBuffer::ReadAheadThread().
| long long DVDRingBufferPriv::NormalSeek | ( | long long | time | ) |
| void DVDRingBufferPriv::SkipStillFrame | ( | void | ) |
Definition at line 688 of file DVDRingBuffer.cpp.
Referenced by TV::DVDJumpForward(), and safe_read().
| void DVDRingBufferPriv::WaitSkip | ( | void | ) |
Definition at line 694 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::OutputVideoLoop(), and safe_read().
| bool DVDRingBufferPriv::GoToMenu | ( | const QString | str | ) |
jump to a dvd root or chapter menu
Definition at line 704 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::GoToDVDMenu().
| void DVDRingBufferPriv::GoToNextProgram | ( | void | ) |
Definition at line 739 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::GoToDVDProgram().
| void DVDRingBufferPriv::GoToPreviousProgram | ( | void | ) |
Definition at line 747 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::GoToDVDProgram().
| void DVDRingBufferPriv::MoveButtonLeft | ( | void | ) |
| void DVDRingBufferPriv::MoveButtonRight | ( | void | ) |
| void DVDRingBufferPriv::MoveButtonUp | ( | void | ) |
| void DVDRingBufferPriv::MoveButtonDown | ( | void | ) |
| void DVDRingBufferPriv::ActivateButton | ( | void | ) |
action taken when a dvd menu button is selected
Definition at line 792 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::ActivateDVDButton().
| int DVDRingBufferPriv::NumMenuButtons | ( | void | ) | const |
Definition at line 1120 of file DVDRingBuffer.cpp.
Referenced by ActivateButton(), DecodeSubtitles(), NuppelVideoPlayer::DisplayDVDButton(), NuppelVideoPlayer::DisplayNormalFrame(), TV::DVDJumpForward(), AvFormatDecoder::GetFrame(), MoveButtonDown(), MoveButtonLeft(), MoveButtonRight(), MoveButtonUp(), TV::ProcessKeypress(), RunSeekCellStart(), and SelectDefaultButton().
| void DVDRingBufferPriv::IgnoreStillOrWait | ( | bool | skip | ) | [inline] |
Definition at line 99 of file DVDRingBuffer.h.
Referenced by AvFormatDecoder::OpenFile(), and TV::StopStuff().
| void DVDRingBufferPriv::InStillFrame | ( | bool | change | ) | [inline] |
Definition at line 100 of file DVDRingBuffer.h.
| void DVDRingBufferPriv::AudioStreamsChanged | ( | bool | change | ) | [inline] |
Definition at line 101 of file DVDRingBuffer.h.
| uint DVDRingBufferPriv::GetCurrentTime | ( | void | ) | [inline] |
Definition at line 102 of file DVDRingBuffer.h.
Referenced by NuppelVideoPlayer::calcSliderPos(), DecoderBase::DVDFindPosition(), TV::DVDJumpForward(), NuppelVideoPlayer::GetFrameFFREW(), TitleTimeLeft(), and DecoderBase::UpdateDVDFramesPlayed().
| uint DVDRingBufferPriv::TitleTimeLeft | ( | void | ) |
returns seconds left in the title
Definition at line 1358 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::CalcMaxFFTime(), and DecoderBase::DoFastForward().
| void DVDRingBufferPriv::SetTrack | ( | uint | type, | |
| int | trackNo | |||
| ) |
set the dvd subtitle/audio track used
| type | currently kTrackTypeSubtitle or kTrackTypeAudio | |
| trackNo | if -1 then autoselect the track num from the dvd IFO |
Definition at line 1219 of file DVDRingBuffer.cpp.
Referenced by NuppelVideoPlayer::DisableCaptions(), NuppelVideoPlayer::EnableCaptions(), and NuppelVideoPlayer::GetDVDBookmark().
| int DVDRingBufferPriv::GetTrack | ( | uint | type | ) |
get the track the dvd should be playing.
can either be set by the user using DVDRingBufferPriv::SetTrack or determined from the dvd IFO.
| type,: | use either kTrackTypeSubtitle or kTrackTypeAudio |
Definition at line 1241 of file DVDRingBuffer.cpp.
Referenced by AvFormatDecoder::ScanStreams(), and NuppelVideoPlayer::SetDVDBookmark().
| uint8_t DVDRingBufferPriv::GetNumAudioChannels | ( | int | id | ) |
| void DVDRingBufferPriv::JumpToTitle | ( | bool | change | ) | [inline] |
Definition at line 107 of file DVDRingBuffer.h.
| void DVDRingBufferPriv::SetDVDSpeed | ( | void | ) |
set dvd speed.
uses the DVDDriveSpeed Setting from the settings table
Definition at line 1342 of file DVDRingBuffer.cpp.
Referenced by CloseDVD(), NuppelVideoPlayer::DoPlay(), and OpenFile().
| void DVDRingBufferPriv::SetDVDSpeed | ( | int | speed | ) |
| void DVDRingBufferPriv::SetRunSeekCellStart | ( | bool | change | ) | [inline] |
Definition at line 110 of file DVDRingBuffer.h.
Referenced by AvFormatDecoder::GetFrame(), and NuppelVideoPlayer::ReinitVideo().
| void DVDRingBufferPriv::SetParent | ( | NuppelVideoPlayer * | p | ) | [inline] |
| long long DVDRingBufferPriv::Seek | ( | long long | time | ) | [protected] |
Definition at line 101 of file DVDRingBuffer.cpp.
Referenced by NormalSeek(), prevTrack(), and SeekCellStart().
update the dvd menu button parameters when a user changes the dvd menu button position
Definition at line 1049 of file DVDRingBuffer.cpp.
Referenced by GetMenuSPUPkt(), and safe_read().
| void DVDRingBufferPriv::ClearMenuSPUParameters | ( | void | ) | [protected] |
clears the menu SPU pkt and parameters.
necessary action during dvd menu changes
Definition at line 1106 of file DVDRingBuffer.cpp.
Referenced by GetMenuSPUPkt(), and ~DVDRingBufferPriv().
| void DVDRingBufferPriv::ClearMenuButton | ( | void | ) | [protected] |
clears the dvd menu button structures
Definition at line 1086 of file DVDRingBuffer.cpp.
Referenced by ClearMenuSPUParameters().
| bool DVDRingBufferPriv::MenuButtonChanged | ( | void | ) | [protected] |
| uint DVDRingBufferPriv::ConvertLangCode | ( | uint16_t | code | ) | [protected] |
converts the subtitle/audio lang code to iso639.
Definition at line 1182 of file DVDRingBuffer.cpp.
Referenced by GetAudioLanguage(), and GetSubtitleLanguage().
| void DVDRingBufferPriv::SelectDefaultButton | ( | void | ) | [protected] |
determines the default dvd menu button to show when you initially access the dvd menu.
Definition at line 1199 of file DVDRingBuffer.cpp.
Referenced by GetMenuSPUPkt().
| void DVDRingBufferPriv::ClearSubtitlesOSD | ( | void | ) | [protected] |
clear the currently displaying subtitles or dvd menu buttons.
needed for the dvd menu.
Definition at line 1262 of file DVDRingBuffer.cpp.
Referenced by safe_read().
| bool DVDRingBufferPriv::SeekCellStart | ( | void | ) | [protected] |
seek the beginning of a dvd cell
Definition at line 1332 of file DVDRingBuffer.cpp.
Referenced by RunSeekCellStart().
| int DVDRingBufferPriv::get_nibble | ( | const uint8_t * | buf, | |
| int | nibble_offset | |||
| ) | [protected] |
copied from ffmpeg's dvdsubdec.c
Definition at line 1444 of file DVDRingBuffer.cpp.
Referenced by decode_rle().
| int DVDRingBufferPriv::decode_rle | ( | uint8_t * | bitmap, | |
| int | linesize, | |||
| int | w, | |||
| int | h, | |||
| const uint8_t * | buf, | |||
| int | nibble_offset, | |||
| int | buf_size | |||
| ) | [protected] |
decodes the bitmap from the subtitle packet.
copied from ffmpeg's dvdsubdec.c.
Definition at line 1397 of file DVDRingBuffer.cpp.
Referenced by DecodeSubtitles().
| void DVDRingBufferPriv::guess_palette | ( | uint32_t * | rgba_palette, | |
| uint8_t * | palette, | |||
| uint8_t * | alpha | |||
| ) | [protected] |
converts palette values from YUV to RGB
Definition at line 1366 of file DVDRingBuffer.cpp.
Referenced by DecodeSubtitles().
| int DVDRingBufferPriv::is_transp | ( | const uint8_t * | buf, | |
| int | pitch, | |||
| int | n, | |||
| const uint8_t * | transp_color | |||
| ) | [protected] |
obtained from ffmpeg dvdsubdec.c used to find smallest bounded rectangle
Definition at line 1453 of file DVDRingBuffer.cpp.
Referenced by find_smallest_bounding_rectangle().
| int DVDRingBufferPriv::find_smallest_bounding_rectangle | ( | AVSubtitle * | s | ) | [protected] |
obtained from ffmpeg dvdsubdec.c used to find smallest bounded rect.
helps prevent jerky picture during subtitle creation
Definition at line 1471 of file DVDRingBuffer.cpp.
Referenced by DecodeSubtitles().
dvdnav_t* DVDRingBufferPriv::dvdnav [protected] |
Definition at line 116 of file DVDRingBuffer.h.
Referenced by ActivateButton(), CloseDVD(), DVDButtonUpdate(), GetAudioLanguage(), GetFrameRate(), GetNumAudioChannels(), GetReadPosition(), GetSubtitleLanguage(), GoToMenu(), GoToNextProgram(), GoToPreviousProgram(), IsInMenu(), MoveButtonDown(), MoveButtonLeft(), MoveButtonRight(), MoveButtonUp(), nextTrack(), NumMenuButtons(), OpenFile(), prevTrack(), safe_read(), Seek(), SelectDefaultButton(), SkipStillFrame(), and WaitSkip().
unsigned char DVDRingBufferPriv::dvdBlockWriteBuf[DVD_BLOCK_SIZE] [protected] |
unsigned char* DVDRingBufferPriv::dvdBlockReadBuf [protected] |
Definition at line 118 of file DVDRingBuffer.h.
const char* DVDRingBufferPriv::dvdFilename [protected] |
int DVDRingBufferPriv::dvdBlockRPos [protected] |
Definition at line 120 of file DVDRingBuffer.h.
int DVDRingBufferPriv::dvdBlockWPos [protected] |
Definition at line 121 of file DVDRingBuffer.h.
long long DVDRingBufferPriv::pgLength [protected] |
long long DVDRingBufferPriv::pgcLength [protected] |
Definition at line 123 of file DVDRingBuffer.h.
Referenced by GetTotalTimeOfTitle(), and safe_read().
long long DVDRingBufferPriv::cellStart [protected] |
Definition at line 124 of file DVDRingBuffer.h.
Referenced by GetCellStart(), safe_read(), and SeekCellStart().
bool DVDRingBufferPriv::cellChanged [protected] |
bool DVDRingBufferPriv::pgcLengthChanged [protected] |
long long DVDRingBufferPriv::pgStart [protected] |
long long DVDRingBufferPriv::currentpos [protected] |
dvdnav_t* DVDRingBufferPriv::lastNav [protected] |
int32_t DVDRingBufferPriv::part [protected] |
Definition at line 130 of file DVDRingBuffer.h.
Referenced by GetDescForPos(), nextTrack(), OpenFile(), prevTrack(), and safe_read().
int32_t DVDRingBufferPriv::title [protected] |
Definition at line 131 of file DVDRingBuffer.h.
Referenced by GetDescForPos(), nextTrack(), OpenFile(), prevTrack(), and safe_read().
int32_t DVDRingBufferPriv::titleParts [protected] |
Definition at line 132 of file DVDRingBuffer.h.
Referenced by nextTrack(), OpenFile(), and safe_read().
bool DVDRingBufferPriv::gotStop [protected] |
Definition at line 133 of file DVDRingBuffer.h.
Referenced by nextTrack(), prevTrack(), safe_read(), and Seek().
bool DVDRingBufferPriv::cellHasStillFrame [protected] |
bool DVDRingBufferPriv::audioStreamsChanged [protected] |
bool DVDRingBufferPriv::dvdWaiting [protected] |
long long DVDRingBufferPriv::titleLength [protected] |
MythTimer DVDRingBufferPriv::stillFrameTimer [protected] |
uint32_t DVDRingBufferPriv::clut[16] [protected] |
Definition at line 140 of file DVDRingBuffer.h.
Referenced by DVDRingBufferPriv(), guess_palette(), and safe_read().
uint8_t DVDRingBufferPriv::button_color[4] [protected] |
Definition at line 141 of file DVDRingBuffer.h.
Referenced by DecodeSubtitles(), DVDButtonUpdate(), and DVDRingBufferPriv().
uint8_t DVDRingBufferPriv::button_alpha[4] [protected] |
Definition at line 142 of file DVDRingBuffer.h.
Referenced by DecodeSubtitles(), DVDButtonUpdate(), and DVDRingBufferPriv().
QRect DVDRingBufferPriv::hl_button [protected] |
Definition at line 143 of file DVDRingBuffer.h.
Referenced by ClearMenuSPUParameters(), DVDButtonUpdate(), GetButtonCoords(), and GetMenuSubtitle().
uint8_t* DVDRingBufferPriv::menuSpuPkt [protected] |
Definition at line 144 of file DVDRingBuffer.h.
Referenced by ClearMenuSPUParameters(), and GetMenuSPUPkt().
int DVDRingBufferPriv::menuBuflength [protected] |
Definition at line 145 of file DVDRingBuffer.h.
Referenced by ClearMenuSPUParameters(), GetMenuSPUPkt(), and GetMenuSubtitle().
AVSubtitle DVDRingBufferPriv::dvdMenuButton [protected] |
Definition at line 146 of file DVDRingBuffer.h.
Referenced by ClearMenuButton(), DVDRingBufferPriv(), GetButtonCoords(), GetMenuSPUPkt(), and GetMenuSubtitle().
bool DVDRingBufferPriv::skipstillorwait [protected] |
long long DVDRingBufferPriv::cellstartPos [protected] |
bool DVDRingBufferPriv::buttonSelected [protected] |
bool DVDRingBufferPriv::buttonExists [protected] |
Definition at line 150 of file DVDRingBuffer.h.
Referenced by ClearMenuButton(), GetButtonCoords(), GetMenuSPUPkt(), GetMenuSubtitle(), RunSeekCellStart(), and safe_read().
int DVDRingBufferPriv::cellid [protected] |
int DVDRingBufferPriv::lastcellid [protected] |
int DVDRingBufferPriv::vobid [protected] |
int DVDRingBufferPriv::lastvobid [protected] |
bool DVDRingBufferPriv::cellRepeated [protected] |
Definition at line 155 of file DVDRingBuffer.h.
Referenced by safe_read(), and SelectDefaultButton().
int DVDRingBufferPriv::buttonstreamid [protected] |
bool DVDRingBufferPriv::runningCellStart [protected] |
Definition at line 157 of file DVDRingBuffer.h.
Referenced by safe_read(), Seek(), and SeekCellStart().
bool DVDRingBufferPriv::runSeekCellStart [protected] |
long long DVDRingBufferPriv::menupktpts [protected] |
int DVDRingBufferPriv::curAudioTrack [protected] |
Definition at line 160 of file DVDRingBuffer.h.
Referenced by GetTrack(), safe_read(), and SetTrack().
int8_t DVDRingBufferPriv::curSubtitleTrack [protected] |
Definition at line 161 of file DVDRingBuffer.h.
Referenced by DecodeSubtitles(), GetTrack(), safe_read(), and SetTrack().
bool DVDRingBufferPriv::autoselectaudio [protected] |
bool DVDRingBufferPriv::autoselectsubtitle [protected] |
bool DVDRingBufferPriv::jumptotitle [protected] |
Definition at line 164 of file DVDRingBuffer.h.
long long DVDRingBufferPriv::seekpos [protected] |
Definition at line 165 of file DVDRingBuffer.h.
int DVDRingBufferPriv::seekwhence [protected] |
Definition at line 166 of file DVDRingBuffer.h.
QString DVDRingBufferPriv::dvdname [protected] |
Definition at line 167 of file DVDRingBuffer.h.
Referenced by GetNameAndSerialNum(), and OpenFile().
QString DVDRingBufferPriv::serialnumber [protected] |
Definition at line 168 of file DVDRingBuffer.h.
Referenced by GetNameAndSerialNum(), and OpenFile().
bool DVDRingBufferPriv::seeking [protected] |
uint64_t DVDRingBufferPriv::seektime [protected] |
uint DVDRingBufferPriv::currentTime [protected] |
QMap<uint, uint> DVDRingBufferPriv::seekSpeedMap [protected] |
QMap<uint, uint> DVDRingBufferPriv::audioTrackMap [protected] |
QMap<uint, uint> DVDRingBufferPriv::subTrackMap [protected] |
NuppelVideoPlayer* DVDRingBufferPriv::parent [protected] |
Definition at line 176 of file DVDRingBuffer.h.
Referenced by ClearSubtitlesOSD(), DecodeSubtitles(), DVDButtonUpdate(), safe_read(), and Seek().
QMutex DVDRingBufferPriv::menuBtnLock [protected] |
Definition at line 178 of file DVDRingBuffer.h.
Referenced by GetMenuSPUPkt(), GetMenuSubtitle(), ReleaseMenuButton(), and safe_read().
QMutex DVDRingBufferPriv::seekLock [protected] |
Definition at line 179 of file DVDRingBuffer.h.
Referenced by GoToMenu(), GoToNextProgram(), GoToPreviousProgram(), nextTrack(), NormalSeek(), prevTrack(), safe_read(), SeekCellStart(), SetDVDSpeed(), SkipStillFrame(), and WaitSkip().
1.5.5