11 #ifndef _COP2_COLORREPLACE_H_
12 #define _COP2_COLORREPLACE_H_
15 #define ARG_COLORREPLACE_SRCHUE (myParmBase + 0)
16 #define ARG_COLORREPLACE_SRCLUM (myParmBase + 1)
17 #define ARG_COLORREPLACE_TGTCLR (myParmBase + 2)
18 #define ARG_COLORREPLACE_HUE_ROLLOFF (myParmBase + 3)
19 #define ARG_COLORREPLACE_SAT_ROLLOFF (myParmBase + 4)
20 #define ARG_COLORREPLACE_LUM_ROLLOFF (myParmBase + 5)
21 #define ARG_COLORREPLACE_ROLL_FUNC (myParmBase + 6)
22 #define ARG_COLORREPLACE_OPERATION (myParmBase + 7)
39 static const char * myInputLabels[];
44 float smin,
float smax,
45 float lmin,
float lmax,
46 bool add,
float t)
override;
49 float smin,
float smax,
50 float lmin,
float lmax,
51 bool add,
float t)
override;
55 float t,
int xres,
int yres,
57 int max_threads)
override;
63 const float *c1,
const float *c2,
64 const float *c3,
const float *c4,
65 float *&d1,
float *&d2,
66 float *&d3,
float *&d4,
70 void *&
data)
override;
73 float val[4],
float key)
override;
83 void SRC_HUE(
float &h1,
float &h2,
float t)
88 void SRC_SAT(
float &s1,
float &s2,
float t)
93 void SRC_LUM(
float &l1,
float &l2,
float t)
99 float TARGET_RED(
float t)
101 float TARGET_GREEN(
float t)
103 float TARGET_BLUE(
float t)
106 float HUE_ROLLOFF(
float t)
108 float SAT_ROLLOFF(
float t)
110 float LUM_ROLLOFF(
float t)
113 int ROLLOFF_FUNCTION()
114 {
return evalInt(
"rollfunc", 0, 0.0F); }
117 {
return evalInt(
"operation", 0, 0.0F); }
119 int SUPER_SAMPLE(
float t)
120 {
return evalInt(
"supersample", 0, t); }
bool usesPartialFrameScope() override
~cop2_ColorReplaceData() override
virtual int getSuperSample(COP2_Context &)
fpreal evalFloat(int pi, int vi, fpreal t) const
bool createPerRes() const override
virtual void setSpillParms(float hmin, float hmax, float smin, float smax, float lmin, float lmax, bool add, float t)
bool hasSpillParms() const override
virtual const char * getOperationInfo()
virtual void setColorParms(float hmin, float hmax, float smin, float smax, float lmin, float lmax, bool add, float t)
static OP_VariablePair myVariablePair
virtual COP2_KeyFunction getKeyFunction(COP2_Context &context, void *&data)
virtual COP2_ContextData * newContextData(const TIL_Plane *plane, int array_index, float t, int xres, int yres, int thread, int max_threads)
GLuint const GLchar * name
virtual bool convertToColorSpace(COP2_Context &context, const float *c1, const float *c2, const float *c3, const float *c4, float *&d1, float *&d2, float *&d3, float *&d4, int size)
bool isFrameEffectHandled() override
**Note that the tasks the is the thread number *for the or if it s being executed by a non pool thread(this *can happen in cases where the whole pool is occupied and the calling *thread contributes to running the work load).**Thread pool.Have fun
cop2_InterpType myRolloffFunc
static OP_TemplatePair myTemplatePair
exint evalInt(int pi, int vi, fpreal t) const
ImageBuf OIIO_API add(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
virtual void colorFunction(COP2_Context &context, float val[4], float key)
float(* COP2_KeyFunction)(void *data, const float val[4])