ffmpeg_videotoolbox: skip memory copy if hwaccel_output_format match
authorzhilizhao <zhilizhao@tencent.com>
Tue, 27 Apr 2021 05:09:56 +0000 (13:09 +0800)
committerSteven Liu <lq@chinaffmpeg.org>
Thu, 10 Jun 2021 11:54:03 +0000 (19:54 +0800)
commitcf1746d77989c2742c8c364f57a626942cccd8d1
tree1a36bc79e148425168256a57092fbf682a64651e
parent08d933bf6169a93631fd76354214f837c973c18f
ffmpeg_videotoolbox: skip memory copy if hwaccel_output_format match

Simple test results:

Command:
./ffmpeg -y -hwaccel videotoolbox -hwaccel_output_format videotoolbox_vld \
  -i test.mp4 -an -c:v h264_videotoolbox -benchmark out.mp4

Before:
frame= 1221 fps= 66 q=-0.0 Lsize=    3144kB time=00:00:20.33 bitrate=1266.6kbits/s dup=4 drop=0 speed= 1.1x
bench: utime=2.714s stime=1.218s rtime=18.574s

After:
frame= 1221 fps=137 q=-0.0 Lsize=    3144kB time=00:00:20.33 bitrate=1266.4kbits/s dup=4 drop=0 speed=2.28x
bench: utime=1.450s stime=1.440s rtime=8.924s

It has limited usecase since there is no video filter support, so
a log message is added to notify the user.

Reviewed-by: Steven Liu <liuqi05@kuaishou.com>
fftools/ffmpeg_videotoolbox.c