could you please help to identify an issue when running FFMPEG with QSV under Ubuntu 17.10, Media Server Studio 2017?
I try to encode raw video using H264 codec using a command:
ffmpeg -y -i sample_1080p.y4m -c:v h264_qsv -preset fast -look_ahead 0 output_1080p.264
The h264_qsv codec prints a warning "Encoder will work with partial HW acceleration". The CPU load is pretty high and reaches about 70%. Meantime the performance is lower than expected and it's about 70fps. Adding some constraints like maximum bitrate and buffer can drop it to 20fps. I observe similar behaviour on both HD530 and Iris Pro 6200 iGPUs (i7-6700K and i7-5775C CPUs respectively).
If drop "-look_ahead 0" parameter, the codec prints error: "Selected ratecontrol mode is not supported by the QSV runtime. Choose a different mode.".
Checking the quality shows a PSNR(Y) difference may reach several dB comparing to the same parameters for libx264. Which I believe is not expected. Looks like I use QSV in some wrong way.
Could you guide me to the correct direction? What can a root cause be for such behaviour?
- Development Tools
- Intel® Media SDK
- Intel® Media Server Studio
- Media Processing
You might try to check with our sample_encode first to see if this is the encoding issue. FFmpeg doesn't guarantee to transfer all argument to media sdk side.
You might convert sample_1080p.y4m first since our sample only works with YUV or ES format.
I can confirm ffmpeg print the partial HW acceleration error too, the h264_qsv codec no longer working in ffmpeg since from ffmpeg-3.2.4. I can confirm same compiling parameters and h264_qsv working pretty good in ffmpeg-3.2.4, but other version like ffmpeg-3.3.1, ffmpeg-3.4.2 or even ffmpeg-4.0. the h264_qsv just print partial HW acceleration.