h264 sample decoder

h264 sample decoder

Steven M.'s picture

The sample H264 decoder has some artifacting when playing my h264 file.  If I use the ffdshow decoder with the quick sync option the video plays correctly.  I understand that that decoder was written by an engineer at Intel.  Would it be possible to have that decoder software added as a sample.  It also has the advantage of being able to output RGB24.  Having the source would allow me to add my custom real time video analysis software to it, thereby eliminating a filter.  Eventhough I assume that filter overhead is not that substantial, it might allow me to elimiate a frame copy wihich is significant (on the order of 2 msec on a 1920X1080 60P frame).  Obviously it would also not require me to try to figure out the cause of  break-up in the video with the current sample h264 decoder  (casually looking at the frame traces of my video shows no obvious problems) and also save having to add a VPP converter to RGB24.

   Thanks:   Steve M.

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Tony Pabon (Intel)'s picture

Hi Steve,

By " sample H264 decoder", do you mean the sample_decode appliation? or are you referring to a sample from some other source?

The source code for the decoder inside the MediaSDK library is not available for sharing, but it has been tested to conform to H264 elementary stream standards.  Is the content you are using with the sample_decode application a simple elementary stream? or is it a container (with audio)?

If you use the 'mfx_tracer' tool (from the tools directory of the MediaSDK) to capture a log of what is being decoded, we might be able to determine what the issue with the specific clip is.  

-Tony
Steven M.'s picture

Thanks for the quick reply:

      The sample I'm referring to (that produces the artifacts) is the h264_dec_filter provided in the SDK.  The video I'm playing is from a Panasonic 1920x1080 60P capable camcorder.  It does have audio.  I did take a casual look at it via the media_sdk_tracer tool; i was hoping not to have to spend a lot of time finding the issue since it plays correctly via the above mentioned ffdshow filter.  So if the source code could  be available for that it would greatly symplify things  (since it has  the additional RGB24 capability included ).

   Steve

Tony Pabon (Intel)'s picture

Hi Steve,

I see.  The DirectShow decoder you are referring to is open sourse and available here: http://sourceforge.net/projects/qsdecoder/.  You can look at source and see the optimizations made to convert output of MediaSDK to RGB24. 

-Tony
Steven M.'s picture

Hi  Tony:

   Thanks for the link.  Is there a way to download all the source files and the development environment for that project.  So far I can find a download option only 1 file at a time.  That is why perhaps including in in the media SDK would be helpful.  Since it is open source, and Mr. Gur is doing all of us a great favor, it would be a big help, unless there is an easy way to download the environment/files.

   Steve

Tony Pabon (Intel)'s picture

Hi Steve,

The project is Mr. Gur's independent work, and distribution/support is probably best directed to the (non-Intel) project forum.

I know the DirectShow and open-source community has found his contribution valuable.

Thank you for your interested in the Intel MediaSDK.

-Tony
Eric Gur (Intel)'s picture

Hi Steve,

The Intel QuickSync Decoder project source code is available from these locations:

Intel QuickSync Decoder source code from SourceForge (w/o ffdshow) - need SVN client:

http://sourceforge.net/p/qsdecoder/code/HEAD/tree/

FFDShow (includes QS decoder) - need SVN client:

http://sourceforge.net/p/ffdshow-tryout/code/HEAD/tree/

You'll need MSYS to build parts of ffdshow. Get it from:

http://xhmikosr.1f0.de/tools/ or build it yourself :)

LAV Filters (includes QS decoder) - need GIT client:

https://github.com/Nevcairiel/LAVFilters

MSYS is also needed (for ffmpeg.dll).

The latter is better maintained than ffdshow and is currently the best open source decoder.

 

As for RGB conversion, this is done in either FFDSHow or LAV Video Decoder but not in my decoder.

My decoder output NV12 only.

I don't monitor this forum frequently, so if you want to discuss the Intel QuickSync Decoder or other SW that uses it, please post your requests to my Doom9 forum:

http://forum.doom9.org/showthread.php?t=162442

 

Eric Gur, Intel QuickSync Decoder Author Processor Client Application Engineer Intel Corp.

Login to leave a comment.