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.

MFXVideoENC_ProcessFrameAsync can be used for bitstream encoding ( PAK)

rajesh_k_
Beginner
677 Views

Hi,

In the Media encoding pipeline  we do  Mode decision(ENC) and Bitstream packing (PAK) to encode a frame.

I see in one of the examples fei_encpak,cpp files we use the "ProcessFrameAsync" API to invoke ENC or PAK by passing different parameters like the following.

m_pmfxENC->ProcessFrameAsync(&eTask->in, &eTask->out, &m_SyncPoint);

m_pmfxPAK->ProcessFrameAsync(&eTask->inPAK, &eTask->outPAK, &m_SyncPoint);

but in the mediasdkembedded-man document there is no mention of PAK processing using this API.

my question is ,can i use the  "ProcessFrameAsync" API to invoke PAK as well ,as mentioned in the example code?

Thank you

Rajesh

 

0 Kudos
6 Replies
Dmitry_E_Intel
Employee
677 Views

Hi Rajesh,

Example of sample code you posted is using MediaSDK Flexible Encode Infrastructure(FEI) API. FEI is supported only in MSS Linux releases (not supported in Embedded MediaSDK version).

Regards,

Dmitry

0 Kudos
rajesh_k_
Beginner
677 Views

Hi Dmitry,

Thanks for the quick reply.I am working with MSS Linux. my question is, can I encode a frame using  ENC + PAK as two separate "ProcessFrameAsync" calls without FEI interface.currently I am using the API "MFXVideoENCODE_EncodeFrameAsync" to encode a frame.

Instead of  using "MFXVideoENCODE_EncodeFrameAsync "API, I want make a "ProcessFrameAsync" call for ENC operations followed by another  "ProcessFrameAsync" call for PAK operations. Please confirm me whether this is possible without FEI interface.

Thanks 

Rajesh

0 Kudos
Dmitry_E_Intel
Employee
677 Views

Hi Rajesh,

>> I want make a "ProcessFrameAsync" call for ENC operations followed by another  "ProcessFrameAsync" call for PAK operations
This is exactly what AVC FEI supports and why it was introduced. "Legacy" MSDK encoders doesn't support such separate ENC and PAK calls. Can I ask you why you wouldn't like to try FEI?

Regards,

Dmitry

 

0 Kudos
rajesh_k_
Beginner
677 Views

Thanks Dmitry for the clarification. we have started with "MFXVideoENCODE_EncodeFrameAsync". but we will definitely have to move to FEI  interface.

one more quick question . we are working with Skylake GPU and Intel supports VDENC based  low power encoding. we want to enable this mode for Encoding through MSDK. what parameters i have to set to enable this mode?

thanks

Rajesh

0 Kudos
Dmitry_E_Intel
Employee
677 Views

Rajesh,

You're welcome.

Regarding the low power encoder, to my regret I will disappoint you. AVC LowPower encoder isn't supported in Linux MSS. The reason is Linux MSS is mainly targeted for high density server workloads. And the low power encoder has some limitations (like absence of B frame, no interlaced encode) which don't fit such workloads. However it's supported in Windows version via mfxInfoMFX::LowPower set to MFX_CODINGOPTION_ON.

Regards,

Dmitry

0 Kudos
rajesh_k_
Beginner
677 Views

Thank you Dmitry for the confirmation. Have a good day!

0 Kudos
Reply