AVコーデックミドルウェア

AV コーデックミドルウェアは、Armadillo-800シリーズ(Armadillo-810/840)でマルチメディア処理 (H.264/AVC 動画・AAC 音声・JPEG 画像の変換処理) をスムーズかつ効率的に行うためのミドルウェアです。

Armadillo-800シリーズに搭載されているアプリケーションプロセッサー「R-Mobile A1」には、メインの ARM コア以外にリアルタイム制御用の SH-4A コアとマルチメディア処理専用プロセッサが搭載されています。マルチメディア処理は、多くの場合システムに負荷をかけることが多く、メイン CPU で処理をするとシステム全体のパフォーマンスが低下します。AV コーデックミドルウェアを利用することで、メイン CPUのパフォーマンスを落すことなく、マルチメディアの処理を行うことができるようになります。

R-Mobile A1の概念図
  • VCP1: H.264/AVCのエンコード・デコードを支援するコア
  • SPU: AACのエンコード・デコードを支援するコア
  • JPU: JPEGのエンコードを支援するコア

AV コーデックミドルウェアは、Linuxの標準マルチメディアフレームワーク「GStreamer」を使用します[※1]。また、SHで動作するファームウェアと、Linux 上で動作するデバイスドライバが協調して機能します。

※1 GStreamerは、最新のAtmark Dist に含まれています。

ダウンロード

AVコーデックミドルウェアを使用するには、下記の各ファイルまたはソースコードが必要です。
最新版は、各製品の「ドキュメント・ダウンロード」メニュー、ユーザーズサイト「ダウンロード」に掲載されています。

該当するイメージファイル(バージョン)

  • GStreamer:
    ユーザーランド v1.02以降(Armadillo-840), v1.04以降(Armadillo-810)[※1]
  • デバイスドライバ:
    Linuxカーネル v1.02以降(Armadillo-840), v1.05以降(Armadillo-810)[※1]
  • ファームウェア:
    Firmwareパーティション用イメージファイル v3.00以降[※2]
  • ブートローダー:
    v.3.2.4以降[※1]

開発時に必要なソースコード・開発環境(バージョン)

  • GStreamer:
    Atmark Dist(v20140131以降), ATDE5 (v20140131以降)[※1]
  • デバイスドライバ:
    Linuxカーネル v3.4-at6以降[※1]
  • ブートローダー:
    Hermit 3.2.4以降[※1]

※1 各製品の「ドキュメント・ダウンロード」メニューに掲載。v3.4-at7はACMデバイスドライバを含みません。
※2 ユーザーズサイトの「ダウンロード」メニューに掲載(※要ログイン)。

※AVコーデックミドルウェアを利用される際の注意※
AVコーデックミドルウェアを利用する時には、Armadillo-800 シリーズに搭載されているDDR3 SDRAM 512MB のうち128MBをAVコーデックミドルウェアに割り当てる必要があります。AV コーデックミドルウェアドライバが追加されたlinux-3.4-at6 以降では、デフォルトで Linux カーネルが管理するメモリを 384MB に制限していますのでご注意ください。詳細は各製品のマニュアルをご確認ください。

対応可能なコーデック

コーデック 対応
H.264/AVC エンコード AVコーデックミドルウェアで対応可能 [※1]
デコード AVコーデックミドルウェアで対応可能 [※1]
AAC エンコード AVコーデックミドルウェアで対応可能 [※1]
デコード AVコーデックミドルウェアで対応可能 [※1]
JPEG エンコード AVコーデックミドルウェアで対応可能 [※1]
デコード ライブラリでソフトウェア処理
(ARM NEON使用可能)

[※1] R-Mobile A1のマルチメディア機能コアで動作をハードウェア的に支援することが可能です。