openMSX
Public Member Functions | List of all members
openmsx::Deflicker Class Referencefinal

#include <Deflicker.hh>

Inheritance diagram for openmsx::Deflicker:
Inheritance graph
[legend]
Collaboration diagram for openmsx::Deflicker:
Collaboration graph
[legend]

Public Member Functions

 Deflicker (std::span< std::unique_ptr< RawFrame >, 4 > lastFrames)
 
 Deflicker (const Deflicker &)=default
 
 Deflicker (Deflicker &&)=default
 
Deflickeroperator= (const Deflicker &)=default
 
Deflickeroperator= (Deflicker &&)=default
 
 ~Deflicker ()
 
void init ()
 
unsigned getLineWidth (unsigned line) const override
 Gets the number of display pixels on the given line.
 
std::span< const PixelgetUnscaledLine (unsigned line, std::span< Pixel > helpBuf) const override
 Get a specific line, with the 'native' line-width.
 
- Public Member Functions inherited from openmsx::FrameSource
void init (FieldType fieldType_)
 (Re)initialize an existing FrameSource.
 
FieldType getField () const
 Gets the role this frame plays in interlacing.
 
unsigned getHeight () const
 Gets the number of lines in this frame.
 
unsigned getWidth () const
 Get the width of (all) lines in this frame.
 
Pixel getLineColor (unsigned line) const
 Get the (single) color of the given line.
 
std::span< const PixelgetLine (int line, std::span< Pixel > buf) const
 Gets a pointer to the pixels of the given line number.
 
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.
 
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.
 
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.
 

Additional Inherited Members

- Public Types inherited from openmsx::FrameSource
enum class  FieldType { NONINTERLACED , EVEN , ODD }
 What role does this frame play in interlacing? More...
 
using Pixel = uint32_t
 
- Protected Member Functions inherited from openmsx::FrameSource
 FrameSource ()=default
 
 ~FrameSource ()=default
 
void setHeight (unsigned height_)
 
virtual bool hasContiguousStorage () const
 Returns true when two consecutive rows are also consecutive in memory.
 
void scaleLine (std::span< const Pixel > in, std::span< Pixel > out) const
 

Detailed Description

Definition at line 13 of file Deflicker.hh.

Constructor & Destructor Documentation

◆ Deflicker() [1/3]

openmsx::Deflicker::Deflicker ( std::span< std::unique_ptr< RawFrame >, 4 >  lastFrames)
explicit

Definition at line 18 of file Deflicker.cc.

◆ Deflicker() [2/3]

openmsx::Deflicker::Deflicker ( const Deflicker )
default

◆ Deflicker() [3/3]

openmsx::Deflicker::Deflicker ( Deflicker &&  )
default

◆ ~Deflicker()

openmsx::Deflicker::~Deflicker ( )
default

Member Function Documentation

◆ getLineWidth()

unsigned openmsx::Deflicker::getLineWidth ( unsigned  line) const
overridevirtual

Gets the number of display pixels on the given line.

Returns
line width (=1 for a vertical border line)

Implements openmsx::FrameSource.

Definition at line 31 of file Deflicker.cc.

◆ getUnscaledLine()

std::span< const Pixel > openmsx::Deflicker::getUnscaledLine ( unsigned  line,
std::span< Pixel helpBuf 
) const
overridevirtual

Get a specific line, with the 'native' line-width.

Parameters
lineThe line number for the requested line.
helpBufBuffer space that can optionally be used by the implementation.
Returns
Returns a span of the requested line. This span may or may not use the helper input buffer.

Implements openmsx::FrameSource.

Definition at line 64 of file Deflicker.cc.

References openmsx::FrameSource::scaleLine(), VLA_SSE_ALIGNED, and xrange().

◆ init()

void openmsx::Deflicker::init ( )

◆ operator=() [1/2]

Deflicker & openmsx::Deflicker::operator= ( const Deflicker )
default

◆ operator=() [2/2]

Deflicker & openmsx::Deflicker::operator= ( Deflicker &&  )
default

The documentation for this class was generated from the following files: