[NEEK][動画再生]ACM静止画が動いた!
ACM軽量動画コーデックで作った静止画が写った。以下に動画をアップする。
これは「CR花の○次」の動画からBMPへ変換、ACMエンコードした画像をNEEKでデコードした画像。
アルテラで行こうさんから拝借したACMデコーダをそのまま使ってみると、やたら描画が遅い。
SDカードからSPIモードで転送し、FatFsを経由して、800x480の大きさを描画するのは
無理があるようだ。
ほんとは動画を表示したいが、うまく行かない。
静止画: mcu_codecでbmpから.acmへエンコード → この動画の通り成功。
動画 : ck_encで連番bmpから.ckへエンコード → 絵が崩れる。
ちなみに、バイナリエディタで確認して、ヘッダ部分、読み飛ばしている。
静止画(.acm): 16bytes
動画(.ck) : 32bytes
今後やりたい事は以下かな。順不同になるかも。
①パフォーマンスカウンタを導入して、描画速度を定量化。
②①の内部レジスタ値をLCD表示出来るよう、回路追加。
③デコード後データのVRAM(DDRメモリ)への転送処理改善(DMA利用 or HW化)(効果有と予想)
④yuv2rgb処理をNiosカスタム命令化。
⑤SDカード4bitデータ転送でファイルリード時間削減。(SDAホームページの簡易仕様書参照)
ACMデコーダやFatFsなど、内容良く分からず右往左往したけど、
ある程度理解して、そのまま利用すれば難なく動く、という結果かな。
まだC言語ソースをすらすら読めないので、長らく作業難航して過程覚えてない。
動画(.ck)の方が上手く行かないのも、なんか勘違いしてるのだろう。
これは「CR花の○次」の動画からBMPへ変換、ACMエンコードした画像をNEEKでデコードした画像。
アルテラで行こうさんから拝借したACMデコーダをそのまま使ってみると、やたら描画が遅い。
SDカードからSPIモードで転送し、FatFsを経由して、800x480の大きさを描画するのは
無理があるようだ。
ほんとは動画を表示したいが、うまく行かない。
静止画: mcu_codecでbmpから.acmへエンコード → この動画の通り成功。
動画 : ck_encで連番bmpから.ckへエンコード → 絵が崩れる。
ちなみに、バイナリエディタで確認して、ヘッダ部分、読み飛ばしている。
静止画(.acm): 16bytes
動画(.ck) : 32bytes
今後やりたい事は以下かな。順不同になるかも。
①パフォーマンスカウンタを導入して、描画速度を定量化。
②①の内部レジスタ値をLCD表示出来るよう、回路追加。
③デコード後データのVRAM(DDRメモリ)への転送処理改善(DMA利用 or HW化)(効果有と予想)
④yuv2rgb処理をNiosカスタム命令化。
⑤SDカード4bitデータ転送でファイルリード時間削減。(SDAホームページの簡易仕様書参照)
ACMデコーダやFatFsなど、内容良く分からず右往左往したけど、
ある程度理解して、そのまま利用すれば難なく動く、という結果かな。
まだC言語ソースをすらすら読めないので、長らく作業難航して過程覚えてない。
動画(.ck)の方が上手く行かないのも、なんか勘違いしてるのだろう。
スポンサーサイト