[FFmpeg-devel] [GSOC] [PATCH] TensorFlow backend introduction for DNN module

Pedro Arthur bygrandao at gmail.com
Wed Jun 6 17:22:45 EEST 2018


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.
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list