Home | History | Annotate | Download | only in filters

Lines Matching defs:k4

95 FEComposite::FEComposite(Filter* filter, const CompositeOperationType& type, float k1, float k2, float k3, float k4)
101 , m_k4(k4)
105 PassRefPtr<FEComposite> FEComposite::create(Filter* filter, const CompositeOperationType& type, float k1, float k2, float k3, float k4)
107 return adoptRef(new FEComposite(filter, type, k1, k2, k3, k4));
162 float FEComposite::k4() const
167 bool FEComposite::setK4(float k4)
169 if (m_k4 == k4)
171 m_k4 = k4;
185 float k1, float k2, float k3, float k4)
192 scaledK4 = k4 * 255.0f;
217 static inline void computeArithmeticPixelsUnclamped(unsigned char* source, unsigned char* destination, int pixelArrayLength, float k1, float k2, float k3, float k4)
224 scaledK4 = k4 * 255.0f;
241 static inline void arithmeticSoftware(unsigned char* source, unsigned char* destination, int pixelArrayLength, float k1, float k2, float k3, float k4)
243 float upperLimit = std::max(0.0f, k1) + std::max(0.0f, k2) + std::max(0.0f, k3) + k4;
244 float lowerLimit = std::min(0.0f, k1) + std::min(0.0f, k2) + std::min(0.0f, k3) + k4;
245 if ((k4 >= 0.0f && k4 <= 1.0f) && (upperLimit >= 0.0f && upperLimit <= 1.0f) && (lowerLimit >= 0.0f && lowerLimit <= 1.0f)) {
246 if (k4) {
248 computeArithmeticPixelsUnclamped<1, 1>(source, destination, pixelArrayLength, k1, k2, k3, k4);
250 computeArithmeticPixelsUnclamped<0, 1>(source, destination, pixelArrayLength, k1, k2, k3, k4);
253 computeArithmeticPixelsUnclamped<1, 0>(source, destination, pixelArrayLength, k1, k2, k3, k4);
255 computeArithmeticPixelsUnclamped<0, 0>(source, destination, pixelArrayLength, k1, k2, k3, k4);
260 if (k4) {
262 computeArithmeticPixels<1, 1>(source, destination, pixelArrayLength, k1, k2, k3, k4);
264 computeArithmeticPixels<0, 1>(source, destination, pixelArrayLength, k1, k2, k3, k4);
267 computeArithmeticPixels<1, 0>(source, destination, pixelArrayLength, k1, k2, k3, k4);
269 computeArithmeticPixels<0, 0>(source, destination, pixelArrayLength, k1, k2, k3, k4);
274 float k1, float k2, float k3, float k4)
281 platformArithmeticNeon(source->data(), destination->data(), length, k1, k2, k3, k4);
283 arithmeticSoftware(source->data(), destination->data(), length, k1, k2, k3, k4);
441 ts << " k1=\"" << m_k1 << "\" k2=\"" << m_k2 << "\" k3=\"" << m_k3 << "\" k4=\"" << m_k4 << "\"";