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

Produces a deinterlaced video frame based on two other FrameSources (typically two RawFrames) containing the even and odd field. More...

#include <DeinterlacedFrame.hh>

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

Public Member Functions

void init (FrameSource *evenField, FrameSource *oddField)
 
- 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

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 14 of file DeinterlacedFrame.hh.

Member Function Documentation

◆ init()

void openmsx::DeinterlacedFrame::init ( FrameSource evenField,
FrameSource oddField 
)

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