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.

Atom E3800 family support on Linux

Sam_J_
Beginner
682 Views

Hello,

We are using an Intel Atom E3815 and trying to get Intel Media SDK based H264 acceleration working. This processor has an HD Graphics GPU, so it's my belief the media SDK should work well.

Our target platform is Linux, hence we purchased the latest Intel Media SDK for Servers. Unfortunately it appears that these processors are not yet supported. The main problem is that the library appears to be built assuming support for AVX instructions, which are not supported by this CPU. Here is what happens:

$ gdb --quiet --args mediasdk/samples/__cmake/intel64.make.release/__bin/release/sample_decode_drm h264 -i 720p_stockholm.264 -o output.yuv -hw
Reading symbols from mediasdk/samples/__cmake/intel64.make.release/__bin/release/sample_decode_drm...(no debugging symbols found)...done.
(gdb) r
Starting program: /home/starleaf/mediasdk/samples/__cmake/intel64.make.release/__bin/release/sample_decode_drm h264 -i 720p_stockholm.264 -o output.yuv -hw
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x00007ffff5fbec47 in ?? () from /opt/intel/mediasdk/lib64/8086/0f31/libmfxhw64-p.so.1.8
(gdb) bt
#0  0x00007ffff5fbec47 in ?? () from /opt/intel/mediasdk/lib64/8086/0f31/libmfxhw64-p.so.1.8
#1  0x00007ffff5bfdb63 in ?? () from /opt/intel/mediasdk/lib64/8086/0f31/libmfxhw64-p.so.1.8
#2  0x00007ffff5ad41f9 in ?? () from /opt/intel/mediasdk/lib64/8086/0f31/libmfxhw64-p.so.1.8
#3  0x00007ffff7dea13a in call_init (l=<optimised out>, argc=argc@entry=7, argv=argv@entry=0x7fffffffe5e8, env=env@entry=0x7fffffffe628) at dl-init.c:78
#4  0x00007ffff7dea223 in call_init (env=<optimised out>, argv=<optimised out>, argc=<optimised out>, l=<optimised out>) at dl-init.c:36
#5  _dl_init (main_map=main_map@entry=0x629440, argc=7, argv=0x7fffffffe5e8, env=0x7fffffffe628) at dl-init.c:126
#6  0x00007ffff7deec70 in dl_open_worker (a=a@entry=0x7fffffffcd78) at dl-open.c:577
#7  0x00007ffff7de9ff4 in _dl_catch_error (objname=objname@entry=0x7fffffffcd68, errstring=errstring@entry=0x7fffffffcd70, mallocedp=mallocedp@entry=0x7fffffffcd60,
    operate=operate@entry=0x7ffff7dee9a0 <dl_open_worker>, args=args@entry=0x7fffffffcd78) at dl-error.c:187
#8  0x00007ffff7dee3bb in _dl_open (file=0x7fffffffd1e0 "/opt/intel/mediasdk/lib64/8086/0f31/libmfxhw64-p.so.1.8", mode=-2147483647, caller_dlopen=<optimised out>, nsid=-2, argc=7, argv=0x7fffffffe5e8,
    env=0x7fffffffe628) at dl-open.c:661
#9  0x00007ffff7bd702b in dlopen_doit (a=a@entry=0x7fffffffcf90) at dlopen.c:66
#10 0x00007ffff7de9ff4 in _dl_catch_error (objname=0x631720, errstring=0x631728, mallocedp=0x631718, operate=0x7ffff7bd6fd0 <dlopen_doit>, args=0x7fffffffcf90) at dl-error.c:187
#11 0x00007ffff7bd762d in _dlerror_run (operate=operate@entry=0x7ffff7bd6fd0 <dlopen_doit>, args=args@entry=0x7fffffffcf90) at dlerror.c:163
#12 0x00007ffff7bd70c1 in __dlopen (file=<optimised out>, mode=<optimised out>) at dlopen.c:87
#13 0x000000000041bf88 in MFX_DISP_HANDLE::LoadSelectedDLL(char const*, eMfxImplType, int, int) ()
#14 0x000000000041b738 in MFXInit ()
#15 0x000000000040f746 in CDecodingPipeline::Init(sInputParams*) ()
#16 0x000000000040cff4 in main ()
(gdb) x/i 0x00007ffff5fbec47
=> 0x7ffff5fbec47:      vmovdqu 0x3212f1(%rip),%xmm0        # 0x7ffff62dff40

We can see there we get a SIGILL (illegral instruction) when trying to run one of the sample programs.

In addition, the supported platform (Ubuntu 12.04) for the Media SDK appears to not support this platform well - we got graphical problems with the normal Xorg driver. So we have tested on a newer distribution with the latest kernel too, which results in Xorg working well, but we still have the problem shown here of course: we can't use the mfx library.

Would you be able to tell us:

  • whether the Intel Atom E3800-series processors are supported?
  • if so, when a media SDK for servers might be released with such support?

Thanks,

0 Kudos
3 Replies
Anthony_P_Intel
Employee
682 Views

Hi,

The "Intel® Media SDK 2013 for Servers" product is "For Intel Xeon® processor E3-1200 v3 product family and 4th Generation Intel Core™ Processor-based Platforms with Intel Iris™ Pro and Intel HD Graphics".

 

 

0 Kudos
somexing
Beginner
682 Views

Does Intel Media SDK Client 2014 supports Atom E3800 family on embeded linux platform ? 

0 Kudos
Anthony_P_Intel
Employee
682 Views

Sorry, the "Intel® Media SDK 2014 for Clients" product is only for Windows Client platforms.

0 Kudos
Reply