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

2xSaI algorithm: edge-detection which produces a rounded look. More...

#include <SaI2xScaler.hh>

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

Public Member Functions

 SaI2xScaler (const PixelOperations< Pixel > &pixelOps)
 
void scaleBlank1to2 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, 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 scale1x1to1x2 (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::SaI2xScaler< Pixel >

2xSaI algorithm: edge-detection which produces a rounded look.

Algorithm was developed by Derek Liauw Kie Fa.

Definition at line 14 of file SaI2xScaler.hh.

Constructor & Destructor Documentation

◆ SaI2xScaler()

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

Definition at line 20 of file SaI2xScaler.cc.

Member Function Documentation

◆ scale1x1to1x2()

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

◆ scale1x1to2x2()

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

◆ scaleBlank1to2()

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

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