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