#include <videoout_ivtv.h>

Definition at line 12 of file videoout_ivtv.h.
Public Member Functions | |
| VideoOutputIvtv () | |
| ~VideoOutputIvtv () | |
| bool | Init (int width, int height, float aspect, WId winid, int winx, int winy, int winw, int winh, WId embedid=0) |
| Performs most of the initialization for VideoOutput. | |
| void | PrepareFrame (VideoFrame *buffer, FrameScanType) |
| void | Show (FrameScanType) |
| bool | InputChanged (const QSize &input_size, float aspect, MythCodecID av_codec_id, void *codec_private) |
| Tells video output to discard decoded frames and wait for new ones. | |
| int | GetRefreshRate (void) |
| Returns current display's frame refresh period in microseconds. | |
| void | DrawUnusedRects (bool sync=true) |
| Draws non-video portions of the screen. | |
| void | UpdatePauseFrame (void) |
| Updates frame displayed when video is paused. | |
| void | ProcessFrame (VideoFrame *frame, OSD *osd, FilterChain *filterList, NuppelVideoPlayer *pipPlayer) |
| uint | WriteBuffer (unsigned char *buf, int count) |
| Writes data to the decoder device. | |
| int | Poll (int delay) |
| Waits for decoder to be ready for more data. | |
| void | Pause (void) |
| Pauses decoding. | |
| void | Start (int skip, int mute) |
| Start decoding. | |
| void | Stop (bool hide) |
| Stops decoding. | |
| void | Open (void) |
| Opens decoder device. | |
| void | Close (void) |
| Closes decoder device. | |
| void | SetFPS (float lfps) |
| void | ClearOSD (void) |
| bool | Play (float speed, bool normal, int mask) |
| Initializes decoder parameters. | |
| bool | Play (void) |
| void | NextPlay (float speed, bool normal, int mask) |
| void | Flush (void) |
| Flushes out data already sent to decoder. | |
| void | Step (void) |
| Step through video one frame at a time. | |
| long long | GetFramesPlayed (void) |
| Returns number of frames played since last reset. | |
| VideoFrame * | GetNextFreeFrame (bool with_lock=false, bool allow_unsafe=false) |
| Blocks until it is possible to return a frame for decoding onto. | |
| int | ValidVideoFrames (void) const |
| Returns number of frames that are fully decoded. | |
Static Public Member Functions | |
| static QStringList | GetAllowedRenderers (MythCodecID myth_codec_id, const QSize &video_dim) |
Private Types | |
| enum | eAlphaState { kAlpha_Solid, kAlpha_Local, kAlpha_Clear, kAlpha_Embedded } |
Private Member Functions | |
| void | ShowPip (VideoFrame *frame, NuppelVideoPlayer *pipplayer) |
| Composites PiP image onto a video frame. | |
| void | SetAlpha (eAlphaState newAlpha) |
| void | SetColorKey (int state, int color) |
| long long | GetFirmwareFramesPlayed (void) |
| Returns number of frames decoded as reported by decoder. | |
Private Attributes | |
| int | videofd |
| int | fbfd |
| float | fps |
| QString | videoDevice |
| unsigned int | driver_version |
| bool | has_v4l2_api |
| bool | has_pause_bug |
| QMutex | lock |
| int | mapped_offset |
| int | mapped_memlen |
| char * | mapped_mem |
| char * | pixels |
| int | stride |
| bool | lastcleared |
| bool | pipon |
| bool | osdon |
| char * | osdbuffer |
| char * | osdbuf_aligned |
| int | osdbufsize |
| int | osdbuf_revision |
| float | last_speed |
| int | internal_offset |
| int | frame_at_speed_change |
| bool | last_normal |
| int | last_mask |
| eAlphaState | alphaState |
| bool | old_fb_ioctl |
| int | fb_dma_ioctl |
| bool | color_key |
| bool | decoder_flush |
| bool | paused |
| VideoOutputIvtvPriv * | priv |
enum VideoOutputIvtv::eAlphaState [private] |
Definition at line 72 of file videoout_ivtv.h.
| VideoOutputIvtv::VideoOutputIvtv | ( | void | ) |
Definition at line 117 of file videoout_ivtv.cpp.
| VideoOutputIvtv::~VideoOutputIvtv | ( | ) |
Definition at line 146 of file videoout_ivtv.cpp.
| bool VideoOutputIvtv::Init | ( | int | width, | |
| int | height, | |||
| float | aspect, | |||
| WId | winid, | |||
| int | winx, | |||
| int | winy, | |||
| int | winw, | |||
| int | winh, | |||
| WId | embedid = 0 | |||
| ) | [virtual] |
Performs most of the initialization for VideoOutput.
Reimplemented from VideoOutput.
Definition at line 406 of file videoout_ivtv.cpp.
| void VideoOutputIvtv::PrepareFrame | ( | VideoFrame * | buffer, | |
| FrameScanType | t | |||
| ) | [virtual] |
| void VideoOutputIvtv::Show | ( | FrameScanType | ) | [virtual] |
| bool VideoOutputIvtv::InputChanged | ( | const QSize & | input_size, | |
| float | aspect, | |||
| MythCodecID | myth_codec_id, | |||
| void * | codec_private | |||
| ) | [virtual] |
Tells video output to discard decoded frames and wait for new ones.
Reimplemented from VideoOutput.
Definition at line 384 of file videoout_ivtv.cpp.
| int VideoOutputIvtv::GetRefreshRate | ( | void | ) | [virtual] |
Returns current display's frame refresh period in microseconds.
e.g. 1000000 / frame_rate_in_Hz
Implements VideoOutput.
Definition at line 396 of file videoout_ivtv.cpp.
| void VideoOutputIvtv::DrawUnusedRects | ( | bool | sync = true |
) | [virtual] |
Draws non-video portions of the screen.
| sync | if set any queued up draws are sent immediately to the graphics context and we block until they have completed. |
Implements VideoOutput.
Definition at line 684 of file videoout_ivtv.cpp.
| void VideoOutputIvtv::UpdatePauseFrame | ( | void | ) | [virtual] |
Updates frame displayed when video is paused.
Implements VideoOutput.
Definition at line 688 of file videoout_ivtv.cpp.
| void VideoOutputIvtv::ProcessFrame | ( | VideoFrame * | frame, | |
| OSD * | osd, | |||
| FilterChain * | filterList, | |||
| NuppelVideoPlayer * | pipPlayer | |||
| ) | [virtual] |
| uint VideoOutputIvtv::WriteBuffer | ( | unsigned char * | buf, | |
| int | count | |||
| ) |
Writes data to the decoder device.
| buf | buffer to write to the decoder | |
| len | number of bytes to write |
Definition at line 1053 of file videoout_ivtv.cpp.
Referenced by IvtvDecoder::ReadWrite().
| int VideoOutputIvtv::Poll | ( | int | delay | ) |
Waits for decoder to be ready for more data.
| delay | milliseconds to wait before timing out. |
Definition at line 1030 of file videoout_ivtv.cpp.
Referenced by IvtvDecoder::ReadWrite().
| void VideoOutputIvtv::Pause | ( | void | ) |
Pauses decoding.
Definition at line 999 of file videoout_ivtv.cpp.
Referenced by NuppelVideoPlayer::DoPause(), IvtvDecoder::SeekReset(), and IvtvDecoder::StepFrames().
| void VideoOutputIvtv::Start | ( | int | skip, | |
| int | mute | |||
| ) |
Start decoding.
| skip | Sets GOP offset | |
| mute | If true mutes audio |
Definition at line 922 of file videoout_ivtv.cpp.
Referenced by IvtvDecoder::ReadWrite(), and IvtvDecoder::SeekReset().
| void VideoOutputIvtv::Stop | ( | bool | hide | ) |
Stops decoding.
| hide | If true we hide the last video decoded frame. |
Definition at line 960 of file videoout_ivtv.cpp.
Referenced by Close(), IvtvDecoder::ReadWrite(), and IvtvDecoder::SeekReset().
| void VideoOutputIvtv::Open | ( | void | ) |
| void VideoOutputIvtv::Close | ( | void | ) |
Closes decoder device.
Definition at line 594 of file videoout_ivtv.cpp.
Referenced by ~VideoOutputIvtv().
| void VideoOutputIvtv::SetFPS | ( | float | lfps | ) | [inline] |
| void VideoOutputIvtv::ClearOSD | ( | void | ) |
Initializes decoder parameters.
Definition at line 1115 of file videoout_ivtv.cpp.
Referenced by NuppelVideoPlayer::DoPlay(), IvtvDecoder::ReadWrite(), and IvtvDecoder::SeekReset().
| bool VideoOutputIvtv::Play | ( | void | ) | [inline] |
Definition at line 51 of file videoout_ivtv.h.
| void VideoOutputIvtv::NextPlay | ( | float | speed, | |
| bool | normal, | |||
| int | mask | |||
| ) | [inline] |
| void VideoOutputIvtv::Flush | ( | void | ) |
Flushes out data already sent to decoder.
Definition at line 1179 of file videoout_ivtv.cpp.
Referenced by IvtvDecoder::ReadWrite(), and IvtvDecoder::SeekReset().
| void VideoOutputIvtv::Step | ( | void | ) |
Step through video one frame at a time.
Definition at line 1193 of file videoout_ivtv.cpp.
Referenced by IvtvDecoder::StepFrames().
| long long VideoOutputIvtv::GetFramesPlayed | ( | void | ) | [virtual] |
Returns number of frames played since last reset.
This adjust the value returned by GetFirmwareFramesPlayed(void) to report the number of frames played since playback started irrespective of current and past playback speeds.
Reimplemented from VideoOutput.
Definition at line 1105 of file videoout_ivtv.cpp.
Referenced by Play(), IvtvDecoder::SeekReset(), IvtvDecoder::StepFrames(), and IvtvDecoder::UpdateFramesPlayed().
| VideoFrame* VideoOutputIvtv::GetNextFreeFrame | ( | bool | with_lock = false, |
|
| bool | allow_unsafe = false | |||
| ) | [inline, virtual] |
Blocks until it is possible to return a frame for decoding onto.
| with_lock | if true frames are properly locked, but this means you must unlock them when you are done, so this is disabled by default. | |
| allow_unsafe | if true then that are queued for display can be returned as frames to decode onto, this defaults to false. |
Reimplemented from VideoOutput.
Definition at line 58 of file videoout_ivtv.h.
| int VideoOutputIvtv::ValidVideoFrames | ( | void | ) | const [virtual] |
Returns number of frames that are fully decoded.
Reimplemented from VideoOutput.
Definition at line 401 of file videoout_ivtv.cpp.
| QStringList VideoOutputIvtv::GetAllowedRenderers | ( | MythCodecID | myth_codec_id, | |
| const QSize & | video_dim | |||
| ) | [static] |
| void VideoOutputIvtv::ShowPip | ( | VideoFrame * | frame, | |
| NuppelVideoPlayer * | pipplayer | |||
| ) | [private, virtual] |
Composites PiP image onto a video frame.
Note: This only works with memory backed VideoFrames, that is not XvMC.
| frame | Frame to composite PiP onto. | |
| pipplayer | Picture-in-Picture NVP. |
Reimplemented from VideoOutput.
Definition at line 692 of file videoout_ivtv.cpp.
Referenced by ProcessFrame().
| void VideoOutputIvtv::SetAlpha | ( | eAlphaState | newAlpha | ) | [private] |
Definition at line 249 of file videoout_ivtv.cpp.
Referenced by Close(), Init(), and ProcessFrame().
| void VideoOutputIvtv::SetColorKey | ( | int | state, | |
| int | color | |||
| ) | [private] |
| long long VideoOutputIvtv::GetFirmwareFramesPlayed | ( | void | ) | [private] |
Returns number of frames decoded as reported by decoder.
Definition at line 1073 of file videoout_ivtv.cpp.
Referenced by GetFramesPlayed(), and Play().
int VideoOutputIvtv::videofd [private] |
Definition at line 85 of file videoout_ivtv.h.
Referenced by Close(), Flush(), GetFirmwareFramesPlayed(), Init(), Open(), Pause(), Play(), Poll(), SetAlpha(), SetColorKey(), Start(), Step(), Stop(), and WriteBuffer().
int VideoOutputIvtv::fbfd [private] |
Definition at line 86 of file videoout_ivtv.h.
Referenced by ClearOSD(), Close(), Init(), ProcessFrame(), SetAlpha(), and SetColorKey().
float VideoOutputIvtv::fps [private] |
QString VideoOutputIvtv::videoDevice [private] |
unsigned int VideoOutputIvtv::driver_version [private] |
bool VideoOutputIvtv::has_v4l2_api [private] |
Definition at line 91 of file videoout_ivtv.h.
Referenced by GetFirmwareFramesPlayed(), Init(), Open(), Pause(), Play(), SetAlpha(), SetColorKey(), Start(), Step(), and Stop().
bool VideoOutputIvtv::has_pause_bug [private] |
QMutex VideoOutputIvtv::lock [private] |
Definition at line 94 of file videoout_ivtv.h.
int VideoOutputIvtv::mapped_offset [private] |
Definition at line 96 of file videoout_ivtv.h.
int VideoOutputIvtv::mapped_memlen [private] |
Definition at line 97 of file videoout_ivtv.h.
char* VideoOutputIvtv::mapped_mem [private] |
Definition at line 98 of file videoout_ivtv.h.
char* VideoOutputIvtv::pixels [private] |
Definition at line 99 of file videoout_ivtv.h.
int VideoOutputIvtv::stride [private] |
bool VideoOutputIvtv::lastcleared [private] |
bool VideoOutputIvtv::pipon [private] |
bool VideoOutputIvtv::osdon [private] |
char* VideoOutputIvtv::osdbuffer [private] |
char* VideoOutputIvtv::osdbuf_aligned [private] |
Definition at line 108 of file videoout_ivtv.h.
Referenced by ClearOSD(), Init(), and ProcessFrame().
int VideoOutputIvtv::osdbufsize [private] |
Definition at line 109 of file videoout_ivtv.h.
Referenced by ClearOSD(), Init(), and ProcessFrame().
int VideoOutputIvtv::osdbuf_revision [private] |
float VideoOutputIvtv::last_speed [private] |
Definition at line 112 of file videoout_ivtv.h.
Referenced by GetFramesPlayed(), NextPlay(), and Play().
int VideoOutputIvtv::internal_offset [private] |
Definition at line 113 of file videoout_ivtv.h.
Referenced by GetFramesPlayed(), Play(), and Stop().
int VideoOutputIvtv::frame_at_speed_change [private] |
Definition at line 114 of file videoout_ivtv.h.
Referenced by GetFramesPlayed(), Play(), and Stop().
bool VideoOutputIvtv::last_normal [private] |
int VideoOutputIvtv::last_mask [private] |
eAlphaState VideoOutputIvtv::alphaState [private] |
bool VideoOutputIvtv::old_fb_ioctl [private] |
Definition at line 120 of file videoout_ivtv.h.
Referenced by ClearOSD(), Close(), Init(), ProcessFrame(), and SetAlpha().
int VideoOutputIvtv::fb_dma_ioctl [private] |
bool VideoOutputIvtv::color_key [private] |
Definition at line 122 of file videoout_ivtv.h.
Referenced by Open(), ProcessFrame(), and SetColorKey().
bool VideoOutputIvtv::decoder_flush [private] |
bool VideoOutputIvtv::paused [private] |
VideoOutputIvtvPriv* VideoOutputIvtv::priv [private] |
Definition at line 127 of file videoout_ivtv.h.
Referenced by ClearOSD(), Close(), Init(), ProcessFrame(), SetAlpha(), VideoOutputIvtv(), and ~VideoOutputIvtv().
1.5.5