Skip to content

Fix AMD AV1 missing from Advanced encoder dropdown - #1771

Draft
summeroff wants to merge 1 commit into
stagingfrom
fix/amd-av1-advanced-encoder-id
Draft

Fix AMD AV1 missing from Advanced encoder dropdown#1771
summeroff wants to merge 1 commit into
stagingfrom
fix/amd-av1-advanced-encoder-id

Conversation

@summeroff

@summeroff summeroff commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

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 videoEncoderOptions used the simple encoder id (amd_av1) in the advanced_name field instead of the advanced id (av1_texture_amf). No OBS plugin registers an encoder named amd_av1, so isEncoderRegistered always failed and the row was filtered out of the Advanced dropdown. Simple mode was unaffected (uses a different field, already correct).

Change

Corrected advanced_name to ADVANCED_ENCODER_AMD_AV1 for 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/getEncoderFamily for this encoder now resolve correctly instead of falling back to defaults with a log warning.

Testing

  • Built clean: 0 errors, obs-studio-server-lib.lib produced, against libobs 32.1.1sl8 (staging pin).
  • clang-format 18.1.3 clean (matches CI).
  • Not runtime-tested — no AMD GPU available in this environment. Marked draft pending QA on AMD hardware.

QA scope (needs AMD GPU with AV1 encode, e.g. RX 7000/9000 series)

  1. Advanced > Recording — "AMD HW AV1" appears with mp4 or mkv container; select it and record; file plays back as AV1. It should stay hidden for flv/mov/ts/m3u8 (those containers don't carry AV1).
  2. Advanced > Streaming, YouTube (RTMPS) — "AMD HW AV1" appears and a stream starts. YouTube RTMPS advertises h264, hevc, av1, so AV1 is offered here.
  3. Advanced > Streaming, Twitch — "AMD HW AV1" must NOT appear. Twitch advertises h264 only.
  4. Regression — AMD H.264 and AMD HEVC still appear and still work in both Advanced Streaming and Recording.
  5. Simple mode — "Hardware (AMD, AV1)" behaves exactly as before this change (it already worked; this PR must not alter it).
  6. Optimized profile — with AMD AV1 selected for YouTube streaming, start a stream, enable the optimized profile in Go Live, then open Settings > Output. Must not error. (settings.ts throws Missing streaming encoder metadata if osn returns no family/preset for the selected encoder; this row now returns family amd / preset preset, but it is worth confirming on real hardware.)

🤖 Generated with Claude Code

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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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.

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.

2 participants