Skip to content

Conversation

@srperens
Copy link
Collaborator

@srperens srperens commented Jan 2, 2026

Summary

  • Replace videoconvert with autovideoconvert in video processing blocks
  • Enables GPU-accelerated color conversion when available
  • Fixes hardware encoder compatibility issues

Fixes #188

Problem

The videoconvert element is software-only and can't keep up with hardware encoding pipelines. When using H.265 hardware encoding with Decklink input, the pipeline failed with:

streaming stopped, reason not-linked (-1)
'videoconvert' falling behind 92.3%

Solution

autovideoconvert automatically selects the best available converter:

  • glcolorconvert for OpenGL pipelines
  • CUDA converters for NVIDIA hardware
  • Falls back to software videoconvert when needed

Updated Blocks

Block File
Video Encoder videoenc.rs
Video Format videoformat.rs
DeckLink In/Out decklink.rs
NDI In/Out ndi.rs

Note: Compositor block intentionally kept with videoconvert for CPU-based compositing.

Test plan

  • Code compiles
  • All existing tests pass
  • Test H.265 hardware encoding with Decklink input (user reported fix)
  • Test other hardware encoder workflows

🤖 Generated with Claude Code

Replaces videoconvert with autovideoconvert in video processing blocks
to enable GPU-accelerated color conversion when available. This fixes
hardware encoder compatibility issues where software videoconvert
couldn't keep up with the pipeline.

Fixes #188 - H.265 HEVC hardware encoding now works correctly.

Updated blocks:
- videoenc: Video encoder block (primary fix for issue #188)
- videoformat: Video format conversion block
- decklink: DeckLink video input/output blocks
- ndi: NDI video input/output blocks

autovideoconvert automatically selects the best converter:
- glcolorconvert for OpenGL pipelines
- CUDA converters for NVIDIA hardware
- Falls back to software videoconvert when needed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@srperens srperens force-pushed the fix/autovideoconvert-hardware-encoding branch from ffe79ac to f45f7c2 Compare January 2, 2026 15:33
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.

H.265 HEVC hardware encoding issue

2 participants