| @@ -133,6 +133,7 @@ static const AVOption blend_options[] = { · 132 unmodified lines |
| 133 | 133 | { "xor", "", 0, AV_OPT_TYPE_CONST, {.i64=BLEND_XOR}, 0, 0, FLAGS, "mode" }, |
| 134 | 134 | { "softdifference","", 0, AV_OPT_TYPE_CONST, {.i64=BLEND_SOFTDIFFERENCE}, 0, 0, FLAGS, "mode" }, |
| 135 | 135 | { "geometric", "", 0, AV_OPT_TYPE_CONST, {.i64=BLEND_GEOMETRIC}, 0, 0, FLAGS, "mode" }, |
| 136 | + { "harmonic", "", 0, AV_OPT_TYPE_CONST, {.i64=BLEND_HARMONIC}, 0, 0, FLAGS, "mode" }, |
| 136 | 137 | { "c0_expr", "set color component #0 expression", OFFSET(params[0].expr_str), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS }, |
| 137 | 138 | { "c1_expr", "set color component #1 expression", OFFSET(params[1].expr_str), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS }, |
| 138 | 139 | { "c2_expr", "set color component #2 expression", OFFSET(params[2].expr_str), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS }, |
| @@ -398,6 +399,7 @@ static av_cold void init_blend_func_##depth##_##nbits##bit(FilterParams *param) · 259 unmodified lines |
| 398 | 399 | case BLEND_XOR: param->blend = blend_xor_##depth##bit; break; \ |
| 399 | 400 | case BLEND_SOFTDIFFERENCE:param->blend = blend_softdifference_##depth##bit; break;\ |
| 400 | 401 | case BLEND_GEOMETRIC: param->blend = blend_geometric_##depth##bit; break; \ |
| 402 | + case BLEND_HARMONIC: param->blend = blend_harmonic_##depth##bit; break; \ |
| 401 | 403 | } \ |
| 402 | 404 | } |
| 403 | 405 | DEFINE_INIT_BLEND_FUNC(8, 8) |