2017-06-20 47 views
3

這可能是一個非常愚蠢的問題,但經過一段時間的尋找,我找不到直接的答案。24位音頻流如何傳遞給圖形?

如果源濾波器(如LAV Audio編解碼器)正在處理24位積分音頻流,那麼單個音頻採樣如何傳送到圖形? (爲簡單起見讓我們考慮一個單聲道流)

他們是否分別存儲在32位整數與最顯著比特未使用的,或者是它們存儲在一個擁擠的形式,與下一個的至少顯著位樣本佔用當前樣本的備用,最重要的位?

回答

3

該格式類似於16位PCM:值是有符號整數,小尾數。

對於24位音頻,您通常在WAVEFORMATEXTENSIBLE結構的幫助下定義格式,而不是WAVEFORMATEX(當然,後者也有可能被某些濾波器接受,但一般而言,您可能會使用前者)。

該結構有兩個值:每個採樣的位數和每個採樣的有效位數。所以可以將24位數據表示爲24位值,也可以將24位數據表示爲32位值的24位有意義位。有效載荷數據應該與格式匹配。

有一個字節內沒有不同樣品的比特組合:

然而,wBitsPerSample是容器的大小和必須爲8的倍數,而wValidBitsPerSample可以是任何值不超過所述容器尺寸。例如,如果格式使用20位樣本,wBitsPerSample必須至少爲24,但wValidBitsPerSample爲20

據我所知這是典型的以剛纔24位值,即每PCM三個字節樣品。

非PCM格式可能會定義不同的打包格式,並更有效地使用「未使用」位,例如,對於20位音頻的採樣會消耗5個字節。

+0

我強烈期待你的答案羅曼;)你肯定是與Windows Media相關的所有事情的權威。乾杯! – BlueStrat