Community
cancel
Showing results for 
Search instead for 
Did you mean: 
rajesh_k_
Beginner
75 Views

MFXVideoENC_ProcessFrameAsync can be used for bitstream encoding ( PAK)

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
75 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

rajesh_k_
Beginner
75 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

Dmitry_E_Intel
Employee
75 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

 

rajesh_k_
Beginner
75 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

Dmitry_E_Intel
Employee
75 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

rajesh_k_
Beginner
75 Views

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

Reply