Jan 15, 2016

iverilogの開発版をUbuntuでコンパイルする

autoconf、flex、bison、gperf、C++コンパイラが必要
$ sudo apt-get install autoconf flex bison gperf build-essential
$ git clone https://github.com/steveicarus/iverilog
$ cd iverilog
$ autoconf
$ ./configure --prefix=$HOME/local
$ make -j`expr \`nproc\` + 1`
$ make install
$ export PATH=$HOME/local/bin:$PATH

Travis-CIでVerilog-HDLのプロジェクトを扱うための設定

ググっても見つからなかったのでメモ

方法1

Ubuntu標準のパッケージを使う。iverilogのバージョンが古くてもいいならこの方法を使う。

メリット

  • 手軽
  • 速い

デメリット

  • バージョンが古い(iverilog version 9ぐらい)

.travis.yml
sudo: false
compiler: iverilog
addons:
  apt_packages:
  - iverilog

script:
  - cd testbench
  - iverilog tb_some_module.v
  - vvp a.out

方法2

Travis-CIのコンテナ内でコンパイルする。
メリット
  • 最新バージョンを使える
デメリット
  • CIが走るたびにiverilogをコンパイルするため時間がかかる。Travis-CIのキャッシュ機能を使えば速くなりそう。

.travis.yml
sudo: false
compiler: iverilog
addons:
  apt_packages:
  - build-essential
  - gperf
  - bison
  - flex

before_install:
  - wget ftp://ftp.icarus.com/pub/eda/verilog/snapshots/pre-v10/verilog-20150513.tar.gz
  - tar xvf verilog-20150513.tar.gz
  - cd verilog-20150513
  - ./configure --prefix=`pwd`/iverilog
  - make -j`nproc`
  - make install
  - export PATH=`pwd`/iverilog/bin:$PATH
  - cd ..

script:
  - cd testbench
  - iverilog tb_some_module.v
  - vvp a.out


Jul 6, 2015

YUV444<->RGB888の変換

C言語でYUV420形式の動画を処理で取得した動画のフレームをRGB値で処理したい場合、各画素値をYUV444からRGB888へ変換する必要がある

以下はサンプルコード


YUV420形式の動画をRGB値で処理する場合、
  1. YUV420動画を1フレーム読み込む
  2. 読み込んだフレームの各ピクセルをYUV444→RGB888に変換
  3. 何か処理
  4. 各ピクセルをRGB888→YUV444に変換
  5. フレームを出力

という手順で処理すればいい

参考
https://en.wikipedia.org/wiki/YUV

Jul 4, 2015

C言語でYUV420形式の動画を処理

https://en.wikipedia.org/wiki/YUVを参考に書けば良い

以下はサンプルコード


サンプルコードでは動画を1フレームごとに読み込み、出力ファイルにそのまま出力している。

実行例にはこのへんのサンプル動画を使った

$ gcc sample_yuv.c -o sample_yuv
$ ./sample_yuv 576i25_mobcal_ter.yuv out.yuv 720 576
$ mplayer -demuxer rawvideo -rawvideo w=720:h=576:format=i420 out.yuv -loop 0

Oct 25, 2014

次世代Webブラウザ「Otter Browser」についてメモ

リポジトリの場所
https://github.com/Emdek/otter

Windowsでのコンパイル・実行

検証環境

手順

ソースコードを拾ってくる。
> git clone https://github.com/Emdek/otter OtterBrowser/otter
Qt Createrでotter\otter.proを開く。
プロジェクトの設定ボタンを押す。

コンパイルし、実行する。

言語ファイルの場所

プログラムと同じディレクトリにlocaleディレクトリをつくる。otter\resources\translations以下の*.qmファイルをそこにコピーすると、起動時に自動で言語ファイルを読み込んでくれる。

言語ファイルの生成

> lrelease otter.pro
を実行すると、otter\resources\translations\*.tsファイルが*.qmファイルに変換される。

ポータブル実行

設定ファイルはデフォルトでは以下に保存される。
C:\Users\[user name]\AppData\Local\Otter
プログラム引数に --private を指定するとポータブルモードで実行され、設定ファイル、キャッシュはプログラム実行時のディレクトリに保存される。ソースコード