検索条件
・・・・・・この記事「 W-ZERO3による動画再生 」は書きかけだけど、でも勘違いしないでよねっ! べっ、別に、アナタに加筆して欲しいわけじゃ無いんだからねっ! まっ、まあ、アナタがどうしてもって言うのなら、ちょっとだけ書かせてあげてもいいけど・・・・・・
W-ZERO3[es]向けに動画なんかを作成しています。
比較的重めなリトバスのムービーをサンプルに色々試行錯誤しながらやっています。
使ったツールや方法などは徐々にまとめていきます。
TCPMPでは以下の動画形式に対応しています。
- MPEG-4 (.mov, .mp4, .3gp)
- H264 (.mp4)
- Windows Media Video (.wmv)
- ビデオファイル (.avi)
- DivX圧縮ビデオファイル (.avi)
- MPEG (.mpeg, .mpg)
このうち、ビデオファイルやMPEGデータはファイルサイズの観点からW-ZERO3での再生は困難と言えます。そうなると、MPEG-4系の圧縮動画形式が候補となりますが、このうちWMVに関しては元々が再生にパワーを要求する形式であるため、貧弱なW-ZERO3のCPUでは快適な再生は困難です。これまでの経験からDivX圧縮の動画はそれなりに快適に再生できることが分かっているため、今回はDivX及びH.264圧縮による動画を対象とします。
また、今回重点を置いているのは単に再生出来るという点ではなく、許容範囲の画質で出来る限り高い解像度での高フレームレート(30/24fps)の再生という点です。
一部を除いてTCPMP上で動画再生のベンチマークを行っています。TCPMPの動画再生ベンチマークでは、ドロップフレームなしで再生を行い、動画長/再生時間で結果を出力します。
TCPMPのベンチマークで100%となっていればコマ落ち無しで再生出来るように見えますが、実際には動きが多い部分には処理が重くなり、少ない部分は処理が軽くなります。ベンチマークの結果はあくまでも全体の平均ですので、実際の再生でコマ落ちが気にならない為にはだいたい110%以上のベンチマーク結果が必要となります。
TCPMPベンチマーク: 66%
重すぎて使い物になりません。
コマ落ち無しで再生出来ますがブロックノイズが目立つ…
コマ落ち無しで再生出来ますが画質の荒さが目立つ…
TCPMPベンチマーク: 90%
一定間隔毎にコマ落ちが発生してしまう
TCPMPベンチマーク: 110%
動きが激しい部分でコマ落ちが発生してしまう。520MHzにクロックアップでコマ落ちが許容範囲内になる。
TCPMPベンチマーク: 110%
コマ落ち無しで再生可能だが画質の荒さが目立つ…
TCPMPベンチマーク: 110%
コマ落ち無し、画質も許せる範囲。このあたりが限界か。
W-ZERO3関連の話題のうち役に立ちそうなコンテンツを扱います。
あまり役にたたなさそうなコンテンツは従来通りblog記事として扱います。
アプリケーションによってはW-ZERO3以外のプラットフォーム向けにビルドされた実行ファイルが含まれています。WindowsCEを扱ったことが無い人にはよくわからないと思われるのでまとめておきます。
- HPC2.0
- HPC Pro
- HPC 2000
- PsPC
- PPC(PPC2000)
- PPC2002
- WM2003(WM2003SE)
- WM5.0
W-ZERO3はWindows Mobile5.0プラットフォームですので、用意すればこれを利用するのが一番です。が、Windows Mobile 5.0プラットフォームは後方互換性をもっているのでWM2003(WM2003SE), PPC2002, PPC(PPC2000), HPC2000, HPC Pro向けにビルドされたものも(画面配置やなどの問題はありますが)大部分は動作させることが可能です。
基本的に、WM5.0>WM2003(SE)>PPC2002>PPC>HPC2000>HPC Proの順に選択すればいいでしょう。ただし、WM5.0以外のプラットフォームをターゲットとして開発されたアプリの実行にはMFCCExxx.dllが必要になる場合があります。
上記のプラットフォームによる分類の他に、ビルドのターゲットとなるCPUのタイプが別れています。
WinCE向けのターゲットCPUタイプには以下のようなものがあります。
W-ZERO3にはIntel XScale PXA270が採用されており、CPUのアーキテクチャ的にはARM系に属します。ARM系にはさらに、ARMV4IとARMV4Tに別れている場合があり、ARMV4Iは実行速度は速くなるがファイルサイズが大きくなる、ARMV4Tはファイルサイズは小さいが実行速度は遅くなるという特徴があります。
W-ZERO3の運用ポリシーにもよりますが、ARMV4Iを導入した方が幸せになれると思います。
sigmarion3だけではなくW-ZERO3にもEmacsCEを導入してみました。その時のログ。
sigmarion3に導入したときの記事も参考にして下さい。今回はsig3に導入したときの相違点のみを記します。
- 私の環境ではmini SDカードのフォルダ名は「/miniSD」となっています
- 私の環境では「/Storage/dll」にパスを通しています。
miniSDカードのフォルダ名はそれぞれの環境に読み替えて下さい。またdllの置き場所はパスの通った場所に置いて下さい(/windowsなど)
- EmacsCE + SKK + Navi2ch配布サイトから2002/11/10 ARM版セットをダウンロード
- ダウンロードしたtar.gzファイルを展開
- 展開したtar.gzに含まれるファイルを以下のようにSDカードに配置
- /root以下……/miniSD/rootに配置
- cedialogs.dll, cedialogsx.dll, celib.dllを/Storage/dllに配置
- /miniSD/root/tmpディレクトリを作成
- Ntansi.ttfを/Windowsに配置
- System Pathを利用し、/Storage/dllにパスを通す
- Environment.regを母艦上のテキストエディタで開き自分の環境に合わせる
後に詳しく解説する
- TREを利用しCEデバイスにEnvironment.regを登録する
- 辞書ファイル置き換え
- [HKEY_LOCAL_MACHINE\Drivers\PCMCIA\ATADisk]以下のエントリを削除
- [HKEY_LOCAL_MACHINE\Environment]の「/memcard」を「/miniSDに変更」
- "COMPUTERNAME"="nao"
- "TEMP"="\\miniSD\\root\\tmp"
- "TMP"="\\miniSD\\root\\tmp"
- "TMPDIR"="\\miniSD\\root\\tmp"
- [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles]以下のエントリを削除
フォントセットmsgansi (MS Gothic+NetTerm ANSI)の表示を大きくする。ただし、EmacsCEはQVGA向けのアプリとして認識する為、実際の表示は縦横2倍となる。
(create-fontset-from-fontset-spec
"-*-NetTerm ANSI-normal-r-*-*-10-*-*-*-c-*-fontset-msgansi,
japanese-jisx0208:-*-MS Gothic-normal-r-*-*-9-*-*-*-c-*-jisx0208-sjis,
japanese-jisx0212:-*-MS Gothic-normal-r-*-*-9-*-*-*-c-*-jisx0208-sjis,
japanese-jisx0201:-*-MS Gothic-normal-r-*-*-9-*-*-*-c-*-jisx0208-sjis,
latin-jisx0201:-*-NetTerm ANSI-normal-r-*-*-10-+-*-*-c-+-iso8859-1,
japanese-jisx0208-1978:-*-MS Gothic-normal-r-*-*-9-*-*-*-c-*-jisx0208-sjis")
デフォルトフォントセットをmsgansi, ほぼ画面いっぱいにフレームを表示するように設定
(setq default-frame-alist
(append
(list
'(font . "fontset-msgansi")
'(width . 61)
'(height . 21)
)
default-frame-alist))
横画面で起動時はこんな感じ。
[album:w03/soft:es_emacs1.jpg:large]
画面回転を行うと最大化されますが、タイトルバーが出てしまいます。
[album:w03/soft:es_emacs2.jpg:large]
W-ZERO3W-ZERO3W-ZERO3W-ZERO3W-ZERO3W-ZERO3W-ZERO3W-ZERO3W-ZERO3