Fix AMD AV1 missing from Advanced encoder dropdown - #1771
Draft
summeroff wants to merge 1 commit into
Draft
Conversation
The AMD HW AV1 row used the simple encoder id (amd_av1) in the advanced_name field instead of the advanced encoder id (av1_texture_amf). Since no OBS plugin registers an encoder named amd_av1, isEncoderRegistered always failed and the row was filtered out of the Advanced-mode encoder dropdown on every AMD GPU. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Runtime validation on supported AMD hardware remains outstanding.
Pull request overview
Corrects AMD AV1 encoder discovery in Advanced mode by using the registered advanced encoder identifier.
Changes:
- Replaces the simple AMD AV1 ID with
ADVANCED_ENCODER_AMD_AV1. - Restores encoder family and preset metadata lookup.
File summaries
| File | Description |
|---|---|
obs-studio-server/source/osn-encoders.cpp |
Corrects the AMD AV1 advanced encoder mapping. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
A user reported that AMD HW AV1 never appears in Advanced mode > Recording, only AMD H.264/HEVC do, on any AMD GPU.
Cause
The AMD HW AV1 row in
videoEncoderOptionsused the simple encoder id (amd_av1) in theadvanced_namefield instead of the advanced id (av1_texture_amf). No OBS plugin registers an encoder namedamd_av1, soisEncoderRegisteredalways failed and the row was filtered out of the Advanced dropdown. Simple mode was unaffected (uses a different field, already correct).Change
Corrected
advanced_nametoADVANCED_ENCODER_AMD_AV1for the AMD HW AV1 row. One line, one file. No migration needed since"amd_av1"was never a value that could have been persisted.User-visible effect
AMD HW AV1 now appears in Advanced mode's encoder list on AMD hardware. Side effect:
getEncoderPreset/getEncoderFamilyfor this encoder now resolve correctly instead of falling back to defaults with a log warning.Testing
obs-studio-server-lib.libproduced, against libobs 32.1.1sl8 (staging pin).QA scope (needs AMD GPU with AV1 encode, e.g. RX 7000/9000 series)
h264, hevc, av1, so AV1 is offered here.h264only.settings.tsthrowsMissing streaming encoder metadataif osn returns no family/preset for the selected encoder; this row now returns familyamd/ presetpreset, but it is worth confirming on real hardware.)🤖 Generated with Claude Code