|
|
|
@ -133,6 +133,7 @@ static const AVOption blend_options[] = { |
|
|
|
|
{ "xor", "", 0, AV_OPT_TYPE_CONST, {.i64=BLEND_XOR}, 0, 0, FLAGS, "mode" }, |
|
|
|
|
{ "softdifference","", 0, AV_OPT_TYPE_CONST, {.i64=BLEND_SOFTDIFFERENCE}, 0, 0, FLAGS, "mode" }, |
|
|
|
|
{ "geometric", "", 0, AV_OPT_TYPE_CONST, {.i64=BLEND_GEOMETRIC}, 0, 0, FLAGS, "mode" }, |
|
|
|
|
{ "harmonic", "", 0, AV_OPT_TYPE_CONST, {.i64=BLEND_HARMONIC}, 0, 0, FLAGS, "mode" }, |
|
|
|
|
{ "c0_expr", "set color component #0 expression", OFFSET(params[0].expr_str), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS }, |
|
|
|
|
{ "c1_expr", "set color component #1 expression", OFFSET(params[1].expr_str), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS }, |
|
|
|
|
{ "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) |
|
|
|
|
case BLEND_XOR: param->blend = blend_xor_##depth##bit; break; \
|
|
|
|
|
case BLEND_SOFTDIFFERENCE:param->blend = blend_softdifference_##depth##bit; break;\
|
|
|
|
|
case BLEND_GEOMETRIC: param->blend = blend_geometric_##depth##bit; break; \
|
|
|
|
|
case BLEND_HARMONIC: param->blend = blend_harmonic_##depth##bit; break; \
|
|
|
|
|
} \
|
|
|
|
|
} |
|
|
|
|
DEFINE_INIT_BLEND_FUNC(8, 8) |
|
|
|
|