-
-
Notifications
You must be signed in to change notification settings - Fork 172
Features
gnattu edited this page Sep 14, 2025
·
3 revisions
This page summarizes the key differences and additions in Jellyfin‑FFmpeg that matter for Jellyfin users. The focus is on practical playback usability, reliability and performance for home media servers.
- Dolby Vision remux support into HLS (both fMP4 and MPEG‑TS), preserving side data for client playback where supported.
- Improved DV RPU handling and related bitstream filter flows to keep more metadata intact during demux/remux.
- HDR to SDR tone mapping improvements:
- CUDA tonemap implementation for NVIDIA GPUs.
- OpenCL tonemap with extra BT.2390 EETF, a 3D-LUT based code path and a major refactor for quality and speed.
- Videotoolbox and Metal tonemap for Apple platforms.
-
tonemapxsoftware filter with SIMD optimizations for high performance CPU based tone mapping.
- Cross‑API interop glue to reduce copies and enable full hardware pipelines:
- D3D11/OpenCL interop for AMD and Intel QSV paths on Windows.
- Vulkan pipeline fixes and backports for more stable import/export.
- VAAPI helper filters (e.g.,
hwuploadand scaling defaults) and driver workarounds. - QSV VPP improvements, better device handling, and safer low‑power fallbacks.
- Performance tuning:
- Smarter defaults for async depth, buffer queues, and scaler algorithms.
- Avoiding extra copies (e.g., DXVA/QSV alignment tweaks) to keep data on GPU.
- QSV VPP improvements (scaling/tonemap), safer low‑power fallback behavior.
- Better device init flows with VPL and legacy MSDK paths.
- D3D11/OpenCL interop paths to keep frames on GPU and avoid expensive mapping.
- CUDA tonemap implementation for fast HDR→SDR.
- Enhanced CUDA pixel format conversion and transpose filters to reduce copies.
- NVENC HEVC HDR metadata support to preserve HDR signaling where applicable.
- AMF fixes/tunings and D3D11↔OpenCL interop for full hardware pipelines.
- Vulkan pipeline stability improvements (image usage, linear formats where needed).
- Videotoolbox filters for overlay, transpose/flip, bwdif deinterlacing.
- AV1 VT backports, 12‑bit decode where supported, and MJPEG encoder.
- Hardware tonemap with Videotoolbox and format controls in
vt_scaleand a Metal based tonemap filtertonemap_videotoolbox.
- End‑to‑end hardware pipeline (decode→process→encode) tailored for RK3588.
- Practical patches to make overlays, scaling, and colorspace steps work together.
- Segment muxer improvements and HLS demuxer fixes for better client compatibility.
- Pass Dolby Atmos (EAC‑3 with additional BSI) through
movwhere applicable. - Fixes for libx265 fMP4 HLS playback on Safari.
- ID3v2 improvements (multiple values, embedded artwork like WebP) for better tagging.
- PGS subtitle overlay support in hardware filters, improving end‑to‑end HW pipelines.
- YADIF/BWDIF implementations with GPU acceleration to keep deinterlacing in hardware paths where possible.
-
sub2videoperformance improvements and warnings noise reduction.
- AC‑4 decoder (useful for ATSC 3.0 material).
- Practical CLI additions:
- Pause support in the
ffmpegCLI for controlled workflows. -
ffprobeoptiononly_first_vframeto return only the first video frame info quickly.
- Pause support in the
We implement changes that directly improve Jellyfin media server scenarios: HDR/DV handling, stable HW acceleration, and fewer client‑side surprises. Many items are backports, fixes, or targeted features that are slow to land upstream or not aligned with upstream priorities.