37 unsigned srcStartY,
unsigned srcEndY,
unsigned srcWidth,
38 unsigned dstStartY,
unsigned dstEndY,
unsigned dstWidth,
39 unsigned logSrcHeight) = 0;
42 unsigned srcStartY,
unsigned srcEndY,
46 explicit GLScaler(
const std::string& progName);
47 void setup(
bool superImpose);
72 unsigned srcStartY,
unsigned srcEndY,
unsigned srcWidth,
73 unsigned dstStartY,
unsigned dstEndY,
unsigned dstWidth,
74 unsigned logSrcHeight,
75 bool textureFromZero =
false);
Wrapper around an OpenGL program: a collection of vertex and fragment shaders.
Interface for getting lines from a video frame.
Abstract base class for OpenGL scalers.
void setup(bool superImpose)
GLScaler(const std::string &progName)
virtual ~GLScaler()=default
void execute(gl::ColorTexture &src, gl::ColorTexture *superImpose, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, unsigned dstStartY, unsigned dstEndY, unsigned dstWidth, unsigned logSrcHeight, bool textureFromZero=false)
Helper method to draw a rectangle with multiple texture coordinates.
virtual void scaleImage(gl::ColorTexture &src, gl::ColorTexture *superImpose, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, unsigned dstStartY, unsigned dstEndY, unsigned dstWidth, unsigned logSrcHeight)=0
Scales the image in the given area, which must consist of lines which are all equally wide.
virtual void uploadBlock(unsigned srcStartY, unsigned srcEndY, unsigned lineWidth, FrameSource &paintFrame)
gl::ShaderProgram program[2]
This file implemented 3 utility functions: