openMSX
|
Produces a deinterlaced video frame based on two other FrameSources (typically two RawFrames) containing the even and odd field. More...
#include <DeinterlacedFrame.hh>
Public Member Functions | |
void | init (FrameSource *evenField, FrameSource *oddField) |
![]() | |
void | init (FieldType fieldType_) |
(Re)initialize an existing FrameSource. More... | |
FieldType | getField () const |
Gets the role this frame plays in interlacing. More... | |
unsigned | getHeight () const |
Gets the number of lines in this frame. More... | |
virtual unsigned | getLineWidth (unsigned line) const =0 |
Gets the number of display pixels on the given line. More... | |
unsigned | getWidth () const |
Get the width of (all) lines in this frame. More... | |
Pixel | getLineColor (unsigned line) const |
Get the (single) color of the given line. More... | |
std::span< const Pixel > | getLine (int line, std::span< Pixel > buf) const |
Gets a pointer to the pixels of the given line number. More... | |
virtual const void * | getLineInfo (unsigned line, unsigned &lineWidth, void *buf, unsigned bufWidth) const =0 |
Abstract implementation of getLinePtr(). More... | |
std::span< const Pixel, 320 > | getLinePtr320_240 (unsigned line, std::span< Pixel, 320 > buf) const |
Get a pointer to a given line in this frame, the frame is scaled to 320x240 pixels. More... | |
std::span< const Pixel, 640 > | getLinePtr640_480 (unsigned line, std::span< Pixel, 640 > buf) const |
Get a pointer to a given line in this frame, the frame is scaled to 640x480 pixels. More... | |
std::span< const Pixel, 960 > | getLinePtr960_720 (unsigned line, std::span< Pixel, 960 > buf) const |
Get a pointer to a given line in this frame, the frame is scaled to 960x720 pixels. More... | |
Additional Inherited Members | |
![]() | |
enum | FieldType { FIELD_NONINTERLACED , FIELD_EVEN , FIELD_ODD } |
What role does this frame play in interlacing? More... | |
using | Pixel = uint32_t |
![]() | |
FrameSource ()=default | |
~FrameSource ()=default | |
void | setHeight (unsigned height_) |
virtual bool | hasContiguousStorage () const |
Returns true when two consecutive rows are also consecutive in memory. More... | |
void | scaleLine (std::span< const Pixel > in, std::span< Pixel > out) const |
Produces a deinterlaced video frame based on two other FrameSources (typically two RawFrames) containing the even and odd field.
This class does not copy the data from the input FrameSources.
Definition at line 13 of file DeinterlacedFrame.hh.
void openmsx::DeinterlacedFrame::init | ( | FrameSource * | evenField, |
FrameSource * | oddField | ||
) |
Definition at line 6 of file DeinterlacedFrame.cc.
References openmsx::FrameSource::FIELD_NONINTERLACED, openmsx::FrameSource::getHeight(), openmsx::FrameSource::init(), and openmsx::FrameSource::setHeight().