[FFmpeg-devel] [PATCH V2] libavfilter/dnn: add batch mode for async execution

Guo, Yejun yejun.guo at intel.com
Fri Jan 15 03:04:00 EET 2021



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Fu,
> Ting
> Sent: 2021年1月14日 22:45
> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH V2] libavfilter/dnn: add batch mode for
> async execution
> 
> 
> 
> > -----Original Message-----
> > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Guo,
> > Yejun
> > Sent: Sunday, January 10, 2021 09:16 PM
> > To: ffmpeg-devel at ffmpeg.org
> > Cc: Guo, Yejun <yejun.guo at intel.com>
> > Subject: [FFmpeg-devel] [PATCH V2] libavfilter/dnn: add batch mode for
> > async execution
> >
> > the default number of batch_size is 1
> >
> > Signed-off-by: Xie, Lin <lin.xie at intel.com>
> > Signed-off-by: Wu Zhiwen <zhiwen.wu at intel.com>
> > Signed-off-by: Guo, Yejun <yejun.guo at intel.com>
> > ---
> >  libavfilter/dnn/dnn_backend_openvino.c | 187
> ++++++++++++++++++++-----
> >  libavfilter/dnn/dnn_backend_openvino.h |   1 +
> >  libavfilter/dnn/dnn_interface.c        |   1 +
> >  libavfilter/dnn_interface.h            |   2 +
> >  libavfilter/vf_dnn_processing.c        |  36 ++++-
> >  5 files changed, 194 insertions(+), 33 deletions(-)
> >
> > --
> > 2.17.1
> 
> Hi Yejun,
> This patch works well for me.
> Testing was carried on my machine, which CPU is i7-8700K 3.7Ghz and iGPU is
> UHD630.
> The patch was tested by using espcn super resolution model (950*540 video as
> input), with async on and off. The fps increased from 11fps to 13fps (~18% up)
> on CPU, from 8fps to 11fps (~37% up) on iGPU.
> 
> On CPU with async off:
> ./ffmpeg -i input_video.mp4 -vf
> dnn_processing=dnn_backend=openvino:model=espcn1080p.xml:input=x:outp
> ut=espcn/prediction:async=0:options=device=CPU\&batch_size=1 -y
> output_video.mp4 On CPU with async on:
> ./ffmpeg -i input_video.mp4 -vf
> dnn_processing=dnn_backend=openvino:model=espcn1080p.xml:input=x:outp
> ut=espcn/prediction:async=1:options=device=CPU\&batch_size=2 -y
> output_video.mp4
> 
> On GPU with async off:
> ./ffmpeg -i input_video.mp4 -vf
> dnn_processing=dnn_backend=openvino:model=espcn1080p.xml:input=x:outp
> ut=espcn/prediction:async=0:options=device=GPU\&batch_size=1 -y
> output_video.mp4 On GPU with async on:
> ./ffmpeg -i input_video.mp4 -vf
> dnn_processing=dnn_backend=openvino:model=espcn1080p.xml:input=x:outp
> ut=espcn/prediction:async=1:options=device=GPU\&batch_size=2 -y
> output_video.mp4
> 
thanks Ting for the test, will push soon.


More information about the ffmpeg-devel mailing list