STM32F4-DiscoveryでMotionJPEGの動画プレーヤーをつくりました。
映像だけでなく音声も一緒に再生できます。

タッチペンで動画の停止/再開ができ、シーク機能付きで好きなところから再生することもできます。

QuickTime Pro 7で動画をフォトJPEG形式(MotionJPEG)で書き出し、SDカードにコピーしてマイコンで読み込んでいます。
映像の各JPEGフレームはlibjpegを使ってをデコードし、LCDに描画しています。
ffmpegでエンコードしたものも再インターリーブを施すと再生できました。

データレートはビデオ1800kbps 音声256kbpsくらいまでなら再生できます。
フレームレートは24fps推奨で、30fpsも可能ですがちょっと厳しいです。
音声はサンプルサイズ8bit サンプリングレート32000Hzのモノラルです。


タカチのケースに入れました。


停止中の画面。

再生中に画面をタップすると停止し、アイコンが表示されます。

左上の赤いアイコンを押すと再生が終了し、ファイラ画面に戻ります。

その右の緑のアイコンを押すと再生が再開します。

停止中に画面をドラッグすると動画をシークすることができ、任意の場所から再生を再開することができます。



裏側
STM32F4-Discoveryです。デフォルトのシステムクロック周波数は168MHzですが、オーバークロックして240MHzで動作させています。



両面基板をサンドイッチする形でLCDボードとSTM32F4-Discoveryをヘッダピンで連結しています。

このaitendoの液晶ボードにはSDカードソケットが付いていますが、SPI仕様なので両面基板には高速でアクセスできるデータ幅4bitのSDカードスロットを付けてます。