問題タブ [intel-ipp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Linux 上の静的インテル® IPP ライブラリーを g++ とリンクする際の問題
プロジェクトを Xcode から Linux に移行しようとしています (現時点では Ubuntu x86 ですが、静的にリンクされた実行可能ファイルが x86 CentOS マシンで実行されることを願っています)。プロジェクト全体をコンパイルしましたが、リンク段階で失敗しました。IPP で定義されたすべての関数に対して未定義の参照が与えられています。これはおそらく本当に小さくてばかげたものですが、私はこれについて数日間頭を悩ませてきましたが、動作させることができません.
コンパイル ステートメントは次のとおりです (同じエラーを生成するメイクファイルもあります)。
g++ -static /opt/intel/ipp/6.0.1.071/ia32/lib/libippiemerged.a /opt/intel/ipp/6.0.1.071/ia32/lib/libippimerged.a /opt/intel/ipp/6.0.1.071/ ia32/lib/libippsemerged.a /opt/intel/ipp/6.0.1.071/ia32/lib/libippsmerged.a /opt/intel/ipp/6.0.1.071/ia32/lib/libippcore.a -pthread -I /opt/ intel/ipp/6.0.1.071/ia32/include -I tools/include -o main main.cpp pick_peak.cpp get_starting_segments.cpp get_segment_timing_differences.cpp recast_and_normalize_wave_file.cpp rhythm_score.cpp pitch_score.cpp pitch_curve.cpp tools/source/LocalBuffer.cpp tools/source/wave.cpp distance.cpp
...そして、ここにリンカーエラーの長いリストの最初があります:
何か案は?FWIW、これらは問題なくビルド、リンク、および実行される私の Xcode プロジェクトの IPP 依存関係です:
ありがとう!
c++ - iplRotate()で正しい結果が得られないのはなぜですか?
ため息申し訳ありませんが、作業中の画像処理コードでIntel IPL(画像処理ライブラリ)を使用しています。これは、画像を正しく回転させるのに苦労した話です。
- ソース画像があります。サイズ(w、h)は必ずしも正方形ではありません。
- 角度シータで回転します。
- 角度シータで回転したサイズ(w、h)の画像に合わせるために必要な出力サイズを計算しました。このサイズは(dw、dh)です。そのサイズの宛先バッファーを割り当てました。
- ソース画像の中心(w / 2、h / 2)を中心に角度シータでソース画像を回転させ、その回転した画像を宛先バッファの中心に配置したいと思います。
iplRotate ()は、 xShiftとyShiftの2つのシフトパラメータを取ります。これらは、回転が実行された後、画像がx軸とy軸に沿ってシフトされる距離を示します。
問題は、回転した画像を宛先画像の中央に配置するようにiplRotateを取得できないことです。それは常に中心から外れています。
xShiftとyShiftがどうあるべきかについての私の最良の推測は、次のとおりです。
- xShift = dw - w
- yShift = dh - h
しかし、これは機能せず、 xShiftとyShiftを計算するために他に何をすべきかわかりません。iplRotateを使用して私がやりたいことを行う方法について誰かが何か提案がありますか?
最後にもう1つ、 iplGetRotateShift()を使用してxShiftとyShiftを計算しようとしましたが、無駄になりました。私はこれがうまくいくと想像します:
しかし、そうではありません。
編集: IPLの代わりにIntel IPP 6.0を使用してコードを書き直しましたが、同じ間違った結果が表示されます。Intelが2つの異なるライブラリでローテーションを間違えたとは想像できないので、何か間違ったことをしているに違いありません。
編集: Dani van der Meerが提案した次の(IPP)コードを試しました:
残念ながら、まだ運がありません。それも機能しません。
performance - 最低の CPU 使用率で jpeg 圧縮を行う方法は?
生の画像データを jpeg に変換する必要があります。しかし、最高の品質や最小サイズなどに関して特別なことは何も必要ありません。必要なのは最小の CPU 使用率だけです。jpeg圧縮初心者です。
jpeg の変換中に CPU 使用率が最も低くなるパラメータについてアドバイスをお願いします。
IPP(インテル・パフォーマンス・ライブラリー)を使いたいです。IPP jpeg ライブラリの例は素晴らしいでしょう。ただし、他の jpeg ライブラリからのサンプルも評価されます。
また、IPP の jpeg ライブラリよりも高性能な jpeg ライブラリをご存知でしたら教えてください。
前もって感謝します。
よろしく。
c++ - FFT をスペクトログラムに変換する
オーディオ ファイルがあり、ファイルを反復処理し、各ステップで 512 個のサンプルを取得してから、それらを FFT に渡します。
ブロック 514 フロート ロング (IPP の ippsFFTFwd_RToCCS_32f_I を使用) としてデータを出力し、実数成分と虚数成分をインターリーブします。
私の問題は、これらの複素数を取得したらどうするかということです。現時点では、各値に対して行っています
これにより、少し使用可能なものが得られますが、値を 0 から 1 の範囲で取得する何らかの方法が必要です。上記の問題は、ピークが約 9 またはそれ以上に戻ってしまうことです。これは、オーディションのスペクトログラムでオーディオを実行すると、非常に強いように見えるという事実にもかかわらず、物事がひどく飽和し、スペクトログラムの他の部分がほとんど表示されないことを意味します. FFT によって返されるデータが何であるか 100% 確信が持てないことは十分に認めます (それ以外は、渡された 512 サンプルの長さのブロックの周波数値を表します)。特に、複素数が正確に何を表しているのかについて、私の理解が欠けています。
アドバイスや助けをいただければ幸いです。
編集:明確にするために。私の大きな問題は、返される FFT 値が、スケールが何であるかがわからないと意味がないことです。誰かがそのスケールを解決するように私に指摘できますか?
Edit2:次のようにすることで、非常に見栄えの良い結果が得られます。
私の目には、これまでに見た他のほとんどのスペクトログラム実装よりも良く見えます。
私がやっていることに重大な問題はありますか?
c++ - winsock.hを使用したライブラリの問題
Boost.AsioとIntelIPP-Libraryに付属のMedia-Decoding-Samplesを使用するプロジェクトがあります。問題は次のとおりです。を定義せずにプロジェクトをコンパイルするWIN32_LEAN_AND_MEAN
と、Asioは悪名高い「winsock.halreadyincluded」エラーで文句を言います。マクロを定義すると、winsock.hを含むwindows.hに依存しているため、他のライブラリのヘッダーには未定義の型があります。そのヘッダーにwinsock.hを手動で追加しようとしましたが、これによりBoost.Asioが再び叫びます。私が考えることができる唯一の解決策は、すべてのコンパイルユニットを調べて、Asioが常に最初に含まれていることを確認することです。プロジェクトのサイズと複雑さ(およびそのソリューションの醜さ)のために、私はより良い方法を見つけたいと思います。
前もって感謝します !
c++ - cygwin での IPP リンカー エラー
Mac と Linux で動作する mkl と ipp を使用するプログラムを作成しました。現在、cygwin と gcc を使用して Windows 用のプログラムを作成していますが、リンクできません。
私が得ているエラーは次のとおりです。
警告: .drectve
-defaultlib:"uuid.lib" ' unrecognized ../../../bin/libMath.a(VectorUtility.cxx.o):VectorUtility.cxx:(.text+0x95): undefined reference to
_ippGetLibVersion' ../../../bin/libMath.a(VectorUtility.cxx.o):VectorUtility.cxx:(.text+0x157): `_ippsWinHann_32f_I' への未定義の参照
(およびそのような多くの)。
リンクパスを使用しています:
/opt/インテル/IPP/6.1.2.041/ia32/lib
そして、次へのリンク:
ippiemerged、ippimerged、ippmemerged、ippmmerged、ippsemerged、ippsmerged、ippcorel。
誰かが私が間違っていることを指摘できますか?
c++ - Intel Performance Primitive(IPP)ランタイムエラー
自分で書いたものではないソースコードがあり、作者に連絡できません。これはC++で記述されており、libjpeg、boost、およびIntelPerformancePrimitivesが必要です。
コンパイルは面倒でしたが、何日も問題を解決した後、コンパイルします。ここで、次のランタイムエラーが発生しますerror while loading shared libraries: libippi.so.5.1: cannot open shared object file: No such file or directory
。エラーは、コマンドライン引数に関係なくすぐに発生します。
Ubuntu9.04用のIPPの試用版をダウンロードしました。の下に、と/opt/intel/ipp/6.1.2.051/ia32/sharedlib/
で始まるファイルがたくさんあります。これには、が含まれます。だから、を指すリンクを作成しようと思ったのですが、うまくいきません。ローカルディレクトリに同様のリンクを作成しようとしましたが、それも機能しません。lib*
libippi*
libippi.so.6.1
libippi.so.5.1
libippi.so.6.1
私はこれらのライブラリのどれにも精通していないので、他に何を試すべきかわかりません。ネットやSOで解決策が見つかりませんでした。このエラーの修正にご協力いただければ幸いです。ありがとうございました。
c++ - IPP および DEV C++
こんにちは、Windows XP SP2 で DEV C++ コンパイラを使用しており、最近 IPP ライブラリをダウンロードしました。インストールに成功し、コンパイラ ディレクトリをオプション メニューから IPP ディレクトリに設定しましたが、ITT プログラムをコンパイルしようとすると、ITT 関数のリンカ エラーが発生します。解決策はありますか?
c++ - 実行時に LD_LIBRARY_PATH を取り除くにはどうすればよいですか?
Intel のIPPライブラリを使用する C++ アプリケーションを構築しています。このライブラリはデフォルトで /opt にインストールされ、ソフトウェアのコンパイルと実行の両方を設定する必要がありますLD_LIBRARY_PATH
(共有ライブラリ リンクを選択した場合は、私が実行しました)。コンパイル時にその変数を設定する必要がないようにconfigure.ac
/を既に変更しましたが、実行時に共有ライブラリを見つけることができません。Makefile.am
それ、どうやったら出来るの?
-Wl, -R/path/to/libdir
フラグを使用してコンパイルしていますg++
更新 1 : 実際、私のバイナリ プログラムにはいくつかの IPP ライブラリが正しくリンクされていますが、1 つだけではありません。
もちろん、ライブラリはそこにあります: