openMSX
HQ2xLiteScaler.hh
Go to the documentation of this file.
1#ifndef HQ2XLITESCALER_HH
2#define HQ2XLITESCALER_HH
3
4#include "Scaler2.hh"
5
6namespace openmsx {
7
8template<std::unsigned_integral Pixel>
9class HQ2xLiteScaler final : public Scaler2<Pixel>
10{
11public:
12 explicit HQ2xLiteScaler(const PixelOperations<Pixel>& pixelOps);
13
14 void scale1x1to3x2(FrameSource& src,
15 unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
16 ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
17 void scale1x1to2x2(FrameSource& src,
18 unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
19 ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
20 void scale2x1to3x2(FrameSource& src,
21 unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
22 ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
23 void scale1x1to1x2(FrameSource& src,
24 unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
25 ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
26 void scale4x1to3x2(FrameSource& src,
27 unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
28 ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
29 void scale2x1to1x2(FrameSource& src,
30 unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
31 ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
32
33private:
35};
36
37} // namespace openmsx
38
39#endif
Interface for getting lines from a video frame.
Definition: FrameSource.hh:20
void scale2x1to3x2(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
void scale1x1to3x2(FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
HQ2xLiteScaler(const PixelOperations< Pixel > &pixelOps)
void scale4x1to3x2(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 scale1x1to1x2(FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
Base class for 2x scalers.
Definition: Scaler2.hh:12
This file implemented 3 utility functions:
Definition: Autofire.cc:9