Tíquete #22168

FFmpegプレイヤーモードでの再生高速化

: 2010-06-12 11:50 Última Atualização: 2011-02-22 01:13

Relator:
Dono:
(Nenhum)
Estado:
Aberto
Componente:
(Nenhum)
Marcos:
(Nenhum)
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Nenhum
Arquivo:
Nenhum

Details

FFmpegプレイヤーモードでは軽めの動画を除いてほとんどに処理落ちが発生する
具体的な対策は個別チケットにも分割

Ticket History (3/7 Histories)

2010-06-12 11:50 Updated by: shisei123
  • New Ticket "FFmpegプレイヤーモードでの再生高速化" created
2010-07-07 21:47 Updated by: shisei123
Comentário
  • RGB565形式ベースで描画すれば速くなるかもしれない
  • しかしCanvasやBitmapではARGB8888形式でしか書き込みを行えない
  • OpenGLでなら可能そう
  • 2.2以上であればNDKのBitmapに対する追加機能
2010-07-19 22:25 Updated by: shisei123
Comentário

オートフレームスキップ機能実装(チケット #22185

2011-02-15 00:22 Updated by: shisei123
Comentário

SurfaceViewベースでの高速化案

  • バッファにByteBuffer#allocateDirect使用
  • JNIでGetDirectBufferAddressでByteBufferのポインタ取得し、16bitカラーでデコード
  • Bitmap#copyPixelsFromBufferでByteBufferからBitmapへ転送
  • CanvasでBitmapを描画

32bit→16bitでバッファ1個あたりのメモリ使用量は半分になるので、バッファ→Bitmapの二重転送が発生しても現実装より遅くなるわけではない

2011-02-20 01:53 Updated by: shisei123
  • Details Updated
Comentário

SVN: rev 148にSurfaceViewベースでの16ビットカラーで再生する機能を追加

2011-02-21 21:56 Updated by: shisei123
Comentário

Version 0.0.21だとdirect memoryの管理方法がアバウトなので変更する。

  • 設定でキャッシュに使うメモリ容量を設定できるようにして、それを上限としてメモリ確保する。
  • direct memoryを使うと、まれにAudioTrackコンストラクタで内部メモリの確保に失敗してSTATE_UNINITIALIZED状態になってしまう模様
    • AudioTrackが正常に生成できなかったら、GCを数回呼んでからもう一回作り直す
2011-02-22 01:13 Updated by: shisei123
Comentário

SVN: rev 155でメモリリークの改善と、16ビットカラーの描画バッファのキャッシュサイズ指定機能を追加

Attachment File List

No attachments

Editar

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login