Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

Opaque surfaces and HW implementation

koby_s_
Beginner
280 Views

Hi
I am facing a strange problem when using h264 HW transcoding and opaque surfaces.
My setup includes 2 joined video sessions. 
The first session (parent) is used for decoding only and the second one is for encoding only (very similar to sample_multi_transcode, 1->N, but my setup is 1->1 right now)
The problem I'm facing happens when I'm calling to encSession.SyncOperation(EncSyncp, MSDK_WAIT_INTERVAL) of the encoder session.
The return value I'm getting from this call is MFX_ERR_ABORTED.
I tried to check the decoder output and it seems just fine. decSession.SyncOperation(DecSyncp, MSDK_WAIT_INTERVAL) returns MFX_ERR_NONE. 

The strange thing is that my setup is working perfectly fine when using opaque surface and software implementation but returns MFX_ERR_ABORTED when using the HW implementation.
I also tried to used the sdk tracer tool, but all I didn't find any clue that can help me resolve this issue. SyncOperation log output:

16356 2016-7-5 21:17:37 function: MFXVideoCORE_SyncOperation(mfxSession session=000001BC825C2780, mfxSyncPoint syncp=000000000004A430, mfxU32 wait=4200000) +
16356 2016-7-5 21:17:37     mfxSession session=000001BC825C2328
16356 2016-7-5 21:17:37     mfxSyncPoint* syncp=000000000004A430
16356 2016-7-5 21:17:37     mfxU32 wait=1500000
16356 2016-7-5 21:17:37 >> MFXVideoCORE_SyncOperation called
16356 2016-7-5 21:17:37     mfxSession session=000001BC825C2328
16356 2016-7-5 21:17:37     mfxSyncPoint* syncp=000000000004A430
16356 2016-7-5 21:17:37     mfxU32 wait=1500000
16356 2016-7-5 21:17:37 function: MFXVideoCORE_SyncOperation(0.00233255 msec, status=MFX_ERR_ABORTED) - 


Any ideas what can go wrong?

This problem is causing my application to hang since the only thing that can clear the surface->Data.Locked field is the call to SyncOperation.

BTW - sample_multi_transcode with 2 joined sessions (decode + encode), using hw/sw with the same encoding settings and the same source is working without any problem.

I am using Intel Server Studio 2016, Windows 10, core i7-3632QM (API ver 1.11)

Thank you

0 Kudos
1 Reply
koby_s_
Beginner
280 Views

I forgot to upload the tracer and system analyzer logs.

They are attached to this post.

Thank you

0 Kudos
Reply