openMSX
Public Member Functions | List of all members
openmsx::HQ2xScaler< Pixel > Class Template Referencefinal

Runs the hq2x scaler algorithm. More...

#include <HQ2xScaler.hh>

Inheritance diagram for openmsx::HQ2xScaler< Pixel >:
Inheritance graph
[legend]
Collaboration diagram for openmsx::HQ2xScaler< Pixel >:
Collaboration graph
[legend]

Public Member Functions

 HQ2xScaler (const PixelOperations< Pixel > &pixelOps)
 
void scale1x1to3x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale1x1to2x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale2x1to3x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale1x1to1x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale4x1to3x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale2x1to1x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
- Public Member Functions inherited from openmsx::Scaler2< Pixel >
void scaleImage (FrameSource &src, const RawFrame *superImpose, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 Scales the image in the given area, which must consist of lines which are all equally wide. More...
 
- Public Member Functions inherited from openmsx::Scaler< Pixel >
virtual ~Scaler ()=default
 
virtual void scaleImage (FrameSource &src, const RawFrame *superImpose, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)=0
 Scales the image in the given area, which must consist of lines which are all equally wide. More...
 

Additional Inherited Members

- Protected Member Functions inherited from openmsx::Scaler2< Pixel >
 Scaler2 (const PixelOperations< Pixel > &pixelOps)
 
void dispatchScale (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scaleBlank1to2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scaleBlank1to1 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale1x1to3x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale1x1to3x1 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale1x1to2x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale1x1to2x1 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale2x1to3x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale2x1to3x1 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale1x1to1x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale1x1to1x1 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale4x1to3x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale4x1to3x1 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale2x1to1x2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
virtual void scale2x1to1x1 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)
 
- Protected Attributes inherited from openmsx::Scaler2< Pixel >
const PixelOperations< PixelpixelOps
 

Detailed Description

template<std::unsigned_integral Pixel>
class openmsx::HQ2xScaler< Pixel >

Runs the hq2x scaler algorithm.

Definition at line 12 of file HQ2xScaler.hh.

Constructor & Destructor Documentation

◆ HQ2xScaler()

template<std::unsigned_integral Pixel>
openmsx::HQ2xScaler< Pixel >::HQ2xScaler ( const PixelOperations< Pixel > &  pixelOps)
explicit

Definition at line 177 of file HQ2xScaler.cc.

Member Function Documentation

◆ scale1x1to1x2()

template<std::unsigned_integral Pixel>
void openmsx::HQ2xScaler< Pixel >::scale1x1to1x2 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overridevirtual

Reimplemented from openmsx::Scaler2< Pixel >.

Definition at line 220 of file HQ2xScaler.cc.

References openmsx::createEdgeHQ().

◆ scale1x1to2x2()

template<std::unsigned_integral Pixel>
void openmsx::HQ2xScaler< Pixel >::scale1x1to2x2 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overridevirtual

Reimplemented from openmsx::Scaler2< Pixel >.

Definition at line 196 of file HQ2xScaler.cc.

References openmsx::createEdgeHQ().

◆ scale1x1to3x2()

template<std::unsigned_integral Pixel>
void openmsx::HQ2xScaler< Pixel >::scale1x1to3x2 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overridevirtual

Reimplemented from openmsx::Scaler2< Pixel >.

Definition at line 184 of file HQ2xScaler.cc.

References openmsx::createEdgeHQ().

◆ scale2x1to1x2()

template<std::unsigned_integral Pixel>
void openmsx::HQ2xScaler< Pixel >::scale2x1to1x2 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overridevirtual

Reimplemented from openmsx::Scaler2< Pixel >.

Definition at line 244 of file HQ2xScaler.cc.

References openmsx::createEdgeHQ().

◆ scale2x1to3x2()

template<std::unsigned_integral Pixel>
void openmsx::HQ2xScaler< Pixel >::scale2x1to3x2 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overridevirtual

Reimplemented from openmsx::Scaler2< Pixel >.

Definition at line 208 of file HQ2xScaler.cc.

References openmsx::createEdgeHQ().

◆ scale4x1to3x2()

template<std::unsigned_integral Pixel>
void openmsx::HQ2xScaler< Pixel >::scale4x1to3x2 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overridevirtual

Reimplemented from openmsx::Scaler2< Pixel >.

Definition at line 232 of file HQ2xScaler.cc.

References openmsx::createEdgeHQ().


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