[FFmpeg-devel] [PATCH] avfilter: add deband filter

James Darnley james.darnley at gmail.com
Wed Jul 15 16:00:56 CEST 2015


On 2015-07-15 00:06, Paul B Mahol wrote:
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>  doc/filters.texi         |  35 ++++++
>  libavfilter/Makefile     |   1 +
>  libavfilter/allfilters.c |   1 +
>  libavfilter/vf_deband.c  | 312 +++++++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 349 insertions(+)
>  create mode 100644 libavfilter/vf_deband.c
> 
> diff --git a/doc/filters.texi b/doc/filters.texi
> index 9f7b976..0a07735 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -3678,6 +3678,41 @@ Violent denoise using a block size of @code{16x16}:
>  dctdnoiz=15:n=4
>  @end example
>  
> + at section deband
> +
> +Remove banding artifacts from input video.
> +It works by replacing banded pixels with average value of referenced pixels.
> +
> +The filter accepts the following options:
> +
> + at table @option
> + at item 1thr
> + at item 2thr
> + at item 3thr
> + at item 4thr
> +Set banding detection threshold for each plane. Default is 0.02. Range from
> +which value can be selected is from 0.008 to 0.5.

I would suggest dropping the second "from" or rewording the third
sentence as "Valid range is 0.008 to 0.5."

> +If difference between current pixel and reference pixel is less than threshold,
> +it will be considered as banded.
> +
> + at item range, r
> +Banding detection range in pixels. Default is 16. If positive, random number
> +from range 0 to set value will be picked. If negative, exact of absolute value
> +will be used.
> +The range defines square of four pixels around current pixel.

"If positive, random number in range 0 to r will be used."

"If negative, exact absolute value will be used."

> + at item direction, d
> +Set direction from which four pixel will be compared. If positive, random
> +direction from 0 to set direction will be picked. If negative, exact of
> +absolute value will be picked.

Similar to above.  Also, what does the direction mean?  It's a float and
looks like it represents radians (there is a sine/cosine pair below).
The range is -2*PI..2*PI (should that also be mentioned here?) but what
does the 0 represent? Looking at the code 0 is up then increasing moves
in a clockwise direction.

> + at item blur
> +If enabled current pixel is compared with average value of all four
> +surrounding pixels. By default is enabled. If disabled current pixel is

"The default is enabled."

> diff --git a/libavfilter/vf_deband.c b/libavfilter/vf_deband.c
> new file mode 100644
> index 0000000..1fd05d1
> --- /dev/null
> +++ b/libavfilter/vf_deband.c
> @@ -0,0 +1,312 @@
> +/*
> + * Copyright (c) 2015 Niklas Haas
> + * Copyright (c) 2015 Paul B Mahol
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> + * SOFTWARE.
> + */

This is the MIT license, right?  Do we specifically note these anywhere?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 603 bytes
Desc: OpenPGP digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150715/16fc9028/attachment.sig>


More information about the ffmpeg-devel mailing list