On Sun, Mar 20, 2016 at 12:00:13PM +0100, Gerion Entrup wrote:
> Good day,
> 
> I attached the patch. The MPEG7 video signature is a method to calculate a 
> fingerprint of a video and to compare two or more of this fingerprints. Most 
> of 
> the standard is implemented. I've done this work as part of my bachelor 
> thesis.
> 
> The method is designed mainly for fast caculation of the fingerprint, so it 
> is 
> blockbased and not very robust to some geometric modification.
> 

> Further details can be found at
> http://epubs.surrey.ac.uk/531590/1/MPEG-7%20Video%20Signature%20Author%27s
> %20Copy.pdf

use a @see in the code (typically in the @file section)

> 
> kind regards,
> Gerion

> From 6eeb0a8b4fce06d98265ce2cf1936ff092de137b Mon Sep 17 00:00:00 2001
> From: Gerion Entrup <gerion.ent...@flump.de>
> Date: Sun, 20 Mar 2016 11:10:31 +0100
> Subject: [PATCH] add signature filter for MPEG7 video signature
> 
> This filter does not implement all features of MPEG7. Missing features:
> - binary output
> - compression of signature files
> - work only on (cropped) parts of the video
> ---
>  Changelog                      |   1 +
>  doc/filters.texi               |  50 ++++
>  libavfilter/Makefile           |   1 +
>  libavfilter/allfilters.c       |   1 +
>  libavfilter/signature.h        | 569 ++++++++++++++++++++++++++++++++++++
>  libavfilter/signature_lookup.c | 518 +++++++++++++++++++++++++++++++++
>  libavfilter/version.h          |   4 +-
>  libavfilter/vf_signature.c     | 636 
> +++++++++++++++++++++++++++++++++++++++++
>  8 files changed, 1778 insertions(+), 2 deletions(-)
>  create mode 100644 libavfilter/signature.h
>  create mode 100644 libavfilter/signature_lookup.c
>  create mode 100644 libavfilter/vf_signature.c
> 
> diff --git a/Changelog b/Changelog
> index 1f57f5e..7c1316a 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -2,6 +2,7 @@ Entries are sorted chronologically from oldest to youngest 
> within each release,
>  releases are sorted from youngest to oldest.
>  
>  version <next>:
> +- MPEG-7 Video Signature filter

belongs at the end of the list

>  - DXVA2-accelerated HEVC Main10 decoding
>  - fieldhint filter
>  - loop video filter and aloop audio filter
> diff --git a/doc/filters.texi b/doc/filters.texi
> index c093927..22d6326 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -11444,6 +11444,56 @@ saturation maximum: 
> %@{metadata:lavfi.signalstats.SATMAX@}
>  @end example
>  @end itemize
>  
> +@anchor{signature}
> +@section signature
> +
> +Calculates the MPEG-7 Video Signature. The filter could handle more than one 
> input. In this case the matching between the inputs could be calculated. The 
> filter passthrough the first input. The output is written in XML.
> +

please wrap the text, same below

[...]
> diff --git a/libavfilter/Makefile b/libavfilter/Makefile
> index 956a077..f48eeaf 100644
> --- a/libavfilter/Makefile
> +++ b/libavfilter/Makefile
> @@ -245,6 +245,7 @@ OBJS-$(CONFIG_SHOWPALETTE_FILTER)            += 
> vf_showpalette.o
>  OBJS-$(CONFIG_SHUFFLEFRAMES_FILTER)          += vf_shuffleframes.o
>  OBJS-$(CONFIG_SHUFFLEPLANES_FILTER)          += vf_shuffleplanes.o
>  OBJS-$(CONFIG_SIGNALSTATS_FILTER)            += vf_signalstats.o
> +OBJS-$(CONFIG_SIGNATURE_FILTER)              += vf_signature.o
>  OBJS-$(CONFIG_SMARTBLUR_FILTER)              += vf_smartblur.o
>  OBJS-$(CONFIG_SPLIT_FILTER)                  += split.o
>  OBJS-$(CONFIG_SPP_FILTER)                    += vf_spp.o
> diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
> index e5080b5..c8ded07 100644
> --- a/libavfilter/allfilters.c
> +++ b/libavfilter/allfilters.c
> @@ -265,6 +265,7 @@ void avfilter_register_all(void)
>      REGISTER_FILTER(SHUFFLEFRAMES,  shuffleframes,  vf);
>      REGISTER_FILTER(SHUFFLEPLANES,  shuffleplanes,  vf);
>      REGISTER_FILTER(SIGNALSTATS,    signalstats,    vf);
> +    REGISTER_FILTER(SIGNATURE,      signature,      vf);
>      REGISTER_FILTER(SMARTBLUR,      smartblur,      vf);
>      REGISTER_FILTER(SPLIT,          split,          vf);
>      REGISTER_FILTER(SPP,            spp,            vf);
> diff --git a/libavfilter/signature.h b/libavfilter/signature.h
> new file mode 100644
> index 0000000..6f0584b
> --- /dev/null
> +++ b/libavfilter/signature.h
> @@ -0,0 +1,569 @@
> +/*
> + * Copyright (c) 2016 Gerion Entrup
> + *
> + * This file is part of FFmpeg.
> + *
> + * FFmpeg is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * FFmpeg is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License along
> + * with FFmpeg; if not, write to the Free Software Foundation, Inc.,
> + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> + */
> +

GPL?

> +/**
> + * @file
> + * MPEG-7 video signature calculation and lookup filter
> + */
> +
> +#include <float.h>
> +#include "libavutil/opt.h"
> +#include "libavutil/timestamp.h"
> +#include "avfilter.h"
> +#include "internal.h"

> +#include <stdbool.h>

please no, use ints.

[...]

I'll eventually make a more complete review at the next iteration.

-- 
Clément B.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to