[FFmpeg-devel] [GSOC] [PATCH] TensorFlow backend introduction for DNN module
Sergey Lavrushkin
dualfal at gmail.com
Thu Jun 7 18:29:47 EEST 2018
2018-06-06 17:22 GMT+03:00 Pedro Arthur <bygrandao at gmail.com>:
> Hi,
>
> 2018-06-05 20:23 GMT-03:00 Sergey Lavrushkin <dualfal at gmail.com>:
> > Here is the patch, that fixes described issues.
> When I try to run (video input), when tf is not enabled in configure it
> crashes.
>
>
> $ffmpeg -i in.mp4 -vf srcnn=dnn_backend=tensorflow out.mp4
>
> ffmpeg version N-91232-g256386fd3e Copyright (c) 2000-2018 the FFmpeg
> developers
> built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
> configuration:
> libavutil 56. 18.102 / 56. 18.102
> libavcodec 58. 19.105 / 58. 19.105
> libavformat 58. 17.100 / 58. 17.100
> libavdevice 58. 4.100 / 58. 4.100
> libavfilter 7. 25.100 / 7. 25.100
> libswscale 5. 2.100 / 5. 2.100
> libswresample 3. 2.100 / 3. 2.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'in.mp4':
> Metadata:
> major_brand : isom
> minor_version : 512
> compatible_brands: isomiso2mp41
> encoder : Lavf58.17.100
> Duration: 00:06:13.70, start: 0.000000, bitrate: 5912 kb/s
> Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v /
> 0x7634706D), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 5777 kb/s, 29.97
> fps, 29.97 tbr, 30k tbn, 30k tbc (default)
> Metadata:
> handler_name : VideoHandler
> Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
> stereo, fltp, 128 kb/s (default)
> Metadata:
> handler_name : SoundHandler
> Stream mapping:
> Stream #0:0 -> #0:0 (mpeg4 (native) -> mpeg4 (native))
> Stream #0:1 -> #0:1 (aac (native) -> aac (native))
> Press [q] to stop, [?] for help
> free(): invalid pointer
> Aborted (core dumped)
>
>
>
> When the output is an image, t does not crashes but neither fallback to
> native
>
>
> $ffmpeg -i in.jpg -vf srcnn=dnn_backend=tensorflow out.png
>
> ffmpeg version N-91232-g256386fd3e Copyright (c) 2000-2018 the FFmpeg
> developers
> built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
> configuration:
> libavutil 56. 18.102 / 56. 18.102
> libavcodec 58. 19.105 / 58. 19.105
> libavformat 58. 17.100 / 58. 17.100
> libavdevice 58. 4.100 / 58. 4.100
> libavfilter 7. 25.100 / 7. 25.100
> libswscale 5. 2.100 / 5. 2.100
> libswresample 3. 2.100 / 3. 2.100
> Input #0, image2, from 'in.jpg':
> Duration: 00:00:00.04, start: 0.000000, bitrate: 43469 kb/s
> Stream #0:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown),
> 1192x670 [SAR 1:1 DAR 596:335], 25 tbr, 25 tbn, 25 tbc
> Stream mapping:
> Stream #0:0 -> #0:0 (mjpeg (native) -> png (native))
> Press [q] to stop, [?] for help
> [Parsed_srcnn_0 @ 0x557d3ea55980] could not create DNN module for
> requested backend
> [AVFilterGraph @ 0x557d3ea102c0] Error initializing filter 'srcnn'
> with args 'dnn_backend=tensorflow'
> Error reinitializing filters!
> Failed to inject frame into filter network: Cannot allocate memory
> Error while processing the decoded data for stream #0:0
> Conversion failed!
>
>
> I think you could disable the tensorflow option if it is not enable in
> configure or fallback to native, either solution is ok for me.
I disabled tensorflow option when it is not configured with it. Here is the
updated patch.
I think, crash occurred due to improper call to av_freep for dnn_module.
Here is also the patch, that fixes this bug.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vf_srcnn_backend_option_info_to_verbose.patch
Type: text/x-patch
Size: 3188 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180607/ca921662/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dnn_interface-fix-av_freep-dnn_module.patch
Type: text/x-patch
Size: 814 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180607/ca921662/attachment-0001.bin>
More information about the ffmpeg-devel
mailing list