Quantcast
Channel: Intel® Software - Media
Viewing all articles
Browse latest Browse all 2185

MFXVideoVPP_RunFrameVPPAsync returns MFX_WRN_DEVICE_BUSY

$
0
0

Currently my project has a requirement of using VPP pre-proc and post-proc together in the transcoding pipeline. As proof of concept I modified the existing sample_multi_transcode example where the goal is to convert NV12->RGB4 and then convert back from RGB4->NV12 both the operation using VPP. As i understood 2 instances of VPP cannot be run with a single mfx session, hence used MFXCloneSession and MFXJoinSession for using VPP2.

Now the pipeline is h264decode->VPP1(NV12->RGB4) ->VPP2(RGB4->NV12)->h264encode. This pipeline is perfectly working fine with system buffer i.e using sw option,

PROBLEM:

  1. Windows8.1 - When i enable -hw option i.e using d3d9 hardware buffers, VPP2 MFXVideoVPP_RunFrameVPPAsync returns MFX_WRN_DEVICE_BUSY seen after async-depth number of calls, and remains permanent. Prior initialization like MFX_VideoVPP_Init & MFXVideoVPP_QueryIOSurf have succeeded for both VPP1 and VPP2.
  2. CentOS7.1: The same code runs differently on Linux using VA API's where VPP2 MFXVideoVPP_QueryIOSurf returns MFX_WRN_PARTIAL_ACCELERATION which is considered as warning and moving further VPP2: MFXVideo_VPP_Init returns MFX_ERR_NOT_INITIALIZED, this error code is not listed in API documentation. Same code runs fine with -sw i.e with System memory with pretty slow performance.

I read in manuals that VPP has limitation for NV12->RGB4 and vice versa, Can some one guide me does VPP supports this color conversion model of using 2 VPP. If yes can you tell me what could be wrong in the modification.

Thanks, Biswa


Viewing all articles
Browse latest Browse all 2185

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>