Skip to content

[UNTESTED] Highly experimental H264 support for G45/CTG #11

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

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

irql-notlessorequal
Copy link
Owner

@irql-notlessorequal irql-notlessorequal commented Mar 17, 2025

I'm leaving this out for several releases since this is a mess.

My gripes with it is that:

  1. This isn't real hardware acceleration, I mean sure, it runs on the GPU alright but this is just doing the number crunching on it, no actual dedicated silicon.
  2. It's very bug prone and likely to just hang your GPU.
  3. GPU configurations vary the maximum resolution, meaning that the luckiest users will be able to handle 1080p30/720p60.
  4. No VPP support, meaning that Chromium WILL NOT work with this generation of hardware.

I'm leaving this PR here for the poor souls that want to test this.

As of writing, this is using the unmodified shaders for CTG, they might work or they might not.

Please leave feedback here, or yell at me to make a dedicated issue tracker for this specific issue.

Compiling this requires setting -Denable_h264_ctg=true in Meson or --enable-h264-ctg in Make.

This enables the code path for CTG/G45 H.264 support.

Currently does nothing.
This leaves the shaders and SW_SCOREBOARD out of it, don't expect it to work.
I have **ZERO** clue if it'll work, the shaders are different between the official ones and the forked ones.

Test at your own peril.
@irql-notlessorequal irql-notlessorequal self-assigned this Mar 17, 2025
I have no clue if it wants I420 or NV12.

The PRMs (four documents only) aren't very useful either.
@irql-notlessorequal irql-notlessorequal linked an issue Apr 15, 2025 that may be closed by this pull request
@w8jcik
Copy link

w8jcik commented Apr 17, 2025

Could you suggest which software might make use of this acceleration? Is it VLC, MPlayer, ffmpeg?

I can see pretty clear in the README.md that this solution offers Functioning Chromium support (except for G45 of course). Is Firefox more problematic or less problematic, or simply different? Does it have a chance to work?

@irql-notlessorequal
Copy link
Owner Author

irql-notlessorequal commented Apr 17, 2025

Could you suggest which software might make use of this acceleration? Is it VLC, MPlayer, ffmpeg?

I can see pretty clear in the README.md that this solution offers Functioning Chromium support (except for G45 of course). Is Firefox more problematic or less problematic, or simply different? Does it have a chance to work?

Assuming it works (probably need to rebase the changes and add some missing patches), most software should be able to take advantage of it, Chromium is the odd one out because it is using VPP [1] (post-processing using GPU shaders) to convert the raw NV12 image you get from decoding into BGRA unlike everyone else.

[1] This isn't supported on G45 because the GPU is way more limited in capabilities (to be fair it is a very old integrated graphics solution) and Intel didn't provide any shaders to do conversion with.

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

Successfully merging this pull request may close these issues.

h264 support for G45
2 participants