Media SDK decode error by Hardware

Media SDK decode error by Hardware


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):

but by hardware :

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

same frame has been decoded as:

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 :

Downloadapplication/octet-stream ctm.h26426.31 MB
7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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 upgrade to the latest graphics driver version (2361) from the problem in my tests.

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



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 :

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 :)

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.


One convenient way to get the driver version is via the 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 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.



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.


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.



Jeffery :

Thank you.

Leave a Comment

Please sign in to add a comment. Not a member? Join today