I'm curious about the lookahead feature from Haswell. Is that a driver feature or it requires encoder integration for existing software? What encoder did Intel use in their comparison? It's not clear to me if I can use let's say MediaEspresso and lookahead is enabled or not.
Can anyone describe in more detail what the 'lookahead' feature is (in terms of video coding)? The linked white paper does not detail it. I can imagine a few things but it would be nice with an explanation.
•Before encoding the current frame, encoder pre-analyzes (look ahead) certain number of future frames to collect the statistics of those frames and understand the complexity of those frames. Based on the statistics, encoder can intelligently decide frame level bit allocation to improve overall quality, especially for video sequences that contain a lot of scene change. The number of future frames to look ahead can be adjusted by application.
Does it help?
Hi Jay and Michael,
The look ahead feature will be available as part of an Intel HD Graphics driver update, expected to be available shortly.
Existing Media SDK enabled applications, such as Media Espresso, does not support Look ahead. Future product revisions may add support for the feature as it becomes available.
Additionally. We will release a new Media SDK revision (2013 R2) a few weeks from now. The new release will provide details about the look ahead feature and how to enable it via Media SDK API.
This explains it. I have searched through the current SDK but couldn't found anything about lookahead. It might also explain some odd behaviour with current encoder on quality preset with Haswell. In most videos quality preset is twice as slow as balanced preset, also twice as slow as Ivy Bridge on quality preset. On Haswell I couldn't really notice quality differences between balanced and quality preset. Twice the encoding time without image quality improvements makes no sense. Current encoder/SDK is not optimized for Haswell usage I guess.
That is/was a "Beta" driver for Windows 8.1 and it does not contain support for MediaSDK API 1.7 (lookahead). A public 'production' driver will be posted very soon. Thanks for your patience.
I can see the slight difference in quality between the encoded frames your provided.
Could you please provide more details about the exact configuration (preferably via Media SDK trace logs) you are using for both the LA and the CQP case?
Thanks for the screenshots. The tool I'm referring to is the Media SDK trace tool (mediasdk_tracer), located in the the tools folder of the Media SDK package.
To capture a log, start up the trace tool and start capture, then start your workload. After the workload is complete, stop capture and gather the trace log file.