Align OAMD metadata delay with decoder output
Native builds / linux-x64 (push) Failing after 15s
Native builds / macos-arm64 (push) Has been cancelled
Native builds / macos-x64 (push) Has been cancelled
Native builds / windows-x64 (push) Has been cancelled
Native builds / Publish GitHub Release (push) Has been cancelled

This commit is contained in:
TheM14
2026-09-02 22:13:28 +08:00
parent 98b419a7dc
commit 847fb74505
6 changed files with 49 additions and 8 deletions
+12 -2
View File
@@ -499,16 +499,26 @@ s_{\mathrm{frame}}
+32f_{\mathrm{block}}.
$$
对处理块长度 $B=32$,更新点对齐为
decoder 输出 PCM timeline 上的理论更新位置为
$$
s_{\mathrm{theoretical}}
=s_{\mathrm{coded}}+d_{\mathrm{decoder}},
\qquad d_{\mathrm{decoder}}=1473.
$$
扬声器 renderer 保留 DRP-compatible 的处理块长度 $B=32$,更新点对齐为
$$
\widehat s
=
B\left\lfloor
\frac{s_{\mathrm{coded}}+B/2-1}{B}
\frac{s_{\mathrm{theoretical}}+B/2-1}{B}
\right\rfloor.
$$
因此,对 frame-aligned 更新有 `align32(1473)=1472`。1473 是 metadata interface 的理论 decoder delay;1472 是当前 32-sample control block 中的有效边界。inverse-QMF 使用的 640 项 window/state 不属于这条 metadata timing 公式。
给定 ramp duration $D$,block 数为
$$