kotakのひまじめ日記スマートフォン用の表示で見るkotakのひまじめ日記この広告は、90日以上更新していないブログに表示しています。NEON命令を使うと約50%ほどコピーが早くなるそうです。画像の回転も、基本的には順番を入れ替えながらのメモリコピーですので、NEON命令を使うとどのくらい早くなるのか、調べてみました。HD(1920x1080サイズ)画像を180度回転させて、どのくらいかかるか測定します。bits/pixelはRGBxを想定して32bit決め打ちです。画像を180度回転させる処理は、コピー元の開始アドレスから1ピクセル(32bit)ずつ読み出して、コピー先の最終アドレスから逆順にコピーしていくだけの処理となります。512MB搭載のCPUボードで動作させてみたところ、約110msecかかりました。-Sで出力したアセンブリコードは下記のようになります。lrコピーを半分にする入力と出力で2面も画像用のメモリを持つのは勿体ないので、元の画像用メモリを上書きするようにしてみました。}}ループが半分になったので、処理時間は約70msecとなりました。アセンブリコードは下記のようになります。lrNEON命令を使うインラインアセンブラでNEON命令を使って書いてみます。64bit長のレジスタ(d0やd1)を32bitずつ入れ替える命令です。"q0","q1","q2","q3","q4","q5","q6","q7");}このコードで、約40msまで短縮することができました。アセンブリコードは下記のようになりました。lrまとめ画像を180度回転させるコードを、NEONを使って書いてみました。倍速とまではいきませんでしたが、それに近い高速化(70msから40ms)ができました。参考になると思います。月別アーカイブ参加グループテクノロジーはてなブログをはじめよう!kotakさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。