[PR #6934] [MERGED] HWA pipeline refactor, AMD/Intel/Nvidia full hardware filtering support, AV1 hwdec #11198

Closed
opened 2026-02-07 06:34:09 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/6934
Author: @nyanmisaka
Created: 12/1/2021
Status: Merged
Merged: 12/26/2021
Merged by: @crobibero

Base: masterHead: hwa


📝 Commits (5)

  • 4b9c84c EncodingHelper hwaccel pipelines refactor
  • b2d85a0 Apply suggestions from code review
  • d0832c6 Merge DynamicHlsController and VideoHlsController (#119)
  • 7db753d reduce tonemap cpu usage, add deint and AR support in thumbnails
  • 728a598 Merge remote-tracking branch 'origin/master' into hwa

📊 Changes

10 files changed (+3164 additions, -2304 deletions)

View changed files

📝 Jellyfin.Api/Controllers/DynamicHlsController.cs (+287 -42)
Jellyfin.Api/Controllers/VideoHlsController.cs (+0 -586)
📝 MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs (+2687 -1547)
📝 MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs (+1 -17)
📝 MediaBrowser.Controller/MediaEncoding/FilterOptionType.cs (+11 -1)
📝 MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs (+24 -6)
📝 MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs (+62 -18)
📝 MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs (+66 -70)
📝 MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs (+16 -11)
📝 MediaBrowser.Model/Configuration/EncodingOptions.cs (+10 -6)

📄 Description

FFmpeg Changes

  • jellyfin-ffmpeg version 4.4.1
  • https://github.com/jellyfin/jellyfin-ffmpeg/pull/76
  • Many patches regarding HWA have been applied into jellyfin-ffmpeg version 4.4.1.
    IMPORTANT: Using old or original FFmpeg may disable the hardware filtering improvements down below.

Changes

  • HWA pipeline refactor, separate the HW pipeline according to HWA method for maintainability.
  • AMD/Intel/Nvidia full hardware filtering support. (such as QSV tone-mapping is extended to Windows)
  • Experimental AV1 hardware decoding. (I do not have latest gen AMD and Nvidia graphic card for the time being)
  • Intel Low-Power encoding. (Reduce overhead in 4k transcoding and tone-mapping, pre-Gen11 only support LP H264)
  • Hardware accelerated subtitle burn-in.
  • Improved tone-mapping and subtitle burn-in performance.

  • Fix the issue that QSV may fail on Windows if no display is connected.
  • Fix green/corrupted output when transcoding HDR content on QSV.
  • Fix pixelated output when encoding 4k content on AMD VAAPI.

Web Changes

Issues
Fixes #6835 #6809 #6725 #6524 #5535


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/6934 **Author:** [@nyanmisaka](https://github.com/nyanmisaka) **Created:** 12/1/2021 **Status:** ✅ Merged **Merged:** 12/26/2021 **Merged by:** [@crobibero](https://github.com/crobibero) **Base:** `master` ← **Head:** `hwa` --- ### 📝 Commits (5) - [`4b9c84c`](https://github.com/jellyfin/jellyfin/commit/4b9c84c52e884e6d35d9bfdc41cbfc04f77b156c) EncodingHelper hwaccel pipelines refactor - [`b2d85a0`](https://github.com/jellyfin/jellyfin/commit/b2d85a02c21fb22c3a164a6d8e23c2b5beacb324) Apply suggestions from code review - [`d0832c6`](https://github.com/jellyfin/jellyfin/commit/d0832c60d4ff572e16387c19b970cbd009a8724b) Merge DynamicHlsController and VideoHlsController (#119) - [`7db753d`](https://github.com/jellyfin/jellyfin/commit/7db753d2471e6c8e0b003c75c1d40fc7b2f396da) reduce tonemap cpu usage, add deint and AR support in thumbnails - [`728a598`](https://github.com/jellyfin/jellyfin/commit/728a5988b3801dc559efbaf278e1a75770884faf) Merge remote-tracking branch 'origin/master' into hwa ### 📊 Changes **10 files changed** (+3164 additions, -2304 deletions) <details> <summary>View changed files</summary> 📝 `Jellyfin.Api/Controllers/DynamicHlsController.cs` (+287 -42) ➖ `Jellyfin.Api/Controllers/VideoHlsController.cs` (+0 -586) 📝 `MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs` (+2687 -1547) 📝 `MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs` (+1 -17) 📝 `MediaBrowser.Controller/MediaEncoding/FilterOptionType.cs` (+11 -1) 📝 `MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs` (+24 -6) 📝 `MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs` (+62 -18) 📝 `MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs` (+66 -70) 📝 `MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs` (+16 -11) 📝 `MediaBrowser.Model/Configuration/EncodingOptions.cs` (+10 -6) </details> ### 📄 Description **FFmpeg Changes** - jellyfin-ffmpeg version 4.4.1 - https://github.com/jellyfin/jellyfin-ffmpeg/pull/76 - Many patches regarding HWA have been applied into `jellyfin-ffmpeg` version 4.4.1. **IMPORTANT: Using old or original FFmpeg may disable the hardware filtering improvements down below.** **Changes** - HWA pipeline refactor, separate the HW pipeline according to HWA method for maintainability. - AMD/Intel/Nvidia full hardware filtering support. (such as QSV tone-mapping is extended to Windows) - Experimental AV1 hardware decoding. (I do not have latest gen AMD and Nvidia graphic card for the time being) - Intel Low-Power encoding. (Reduce overhead in 4k transcoding and tone-mapping, pre-Gen11 only support LP H264) - Hardware accelerated subtitle burn-in. - Improved tone-mapping and subtitle burn-in performance. --- - Fix the issue that QSV may fail on Windows if no display is connected. - Fix green/corrupted output when transcoding HDR content on QSV. - Fix pixelated output when encoding 4k content on AMD VAAPI. **Web Changes** - https://github.com/jellyfin/jellyfin-web/pull/3206 **Issues** Fixes #6835 #6809 #6725 #6524 #5535 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-07 06:34:09 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#11198