mirror of
https://github.com/games-on-whales/gst-wayland-display.git
synced 2026-10-15 12:51:57 +00:00
[PR #62] patches: Vulkan AV1 encoder + encode-family fixes #62
Labels
No labels
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/gst-wayland-display#62
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/gst-wayland-display/pull/62
Author: @salty2011
Created: 8/22/2026
Status: 🔄 Open
Base:
feat/vulkan-encode← Head:patches/vulkan-av1-encode📝 Commits (5)
5597fc4patches: vulkanav1enc + encode-family fixesf1e67afdocker: apply the full patch chain in the vulkan image8bc3630patches: address review on AV1 caps and live-retarget threading6b4dd3bci: build the patched GStreamer with tests and run the Vulkan testse9e1237patches: narrow vulkanh265enc to the profiles it can encode📊 Changes
11 files changed (+6673 additions, -60 deletions)
View changed files
➕
.github/workflows/gst-patches.yml(+58 -0)📝
.gitignore(+1 -0)📝
ci/README.md(+14 -0)➕
ci/gst-patches.sh(+83 -0)📝
docker/vulkan.Dockerfile(+9 -6)📝
patches/README.md(+19 -3)➕
patches/gstreamer-vulkan-rc-retarget-no-reset.patch(+137 -0)➕
patches/series(+7 -0)➕
patches/vkh264enc-rc-fix.patch(+286 -0)➕
patches/vulkanav1enc.patch(+5714 -0)📝
patches/vulkanh265enc.patch(+345 -51)📄 Description
Patch files for this branch's
patches/set. I run all of these in my streaming stack on an RTX 5090 (driver 610.57.04, gst 1.28.4).vulkanav1enc.patch(new)av1_encode_caps()togstvkvideocaps.c. Stock 1.28.4 returns FALSE for AV1 encode there, so nothing registers without it. Includes a GPU-free test suite for the reference model.gstreamer-vulkan-rc-retarget-no-reset.patch(new)ENCODE_RATE_CONTROL_BIT, notRESET_BIT. Before this, every retarget reset the session and forced a keyframe, on all three codecs. Also fixes DPB slot 0 never being released.vkh264enc-rc-fix.patch(new here)vulkanh265enc.patch(updated)ffmpeg -err_detect +explodeon 116/120 frames.Apply order: dpb-pool (unchanged), vulkanh265enc, rc-fix, rc-retarget, vulkanav1enc.
AV1 evidence:
libs_vkvideoencodeav1conformance stays greenScope: 8-bit 4:2:0 Main, intra + forward inter, single tile, CBR/VBR/CQP. No B-frames, no
show_existing_frame, no 10-bit. All noted as TODOs in the source.Caveat: NVIDIA only. I have no RADV encode box. Like the existing files these are vendored patches, regenerated per GStreamer bump. I keep them current.
Second commit:
docker/vulkan.Dockerfilenow applies the full chain, so this image build compiles the AV1 element too.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.