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.

Media SDK decode error by Hardware

IDZ_A_Intel
Employee
802 Views
Hi

I would use media sdk(3.0 beta) to do the h264 decode, by simple_decode.

The addachment file is by test movie(raw h264), you could play the movie by any player which support h264.

But I found the error (figure break) by intel media sdk.

by software , that is all fine:

saimple_deocode h264 -i ctm.h264 -o ctm.yuv -sw.

by using raw yuv player, set 1280x720, yuv 420 :

we could view it as (the 124th frame):
38111-ctm_124_sw.jpg

but by hardware :

saimple_deocode h264 -i ctm.h264 -o ctm.yuv -hw.

same frame has been decoded as:



38112-ctm_124_hw.jpg



Similiar result by media sdk 2.0.

May I avoid this condition by hardware acceleration on midia sdk ?

thank you.

my platform :

windows 7 SP1.

intel i3-2310M (HD2000).

graphic card driver version : 8.15.10.2342.
0 Kudos
6 Replies
IDZ_A_Intel
Employee
802 Views
Hi Gaiger,

Thanks for your thorough description of the problem.

It looks like there are two things to fix to get this working for you.

1) Media SDK only supports elementary streams: The test stream you provided (ctm.h264) is not an elementary stream. A check with tools like mediainfo and ffprobe reveals that this is actuallyin AVI format.The Media SDK manual and developer guide have more details on formats. In general, it is assumed that the application using Media SDK (or you, in the case of the console samples) will take care of container formatdemuxing/muxing.

2) Upgrade to the newest driver: After demuxing/splitting the h264 video stream from the AVI container, I was able to replicatethe behavior you describedwith driver 8.15.10.2342.An upgrade to the latest graphics driver version (2361) from http://downloadcenter.intel.comfixed the problem in my tests.

Please let us know if you see anything that does not look right after trying these changes.

Regards,

Jeff
0 Kudos
IDZ_A_Intel
Employee
802 Views
Hi Jeffrey :

Thank your guide, after update driver version to 2361, all are fine both by hardware or software.

But there is one problem arising:

May I get (Intel) driver version by an simple way, instead of by windowa api, in other words,

Is there useful library/tool/code to get the intel driver verstion ? :-D




By the way , to my knowledge, the avi is the simplest container to mux video/audio.

I have check the avi format could by decode by media sdk, which would ingore the audio part.

The attachment movie I provided on floor 0th of the post is original here. I convert it by avidemux.

avidemux support those output :

Avi Plain avi, no OpenDML
Avi Dual Audio Avi with two audio tracks
Mpeg Video Raw elementary stream
Mpeg A+V (PS) Mpeg PS stream (VCD/SVCD/DVD)
Mpeg A+V (TS) Mpeg TS stream to stream to a dreambox :)
OGM Audio track must be MP3, AC3 or Vorbis (CBR/VBR)
Unp. vop. Avi+mpeg4 with the packed vop hack stripped

So, do you meaned, the media sdk simple_encode output, or simple_decode input, should be equivalent to the "Mpeg Video" format ?

thank you.


0 Kudos
IDZ_A_Intel
Employee
802 Views
Gaiger,

One convenient way to get the driver version is via the Graphics and Media Control Panel

http://www.intel.com/support/graphics/sb/CS-022130.htm?wapkw=(graphics+and+media+control+panel)

The graphics driver version is under Options and Support->InformationCenter.

Are you looking for a way for your application code to check the version? It is possible, but a bit more involved. Let us know if you need more information on this. In general, the latest available graphics driver from downloadcenter.intel.com is the best one to have. This type of check may not be necessary.

As for using AVI as an input to Media SDK, it is not recommended. In some cases it might happen to work, but it is not a general solution.

I'm not an avidemuxexpert, but a quick check with 'MPEG Video' as output format appears to write elementary streams for mpeg2 and h264/AVC video. This is appropriate input for the sample decode application, and the sample encode will also write these elementary stream formats.


Jeff


0 Kudos
IDZ_A_Intel
Employee
802 Views
Jeffrey:

Thank you.

But I mean... it there an simple way to get graphic driver version, by some library or API..

I would code an program based on media sdk, the program could detect driver version. If it is too old, there is a warning message to tell users who should update their driver version....

Is it possible ? Thank you.




0 Kudos
IDZ_A_Intel
Employee
802 Views
Gaiger,

Since Media SDK's hardware accelerationdepends on the graphics driver it does make sense to keep them in sync. Programs can query the version of the session to determine the API level. This does not offer specific graphics driver version numbers, but in many cases should be sufficient to determine if it is appropriate to supply a warning message telling users that a graphics driver upgrade will improve functionality.

If in your case the graphics driver version number is important there are several ways to obtain this information. However, since this is general Windows programming information it is beyond the scope of this forum.

Regards,

Jeff
0 Kudos
IDZ_A_Intel
Employee
802 Views
Jeffery :

Thank you.
0 Kudos
Reply