avfilter/vf_waveform: change intensity to float

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2015-09-04 17:14:32 +00:00
parent fda05554e3
commit 55886c67e7
2 changed files with 5 additions and 3 deletions

View File

@ -11059,7 +11059,7 @@ color component value = 0 and bottom side represents value = 255.
@item intensity, i @item intensity, i
Set intensity. Smaller values are useful to find out how many values of the same Set intensity. Smaller values are useful to find out how many values of the same
luminance are distributed across input rows/columns. luminance are distributed across input rows/columns.
Default value is @code{10}. Allowed range is [1, 255]. Default value is @code{0.04}. Allowed range is [0, 1].
@item mirror, r @item mirror, r
Set mirroring mode. @code{0} means unmirrored, @code{1} means mirrored. Set mirroring mode. @code{0} means unmirrored, @code{1} means mirrored.

View File

@ -44,6 +44,7 @@ typedef struct WaveformContext {
int ncomp; int ncomp;
int pcomp; int pcomp;
const uint8_t *bg_color; const uint8_t *bg_color;
float fintensity;
int intensity; int intensity;
int mirror; int mirror;
int display; int display;
@ -69,8 +70,8 @@ static const AVOption waveform_options[] = {
{ "m", "set mode", OFFSET(mode), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, FLAGS, "mode" }, { "m", "set mode", OFFSET(mode), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, FLAGS, "mode" },
{ "row", NULL, 0, AV_OPT_TYPE_CONST, {.i64=0}, 0, 0, FLAGS, "mode" }, { "row", NULL, 0, AV_OPT_TYPE_CONST, {.i64=0}, 0, 0, FLAGS, "mode" },
{ "column", NULL, 0, AV_OPT_TYPE_CONST, {.i64=1}, 0, 0, FLAGS, "mode" }, { "column", NULL, 0, AV_OPT_TYPE_CONST, {.i64=1}, 0, 0, FLAGS, "mode" },
{ "intensity", "set intensity", OFFSET(intensity), AV_OPT_TYPE_INT, {.i64=10}, 1, 1023, FLAGS }, { "intensity", "set intensity", OFFSET(fintensity), AV_OPT_TYPE_FLOAT, {.dbl=0.04}, 0, 1, FLAGS },
{ "i", "set intensity", OFFSET(intensity), AV_OPT_TYPE_INT, {.i64=10}, 1, 1023, FLAGS }, { "i", "set intensity", OFFSET(fintensity), AV_OPT_TYPE_FLOAT, {.dbl=0.04}, 0, 1, FLAGS },
{ "mirror", "set mirroring", OFFSET(mirror), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, FLAGS }, { "mirror", "set mirroring", OFFSET(mirror), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, FLAGS },
{ "r", "set mirroring", OFFSET(mirror), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, FLAGS }, { "r", "set mirroring", OFFSET(mirror), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, FLAGS },
{ "display", "set display mode", OFFSET(display), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, FLAGS, "display" }, { "display", "set display mode", OFFSET(display), AV_OPT_TYPE_INT, {.i64=1}, 0, 1, FLAGS, "display" },
@ -1171,6 +1172,7 @@ static int config_input(AVFilterLink *inlink)
s->desc = av_pix_fmt_desc_get(inlink->format); s->desc = av_pix_fmt_desc_get(inlink->format);
s->ncomp = s->desc->nb_components; s->ncomp = s->desc->nb_components;
s->bits = s->desc->comp[0].depth_minus1 + 1; s->bits = s->desc->comp[0].depth_minus1 + 1;
s->intensity = s->fintensity * ((1 << s->bits) - 1);
switch (s->filter) { switch (s->filter) {
case LOWPASS: case LOWPASS: