Armadilloフォーラム

H.264 エンコーダーとHDMI 出力について

t-kawasa

2015年1月5日 15時09分

Armadillo-840を検討しておりますが、マニュアル「armadillo-840_product_manual_ja-1.5.0.pdf」に

"Armadillo-840 には、2014 年7 月11 日時点で以下の制限があります。
• H.264 エンコーダーとHDMI 出力を同時に使用する事ができない
本制限事項は、今後の製品アップデートにて対策される予定です。
H.264 エンコーダーを使用する場合には、以下のカーネルコンフィギュレーションを行い、HDMI を無効化してください。"

と記載がございました。
対応予定との記載もございますが、いつ頃の対応になりますでしょうか。
また、こちらで対応可能かの判断の為の質問ですが、どのような問題があって同時に使用することができないのでしょうか。

コメント

ご回答ありがとうございます。

RAMDISKに、「ルートファイルシステム用メモリ容量」をコピーするので、512MBのメモリ上に
RAMDISK容量(ルートファイルシステム)と、CMA用メモリ容量がのる必要があると理解致しました。

ここでまた質問なのですが、Armadillo-840のメモリを増やすことは可能でしょうか。
というのは、Armadillo-840上である程度大きなプログラムを動作させようと思うと、RAMDISK容量が
大きくなって512MBのメモリ上にのらなくなると思いましたので。
その他に、メモリを増やす以外の対応方法はありますでしょうか。

> Armadillo-840のメモリを増やすことは可能でしょうか。
Armadillo-840のRAM増設はできません。

> 512MBのメモリ上にのらなくなる
不足しないよう実装していただいた上で、SDカードをswapとして使う事もできます。
(SDカードの寿命に依存する上に、アクセススピードが遅いのでお勧めできかねますが。。)

個々のソフトウェアの実装については、一概に言えませんが、読み出し専用の
リソースをSDカードやUSBメモリに追い出す等の方法でramdiskの使用量を削減
していただければと思います。

もし、想定するデータの量、読み書きの時期等のユースケースが分れば、ご助言できる
かもしれません。

ご回答ありがとうございます。

もう1点、私の認識違いかもしれませんので確認させてください。
理解できておらず申し訳ございません。

「H.264 エンコーダーとHDMI 出力を同時に使用する事ができない」の意味は、
・Armadillo-840に両方を組み込めるが、同時に使用することができない
・Armadillo-840に同時に組み込むことができない(CMAに128MB与えるとNG?)
のどちらととらえればよろしいでしょうか。

例えば、Armadillo-840にH.264エンコーダーとHDMI出力の両方を組み込み、
CMAに96MBを与えれば、H.264エンコーダーとHDMI出力を時間的に別々に
使用することができますでしょうか。

両方を時間的に別々に使用したいのですが、RAMDISKがどれだけ不足(余っている?)のでしょうか。

> CMAに96MBを与えれば、H.264エンコーダーとHDMI出力を時間的に別々に

HDMIのフレームバッファを制御するLCDコントローラのデバイスドライバを
アンロードすれば可能です。
LCDコントローラーのデバイスドライバはprobeされた時にメモリの確保が
行われるため、単に表示を行わないだけではメモリは確保されたままになっています。

ただし、後述の理由で再度LCDコントローラデバイスドライバをロードした
時に連続なメモリを確保できる保証が無いので、現在この方法はサポートして
おりません。

弊社で試した事は無いのですが、連続なメモリ確保を補償する方法として、
CMA領域を2種類(ACM,HDMI専用 と その他のデバイスドライバ用)に分ける
事が考えられます。

> RAMDISKがどれだけ不足(余っている?)のでしょうか。
ACMと、HDMI出力を行うLCDコントローラは共に、画像を格納するための
DMA転送可能な物理連続な領域を必要とします。

そのため、DRAM全体の使用可能なページではなく、
物理アドレスで連続な領域がどれだけ不足しているかによります。

他のデバイスドライバがメモリの確保/開放を行う事で、
フラグメンテーションする事が問題になるので、単純に不足している
量は問題にならない事多いです。
また、ユースケースに依存するので一概に申し上げる事ができません。