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.

h264 sample decoder

Steven_M_3
Beginner
641 Views

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.

0 Kudos
6 Replies
Anthony_P_Intel
Employee
641 Views

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.  

0 Kudos
Steven_M_3
Beginner
641 Views

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

0 Kudos
Anthony_P_Intel
Employee
641 Views

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. 

0 Kudos
Steven_M_3
Beginner
641 Views

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

0 Kudos
Anthony_P_Intel
Employee
641 Views

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.

0 Kudos
Ariel_G_Intel
Employee
641 Views

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

 

0 Kudos
Reply