[FFmpeg-devel] [GSOC] [PATCH] ESPCN super-resolution

Sergey Lavrushkin dualfal at gmail.com
Thu Jun 28 13:25:34 EEST 2018


2018-06-27 14:11 GMT+03:00 Michael Niedermayer <michael at niedermayer.cc>:

> On Tue, Jun 26, 2018 at 06:48:47PM +0300, Sergey Lavrushkin wrote:
> > Hello,
> >
> > This patch adds ESPCN super-resolution model to the srcnn filter,
> > renamed to sr filter. Scaling is now performed inside the sr filter,
> > so it does not require call to scale before it. But for SRCNN model
> > scaling factor should be specified.
>
> >  b/configure                        |    8
> >  b/libavfilter/Makefile             |    2
> >  b/libavfilter/allfilters.c         |    2
> >  b/libavfilter/dnn_backend_native.c |  283
> >  b/libavfilter/dnn_backend_tf.c     |   74
> >  b/libavfilter/dnn_espcn.h          |12637 ++++++++++++++++++++++++++++++
> +++++++
> >  b/libavfilter/dnn_interface.h      |    4
> >  b/libavfilter/dnn_srcnn.h          |   14
> >  b/libavfilter/vf_sr.c              |  354 +
> >  libavfilter/vf_srcnn.c             |  250
> >  10 files changed, 13249 insertions(+), 379 deletions(-)
> > eb384c9682c7b731d215cac042f5c75b48943319  adds_espcn_model.patch
> > From 9146726c52aa5c3a8c34b25a122a39910b5f4b0b Mon Sep 17 00:00:00 2001
> > From: Sergey Lavrushkin <dualfal at gmail.com>
> > Date: Thu, 14 Jun 2018 00:37:12 +0300
> > Subject: [PATCH] Adds ESPCN super resolution filter merged with SRCNN
> filter.
>
> this produces some build warnings:
> CC      libavfilter/vf_sr.o
> libavfilter/vf_sr.c: In function ‘filter_frame’:
> libavfilter/vf_sr.c:272:19: warning: passing argument 2 of ‘sws_scale’
> from incompatible pointer type [enabled by default]
>                    0, sr_context->sws_slice_h, out->data, out->linesize);
>                    ^
> In file included from libavfilter/vf_sr.c:33:0:
> ./libswscale/swscale.h:217:5: note: expected ‘const uint8_t * const*’ but
> argument is of type ‘uint8_t **’
>  int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
>      ^
> libavfilter/vf_sr.c:281:23: warning: passing argument 2 of ‘sws_scale’
> from incompatible pointer type [enabled by default]
>                        0, sr_context->sws_slice_h, out->data + 1,
> out->linesize + 1);
>                        ^
> In file included from libavfilter/vf_sr.c:33:0:
> ./libswscale/swscale.h:217:5: note: expected ‘const uint8_t * const*’ but
> argument is of type ‘uint8_t **’
>  int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
>      ^
> libavfilter/vf_sr.c:283:23: warning: passing argument 2 of ‘sws_scale’
> from incompatible pointer type [enabled by default]
>                        0, sr_context->sws_slice_h, out->data + 2,
> out->linesize + 2);
>                        ^
> In file included from libavfilter/vf_sr.c:33:0:
> ./libswscale/swscale.h:217:5: note: expected ‘const uint8_t * const*’ but
> argument is of type ‘uint8_t **’
>  int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
>      ^
> [...]
>

Here is the patch with fixed warnings.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: adds-espcn-model.patch
Type: text/x-patch
Size: 1004369 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180628/b2059e31/attachment.bin>


More information about the ffmpeg-devel mailing list