Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

oneVPL (beta10) concurrent encode stream

Zanaboni__Gabriele
530 Views

I am doing tests of encoding with oneAPI VPL for windows, release beta10.

The simple question is, how many stream could be simultaneusly encoded with the same machine on different thread?

I would say three, after run the sample Hello_encode (properly changed to to run with threads). With more, I experienced errors during initilization, MFXLoad failed or Encode init failed

Tests done with visual studio 2017 (OS. W10)

Appended source file used for tests

Thanks

 

 

 

 

0 Kudos
1 Solution
Mark_L_Intel1
Moderator
471 Views

Hi Gabriele,


I have contact with dev team and here is the response:

  • oneVPL applications can be roughly divided into 2 phases: "init" and "main loop".  
  • In general, the "init" phase should not be considered completely thread safe. There are many things that can go wrong during init phase. 
  • The main loop is intended to be thread safe – if not we would consider this a bug. Nearly all performance gains would come from parallelization of the main loop.

So the suggestions is to put the thread in the main loop. And you can try this in our Gold release.


Mark


View solution in original post

5 Replies
ArunJ_Intel
Moderator
517 Views

Hi Gabriele,


We are forwarding your case to Subject matter experts, they will get back to you soon on this.


Thanks

Arun


Mark_L_Intel1
Moderator
511 Views

Hi Gabriele,


Are you saying to use hello_encode in Windows 10, you got an initialization error?


If yes, could you let me know how to reproduce it?


Mark


Zanaboni__Gabriele
507 Views

Hi Mark,

you can reproduce the issue replacing the original source file Hello_encode.cpp with the one I had appended in the previous email.

As you can see from the code, I tried to run four coding threads at the same time, which is enough to trigger the initialization error.

regards

Gabriele

Mark_L_Intel1
Moderator
486 Views

Hi Gabriele,


Got it, let me check it out.


By the way, our Gold release just announced today, could you double check if this issue is still reproducible?


Mark


Mark_L_Intel1
Moderator
472 Views

Hi Gabriele,


I have contact with dev team and here is the response:

  • oneVPL applications can be roughly divided into 2 phases: "init" and "main loop".  
  • In general, the "init" phase should not be considered completely thread safe. There are many things that can go wrong during init phase. 
  • The main loop is intended to be thread safe – if not we would consider this a bug. Nearly all performance gains would come from parallelization of the main loop.

So the suggestions is to put the thread in the main loop. And you can try this in our Gold release.


Mark


View solution in original post

Reply