[FFmpeg-cvslog] avfilter/vf_waveform: change intensity to float

Paul B Mahol git at videolan.org
Fri Sep 4 19:20:46 CEST 2015


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Fri Sep  4 17:14:32 2015 +0000| [55886c67e719588b6e73783a78827166cc7af207] | committer: Paul B Mahol

avfilter/vf_waveform: change intensity to float

Signed-off-by: Paul B Mahol <onemda at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=55886c67e719588b6e73783a78827166cc7af207
---

 doc/filters.texi          |    2 +-
 libavfilter/vf_waveform.c |    6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 57e8b50..d506d68 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -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.
diff --git a/libavfilter/vf_waveform.c b/libavfilter/vf_waveform.c
index 21151a6..f24a3f6 100644
--- a/libavfilter/vf_waveform.c
+++ b/libavfilter/vf_waveform.c
@@ -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:



More information about the ffmpeg-cvslog mailing list