openMSX
|
#include <Deflicker.hh>
Public Member Functions | |
void | init () |
virtual | ~Deflicker ()=default |
![]() | |
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... | |
template<std::unsigned_integral Pixel> | |
Pixel | getLineColor (unsigned line) const |
Get the (single) color of the given line. More... | |
template<std::unsigned_integral Pixel> | |
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... | |
template<std::unsigned_integral Pixel> | |
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... | |
template<std::unsigned_integral Pixel> | |
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... | |
template<std::unsigned_integral Pixel> | |
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... | |
const PixelFormat & | getPixelFormat () const |
Static Public Member Functions | |
static std::unique_ptr< Deflicker > | create (const PixelFormat &format, std::span< std::unique_ptr< RawFrame >, 4 > lastFrames) |
Protected Member Functions | |
Deflicker (const PixelFormat &format, std::span< std::unique_ptr< RawFrame >, 4 > lastFrames) | |
unsigned | getLineWidth (unsigned line) const override |
Gets the number of display pixels on the given line. More... | |
![]() | |
FrameSource (const PixelFormat &format) | |
~FrameSource ()=default | |
void | setHeight (unsigned height_) |
virtual bool | hasContiguousStorage () const |
Returns true when two consecutive rows are also consecutive in memory. More... | |
template<std::unsigned_integral Pixel> | |
void | scaleLine (std::span< const Pixel > in, std::span< Pixel > out) const |
Protected Attributes | |
std::span< std::unique_ptr< RawFrame >, 4 > | lastFrames |
Additional Inherited Members | |
![]() | |
enum | FieldType { FIELD_NONINTERLACED , FIELD_EVEN , FIELD_ODD } |
What role does this frame play in interlacing? More... | |
Definition at line 12 of file Deflicker.hh.
|
virtualdefault |
|
protected |
Definition at line 51 of file Deflicker.cc.
References openmsx::DiskImageUtils::format().
|
static |
Definition at line 33 of file Deflicker.cc.
References openmsx::DiskImageUtils::format(), lastFrames, and UNREACHABLE.
Referenced by openmsx::PostProcessor::PostProcessor().
|
overrideprotectedvirtual |
Gets the number of display pixels on the given line.
Implements openmsx::FrameSource.
Definition at line 64 of file Deflicker.cc.
References lastFrames.
void openmsx::Deflicker::init | ( | ) |
Definition at line 58 of file Deflicker.cc.
References openmsx::FrameSource::FIELD_NONINTERLACED, openmsx::FrameSource::getHeight(), openmsx::FrameSource::init(), lastFrames, and openmsx::FrameSource::setHeight().
|
protected |
Definition at line 29 of file Deflicker.hh.
Referenced by create(), getLineWidth(), and init().