Do I have to use video memory if I want HW accelerated VPP operation?

Do I have to use video memory if I want HW accelerated VPP operation?

the doc in SDK said,"The SDK goes through the Microsoft* DirectX* infrastructure (Direct3D9 DXVA2 or Direct3D11 Video API) for hardware acceleration", is it means I must set "MFX_IOPATTERN_IN_VIDEO_MEMORY" & "MFX_IOPATTERN_OUT_VIDEO_MEMORY" to the "IOPattern" parameter,and I had to allocate DirectX surface by myself? If I use "MFX_IOPATTERN_IN/OUT_SYSTEM_MEMORY",the sw version library will be used,is it?

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Zheng,

The selected "IOPattern" has no connection to if the workload is executed on HW or SW. "IOPattern" just indicates where the input or output surfaces are located, which is either in D3D memory (preferable when using HW acceleration) or system memory (preferable when using SW). Either "IOPattern" type can be used with HW and SW.

HW or SW execution selection is selected using the parameter "mfxImpl".

Regards,
Petter 

Quote:

Petter Larsson (Intel) wrote:

Hi Zheng,

The selected "IOPattern" has no connection to if the workload is executed on HW or SW. "IOPattern" just indicates where the input or output surfaces are located, which is either in D3D memory (preferable when using HW acceleration) or system memory (preferable when using SW). Either "IOPattern" type can be used with HW and SW.

HW or SW execution selection is selected using the parameter "mfxImpl".

Regards,
Petter 

Did you means I use system memory as input & output surface,the driver of intel can put the data in system memory to D3D memory automatically, and do vpp processing with hw accelerated,and also readout the result from D3D memory to system memory automatically?

Hi Zheng,

Correct. If the input surface is on system memory and HW codec is selected, then Media SDK will automatically perform copy from system memory to D3D memory before scheduling the task.The same case is true for output surfaces.

Conversely, if input D3D surface and a SW codec is used, then Media SDK will copy data from D3D surface to system memory before scheduling the task.

Regards,
Petter 

Quote:

Petter Larsson (Intel) wrote:

Hi Zheng,

Correct. If the input surface is on system memory and HW codec is selected, then Media SDK will automatically perform copy from system memory to D3D memory before scheduling the task.The same case is true for output surfaces.

Conversely, if input D3D surface and a SW codec is used, then Media SDK will copy data from D3D surface to system memory before scheduling the task.

Regards,
Petter 

Thanks! Peter

Leave a Comment

Please sign in to add a comment. Not a member? Join today