mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-23 23:20:51 +01:00
[PR #12354] [MERGED] Add AC-4 downmix algorithm #12981
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#12981
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/jellyfin/jellyfin/pull/12354
Author: @gnattu
Created: 7/29/2024
Status: ✅ Merged
Merged: 8/1/2024
Merged by: @Bond-009
Base:
master← Head:ac-4-downmix📝 Commits (5)
daf8d64Add AC4 downmix31dccacAdd 5.0 and 7.0 support to ac4 downmix8f28c3afix docc171b6dfix space3788ccdAdd comments for Dave750/NightmodeDialogue 7.1 downmix📊 Changes
2 files changed (+19 additions, -3 deletions)
View changed files
📝
MediaBrowser.Controller/MediaEncoding/DownMixAlgorithmsHelper.cs(+9 -0)📝
MediaBrowser.Model/Entities/DownMixStereoAlgorithms.cs(+10 -3)📄 Description
This adds the AC-4 spec-defined downmix algorithm, which supports 3.0, 5.0, 5.1, 7.0 and 7.1 inputs. The downmix method is defined in ETSI TS 103 190-1, Section 6.2.17.
This implementation uses the LoRo downmix mode (
preferred_dmx_method == 1) as we do not need LtRt to support Dolby Pro Logic systems.The channel mode for 7.1 inputs is always
3/4/0.xbecause the channel layout of this mode matches the ffmpeg definition of 7.1.All AC-4 stream-specific fields used in the downmixing formula are initialized with the spec-defined default values, which means:
loro_cmgandloro_smg, as defined in Table 148.lfe_mg(discard LFE), as defined in Section 4.3.12.2.18.This PR also extends Dave750 and NightmodeDialogue to use the same cascaded downmix operations as AC-4 to support 7.1 inputs. These algorithms will now first downmix 7.1 inputs to 5.1 using the AC-4 downmix method, and then perform their own operations to downmix to stereo.
Changes
Issues
Requires #12300, mark as draft until that one is merged🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.