We encountered recently the next bug inside Intel Media SDK.
h264 encoding, HRD-compliant Look Ahead mode.
Encoding speed falls down impermissibly when static scene (of input video content) switches to dynamic one.
Even GT3e (!) graphics encodes ONE SD (720x576, 50i) signal SLOWER THAN REALTIME.
Problem was first detected at live signal encoding (hdd throughput isn't a culprit).
We have checked MFX_RATECONTROL_VBR with the same encoding settings/content. VBR works fine.
Problem observed on:
i7-6700 (HD Graphics 530), win7 x64, 18.104.22.16883 graphics driver;
i7-6700 (HD Graphics 530), win10 x64, 22.214.171.12483 graphics driver;
e3-1225v5 (HD Graphics P530), win10 x64, 126.96.36.19901 and 188.8.131.5283 graphics drivers;
i7-5775c (Iris Pro Graphics 6200), win10 x64, 184.108.40.20601 and 220.127.116.1183 graphics drivers.
I have modified a slight your sample_encode (from MediaSamples_MSS_2017_18.104.22.168.msi) to demonstrate the issue:
- several encoding settings were added;
- duration of each MFXVideoCORE_SyncOperation call is measured and statictics is printed at every 25-th frame.
Reproducer application (source, bin and input mediafiles) is here:
Gladiator.nv12 input file begins with static scene.
Gladiator_cut.nv12 has identical content, but without static scene at begin.
Correspondingly, _LAHRD.bat shows performance fall, while _LAHRD_cut.bat, _VBR.bat, and _VBR_cut.bat are fast as usual.