タグ

ブックマーク / kotak.hatenablog.com (4)

  • ARM NEON命令を使って画像の回転 - kotakのひまじめ日記

    What is the fastest way to copy memory on a Cortex-A8? という記事によると、単純にワードごとにメモリをコピーした場合に比べ、ARM NEON命令を使うと約50%ほどコピーが早くなるそうです。 画像の回転も、基的には順番を入れ替えながらのメモリコピーですので、NEON命令を使うとどのくらい早くなるのか、調べてみました。 単純にC言語で実装した場合 まずは、こんなコードでFull HD(1920x1080サイズ)画像を180度回転させて、どのくらいかかるか測定します。bits/pixelはRGBxを想定して32bit決め打ちです。画像を180度回転させる処理は、コピー元の開始アドレスから1ピクセル(32bit)ずつ読み出して、コピー先の最終アドレスから逆順にコピーしていくだけの処理となります。 /** * @param src 入力画像ア

    ARM NEON命令を使って画像の回転 - kotakのひまじめ日記
    embedded
    embedded 2014/07/11
    gccで-O3でビルドしたら自動でベクタライズされないかな。
  • Debian armhfなDocker imageを作ってみた - kotakのひまじめ日記

    組込みLinuxを使っていると、ライブラリなどをソースコードからビルドしたいことが度々あるのですが、通常はクロスコンパイルをするか、ターゲットマシンにDebianなどのOSをインストールしてビルドするといった方法を取ります。 しかし、クロスコンパイルする時には大抵クロスコンパイル用のオプションで嵌りますし、ターゲットマシンでビルドするにも遅すぎで、いつも困っていました。 そんな折、QEMUのユーザーモードエミュレーションとbinfmtを使うと、x86マシンの上でarmバイナリを動かすことができることを知りました。 KMC Staff Blog:QEMUのもうひとつの使い方: ユーザーモードエミュレーションとbinfmtとchrootの組み合わせ このテクニックを使うと、chrootした後の環境で動くプログラムは、あたかもARMマシン上で動いているように錯覚します。*1そのため、x86マシン

    Debian armhfなDocker imageを作ってみた - kotakのひまじめ日記
    embedded
    embedded 2014/06/21
    qemuを使ってクロスのDocker。
  • Git の便利コマンド色々 〜ソースコードリーディング編〜 - kotakのひまじめ日記

    分散型のバージョン管理システムとして利用者も増えてきた(ような気がする) Git ですが、単なるバージョン管理システムとしての機能以外にも色々と便利な機能があったりします。 今回は、ソースコードリーディングに使える Git の便利なコマンドをご紹介します。 git grep Git で管理されているファイルを grep します。find + grep よりも高速に grep してくれます。 じっくりとソースコードを読み込むのであればタグ管理システムを使いたくなりますが、さっと確認したいというときや、タグで管理できないエラーメッセージを手がかりにソースコードを読むときなどに重宝します。 git grep -e <pattern>として、検索パターンを指定します。パターンには正規表現をつかうことができます。-e は省略可能です。 パターンは複数指定することもできます。--and/--or/--

    Git の便利コマンド色々 〜ソースコードリーディング編〜 - kotakのひまじめ日記
    embedded
    embedded 2010/03/19
  • Androidカーネルの差分をもう少し華麗にゲットするTips - kotakのひまじめ日記

    Android Zaurusの日記 「Androidカーネルの差分を華麗にゲットするTips」が素敵だったので、自分ならこうやるかなあ、という方法をご紹介。 引用元では .git ディレクトリの中を直接覗いていますが、ここでは git コマンドを使ってやってみます。最終的にやってることは同じです。 まず、リポジトリを clone します。 $ git clone git://android.git.kernel.org/kernel/common.git $ cd common clone してきた branch を確認します。 $ git branch * android-2.6.27android-2.6.27 という branch しかローカルにはありません。 リモートの branch は、git remote show コマンドで確認できます。 $ git remote show

    Androidカーネルの差分をもう少し華麗にゲットするTips - kotakのひまじめ日記
  • 1