Video memory is recommended for best performance. The -3 error you're seeing can be caused by lots of things, but in general indicates that there is some problem communicating with the HW or driver.
For Linux, it can be easier to start with a 4th-generation Core (Haswell) based system instead of Xeon. This will allow you to become familiar with Media Server Studio before moving to the more complex Xeon install scenarios. For Core, you just need to check if Quicksync is available on the processor on ark.intel.com. For Xeon, only e3-1284/1285/1286v3 are supported, and only with the c226 chipset. In addition, there may be other BIOS or HW limitations. To help you get started, there is a list of platforms known to work at the Media Server Studio details page.
What type of system are you using? What is the processor and chipset #?
Several components are required beyond just libmfxhw64.so. Basically, you need the kernel patches and everything but the 'devel' packages to run Media Server Studio applications.
For more info on usage, the tutorials may be of interest.
I'm sorry for not responding promptly.
For core, the infomation of cpu checked by command `cat /proc/cpuinfo` shows that model name is "Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz". So how to check if Quicksync is available on the processor on ark.intel.com?And what is the Quicksync?
For Xeon, only e3-1284/1285/1286v3 are supported, and only with the c226 chipset. And how to get these specific infomation in my machine?
The sytem I am using is Ubuntu 12.04 with the kernel version 3.8.0-44-generic.And I have patched the kernel and remove the origin drm library according to the indication in the mediasdk_get_started.pdf.
By the way, the statement `mfxAllocator.Alloc(mfxAllocator.pthis, &Request, &mfxResponse);` in the simple_decode_vmem.cpp of mediasdk-tutorials-0.0.3 run the function `mfxStatus simple_alloc(mfxHDL pthis, mfxFrameAllocRequest* request, mfxFrameAllocResponse* response)` in the common_vaapi.cpp.The latter will run the function `vaCreateSurfaces` which maybe defined in libva-drm.so. Here in my machine, I get the return value of vaCreateSurfaces as VA_STATUS_ERROR_UNSUPPORTED_RT_FORMAT, and this value is converted into the `MFX_ERR_UNSUPPORTED`.what does that error means?
I have reappeared the problem scenario, the question happened in relation to the library libva.so
First time, I encapsulated the libcomp.so with the shell command "g++ -w -rdynamic -msse4 -shared $(objs) -o libcomp.so -L/opt/intel/mediasdk/bin/x64/ -lpthread -lrt -lmfxhw64 -lva-drm", then when my app load dynamically the shared library libcomp.so and intend to allocate video memory, the function vaCreateSurfaces returns the status `VA_STATUS_ERROR_UNSUPPORTED_RT_FORMAT` which was converted into the `MFX_ERR_UNSUPPORTED`
After the question occured, I start to review the source of libcomp.so.I have done it for a long time and I am indeed sure it's none of the source business.Then I try to rewrite the Makefile and finally I find the shell command "g++ -w -rdynamic -msse4 -shared $(objs) -o libcomp.so -L/opt/intel/mediasdk/bin/x64/ -lpthread -lrt -lmfxhw64 -lva-drm -lva" makes the app run normally in one lucky attempt.But I don't know why?
Can anybody give me a little explanation about the occurance?In fact, I considered that the question is not related to the library at the very start fundamentally, because the linker didn't prompt that there exists a shared library relied error while the loader didn't tell me that it can not find any shared library.That means the OS will load the libva.so into the memory and run the function vaCreateSurfaces normally.Why when I tell the linker that it must link the library libva.so, the function will perform two kinds of different behavior?