スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« さらに軽くなったが | トップページ | アプリ化し始めた »

240pが限界みたいだが

今日もAndroid版のAGMPlayerの性能を上げていたのだが、殆ど向上しなかった。なので、性能向上については、この辺で諦める。一応、ターゲットにしていた240pでは15FPS再生で余力がある。解像度が低いので画質は一昔前並みなのだが、その分、ファイルは小さくなる。

今回のAGMPlayer開発というのは、AG-ムービーカッターのバージョンアップ開発に含まれる。何故か、というと、再生対象は、基本的には、AG-ムービーカッターに追加したDCT+モードの動画ファイルになるからだ。

現行のDCTモードというのは、品質値を下げて圧縮率を上げるとブロックノイズが気になり、特に解像度が低い場合には、視聴に支障をきたす感じになる。このため、AG-ムービーカッターに新たにDCT+モードを追加した訳だ。

さらに、DCT+モードの開発時には、画質よりも圧縮率とエンコード性能を重視したのだが、これは、オリジナルの高画質動画を手早く再エンコードして、スマートフォンで見れるようにするためだった。

と、いう事で、DCT+モードというのは、そもそもが、スマホでの低解像度視聴をターゲットにして開発してきた訳だ。

まあ、解像度は高い方が画質は良くなるのだが、高画質の動画というのはサイズが大きくなるので、DVD程度の画質でも、2時間程度で4GBくらいにはなるのが普通だ。

そして、スマホに書き込めるデータサイズは数GB程度なので、アニメの1クール分をDVD画質で書き込んでおく、なんて事は容量的に普通は無理があるし、スマホのメモリへの書き込み速度は数MB/Sec程度しか無いのが普通なので、1GBの書き込みでも数分は待たされてしまう。

なので、そもそも、視聴が可能だったとしても、スマホ用の動画ファイルというのは、解像度を落としてファイルサイズを小さくしないと実用的には使えない。

もっとも、再生性能については、高くても問題は無い訳なので、出来る限り上げておきたい所ではあるのだが、AGMPlayerのデコーダーは純粋なソフトデコーダーになるため、240pでの再生くらいが限界のようだ。

まあ、JNIを使って、ARMチップ特有の専用命令をアセンブラで記述すれば、2倍程度の性能向上は見込めるかもしれないのだが、240pで再生可能なら、とりあえずは、作者の目論見は達成されるので、そこまでの労力を払う気はしない訳だ。

ちなみに、最近のスマホでは1080pの再生なんかも出来たりするのだが、これは、スマホ用のチップにはハードウェアビデオデコーダーが内蔵されているからだ。

にもかかわらず、AGMPlayerでは240p再生しか出来ないのは、ハードウェアビデオデコーダーを使っていないからだ。

何故、使っていないのか、というと、APIが見当たらないからだ。多分、ビデオデコーダーの仕様はチップ依存なので、API化はされていないのだろう。

ハードウェアの仕様を調べて、チップを直接制御すれば、AGM形式でも、DCT逆変換だとかYV12逆変換だとかについてはハードウェア支援が受けられるかもしれないのだが、前述のように、そこまでやる必要も感じられないため、少なくとも、今回は、やらない訳だ。

もっとも、Nexus7の登場で、Androidタブレットも普及し始めていて、チップとしては、Tegra3が標準扱いされつつあるような気もしないでもないので、その内、Tegra3用のコードは追加する事になるかもしれない。まあ、今年は、やる気は無いのだが。

= この記事に関連する公開中ソフト =

AmuseGraphics

AmuseGraphics

(2013/12/08追加)

« さらに軽くなったが | トップページ | アプリ化し始めた »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/56164315

この記事へのトラックバック一覧です: 240pが限界みたいだが:

« さらに軽くなったが | トップページ | アプリ化し始めた »

2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google