Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.

Vpp Init Failure when transforming YV12 to NV12

Liu_M_
Beginner
147 Views

Hello,

I've been working with MSDK for video transcoding. After I updated my hardware and drivers,  i found vpp refused to work.

MFX Session query result:  MFX_IMPL_VIA_D3D11 | MFX_IMPL_HARDWARE2

VPP Init return code: -15

hardware info:       

   Version Target  Supported       Dec     Enc
        1.0     HW      Yes             X       X       [Adapter 1]
        1.0     SW      Yes             X       X
        1.1     HW      Yes             X       X       [Adapter 1]
        1.1     SW      Yes             X       X
        1.3     HW      Yes             X       X       [Adapter 1]
        1.3     SW      Yes             X       X
        1.4     HW      Yes             X       X       [Adapter 1]
        1.4     SW      Yes             X       X
        1.5     HW      Yes             X       X       [Adapter 1]
        1.5     SW      Yes             X       X
        1.6     HW      Yes             X       X       [Adapter 1]
        1.6     SW      Yes             X       X
        1.7     HW      Yes             X       X       [Adapter 1]
        1.7     SW      Yes             X       X
        1.8     HW      Yes             X       X       [Adapter 1]
        1.8     SW      Yes             X       X

Graphics Devices:
        Name                                                      Version             State
        Intel(R) HD Graphics P4600/P4700             10.18.10.3496       08
        Microsoft Basic Display Adapter (Low Resolution)6.3.9600.16384      Active

System info:
        CPU:    Intel(R) Xeon(R) CPU E3-1245 v3 @ 3.40GHz
        OS:     Microsoft Windows 8.1 Pro
        Arch:   64-bit

my code:

    mVppParams.IOPattern                    = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY;

    mVppParams.vpp.In.FourCC                =  MFX_FOURCC_YV12;
    mVppParams.vpp.In.Width                 = BYTE_ALIGN16(1920);
    if (MFX_PICSTRUCT_PROGRESSIVE == mVppParams.vpp.In.PicStruct) {
        mVppParams.vpp.In.Height            = BYTE_ALIGN16(1080);
    } else {
        mVppParams.vpp.In.Height            = BYTE_ALIGN32(1080);
    }
    mVppParams.vpp.In.CropX                 = 0;
    mVppParams.vpp.In.CropY                 = 0;
    mVppParams.vpp.In.CropW                 = 1920;
    mVppParams.vpp.In.CropH                 = 1080;
    IM_convertFrameRate(29.97, &mVppParams.vpp.In.FrameRateExtN, &mVppParams.vpp.In.FrameRateExtD);
    mVppParams.vpp.In.ChromaFormat          = MFX_CHROMAFORMAT_MONOCHROME;
    mVppParams.vpp.In.PicStruct             = MFX_PICSTRUCT_PROGRESSIVE;

    mVppParams.vpp.Out.ChromaFormat         = MFX_CHROMAFORMAT_YUV420;
    mVppParams.vpp.Out.PicStruct            = MFX_PICSTRUCT_PROGRESSIVE;
    mVppParams.vpp.Out.FourCC               = MFX_FOURCC_NV12;
    mVppParams.vpp.Out.Width                = BYTE_ALIGN16(1920);
    if (MFX_PICSTRUCT_PROGRESSIVE == mVppParams.vpp.Out.PicStruct) {
        mVppParams.vpp.Out.Height           = BYTE_ALIGN16(1080);
    } else {
        mVppParams.vpp.Out.Height           = BYTE_ALIGN32(1080);
    }
    mVppParams.vpp.Out.CropX                = 0;
    mVppParams.vpp.Out.CropY                = 0;
    mVppParams.vpp.Out.CropW                = 1920;
    mVppParams.vpp.Out.CropH                = 1080;
    IM_convertFrameRate(29.97, &mVppParams.vpp.Out.FrameRateExtN, &mVppParams.vpp.Out.FrameRateExtD);

I'm really confused about this, is there any thing I can do to make it right?

 

Thanks

0 Kudos
5 Replies
Liu_M_
Beginner
148 Views

Sorry,

mVppParams.vpp.In.ChromaFormat          = MFX_CHROMAFORMAT_MONOCHROME;

should be:

mVppParams.vpp.In.ChromaFormat          = MFX_CHROMAFORMAT_YUV420;

Sravanthi_K_Intel
148 Views

Hello Liu,

You mention "I've been working with MSDK for video transcoding. After I updated my hardware and drivers,  i found vpp refused to work."; can you please provide some more information on what were the updates you performed (for example, previous driver version and current version)?

Thanks. 

Liu_M_
Beginner
148 Views

Hello SRAVANTHI,

It seems that new driver can no longer support YV12-->NV12 transforming, thanks any way : )

Matt

Sravanthi_K_Intel
148 Views

Thanks for bringing it to our notice. 

Sravanthi_K_Intel
148 Views

Hello Liu,

I tested the transcode sample with the latest drivers and sample_transcode, and it is working fine now. Can you please download the latest drivers and the sample, and check if it works without any problem?

If you do see the issue again, please send us details of the problem for us to investigate.

Thanks.

Reply