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.

composition in sample_vpp fails with -15 status

iroeville
Beginner
1,216 Views

I've just started experimenting with Composition, using the sample_vpp example, but I can't get it to work.

I'm using Windows 7 on an i7-3610QM processor, and Media SDK Intel(R)_Media_SDK_2016.0.1 and choosing software mode.(The system analyzer from the Media SDK shows SW support for Enc and Dec all the way up to version 1.19).

I have two 1920x1088 NV12 input files and trying to do a simple composition of a small area of the second onto the first. But in sample_vpp_utils.cpp

sts = pProcessor->pmfxVPP->Init(pParams);

returns a status of -15 which indicates that the parameters provided are not acceptable. I've looked through the parameters and tried a variety of command-line and parameter-file values but always seem to get status -15 returned.

Here is the command line I have set up in the VS2010 debugger:

-lib sw -composite d:\temp\vpp-res.txt  -o d:\temp\foutvpp.nv12

And the parameter file is:

primarystream=D:\temp\f1.nv12
width=1920
height=1088
cropx=0
cropy=0
cropw=1920
croph=1088
dstx=0
dsty=0
dstw=1920
dsth=1088
fourcc=nv12
stream=D:\temp\f1-copy.nv12
width=1920
height=1088
cropx=0
cropy=0
cropw=320
croph=320
dstx=100
dsty=100
dstw=88
dsth=72
fourcc=nv12

The parameter structure being passed in appears below, including the ExtParam structure and the two InputStream structures (copied from the debugger watch window). I have trawled through all of the values in the structures but I can't find a reason why the parameters are not acceptable.

Am I missing something ?

-       pParams    0x0036cc74 {AllocId=0 reserved=0x0036cc78 reserved3=0 ...}    mfxVideoParam *
        AllocId    0    unsigned int
        reserved    0x0036cc78    unsigned int [2]
        reserved3    0    unsigned short
        AsyncDepth    0    unsigned short
-       mfx    {reserved=0x0036cc84 LowPower=0 BRCParamMultiplier=0 ...}    mfxInfoMFX
        reserved    0x0036cc84    unsigned int [7]
        LowPower    0    unsigned short
        BRCParamMultiplier    0    unsigned short
-       FrameInfo    {reserved=0x0036cca4 reserved4=0 BitDepthLuma=0 ...}    mfxFrameInfo
        reserved    0x0036cca4    unsigned int [4]
        reserved4    0    unsigned short
        BitDepthLuma    0    unsigned short
        BitDepthChroma    0    unsigned short
        Shift    0    unsigned short
        FrameId    {TemporalId=0 PriorityId=0 DependencyId=0 ...}    mfxFrameId
        FourCC    842094158    unsigned int
        Width    1920    unsigned short
        Height    1088    unsigned short
        CropX    0    unsigned short
        CropY    0    unsigned short
        CropW    1920    unsigned short
        CropH    1088    unsigned short
        BufferSize    71305088    unsigned __int64
        reserved5    71305088    unsigned int
        FrameRateExtN    30    unsigned int
        FrameRateExtD    1    unsigned int
        reserved3    0    unsigned short
        AspectRatioW    0    unsigned short
        AspectRatioH    0    unsigned short
        PicStruct    1    unsigned short
        ChromaFormat    1    unsigned short
        reserved2    0    unsigned short
        CodecId    0    unsigned int
        CodecProfile    0    unsigned short
        CodecLevel    0    unsigned short
        NumThread    0    unsigned short
        TargetUsage    0    unsigned short
        GopPicSize    0    unsigned short
        GopRefDist    0    unsigned short
        GopOptFlag    0    unsigned short
        IdrInterval    0    unsigned short
        RateControlMethod    0    unsigned short
        InitialDelayInKB    0    unsigned short
        QPI    0    unsigned short
        Accuracy    0    unsigned short
        BufferSizeInKB    0    unsigned short
        TargetKbps    0    unsigned short
        QPP    0    unsigned short
        ICQQuality    0    unsigned short
        MaxKbps    0    unsigned short
        QPB    0    unsigned short
        Convergence    0    unsigned short
        NumSlice    0    unsigned short
        NumRefFrame    22094    unsigned short
        EncodedOrder    12849    unsigned short
        DecodedOrder    0    unsigned short
        ExtendedPicStruct    0    unsigned short
        TimeStampCalc    0    unsigned short
        SliceGroupsPresent    0    unsigned short
        MaxDecFrameBuffering    0    unsigned short
        EnableReallocRequest    0    unsigned short
        reserved2    0x0036ccfe ""    unsigned short [7]
        JPEGChromaFormat    0    unsigned short
        Rotation    0    unsigned short
        JPEGColorFormat    0    unsigned short
        InterleavedDec    0    unsigned short
        SamplingFactorH    0x0036ccfa ""    unsigned char [4]
        SamplingFactorV    0x0036ccfe ""    unsigned char [4]
        reserved3    0x0036cd02 ""    unsigned short [5]
        Interleaved    0    unsigned short
        Quality    0    unsigned short
        RestartInterval    0    unsigned short
        reserved5    0x0036ccf8 ""    unsigned short [10]
-       vpp    {reserved=0x0036cc84 In={...} Out={...} }    mfxInfoVPP
        reserved    0x0036cc84    unsigned int [8]
-       In    {reserved=0x0036cca4 reserved4=0 BitDepthLuma=0 ...}    mfxFrameInfo
        reserved    0x0036cca4    unsigned int [4]
        reserved4    0    unsigned short
        BitDepthLuma    0    unsigned short
        BitDepthChroma    0    unsigned short
        Shift    0    unsigned short
        FrameId    {TemporalId=0 PriorityId=0 DependencyId=0 ...}    mfxFrameId
        FourCC    842094158    unsigned int
        Width    1920    unsigned short
        Height    1088    unsigned short
        CropX    0    unsigned short
        CropY    0    unsigned short
        CropW    1920    unsigned short
        CropH    1088    unsigned short
        BufferSize    71305088    unsigned __int64
        reserved5    71305088    unsigned int
        FrameRateExtN    30    unsigned int
        FrameRateExtD    1    unsigned int
        reserved3    0    unsigned short
        AspectRatioW    0    unsigned short
        AspectRatioH    0    unsigned short
        PicStruct    1    unsigned short
        ChromaFormat    1    unsigned short
        reserved2    0    unsigned short
-       Out    {reserved=0x0036cce8 reserved4=0 BitDepthLuma=0 ...}    mfxFrameInfo
        reserved    0x0036cce8    unsigned int [4]
        reserved4    0    unsigned short
        BitDepthLuma    0    unsigned short
        BitDepthChroma    0    unsigned short
        Shift    0    unsigned short
        FrameId    {TemporalId=0 PriorityId=0 DependencyId=0 ...}    mfxFrameId
        FourCC    842094158    unsigned int
        Width    1920    unsigned short
        Height    1088    unsigned short
        CropX    0    unsigned short
        CropY    0    unsigned short
        CropW    1920    unsigned short
        CropH    1088    unsigned short
        BufferSize    71305088    unsigned __int64
        reserved5    71305088    unsigned int
        FrameRateExtN    30    unsigned int
        FrameRateExtD    1    unsigned int
        reserved3    0    unsigned short
        AspectRatioW    0    unsigned short
        AspectRatioH    0    unsigned short
        PicStruct    1    unsigned short
        ChromaFormat    1    unsigned short
        reserved2    0    unsigned short
        Protected    0    unsigned short
        IOPattern    34    unsigned short
        ExtParam    0x0036cb2c    mfxExtBuffer * *
        NumExtParam    1    unsigned short
        reserved2    0    unsigned short


-       (mfxExtVPPComposite*)pParams->ExtParam[0]    0x0036cbbc {Header={...} Y=0 R=0 ...}    mfxExtVPPComposite *
        Header    {BufferId=1347240790 BufferSz=68 }    mfxExtBuffer
        Y    0    unsigned short
        R    0    unsigned short
        U    0    unsigned short
        G    0    unsigned short
        V    0    unsigned short
        B    0    unsigned short
        reserved1    0x0036cbca ""    unsigned short [24]
        NumInputStream    2    unsigned short
        InputStream    0x00da2238 {DstX=0 DstY=0 DstW=1920 ...}    mfxVPPCompInputStream *


-       ((mfxExtVPPComposite*)pParams->ExtParam[0])->InputStream[0]    {DstX=0 DstY=0 DstW=1920 ...}    mfxVPPCompInputStream
        DstX    0    unsigned int
        DstY    0    unsigned int
        DstW    1920    unsigned int
        DstH    1088    unsigned int
        LumaKeyEnable    0    unsigned short
        LumaKeyMin    0    unsigned short
        LumaKeyMax    0    unsigned short
        GlobalAlphaEnable    0    unsigned short
        GlobalAlpha    0    unsigned short
        PixelAlphaEnable    0    unsigned short
        reserved2    0x00da2254 ""    unsigned short [18]


-       ((mfxExtVPPComposite*)pParams->ExtParam[0])->InputStream[1]    {DstX=100 DstY=100 DstW=88 ...}    mfxVPPCompInputStream
        DstX    100    unsigned int
        DstY    100    unsigned int
        DstW    88    unsigned int
        DstH    72    unsigned int
        LumaKeyEnable    0    unsigned short
        LumaKeyMin    0    unsigned short
        LumaKeyMax    0    unsigned short
        GlobalAlphaEnable    0    unsigned short
        GlobalAlpha    0    unsigned short
        PixelAlphaEnable    0    unsigned short
        reserved2    0x00da2294 ""    unsigned short [18]

 

 

 

0 Kudos
1 Solution
Harshdeep_B_Intel
1,216 Views

Hi There, 

I have investigated the issue (-15) observed on your end and would like to confirm VPP composition is not supported by SW. Only HW mode is supported. Please use HW mode for VPP composition, which you have already tested and have it working. We will be updating our manual with this information in next upcoming release.

Thanks,

 

View solution in original post

0 Kudos
17 Replies
Harshdeep_B_Intel
1,216 Views

Hello there, 

I just tested sample_vpp composition feature on my end and it works. Please take a look and follow this article here: https://software.intel.com/en-us/articles/video-composition-using-intel-media-sdk. 

Update to latest drivers from https://downloadcenter.intel.com/. ;Please note, currently you are using 3rd generation machine ( i7-3610QM ) on which only SW composition support is available. 

Thanks, 

 

0 Kudos
iroeville
Beginner
1,216 Views

Thanks for your reply.

When you say it worked for you, did you use the same command line and parameters that I quoted above?

Yes I had seen that article, but sample_vpp should already have all of the code to do composition ready-to-go so that seemed a good place to start. On my PC QueryVersion reports 1.19 using SW mode which should easily be good for composition (the ref manual says that mfxExtVPPComposite was added in API 1.8 with alpha capability added in 1.9). It should work but it's frustrating that even the simplest composition won't work for me. I've even tried the same parameter list from that article (and lots of other values) and that fails with -15 status aswell.

I'm wondering if there is something in the software library or dispatcher that is preventing use on 3rd gen processors - although this goes against the reason for having a software implementation. It would mean that 3rd gen processors could not do composition at all.

Has anyone else had problems getting composition to work (in software mode) on a 3rd generation processor?

0 Kudos
Harshdeep_B_Intel
1,216 Views

Hello, 

Yes, I used the same command line parameters as you mentioned in previous comment. On 3rd generation processor composition SW feature is supported, as you can see API is supported (only SW). Please see this thread: https://software.intel.com/en-us/forums/intel-media-sdk/topic/557696

Now, to triage this error, Can you check from https://downloadcenter.intel.com/ if latest drivers are installed on the machine. Also, could you please share a log from system analyzer tool: https://software.intel.com/en-us/articles/media-sdk-tools. 

Thanks, 

0 Kudos
iroeville
Beginner
1,216 Views

Thanks for your assistance. Yes I updated to the latest drivers a few days ago. The Driver update utility suggested TWO driver versions - one for Windows 7 from last year, and one for Windows 10/8/7 from this year that I chose.

Here is the output from the system analyzer tool:

Intel(R) Media Server Studio 2016 R2 - System Analyzer (32-bit)


The following versions of Media SDK API are supported by platform/driver
[opportunistic detection of MSDK API > 1.19]:

        Version Target  Supported       Dec     Enc
        1.0     HW      Yes             X       X
        1.0     SW      Yes             X       X
        1.1     HW      Yes             X       X
        1.1     SW      Yes             X       X
        1.2     HW      Yes             X       X
        1.2     SW      Yes             X       X
        1.3     HW      Yes             X       X
        1.3     SW      Yes             X       X
        1.4     HW      Yes             X       X
        1.4     SW      Yes             X       X
        1.5     HW      Yes             X       X
        1.5     SW      Yes             X       X
        1.6     HW      Yes             X       X
        1.6     SW      Yes             X       X
        1.7     HW      Yes             X       X
        1.7     SW      Yes             X       X
        1.8     HW      Yes             X       X
        1.8     SW      Yes             X       X
        1.9     HW      Yes             X       X
        1.9     SW      Yes             X       X
        1.10    HW      Yes             X       X
        1.10    SW      Yes             X       X
        1.11    HW      Yes             X       X
        1.11    SW      Yes             X       X
        1.12    HW      No
        1.12    SW      Yes             X       X
        1.13    HW      No
        1.13    SW      Yes             X       X
        1.14    HW      No
        1.14    SW      Yes             X       X
        1.15    HW      No
        1.15    SW      Yes             X       X
        1.16    HW      No
        1.16    SW      Yes             X       X
        1.17    HW      No
        1.17    SW      Yes             X       X
        1.18    HW      No
        1.18    SW      Yes             X       X
        1.19    HW      No
        1.19    SW      Yes             X       X

Graphics Devices:
        Name                                         Version             State
        Intel(R) HD Graphics 4000                    10.18.10.4425       08
        NVIDIA GeForce GT 630M                       9.18.13.3165        Active

System info:
        CPU:    Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz
        OS:     Microsoft Windows 7 Home Premium
        Arch:   64-bit

Installed Media SDK packages (be patient...processing takes some time):
        Intel(R) Media SDK 2013 (x86)
        Intel(R) Media SDK 2016
        Intel(R) Media SDK DirectShow* Sample 5.0.461.91752
        Intel(R) Media SDK 2012 R2 (x86)
        Intel(R) Media SDK 2016 R2
        Intel(R) Media SDK 2014 R2 for Clients (x64)
        Intel(R) Media SDK 2012 R3 (x86)
        Intel(R) Media SDK Samples 2016

In case it helps, below are the Visual Studio 2010 command lines for the compiler and linker (it's using the SDK 2016 R2 version):

/I"D:\Intel Media SDK Samples 2016 6.0.0.142\sample_vpp\\include" /I"C:\Program Files (x86)\IntelSWTools\Intel(R)_Media_SDK_2016.0.2\\include" /I"D:\Intel Media SDK Samples 2016 6.0.0.142\sample_vpp\\..\sample_common\include" /I"C:\Program Files\Microsoft SDKs\Windows\v7.1\Include" /I"C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\um" /I"C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\shared" /ZI /nologo /W4 /WX /Od /Oy- /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_ITERATOR_DEBUG_LEVEL=0" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MTd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fp"D:\Intel Media SDK Samples 2016 6.0.0.142\sample_vpp\..\_build\Win32\Debug\obj\sample_vpp\sample_vpp.pch" /Fa"D:\Intel Media SDK Samples 2016 6.0.0.142\sample_vpp\..\_build\Win32\Debug\obj\sample_vpp\" /Fo"D:\Intel Media SDK Samples 2016 6.0.0.142\sample_vpp\..\_build\Win32\Debug\obj\sample_vpp\" /Fd"D:\Intel Media SDK Samples 2016 6.0.0.142\sample_vpp\..\_build\Win32\Debug\obj\sample_vpp\vc100.pdb" /Gd /analyze- /errorReport:queue

/OUT:"D:\Intel Media SDK Samples 2016 6.0.0.142\sample_vpp\..\_build\Win32\Debug\sample_vpp.exe" /INCREMENTAL /NOLOGO /LIBPATH:"C:\Program Files (x86)\IntelSWTools\Intel(R)_Media_SDK_2016.0.2\\lib\Win32" "d3d11.lib" "dxgi.lib" "libmfx.lib" "dxva2.lib" "d3d9.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" "D:\Intel Media SDK Samples 2016 6.0.0.142\_build\Win32\Debug\lib\sample_common.lib" /NODEFAULTLIB:"msvcrt.lib" /NODEFAULTLIB:"msvcrtd.lib" /NODEFAULTLIB:"LIBCMT.lib" /MANIFEST /ManifestFile:"D:\Intel Media SDK Samples 2016 6.0.0.142\sample_vpp\..\_build\Win32\Debug\obj\sample_vpp\sample_vpp.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"D:\Intel Media SDK Samples 2016 6.0.0.142\_build\Win32\Debug\sample_vpp.pdb" /SUBSYSTEM:CONSOLE /PGD:"D:\Intel Media SDK Samples 2016 6.0.0.142\_build\Win32\Debug\sample_vpp.pgd" /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:QUEUE

 

0 Kudos
Harshdeep_B_Intel
1,216 Views

Thanks for sharing the details. This provides insights into your system environment. I do not have exact system configuration (dual graphics) machine here to try on my end. But, I do have following pointers as that would my first step to resolve this issue:

1)  I suspect that the issue is caused by dual graphics environment, so disable the NVIDIA graphics or try on some other system with latest processors ( without dual graphics). As, we have limited driver support on 3rd generation graphics : https://software.intel.com/en-us/articles/driver-support-matrix-for-media-sdk-and-opencl. 

2) Please uninstall all previous versions of MSDK installed on the machine and only keep the latest copy of mediasdk 2016 R2 version. As, we have observed previously from other customers platform library issues due to previous versions MSDK installed on 3rd generation systems

Thanks, 

 

0 Kudos
iroeville
Beginner
1,216 Views

OK, I disabled the NVIDIA driver (via Control Panel > Device Manager) and rebooted.

I also uninstalled ALL of the Intel Media SDK versions, rebooted, then installed the Intel Media SDK 2016 R2 again. Then rebooted again. Then checked the Device Manager again to confirm the NVIDIA driver was still disabled.

Then ran the system analyzer tool that gave:

Intel(R) Media Server Studio 2016 R2 - System Analyzer (32-bit)

The following versions of Media SDK API are supported by platform/driver
[opportunistic detection of MSDK API > 1.19]:

        Version Target  Supported       Dec     Enc
        1.0     HW      Yes             X       X
        1.0     SW      Yes             X       X
        1.1     HW      Yes             X       X
        1.1     SW      Yes             X       X
        1.2     HW      Yes             X       X
        1.2     SW      Yes             X       X
        1.3     HW      Yes             X       X
        1.3     SW      Yes             X       X
        1.4     HW      Yes             X       X
        1.4     SW      Yes             X       X
        1.5     HW      Yes             X       X
        1.5     SW      Yes             X       X
        1.6     HW      Yes             X       X
        1.6     SW      Yes             X       X
        1.7     HW      Yes             X       X
        1.7     SW      Yes             X       X
        1.8     HW      Yes             X       X
        1.8     SW      Yes             X       X
        1.9     HW      Yes             X       X
        1.9     SW      Yes             X       X
        1.10    HW      Yes             X       X
        1.10    SW      Yes             X       X
        1.11    HW      Yes             X       X
        1.11    SW      Yes             X       X
        1.12    HW      No
        1.12    SW      Yes             X       X
        1.13    HW      No
        1.13    SW      Yes             X       X
        1.14    HW      No
        1.14    SW      Yes             X       X
        1.15    HW      No
        1.15    SW      Yes             X       X
        1.16    HW      No
        1.16    SW      Yes             X       X
        1.17    HW      No
        1.17    SW      Yes             X       X
        1.18    HW      No
        1.18    SW      Yes             X       X
        1.19    HW      No
        1.19    SW      Yes             X       X

Graphics Devices:
        Name                                         Version             State
        Intel(R) HD Graphics 4000                    10.18.10.4425       Active
        NVIDIA GeForce GT 630M                       9.18.13.3165        08

System info:
        CPU:    Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz
        OS:     Microsoft Windows 7 Home Premium
        Arch:   64-bit

Installed Media SDK packages (be patient...processing takes some time):
        Intel(R) Media SDK DirectShow* Sample 5.0.461.91752
        Intel(R) Media SDK 2016 R2
        Intel(R) Media SDK Samples 2016

Then I rebuilt the sample_vpp from scratch. And ran it again in the Visual Studio debugger using software mode. QueryVersion says it is using API version 1.19.

It still returns -15 from   sts = pProcessor->pmfxVPP->Init(pParams);

So no difference. :(

 

0 Kudos
Harshdeep_B_Intel
1,216 Views

Hi There, 

Thank you for the update. To triage its not a app issue and isolate its not a VS config issue either, can you please try with the prebuilt sample_vpp app at location (<installed directory/Intel Media SDK Samples 2016 6.0.0.142\_bin\x64). Let me know how it goes. 

Thanks,

0 Kudos
iroeville
Beginner
1,216 Views

OK. Here is the transcript - tried the 32 and 64 bit versions of sample_vpp.exe and both failed with -15 status.


D:\Intel Media SDK Samples 2016 6.0.0.142\_bin\win32>sample_vpp.exe -lib sw -composite d:\temp\vpp-res.txt  -o d:\temp\foutvpp.nv12

Return on error: error code -15,        src\sample_vpp_utils.cpp        401

Return on error: error code -15,        src\sample_vpp_utils.cpp        628

Return on error: error code 1,  src\sample_vpp.cpp      192

D:\Intel Media SDK Samples 2016 6.0.0.142\_bin\win32>cd ..\x64

D:\Intel Media SDK Samples 2016 6.0.0.142\_bin\x64>sample_vpp.exe -lib sw -composite d:\temp\vpp-res.txt  -o d:\temp\foutvpp.nv12

Return on error: error code -15,        src\sample_vpp_utils.cpp        401

Return on error: error code -15,        src\sample_vpp_utils.cpp        628

Return on error: error code 1,  src\sample_vpp.cpp      192

D:\Intel Media SDK Samples 2016 6.0.0.142\_bin\x64>

 

0 Kudos
Harshdeep_B_Intel
1,216 Views

Hi There,

Thanks for the update. Please send me the package including both the streams and par file. Also, to isolate this is not a specific system issue, Can you try on any other systems you have with latest 4th generation processor and above (without dual graphics). Let me know the results. 

Thanks,

0 Kudos
iroeville
Beginner
1,216 Views

The good news is that I have managed to get it to work in HARDWARE mode - I had assumed from a previous thread that it would not work for third generation processors so I have only just tried it, and it does work. This is on the same i7-3610QM third generation laptop. The ref manual says that composition appeared in API 1.8, and QueryVersion in HW mode reports 1.11 on this  i7-3610QM so one would expect HW composition to work OK, and it does. Are there perhaps some third generation processors that can not do composition, and some that can?

VPP Sample Version 6.0.0.142

Input format    NV12
Resolution      1920x1088
Crop X,Y,W,H    0,0,1920,1088
Frame rate      30.00
PicStruct       progressive
Output format   NV12
Resolution      1920x1088
Crop X,Y,W,H    0,0,1920,1088
Frame rate      30.00
PicStruct       progressive

Video Enhancement Algorithms
Denoise         OFF
VideoAnalysis   OFF
ProcAmp         OFF
Detail          OFF
ImgStab         OFF

Memory type     system

MediaSDK impl   hw
MediaSDK ver    1.11

VPP started
Frame number: 234
VPP finished

I am surprised to see that the Memory type is shown above as "system" - I would have thought it should be video memory for hardware mode ? I was also a bit surprised that sts = pProcessor->pmfxVPP->Init(pParams) returns the warning status MFX_WRN_FILTER_SKIPPED. I don't know what it thinks it has skipped, but composition does seem to work OK

The bad news is that SOFTWARE mode still fails. The only other machine I have around at present is a low-powered laptop with a Celeron N3050 @ 1.60GHz and integrated graphics only. The system analyzer does however show HW support up to SDK version 1.16, and SW up to 1.19.

In software mode on the Celeron, sample_vpp fails in the same way:

D:\Intel Media SDK stuff>sample_vpp.exe -lib sw -composite vpp-res.txt -o fout.nv12

Return on error: error code -15,        src\sample_vpp_utils.cpp        401

Return on error: error code -15,        src\sample_vpp_utils.cpp        628

Return on error: error code 1,  src\sample_vpp.cpp      192

But in hardware mode on the Celeron, sample_vpp succeeds, just like on the i7-3610QM.

So it looks like it is a problem with the software implementation.

> Please send me the package including both the streams and par file

How do I send you the files?

 

0 Kudos
Harshdeep_B_Intel
1,216 Views

Hi There, 

Great to hear you atleast have composition working in HW mode. Now, generally SW mode should also work as MSDK always provides a fallback if HW implementation fails. It will be interesting to investigative why SW mode is failing when on the other end HW mode works. 

I am surprised to see that the Memory type is shown above as "system" - I would have thought it should be video memory for hardware mode ? -> Please take a look at MediaSDK developer guide.https://software.intel.com/sites/default/files/Intel_Media_Developers_Guide_0.pdf. From the transcript MediaSDK impl   hw  refers to system HW been used "add d3d" which is video memory. Again, samples are just getting started examples and not production ready, feel free to modify code suitable for your scenario. 

How do I send you the files? -> Zip the files and use "Attach Files to Post" to attach them. 

Thanks, 

 

0 Kudos
iroeville
Beginner
1,216 Views

> impl   hw  refers to system HW been used which is video memory.

From the guide:

SYSTEM_MEMORY specifies that CPU memory will be used. This is best for the software implementation.

VIDEO_MEMORY specifies that GPU memory will be used. This is best for the hardware implementation.

It looks like sample_vpp will use SYSTEM_MEMORY even if you use the -lib hw option unless you also supply -d3d or -d3d11 command line options which will then use VIDEO_MEMORY.

So I tried adding the -d3d option expecting to see a significant speedup - instead it ran very much slower!  Very strange.

I have attached the files for the software mode problem. There is only one yuv file in the package - use it for BOTH of the input files (will provide a smaller version of the same image composited onto the video).

 

0 Kudos
Harshdeep_B_Intel
1,216 Views

> impl   hw  refers to system HW been used which is video memory -> Correction : impl hw refers to system HW been used add d3d which is video memory. Apologies, I missed including it in previous sentence.

>So I tried adding the -d3d option expecting to see a significant speedup - instead it ran very much slower!  Very strange.

Many performance fallbacks with Direct X 9 (d3d) was addressed by Microsoft with Direct X 11 release. For performance improvement, I recommend updating your OS to Win 8 or above and try with -d3d11 implementation. 

Thank you for the package, let me investigate and get back to you soon. 

 

0 Kudos
Harshdeep_B_Intel
1,217 Views

Hi There, 

I have investigated the issue (-15) observed on your end and would like to confirm VPP composition is not supported by SW. Only HW mode is supported. Please use HW mode for VPP composition, which you have already tested and have it working. We will be updating our manual with this information in next upcoming release.

Thanks,

 

0 Kudos
iroeville
Beginner
1,216 Views

Sorry for the delay in replying. And thanks for looking into this.

> VPP composition is not supported by SW. Only HW mode is supported ...
> We will be updating our manual with this information in next upcoming release.

Do you mean that this will be fixed in the next release (composition will be possible in SW mode), or do you mean that composition will never be possible in SW mode ?

Your reply sounds like the latter which would be very surprising as the SW implementation is supposed to provide a fall-back for any problems with the HW implementation. If composition will never be possible in SW mode then this seems to break the whole point of the SW mode.

0 Kudos
Harshdeep_B_Intel
1,216 Views

Hi There, 

Currently, VPP composition is not supported or possible in SW mode. As, HW support is available from 3rd generation and above processors, we recommend taking advantage of HW mode vs SW mode for better performance and quality. But, if you interested in SW mode, please share with me business interest along impact for SW mode via private message.

Thanks, 

0 Kudos
iroeville
Beginner
1,216 Views

Thanks. I can manage OK in hardware mode. Hopefully composition support will eventually be added to software mode, if only to offer a complete and reliable fallback support if there are any problems with hardware mode on a client machine. Support must have been missing since API version 1.8 which seems quite a long time.

Thank you for your time in looking into this.

 

0 Kudos
Reply