DEFINE_BLEND8 296 libavfilter/vf_blend.c DEFINE_BLEND8(addition, FFMIN(255, A + B)) DEFINE_BLEND8 297 libavfilter/vf_blend.c DEFINE_BLEND8(grainmerge, av_clip_uint8(A + B - 128)) DEFINE_BLEND8 298 libavfilter/vf_blend.c DEFINE_BLEND8(average, (A + B) / 2) DEFINE_BLEND8 299 libavfilter/vf_blend.c DEFINE_BLEND8(subtract, FFMAX(0, A - B)) DEFINE_BLEND8 300 libavfilter/vf_blend.c DEFINE_BLEND8(multiply, MULTIPLY(1, A, B)) DEFINE_BLEND8 301 libavfilter/vf_blend.c DEFINE_BLEND8(multiply128,av_clip_uint8((A - 128) * B / 32. + 128)) DEFINE_BLEND8 302 libavfilter/vf_blend.c DEFINE_BLEND8(negation, 255 - FFABS(255 - A - B)) DEFINE_BLEND8 303 libavfilter/vf_blend.c DEFINE_BLEND8(extremity, FFABS(255 - A - B)) DEFINE_BLEND8 304 libavfilter/vf_blend.c DEFINE_BLEND8(difference, FFABS(A - B)) DEFINE_BLEND8 305 libavfilter/vf_blend.c DEFINE_BLEND8(grainextract, av_clip_uint8(128 + A - B)) DEFINE_BLEND8 306 libavfilter/vf_blend.c DEFINE_BLEND8(screen, SCREEN(1, A, B)) DEFINE_BLEND8 307 libavfilter/vf_blend.c DEFINE_BLEND8(overlay, (A < 128) ? MULTIPLY(2, A, B) : SCREEN(2, A, B)) DEFINE_BLEND8 308 libavfilter/vf_blend.c DEFINE_BLEND8(hardlight, (B < 128) ? MULTIPLY(2, B, A) : SCREEN(2, B, A)) DEFINE_BLEND8 309 libavfilter/vf_blend.c DEFINE_BLEND8(hardmix, (A < (255 - B)) ? 0: 255) DEFINE_BLEND8 310 libavfilter/vf_blend.c DEFINE_BLEND8(heat, (A == 0) ? 0 : 255 - FFMIN(((255 - B) * (255 - B)) / A, 255)) DEFINE_BLEND8 311 libavfilter/vf_blend.c DEFINE_BLEND8(freeze, (B == 0) ? 0 : 255 - FFMIN(((255 - A) * (255 - A)) / B, 255)) DEFINE_BLEND8 312 libavfilter/vf_blend.c DEFINE_BLEND8(darken, FFMIN(A, B)) DEFINE_BLEND8 313 libavfilter/vf_blend.c DEFINE_BLEND8(lighten, FFMAX(A, B)) DEFINE_BLEND8 314 libavfilter/vf_blend.c DEFINE_BLEND8(divide, av_clip_uint8(B == 0 ? 255 : 255 * A / B)) DEFINE_BLEND8 315 libavfilter/vf_blend.c DEFINE_BLEND8(dodge, DODGE(A, B)) DEFINE_BLEND8 316 libavfilter/vf_blend.c DEFINE_BLEND8(burn, BURN(A, B)) DEFINE_BLEND8 317 libavfilter/vf_blend.c DEFINE_BLEND8(softlight, (A > 127) ? B + (255 - B) * (A - 127.5) / 127.5 * (0.5 - fabs(B - 127.5) / 255): B - B * ((127.5 - A) / 127.5) * (0.5 - fabs(B - 127.5)/255)) DEFINE_BLEND8 318 libavfilter/vf_blend.c DEFINE_BLEND8(exclusion, A + B - 2 * A * B / 255) DEFINE_BLEND8 319 libavfilter/vf_blend.c DEFINE_BLEND8(pinlight, (B < 128) ? FFMIN(A, 2 * B) : FFMAX(A, 2 * (B - 128))) DEFINE_BLEND8 320 libavfilter/vf_blend.c DEFINE_BLEND8(phoenix, FFMIN(A, B) - FFMAX(A, B) + 255) DEFINE_BLEND8 321 libavfilter/vf_blend.c DEFINE_BLEND8(reflect, (B == 255) ? B : FFMIN(255, (A * A / (255 - B)))) DEFINE_BLEND8 322 libavfilter/vf_blend.c DEFINE_BLEND8(glow, (A == 255) ? A : FFMIN(255, (B * B / (255 - A)))) DEFINE_BLEND8 323 libavfilter/vf_blend.c DEFINE_BLEND8(and, A & B) DEFINE_BLEND8 324 libavfilter/vf_blend.c DEFINE_BLEND8(or, A | B) DEFINE_BLEND8 325 libavfilter/vf_blend.c DEFINE_BLEND8(xor, A ^ B) DEFINE_BLEND8 326 libavfilter/vf_blend.c DEFINE_BLEND8(vividlight, (A < 128) ? BURN(2 * A, B) : DODGE(2 * (A - 128), B)) DEFINE_BLEND8 327 libavfilter/vf_blend.c DEFINE_BLEND8(linearlight,av_clip_uint8((B < 128) ? B + 2 * A - 255 : B + 2 * (A - 128)))