avfilter/vf_waveform: change intensity to float
authorPaul B Mahol <onemda@gmail.com>
Fri, 4 Sep 2015 17:14:32 +0000 (17:14 +0000)
committerPaul B Mahol <onemda@gmail.com>
Fri, 4 Sep 2015 17:14:32 +0000 (17:14 +0000)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
doc/filters.texi
libavfilter/vf_waveform.c

index 57e8b50..d506d68 100644 (file)
@@ -11059,7 +11059,7 @@ color component value = 0 and bottom side represents value = 255.
 @item intensity, i
 Set intensity. Smaller values are useful to find out how many values of the same
 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
 Set mirroring mode. @code{0} means unmirrored, @code{1} means mirrored.
index 21151a6..f24a3f6 100644 (file)
@@ -44,6 +44,7 @@ typedef struct WaveformContext {
     int            ncomp;
     int            pcomp;
     const uint8_t  *bg_color;
+    float          fintensity;
     int            intensity;
     int            mirror;
     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" },
         { "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" },
-    { "intensity", "set intensity", OFFSET(intensity), AV_OPT_TYPE_INT, {.i64=10}, 1, 1023, FLAGS },
-    { "i",         "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(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 },
     { "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" },
@@ -1171,6 +1172,7 @@ static int config_input(AVFilterLink *inlink)
     s->desc  = av_pix_fmt_desc_get(inlink->format);
     s->ncomp = s->desc->nb_components;
     s->bits = s->desc->comp[0].depth_minus1 + 1;
+    s->intensity = s->fintensity * ((1 << s->bits) - 1);
 
     switch (s->filter) {
     case LOWPASS: