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

Clarification on mfxAISuperResolutionMode Support and Implementation in libvpl #156

Open
quamt opened this issue Aug 23, 2024 · 12 comments
Open
Labels
question Further information is requested

Comments

@quamt
Copy link

quamt commented Aug 23, 2024

Hello,I am seeking to better understand the mfxAISuperResolutionMode feature within Intel’s libvpl.

I would appreciate some clarification on the following points:

Driver and Architecture Support:

Which Intel GPU architectures and driver versions support the mfxAISuperResolutionMode feature?
Is there a resource or changelog available that details when this feature was introduced or enhanced across different platforms in libvpl?

Understanding Application Integration:

I understand that the libvpl dispatcher links the application with the appropriate runtime libraries. Could you explain the recommended process for initializing and checking the availability of mfxAISuperResolutionMode within an application?

Additionally, what considerations should be made if this feature is not supported on certain hardware or driver versions?

Are there suggested fallback mechanisms or best practices in such cases?

Thank you for your guidance.
Any documentation or resources that could further my understanding of this feature and its integration would be greatly appreciated.

@jonrecker
Copy link
Contributor

Thank you for your interest in this feature. Some documentation and code snippets are available in the VPP programming guide and the API reference.

@FurongZhang could you please provide some additional info re. the above questions?

@tletnes tletnes added the question Further information is requested label Aug 28, 2024
@FurongZhang
Copy link
Contributor

  1. VPL API: We added mfxAISuperResolutionMode in VPL v2.11 as experimental API, v2.13 move to production.
  2. Driver version:
    a. The latest driver supports AI power super resolution (still experimental API) https://www.intel.com/content/www/us/en/download/785597/intel-arc-iris-xe-graphics-windows.html. The officially released driver in 2024 Q2/Q3 drivers can support this feature.
    b. This feature is only supported on Windows, NO on Linux.
    c. This feature has been supported on TigerLake, Metorlake, LunarLake. A lot of platforms are compatible.
    d. As the programming guide shows, use query or init to check the capability of super resolution. If failed, recommend to fall back to the VPL hardware scaling path(no-AI).

@quamt
Copy link
Author

quamt commented Sep 22, 2024

@FurongZhang
Thank you for your explanation.

Does this also work on Intel Arc GPUs?

@FurongZhang
Copy link
Contributor

Yes, I works on Intel Arc GPUs. I assume you are talking about DG2 series.

@quamt
Copy link
Author

quamt commented Sep 23, 2024

Yes, I works on Intel Arc GPUs. I assume you are talking about DG2 series.

Thank you for your reply.
Yes, correct the DG2 series.
Arc A750 for example.

I tested to check it with the 64-bit version of QSVENc from the git hub repository here:
https://github.com/rigaya/QSVEnc/releases 7.69

Tested with latest driver that I found:
GPU: Intel Arc A750 Graphics (448EU) 300-2400MHz (32.0.101.6078)

Here it shows as X for not supported
AI Super Res x

Supported VPP features:

Resize                o
AI Super Res          x
Deinterlace           o
Scaling Quality       o
Denoise               o
Denoise2              o
Mctf                  x
Rotate                o
Mirror                o
Detail Enhancement    o
Proc Amp.             o
Image Stabilization   x
Perceptual Pre Enc    o
Video Signal Info     o
FPS Conversion        o
FPS Conversion (Adv.) o
AI Frame Interp       o

Thats why I was curious on how the detection feature works.

@FurongZhang
Copy link
Contributor

What is the input / output format you are using?

@quamt
Copy link
Author

quamt commented Sep 23, 2024

What is the input / output format you are using?

I didn't try to encode something yet, with that setting enabled in the parameters.
The setting listed to enable is:
--vpp-resize mfx-ai-superres

I usually encode with hevc 10-bit or avc as input and also as output.

@FurongZhang
Copy link
Contributor

I did not mean encoding. I mean VPP input / output format.

@quamt
Copy link
Author

quamt commented Sep 23, 2024

I did not mean encoding. I mean VPP input / output format.

Can you please elaborate?

@FurongZhang
Copy link
Contributor

The input and output of VPP for AI super resolution is NV12. Other formats might not be supported.

@quamt
Copy link
Author

quamt commented Sep 23, 2024

The input and output of VPP for AI super resolution is NV12. Other formats might not be supported.

Thank you for the clarification.
I need to investigate and get back on this.

@quamt
Copy link
Author

quamt commented Sep 24, 2024

@FurongZhang

It uses NV12.

QSVEnc 7.70 updates to latest libvpl to support API 2.13.

6078 driver support is up to API 2.12?
Could there be a driver problem?

Updated driver to 32.0.101.6078

QSVEncC (x64) 7.70 (r3442) by rigaya, Sep 24 2024 12:52:40 (VC 1941/Win)
Intel Media SDK API v2.13

QSV available.
Media SDK Version: Hardware API v2.12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants