[FFmpeg-devel] [PATCH v3] avfilter: add XPSNR filter

Michael Niedermayer michael at niedermayer.cc
Fri Aug 23 23:00:39 EEST 2024


On Thu, Jul 04, 2024 at 03:50:34PM +0000, Helmrich, Christian wrote:
> This is a continuation of last year's version of this filter patch, see also
> 
> https://ffmpeg.org/pipermail/ffmpeg-devel/2023-January/305517.html
> 
> It includes a fix in one of the stride variables and some cleanup in order
> 
> to adhere even more to the FFmpeg coding guidelines.
> 
> 
> Christian Helmrich
> 
> Fraunhofer HHI

>  doc/filters.texi                |   68 +++
>  libavfilter/Makefile            |    1 
>  libavfilter/allfilters.c        |    1 
>  libavfilter/vf_xpsnr.c          |  739 ++++++++++++++++++++++++++++++++++++++++
>  libavfilter/x86/Makefile        |    1 
>  libavfilter/x86/vf_xpsnr_init.c |   43 ++
>  libavfilter/xpsnr.h             |   48 ++
>  7 files changed, 901 insertions(+)

maybe you can add a fate test


> 50878de1981bb30903785175d4030e4c065c6c85  v3-0001-avfilter-add-XPSNR-filter.patch
> From 6a020fc9279ab2fd66e6dd8596f566ee6578cb35 Mon Sep 17 00:00:00 2001
> From: Christian Helmrich <christian.helmrich at hhi.fraunhofer.de>
> Date: Thu, 4 Jul 2024 17:10:29 +0200
> Subject: [PATCH v3] avfilter: add XPSNR filter
> 
> Add XPSNR video filter
> Register new filter xpsnr.
[...]

> +#include "libavutil/avstring.h"
> +#include "libavutil/file_open.h"
> +#include "libavutil/mem.h"
> +#include "libavutil/opt.h"
> +#include "libavutil/pixdesc.h"
> +#include "avfilter.h"
> +#include "drawutils.h"
> +#include "framesync.h"

> +#include "internal.h"

libavfilter/vf_xpsnr.c:38:10: fatal error: internal.h: No such file or directory
   38 | #include "internal.h"

[...]
> +    /* prepare XPSNR calculations: allocate temporary picture and block memory */
> +    if (s->sse_luma == NULL)
> +        s->sse_luma = (double *) av_malloc_array(w_blk * h_blk, sizeof(double));
> +    if (s->weights  == NULL)
> +        s->weights  = (double *) av_malloc_array(w_blk * h_blk, sizeof(double));

the casts are unneeded


[...]
> +    if (s->sse_luma)
> +        av_freep(&s->sse_luma);
> +    if (s->weights )
> +        av_freep(&s->weights );

av_free*(NULL) is safe

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240823/95452f15/attachment.sig>


More information about the ffmpeg-devel mailing list