這是PCI bus 頻寬不足時所造成的問題, 以目前軟壓卡來看, 都是透過將影像資料透過PCI ro PCIe
傳入Memory 再經由CPU 做壓縮, 但是影像資料還沒壓縮, 所以非常大, 當Channel 數較多並也都
使用高解析度的話, 因為PCI Bus 的頻寬不足, 所以優先權比較低的PCI Device 就會要不到權限來
傳影像資料, 例如Bt878會先將ADC 完的影像資料放在一個Buffer 裡, 當頻寬不足時會等待, 但當
Buffer 快滿時, 為了不讓後來的資料送不進來, 所以只好將這整塊Buffer 的資料丟掉, 這就造成你
在畫面看到一條線的原因
但是為什麼只有在畫面移動時才會到呢? 其實頻寬不足是一直發生的, 但是目前Driver 寫法, 都是
讓4 個or 8 個這樣固定數目的buffer 輪流填寫, 所以當畫面不動的地方, 只要前一個畫面沒有動,
而同樣地方Video Decoder 的DMA 因為PCI Bus 頻寬不足而無法填入也無所謂, 因為就算是填入
, 也跟上一個畫面的資料一樣, 因為都沒有動
所以解法呢? 解法就是上面幾位大大所講的, 要不就降低Channel 的數量, 要不就降低影像的解析
度, 因為這是PCI 的限制, 不是CPU 的限制, 不過有一位大大說這個問題只有回放才會出現是錯的
因為畫面截取就已經產生了, 當然一定也會錄進去..
另外還有一點, 機器在PCI Bus 不足時是很危險的, 很容易讓OS 掛掉, 尤其是Windows 系統的
|