I'm having problems using sample_encode to do hardware (-hw flag) encoding. The problems I'm having is it takes longer time with -hw flag than without. I can also see that the CPU usage is around 50%. I have tried with h264 and both encode/decode is possible with -hw flag set. Also decode of mpeg2 looks good and it seems to be utilizing the GPU. I was expecting similar results in performance as I saw with h264 encoding hw/sw.
I'm running Windows 7 Proffessional x64 using a i7 2600K with a Intel Desktop board (DZ68DB) . My graphics driver v. is (18.104.22.1689). From what I understand it should be possible to do HW encode of mpeg2 with my setup.
I've tried sample_encode from Intel Media SDK (3.0.554.34012 Beta 4) and (22.214.171.12471).
With your machine you will certainly be able to do both HW encode and decode.
Can you provide a bit more details on the content you are feeding sample_encode, such as resolution, codec type, and what encoder parameter settings you are using?
Some things to note. For optimal HW performance make sure to use D3D surfaces and NV12 raw input data. Also keep in mind that if large resolution raw YUV frame data is used as the input to encoder, there will be a noticeable impact on performance and CPU load due to intense disk access. Due to the required disk access to feed encoder, data sample_encode (and sample_decode) is not suitable for performance measurements.
Note that Media SDK MPEG2 HW encode often deliver similar performance as SW encode (if that is the case there is still a large energy efficiency benefit due to low CPU utilization). H.264 HW encode is normally much faster than SW encode, but naturally the actual speedup will depend on the workload and encoder settings.