{ "nearest", "use values from the nearest defined points", 0, AV_OPT_TYPE_CONST, {.i64=INTERPOLATE_NEAREST}, INT_MIN, INT_MAX, FLAGS, "interp_mode" }, \
{"nearest","use values from the nearest defined points",0,AV_OPT_TYPE_CONST,{.i64=INTERPOLATE_NEAREST},INT_MIN,INT_MAX,FLAGS,"interp_mode"},
{ "trilinear", "interpolate values using the 8 points defining a cube", 0, AV_OPT_TYPE_CONST, {.i64=INTERPOLATE_TRILINEAR}, INT_MIN, INT_MAX, FLAGS, "interp_mode" }, \
{"trilinear","interpolate values using the 8 points defining a cube",0,AV_OPT_TYPE_CONST,{.i64=INTERPOLATE_TRILINEAR},INT_MIN,INT_MAX,FLAGS,"interp_mode"},
{ "tetrahedral", "interpolate values using a tetrahedron", 0, AV_OPT_TYPE_CONST, {.i64=INTERPOLATE_TETRAHEDRAL}, INT_MIN, INT_MAX, FLAGS, "interp_mode" }, \
{"tetrahedral","interpolate values using a tetrahedron",0,AV_OPT_TYPE_CONST,{.i64=INTERPOLATE_TETRAHEDRAL},INT_MIN,INT_MAX,FLAGS,"interp_mode"},
{ NULL }
{ NULL }
};
AVFILTER_DEFINE_CLASS(lut3d);
staticinlinefloatlerpf(floatv0,floatv1,floatf)
staticinlinefloatlerpf(floatv0,floatv1,floatf)
{
{
...
@@ -404,7 +410,9 @@ static void set_identity_matrix(LUT3DContext *lut3d, int size)
...
@@ -404,7 +410,9 @@ static void set_identity_matrix(LUT3DContext *lut3d, int size)
}
}
}
}
staticav_coldintinit(AVFilterContext*ctx)
#if CONFIG_LUT3D_FILTER
/* TODO: move to the CONFIG_LUT3D_FILTER definition scope at the bottom */
staticav_coldintlut3d_init(AVFilterContext*ctx)
{
{
intret;
intret;
FILE*f;
FILE*f;
...
@@ -454,6 +462,7 @@ end:
...
@@ -454,6 +462,7 @@ end:
fclose(f);
fclose(f);
returnret;
returnret;
}
}
#endif
staticintquery_formats(AVFilterContext*ctx)
staticintquery_formats(AVFilterContext*ctx)
{
{
...
@@ -523,7 +532,7 @@ static int config_input(AVFilterLink *inlink)
...
@@ -523,7 +532,7 @@ static int config_input(AVFilterLink *inlink)