x264 for cell 070530-CELLプロセッサ
x264 for cell をバージョンアップしました。 patch-x264...
x264 for cell をバージョンアップしました。
変更点としては、
- 動きベクトル探索を行う時には、最初に幾つかのベクトルの初期値候補から適切な初期値 を決定します 。前バージョンまでは PPE で行っていたこの処理を、SPE で行うようにしました。
- 各 SPE は、整数画素単位の探索用に 256x192 画像を 2 枚分持っていましたが、大きさと枚数 を変更して、128x128 画像を 6 枚分持つようにしています。また履歴管理は LRU で行っています。
- 1/2, 1/4 画素単位の探索用画像を転送する時に、マクロブロックのタイプを考慮して画像の 大きさを決定することで、転送量を削減しました。
- PPE - SPE 間の通信データを更新タイミング毎に分割し、適切なタイミングで更新する ようにしました。
- DMA リストの作成を組み込み関数 ( spu_*() ) を使用して高速化しました。
- プロファイル機能を見直して、DMA 転送待ち時間が正確に取れるようにしました。
コンパイルは PS3 FC6 + SDK 2.1 と x86 Linux PC + SDK 2.1 で確 認してあります。上記の patch をダウンロードして、以下のように x264 r635 に patch を適用して make することで実行バイナリが出来ます。(PC の場合も configure を PS3 上で行うことで作成される config.mak が必要です)
$ svn co -r 635 svn://svn.videolan.org/x264/trunk x264 $ cd x264 $ bzip2 -dc ../patch-x264-cell-r635-070530.bz2 | patch -p1 $ ./configure $ make cell


