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.

Vpp Init Failure when transforming YV12 to NV12

Liu_M_
Beginner
386 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
387 Views

Sorry,

mVppParams.vpp.In.ChromaFormat          = MFX_CHROMAFORMAT_MONOCHROME;

should be:

mVppParams.vpp.In.ChromaFormat          = MFX_CHROMAFORMAT_YUV420;

0 Kudos
Sravanthi_K_Intel
387 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. 

0 Kudos
Liu_M_
Beginner
387 Views

Hello SRAVANTHI,

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

Matt

0 Kudos
Sravanthi_K_Intel
387 Views

Thanks for bringing it to our notice. 

0 Kudos
Sravanthi_K_Intel
387 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.

0 Kudos
Reply