[FFmpeg-trac] #7797(undetermined:new): AVC->MPEG-2 transcoding with VA-API 2-3x slower than with QSV
FFmpeg
trac at avcodec.org
Mon Nov 11 13:41:23 EET 2019
#7797: AVC->MPEG-2 transcoding with VA-API 2-3x slower than with QSV
-------------------------------------+-------------------------------------
Reporter: eero-t | Owner:
Type: defect | Status: new
Priority: normal | Component:
| undetermined
Version: git-master | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by eero-t):
Replying to [comment:2 eero-t]:
> There's been a clear improvement to AVC -> MPEG2 performance this last
week, between...
[...]
> Especially in multi-process VA-API encoding, where it's now about same
perf as MSDK and FFmpeg QSV.
In multi-process case, VA-API is now slightly faster than QSV on SKL GT2 &
KBL GT3e, on SKL GT4e, it's still slight slower. I.e. that was 2x perf
perf improvement to earlier.
> (Single process encoding is still behind a bit, I guess that's mostly
due threading differences between QSV & VA-API backends and resulting
kernel power management handling.)
Single process AVC->MPEG2 VA-API encode+downscale performance improved
from <1/2 to 2/3 of the QSV perf.
(Gap is now close to the gap with same conversion where output is AVC, VA-
API perf there is 3/4 of QSV perf.)
---
Replying to [comment:3 fulinjie]:
> Would you please help to verify whether this issue is also benefited
from the patch mentioned in #7706:
> https://patchwork.ffmpeg.org/patch/16156/
Your patch increased single process performance by 5-10%, from slightly
over 2/3rd to almost 3/4th of the QSV perf.
(For the same conversion with AVC output, your patch improvement is
10-15%, from 3/4th to 7/8th of QSV performance.)
---
In FullHD MPEG2 -> AVC bitrate conversion with VA-API:
{{{ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128
-hwaccel_output_format vaapi -i 1920x1080i_29.97_20mb_mpeg2_high.mpv -c:v
h264_vaapi -b:v 6000K -compression_level 7 output.h264}}}
vs. QSV:
{{{ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v mpeg2_qsv -i
1920x1080i_29.97_20mb_mpeg2_high.mpv -c:v h264_qsv -b:v 6000K
-compression_level 7 output.h264}}}
VA-API is also slower, 2/3rd of QSV performance in single process
transcode. Most of that gap is naturally due to #7706 regression, but it
was (1/8th, 10-15%) slower than QSV also earlier. Your patch improves it
to 3/4th of QSV performance.
In my other test-cases, VA-API is close to QSV speed (or better).
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7797#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list