Skip to content

AI frame interpolation produces corrupted output #173

Open
@chainikdn

Description

@chainikdn

Windows 11, A380 card, latest drivers .6458.

Software works with in-memory frames in YV12, with NV12 output after VPP.

Attached source frame and the one generated by VPL. The image is somehow stretched and squeezed, plus overlaid with something that looks like a mask in a blocks 4x4 (or 8x8?).

I'm pretty sure my code is ok, because it works correctly after replacing mfxExtVPPAIFrameInterpolation with simple mfxExtVPPFrameRateConversion.

Image
Image

My init code:

    mfxVideoParam VPPParams = {};

    _fillFrameInfo(&VPPParams.vpp.In, MFX_FOURCC_YV12, width, height, 24, 1);
    _fillFrameInfo(&VPPParams.vpp.Out, MFX_FOURCC_NV12, width, height, 24*mul, div);

    VPPParams.IOPattern = MFX_IOPATTERN_IN_SYSTEM_MEMORY | MFX_IOPATTERN_OUT_SYSTEM_MEMORY;

    mfxExtVPPAIFrameInterpolation aiFrameInterpolation = {};
    aiFrameInterpolation.Header.BufferId      = MFX_EXTBUFF_VPP_AI_FRAME_INTERPOLATION;
    aiFrameInterpolation.Header.BufferSz      = sizeof(mfxExtVPPAIFrameInterpolation);
    aiFrameInterpolation.FIMode               = MFX_AI_FRAME_INTERPOLATION_MODE_DEFAULT; 
    aiFrameInterpolation.EnableScd            = 1;

    mfxExtBuffer *ExtParam[] = { (mfxExtBuffer *)&aiFrameInterpolation };

    VPPParams.NumExtParam   = 1;
    VPPParams.ExtParam      = ExtParam;

    MFXVideoVPP_Init(session, &VPPParams);

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrecommend transferThis looks like it is better solved in another project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions