2009-03-15 28 views
2

埋め込みアプリケーション(C/C++)で使用するソフトウェアベースのコーデックライブラリを探しています。私は商用と無料の両方のコーデックライブラリに興味があります。どんな提案も歓迎されます。埋め込みアプリケーション用のオーディオ(MP3)コーデック

また、OpenSL ESの経験があり、どのソフトウェア/ハードウェアソリューションが互換性があるか知っていれば、それについて聞いてうれしいです。

普及しているコーデックをサポートする必要があります。 MP3は必須です。私は組み込みアプリケーション用のメディアプレーヤーのリファレンスを実装しているだけで、ユーザーに「あなたの音楽ライブラリをVorbisに変換するのはちょっといいです。 MP3コーデックのサポートは必須ですが、より多くのコーデック(より多くのオーディオコーデック、ビデオコーデックなど)を扱うより高度なライブラリを見つけるのはうれしいでしょう。

+1

埋め込みデバイスの能力を概算してください。例えば。 Atmel Mega MicrocontrollerとIntel Atomプロセッサの間には違いがあります:-) –

+0

少なくともARM9プロセッサを搭載します。 – Ilya

+0

どのコーデックが必要ですか?あなたはMP3を言います...それはあなたが欲しいものですか? Vorbis/AAC/FLACのような最新のコーデックもサポートしたいですか? – singpolyma

答えて

1

免責事項、完全開示など:私は現在、請負業者としてそこで働いています。

ただ、デコーダーやフルコーデック(デコーダー+エンコーダー)に興味がありますか?

私の答えは、あなたの状況によります。埋め込みプラットフォーム用のフルプレーヤーをお探しの場合は、NXP Softwareが解決策になります。これらは、レコーダーなどの他のアプリケーションも提供します。

+0

ええと、私はNXPソフトウェアについて知っていても会議に出席しています。良い点、彼らは私が必要なものを持っているかもしれません。ありがとう、私はここで私の連絡先を更新します... – Ilya

1

Vorbisコーデックはオープンソースであり、MP3の代用として適しています。あなたがそれらに限定されている場合

#define SL_AUDIOCODEC_PCM   ((SLuint32) 0x00000001) 
#define SL_AUDIOCODEC_MP3   ((SLuint32) 0x00000002) 
#define SL_AUDIOCODEC_AMR   ((SLuint32) 0x00000003) 
#define SL_AUDIOCODEC_AMRWB  ((SLuint32) 0x00000004) 
#define SL_AUDIOCODEC_AMRWBPLUS ((SLuint32) 0x00000005) 
#define SL_AUDIOCODEC_AAC   ((SLuint32) 0x00000006) 
#define SL_AUDIOCODEC_WMA   ((SLuint32) 0x00000007) 
#define SL_AUDIOCODEC_REAL  ((SLuint32) 0x00000008) 

あなたはおそらく見つける必要があります。

OpenSL ESのAPIを簡単に見て取った後、定義されているいくつかのコーデックが既に存在しているようです。

+0

OpenSLはフレームワークであり、インターフェイス定義は実際のコーデック実装ではないので、私は必要なものではありません。 – Ilya

2

非常に良いオープンソースのBSDオーディオコーデックlibvorbisを見てください。トレモア(Tremor)という名前のボルビ(vorbis)用のリファレンスデコーダもあり、これは整数演算のみを使用するため、浮動小数点のないアーキテクチャでも使用できます。

1

エンコードまたはデコード?私はFFmpegのVorbisエンコーダが低品質であると信じていますが、LAME(mp3)とFFmpeg(他のほとんどのものは、オーディオとビデオ)はトリックを行う必要があり、できるだけ別のものを使用する必要があります。 (このアドバイスがまだ最新のものかどうかは分かりません)

免責事項:私は最近、コーデックについてかなり読んできましたが、まだ何もしていないので、私はまだ話している。

関連する問題