https://github.com/kimushu/m2v_dec_impl/
twitter: @kimu_shu
- はじめに
(ほぼ)フルスクラッチで作成したMPEG2ビデオコーデックのデコードIPです。 コミックマーケット80および82にて、サークル「silicombi」名義で頒布した本で紹介したものです。
趣味・研究用途であれば、自由に改変してお使いください。ただし、改変したソースコードを 再配布される場合は、元の制作者がkimu_shuであることを明記してください。
なお、このIPを利用したことにより発生したいかなる損害についても、制作者であるkimu_shuは 一切責任を負えません。自己責任でお使いください。 (MPEG2はライセンスの問題が絡むコーデックでもあります。その点につきましても、 自己責任でお使いください)
- 主なディレクトリ/ファイル構成
※コミケ80(Xilinx版、svn管理)→コミケ82(Altera版、git管理)と
ソースコードの管理方式含めて大きく変化しています。
Verilog自体もほぼすべて書き直されており、いま見ているgit版にはaltera版のみが含まれます。
- README.md --- このファイル
- doc/ --- 設計資料
- rtl/ --- 自作IP本体
- test/ --- 単体テストベンチなど
- tools/ --- 補助ツール(スクリプト)
- quartus/ --- Quartusプロジェクトファイル
- quartus/software --- NiosII用ソースコード一式(含BSP)
- 使い方
工事中ですm(__)m
- 参考サイトなど
本 IP の製作にあたり、
- ISO/IEC 13181-2 (Draft)
- FFMPEG ソースコード --- http://ffmpeg.org/
- MPEG Video 技術 (片山様) --- http://home.catv.ne.jp/dd/pub/book/mpeg.html
- FPGA の部屋 (marsee 様) --- http://marsee101.blog19.fc2.com/ を参考にさせていただきました。この場を借りてお礼申し上げます。
また、(ほぼ)フルスクラッチの「ほぼ」のところなんですが、 IDCTの計算手法はffmpegのソースコードからパク、もといインスパイアされておりますw なにぶんSWよりの実装なので、世間に転がっているHW向けの実装研究成果を参照すれば もっと上手く書けるかと思います。ただ、そこを頑張って良いIDCTを作るのは、 今回のIP開発の趣旨から外れるのでやめました。