1

Google から AOSP ソース コードを見つけ、 https://github.com/sonyxperiadev/device-sony-sgp321からベンダーの情報も取得しました 。

ソニーは、ブラビア エンジン ライブラリを AOSP に追加して、画像とビデオの品質を向上させました。libstagefright の awesomelocalrenderer で呼び出すか、OMX addPlugin が呼び出されたときにデコード フェーズで呼び出すことができます。

私は両方の場所を検索しましたが、コードは他のネイティブ AOSP ソース コードと同じです。ソニーは BE ライブラリをどのように使用していますか?

4

2 に答える 2

1

Bravia エンジンは、主に、フレームワークでレンダリングする前のビデオ/画像の後処理に使用されます。http://developer.sonymobile.com/2012/06/21/mobile-bravia-engine-explained-video/に興味深いリンクがあります。

ではAOSP、メニューからのユーザー設定が読み取られ、その後のフィルタリングがフレームワークSurfaceFlingerまたはHwComposerフレームワークの一部で有効化/適用されると想定しています。興味のある別のリンクは次のとおりです。http://blog.gsmarena.com/heres-what-sony-ericsson-mobile-bravia-engine-really-does-review/

編集: Video Decoder - AwesomePlayer - HwComposer 間の相互作用

以下は、再生および合成パイプラインにおけるさまざまなアクター間の相互作用の概要です。

  1. AwesomePlayerへのシンクとして機能しOMX Video Decoderます。したがって、レンダリングと処理に使用できる新しいフレームを継続的にポーリングします。

  2. OMX Video Decoderデコーダを完了するFillBufferDoneと、コーデックのコールバックがreadによって呼び出された のブロックを解除しますAwesomePlayer

  3. フレームが使用可能になるとA/V、モジュールによって同期ロジックが適用され、呼び出しを介してAwesomePlayerプッシュされます。前述のすべてのステップは、方法の一部として実行されます。SurfaceTexturerenderAwesomePlayer::onVideoEvent

  4. バッファにrenderなります。queueこれSurfaceTextureは、layersへの合成に使用できる ものの 1 つですSurfaceFlinger

  5. 新しいlayerが利用可能になると、一連の手順を経てSurfaceFlingerが呼び出さHwComposerれ、関連するすべての の構成が実行されますlayers

  6. AOSPのテンプレートまたは のみを提供しAPIHwComposerその実際の実装はベンダーに任されています。

于 2013-10-08T15:23:45.270 に答える
1

私の推測では、すべてのベンダー固有のバイナリは、Android/OMX で定義された標準インターフェイスを実装しているだけです。

これらのエンジンは、/system/vendor ディレクトリにある共有オブジェクトにコンパイルされます。

Android システムは、ディレクトリを確認して、必要な共有オブジェクトをロードするだけです。

于 2013-10-08T05:38:07.220 に答える