Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AI frame interpolation produces corrupted output #173

Open
chainikdn opened this issue Jan 21, 2025 · 9 comments
Open

AI frame interpolation produces corrupted output #173

chainikdn opened this issue Jan 21, 2025 · 9 comments
Labels
bug Something isn't working recommend transfer This looks like it is better solved in another project

Comments

@chainikdn
Copy link

chainikdn commented Jan 21, 2025

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);
@chainikdn chainikdn changed the title AI interpolation produces corrupted output AI frame interpolation produces corrupted output Jan 21, 2025
@mav-intel mav-intel added bug Something isn't working recommend transfer This looks like it is better solved in another project labels Jan 22, 2025
@mav-intel
Copy link
Contributor

This looks like it might be related to the runtime. @FurongZhang what do you think?

@Usulyre
Copy link

Usulyre commented Jan 28, 2025

Any update on this @mav-intel ?

@mav-intel
Copy link
Contributor

@Usulyre I think @FurongZhang is probably the best person to look at this but is out, probably will be able to look at in the 2nd week in February

@FurongZhang
Copy link
Contributor

We will check that and give an update.

@Usulyre
Copy link

Usulyre commented Feb 17, 2025

We will check that and give an update.

Hi, is there an update yet?

@FurongZhang
Copy link
Contributor

We have already fixed an similar corruption. The fix will be released 1-2 months in gfx official release.
But I am not quite sure if the fix can resolve your issue.
Is it possible for you to share you clips and let us try if our fix can resolve your issue?

@chainikdn
Copy link
Author

dunno, this happens with any source frames, any resolution
if this matters, I'm using YV12 input and NV12 output

@roycezjq
Copy link

@chainikdn Hi I'm trying to use this frame interpolation recently. I'm new to this vpl framework. This might be a stupid question. What is the div parameter in your code? I keep getting MFX_ERR_INVALID_VIDEO_PARAM error. Not sure if I missed some parameters. Thanks

@FurongZhang
Copy link
Contributor

We fixed one corruption issue, I will let you know once the new driver release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working recommend transfer This looks like it is better solved in another project
Projects
None yet
Development

No branches or pull requests

5 participants