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.
2946 Discussions

Do I still need create HWDevice handler and FrameAllocator for Linux backend service application

zheng_s_
Beginner
130 Views

I have a linux based backend service application which want to use MediaSDK to do some encode/decode work. the video frame will send out through  TCP/IP so we dont need any video display on the server side. I follow the sample_decoder codes given by Intel MediaSDK and create some example but didnt create HWDevice handler and FrameAllocator. When I call pVideoDecode->DecodeHeader( xx,xx)  function I get the error code : MFX_ERR_INVALID_HANDLE . Do I really need create both in order to make encoder work. 

0 Kudos
1 Solution
Jeffrey_M_Intel1
Employee
130 Views

One of the main differences for porting Media SDK code between Linux and Windows is the display handle requirements.  For Windows, setting the handle is only necessary if you are explicitly handling your own GPU memory allocations.  It may not be necessary for software or opaque pipelines.  For Linux *ALL* applications must set a handle.  Since Media SDK for Linux has no software implementation, in many cases you won't want to consider system memory.  If you are transcoding and do not need access to the intermediate surfaces you can use the extra convenience of opaque surfaces -- meaning you don't need your own frame allocator to get optimized peformance.  However, in cases where you are integrating other components and do need access to the pipeline between decode and encode you will need a GPU frame allocator.

 

 

 

More info in this thread: http://software.intel.com/en-us/forums/topic/479998

 

View solution in original post

2 Replies
Jeffrey_M_Intel1
Employee
131 Views

One of the main differences for porting Media SDK code between Linux and Windows is the display handle requirements.  For Windows, setting the handle is only necessary if you are explicitly handling your own GPU memory allocations.  It may not be necessary for software or opaque pipelines.  For Linux *ALL* applications must set a handle.  Since Media SDK for Linux has no software implementation, in many cases you won't want to consider system memory.  If you are transcoding and do not need access to the intermediate surfaces you can use the extra convenience of opaque surfaces -- meaning you don't need your own frame allocator to get optimized peformance.  However, in cases where you are integrating other components and do need access to the pipeline between decode and encode you will need a GPU frame allocator.

 

 

 

More info in this thread: http://software.intel.com/en-us/forums/topic/479998

 

zheng_s_
Beginner
130 Views

Greate that exactly what i want.

Reply