]> git.sesse.net Git - ffmpeg/commit
dnn: change dnn interface to replace DNNData* with AVFrame*
authorGuo, Yejun <yejun.guo@intel.com>
Fri, 28 Aug 2020 04:51:44 +0000 (12:51 +0800)
committerGuo, Yejun <yejun.guo@intel.com>
Mon, 21 Sep 2020 13:26:56 +0000 (21:26 +0800)
commit2003e32f62d94ba75b59d70632c9f2862b383591
tree55ec60788bc740eb45dbafd613bd8cf50a10417a
parent6918e240d706f7390272976d8b8d502afe426a18
dnn: change dnn interface to replace DNNData* with AVFrame*

Currently, every filter needs to provide code to transfer data from
AVFrame* to model input (DNNData*), and also from model output
(DNNData*) to AVFrame*. Actually, such transfer can be implemented
within DNN module, and so filter can focus on its own business logic.

DNN module also exports the function pointer pre_proc and post_proc
in struct DNNModel, just in case that a filter has its special logic
to transfer data between AVFrame* and DNNData*. The default implementation
within DNN module is used if the filter does not set pre/post_proc.
14 files changed:
configure
libavfilter/dnn/Makefile
libavfilter/dnn/dnn_backend_native.c
libavfilter/dnn/dnn_backend_native.h
libavfilter/dnn/dnn_backend_openvino.c
libavfilter/dnn/dnn_backend_openvino.h
libavfilter/dnn/dnn_backend_tf.c
libavfilter/dnn/dnn_backend_tf.h
libavfilter/dnn/dnn_io_proc.c [new file with mode: 0644]
libavfilter/dnn/dnn_io_proc.h [new file with mode: 0644]
libavfilter/dnn_interface.h
libavfilter/vf_derain.c
libavfilter/vf_dnn_processing.c
libavfilter/vf_sr.c