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.

vp8/9 sample decode

MyMother
Beginner
1,889 Views

hi

OS: Ubuntu 12.04

       MediaSamples_Linux_6.0.16043175.175

       MediaServerStudioEssentials2015R6

Platform:  i5-4570S

I  got following result

[release] $ ./sample_decode_x11 vp8 -sw -i src_4Mbps.vp8 -p bffc518cde134df98a96f4cf816c0fac

Return on error: error code -3, /home/dspuser/Downloads/IntellMediaSDK/MediaSamples_Linux_6.0.16043175.175/samples/sample_common/src/sample_utils.cpp   613

Return on error: error code -3, /home/dspuser/Downloads/IntellMediaSDK/MediaSamples_Linux_6.0.16043175.175/samples/sample_decode/src/pipeline_decode.cpp        139

Return on error: error code 1,  /home/dspuser/Downloads/IntellMediaSDK/MediaSamples_Linux_6.0.16043175.175/samples/sample_decode/src/sample_decode.cpp  501

 

After checking the above line number, I got.

    // check header
    MSDK_CHECK_NOT_EQUAL(MFX_MAKEFOURCC('D','K','I','F'), m_hdr.dkif, MFX_ERR_UNSUPPORTED);
    MSDK_CHECK_NOT_EQUAL(MFX_MAKEFOURCC('V','P','8','0'), m_hdr.codec_FourCC, MFX_ERR_UNSUPPORTED);

Then I referred https://software.intel.com/en-us/forums/intel-media-sdk/topic/605925 and have question.

Q1. does VP8/9 have software supported ??

Q2, If yes, any user guide for enabling with sample was provided??

Thanks.

 

0 Kudos
10 Replies
Surbhi_M_Intel
Employee
1,889 Views

Hi there, 

There is no VP8 and VP9 sw implementation support available through Media SDK. Since VP8 and VP9 codec are opensource, so one can really use the sw implementation there. Vp8 decode hw acceleration is available on 5th generation to use. 

Thanks,
Surbhi

0 Kudos
Kishor_B_
Beginner
1,889 Views

Hi Surbhi.

I followed SDK API Reference Manual for VP8 (API Version 1.12) for enabling VP8 decoder in the test application.

Codec ID is set to MFX_CODEC_VP8 and DataFlag is set to MFX_BITSTREAM_COMPLETE_FRAME. Successfully compiled.

A complete frame is read into the input buffer but DecodeHeader function returns an error, which reads

Unsupported feature/library load error. src/simple_decode_vmem.cpp 104

Any ideas, how to address overcome this error?

My usage is ./simple_decode_vmem -auto ~/Desktop/GPU/TestStreams/DV.ivf

My setup is: SDK API v 1.16, Core i7-5600U CPU @2.60GHZ, 4 cores, Broadwell (5th generation as suggested above), Turbo Disabled, HD graphics 5500, centOS 7.1 

Regards, Kishor

0 Kudos
Surbhi_M_Intel
Employee
1,889 Views

HI Kishore, 

Media SDK tutorials are not configured for VP8 codec. In Media Server Studio, VP8 decode is implemented as a plugin and sample_decode is configured with plugin model for VP8 and HEVC. Can you try sample decode to make sure VP8 decode works on your system?

cmd : ./sample_decode_drm vp8 -i ../content/test_stream_vp8.ivf -p f622394d8d87452f878c51f2fc9b4131
f622394d8d87452f878c51f2fc9b4131 - GUID plugin for VP8 codec, defined in plugins.cfg present at /opt/intel/mediasdk/plugin directory

If this works, then you can either change the tutorial to add plugin support and set the data flag or make changes in sample_decode to add the full frame and set dataflag. 

Hope this helps. 

Thanks,
Surbhi

0 Kudos
Kishor_B_
Beginner
1,889 Views

Hi Surbhi,

Thank you for the quick reply. Sample decode gave me following errors. What could have gone wrong?

[root@CENTOSHOST MediaSamples_Linux_bins_6.0.16043175.175]# ./sample_decode_drm vp8 -i ./content/test_stream_vp8.ivf -p f622394d8d87452f878c51f2fc9b4131
plugin_loader.h :157 [INFO] Plugin was loaded from GUID
libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0

Return on error: error code -3,    /home/lab_msdk/buildAgentDir/buildAgent_MediaSDK3/git/mdp_msdk-samples/samples/sample_decode/src/pipeline_decode.cpp    667


Return on error: error code -3,    /home/lab_msdk/buildAgentDir/buildAgent_MediaSDK3/git/mdp_msdk-samples/samples/sample_decode/src/pipeline_decode.cpp    289


Return on error: error code 1,    /home/lab_msdk/buildAgentDir/buildAgent_MediaSDK3/git/mdp_msdk-samples/samples/sample_decode/src/sample_decode.cpp    501

plugin_loader.h :183 [INFO] MFXBaseUSER_UnLoad(session=0x0x7fc79ed19230), sts=0

Regards, Kishor

0 Kudos
Surbhi_M_Intel
Employee
1,889 Views

Hi Kishore, 

Your system definitely supports VP8 codec, plugin was successfully able to load.  Can you check if other codec like h264 works fine for you, decode a h264 stream present in the content folder to make sure Media Server Studio has been correctly installed. 
Are you using Media Server Studio version 2015 R6? Are you using pre-compiled binaries?

-Surbhi

0 Kudos
Kishor_B_
Beginner
1,889 Views

Hi Surbhi,

We have validated MPEG2/H264 decoder/encoder without any issues.

Yes, we are using MSS 2015 R6 and the precompiled binaries that came along with. We are using the Decoding Sample Version 6.0.16043175.175.

 

The precompiled decode binary does not seem to support vp8, even as plug-in. Here is the codec list it displays

Supported codecs (<codecid>):
   <codecid>=h264|mpeg2|vc1|mvc|jpeg - built-in Media SDK codecs
   <codecid>=h265|capture            - in-box Media SDK plugins (may require separate downloading and installation)

Am I using the right version of pre-compiled binary?

Best Regards,

Kishor

0 Kudos
Kishor_B_
Beginner
1,889 Views

Hi Surbhi,

Any updates on this?

Is there a document which explains sample_decode to be configured with plugin model for VP8?

 

Thank you.

Best Regards, Kishor

0 Kudos
Surbhi_M_Intel
Employee
1,889 Views

Hi Kishore, 

There is a VP8 manual available online to get more details - https://software.intel.com/sites/default/files/mediasdkvp8-man.pdf. I know there is no mention of VP8 codec support in sample_decode but it does support, it is something we missed to mention. I don't think pre-compiled binaries should have an issue, but you can clean and build the binaries again. check build.pl to clean and recompile the binaries. Another thing which can be helpful is to capture tracer logs, present at installed directory. The tracer logs capture the media sdk calls which can help to debug. Can you also send the o/p of cmd "uname -r" and check the vp8 decode plugin in /opt/intel/mediasdk/plugins/plugin.cfg?

Thanks,
Surbhi

0 Kudos
Kishor_B_
Beginner
1,889 Views

Hi Surbhi,

Surbhi M. (Intel) wrote:

There is a VP8 manual available online

The manual is not discussing preparing plug-in based applications. A sample application demonstrating  the plug-in architecture would be beneficial, considering we have to approach our applications in similar fashion.

Surbhi M. (Intel) wrote:

Can you also send the o/p of cmd "uname -r"

3.10.0-229.1.2.39163.MSSr4.el7.centos.x86_64

Surbhi M. (Intel) wrote:

check the vp8 decode plugin

It is available. The content as follows.

[VP8_Decoder_f622394d8d87452f878c51f2fc9b4131]
GUID =  f622394d8d87452f878c51f2fc9b4131
PluginVersion = 1
APIVersion = 272
Path = /opt/intel/mediasdk/plugins/libmfx_vp8d_hw64.so
Type = 1
CodecID = VP8
Default = 0

Surbhi M. (Intel) wrote:

you can clean and build the binaries again. check build.pl to clean and recompile the binaries

Where can i find this build.pl? Is the source of the binaries, which came with SDK (sample_decode_x11) available?

Best Regards, Kishor

0 Kudos
Surbhi_M_Intel
Employee
1,889 Views

Kishore, 

I hope you have downloaded the samples package separately on your system, if not the please download it from here - https://software.intel.com/en-us/intel-media-server-studio-support/code-samples 
After the download, go to installed directory>samples and there is a build.pl file to clean and rebuild the samples. Use drm samples, which are the preferred samples to use and send the tracer logs in case of failure. 

-Surbhi

0 Kudos
Reply