問題タブ [renderscript]
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.
android - renderscriptを使用してカメラのYUVデータをARGBに変換する
私の問題は次のとおりです。Androidでカメラをセットアップし、onPreviewFrame-listenerを使用してプレビューデータを受信します。このリスナーは、デフォルトのAndroidYUV形式の画像データを含むbyte[]配列を渡します(デバイスはR5G6B5-をサポートしていません)。フォーマット)。各ピクセルは12ビットで構成されているため、少し注意が必要です。今私がやりたいのは、YUVデータをARGBデータに変換して画像処理を行うことです。これは、高いパフォーマンスを維持するために、renderscriptを使用して実行する必要があります。
私のアイデアは、1つの要素に2つのピクセル(24ビット= 3バイト)を渡してから、2つのARGBピクセルを返すことでした。問題は、Renderscriptではu8_3(3次元8ビットベクトル)が32ビットに格納されていることです。これは、最後の8ビットが未使用であることを意味します。ただし、イメージデータを割り当てにコピーすると、32ビットがすべて使用されるため、最後の8ビットが失われます。32ビットの入力データを使用したとしても、最後の8ビットはピクセルの2/3しかないため、役に立ちません。3バイト配列で構成される要素を定義する場合、実際のサイズは3バイトです。しかし、Allocation.copyFrom()メソッドはin-Allocationをデータで埋めず、byte[]で埋めるのに適切なデータ型を持っていないと主張します。
renderscriptのドキュメントには、APIレベル17で正確に実行する必要があるScriptIntrinsicYuvToRGBがあると記載されていますが、実際にはクラスは存在しません。APIレベル17はダウンロードできなくなったようですが、ダウンロードしました。誰かがそれについて何か情報を持っていますか?ScriptIntrinsicを試したことがある人はいますか?
結論として、私の質問は次のとおりです。カメラデータをARGBデータに高速に変換し、ハードウェアで高速化する方法は?
これがDalvikVMでそれを行う方法です(オンラインのどこかでコードが見つかりました、それは機能します):
android - プレハニカムのレンダースクリプトを作成する
targetVersionが16のプロジェクトがあり、APIレベル8までサポートするためにSherlockActionBarとsupport-libraryを使用しています。CarouselViewをプロジェクトに統合しようとしています。サポートされているバージョンにはCarouselViewを使用し、他のバージョンにはpageViewerを使用することを計画しています。私は開発にJetbrainsIDEAを使用しています。通常、IDEAを使用して問題なくアプリケーションをビルドおよびデプロイできます。ただし、android-toolsを使用してアプリケーションをビルドすることはできません。結果として生じるエラーは下部にあります。
エラーを調査しているときに、renderscriptがapiレベル8でコンパイルしようとしていることに気付きました。%sdk.dir%\ tools \ ant \ build.xmlを調べて、renderscriptターゲットがtargetApiにproject.minSdkVersionを使用していることを確認しました。これはバグですか、それとも何ですか?
-code-gen:
[mergemanifest]削除されたターゲットファイルが見つかりました[mergemanifest]AndroidManifestファイルを1つにマージします。[mergemanifest]マニフェストのマージが無効になっています。プロジェクトマニフェストのみを使用します。[echo]aidlファイルを処理しています...[aidl]コンパイルするAIDLファイルがありません。[echo] ----------[echo]RenderScriptファイルを処理しています...[renderscript]1つのRenderScriptファイルが見つかりました。 [renderscript]-target-api8を使用して1つのRenderScriptファイルをコンパイルします[renderscript]最適化レベル:0 [llvm-rs-cc.exe] D:\ Projects \ TEB \ teb \ src \ com \ pozitron \ teb \ customwidgets \ carousel \ carousel.rs:236:14:エラー:ベクトルを含む構造体ディメンション3のはこのAPIレベルではエクスポートできません:'carouselPlane' [llvm-rs-cc.exe] D:\ Projects \ TEB \ teb \ src \ com \ pozitron \ teb \ customwidgets \ carousel \ carousel.rs:242: 17:エラー:ディメンション3のベクトルを含む構造体はこのAPIレベルではエクスポートできません:'carouselCylinder' [llvm-rs-cc.exe] D:\ Projects \ TEB \ teb \ src \ com \ pozitron \ teb \ customwidgets \ carousel \ carousel.rs:254:21:エラー:ディメンション3のベクトルを含む構造体はこのAPIレベルではエクスポートできません:'cardVertices' [llvm-rs-cc.exe] D:\ Projects \ TEB \ teb \ src \ com \ pozitron \ teb \ customwidgets \ carousel \ carousel.rs:262:26:エラー:ディメンション3のベクトルを含む構造体は次のAPIレベルではエクスポートできません:'camera' [llvm-rs-cc.exe] D:\ Projects \ TEB \ teb \ src \ com \ pozitron \ teb \ customwidgets \ carousel \ carousel.rs :1503:20:エラー:ディメンション3のベクトルを含む構造体はこのAPIレベルではエクスポートできません:'p' [llvm-rs-cc.exe] D:\ Projects \ TEB \ teb \ src \ com \ pozitron \ teb \ customwidgets \ carousel \ carousel.rs:1045:9:エラー:ディメンション3のベクトルを含む構造体はこのAPIレベルではエクスポートできません:'ray' [llvm-rs-cc.exe] D:\ Projects \ TEB \ teb \ src \ com \ pozitron \ teb \ customwidgets \ carousel \ carousel.rs:1092:9:エラー:ディメンション3のベクトルを含む構造体はこのAPIレベルではエクスポートできません:'ray' [llvm-rs-cc.exe] D:\プロジェクト[llvm-rs-cc.exe]ects\ TEB \ teb \ src \ com \ pozitron \ teb \ customwidgets \ carousel \ carousel.rs:1503:20:エラー:次元3c[llvm-rs-cc.exe]のベクトルを含む構造体は、このAPIレベルではエクスポートできません:'p' [llvm-rs-cc.exe] D:\ Projects \ TEB \ teb \ src \ com \ pozitron \ teb \ customwidgets \ carousel \ carousel.rs:1781:17:エラー:次元3のベクトルを含む構造体はこのAPIレベルではエクスポートできません:'ray'
ビルドに失敗しましたD:\ Android \ android-sdk \ tools \ ant \ build.xml:645:この行の実行中に次のエラーが発生しました:D:\ Android \ android-sdk \ tools \ ant \ build.xml:665:null返された:1
編集:Selvinが提案したように、renderscriptフォルダーとllvm-rs-cc.exeを古いバージョンからコピーしました。今、私は次のエラーが発生しました:
android - Androidのライブ壁紙レンダリングスクリプトの背景画像
私はレンダリングスクリプトの初心者です。ライブ壁紙アプリで通っていました。
問題は、背景画像(ライブ壁紙の静的な背景)を取得できないことです。
以下にコードを添付します。
前もって感謝します。
LiveWallpaperView ファイル
LiveWallpaper.rs
バックグラウンド メソッドはルート メソッドで呼び出され、次に同じクラスで呼び出されます。
LiveWallpaperRS.java
最後に、これを LiveWallpaperService クラスで呼び出しました
android - RenderScript の進行状況を取得する
Android で画像を計算するために forEach_root メソッドを使用しています。
これは問題なく動作しますが、膨大な量のデータ (処理するのに 1800 万ピクセル以上) が存在する可能性があるため、時間がかかる場合があります。RenderScript forEach ループの現在のプロセスを取得する可能性はありますか?
android - Androidプラットフォーム用にコードをスポット最適化するにはどうすればよいですか?
私はiOS開発者であり、Android開発への参入を検討しています。
inline
Objective-Cでは、ディレクティブと低レベルのコードを使用して特定のホットスポット(画像処理など)を最適化および調整できることに慣れています。
Androidで同じことをするにはどうすればよいですか?答えはRenderscriptですか?RenderscriptはすべてのAndroidデバイスと互換性がありますか?
少なくとも、非常にタイトなループでのプロシージャ呼び出しを節約するために、特定のメソッドをインライン化するように指定できますか?
android - Java でのデータのデコード
ICS の renderscript からデータを取得したいと考えています。
以下を使用して、スクリプトからデータを送信します。
次を使用してJavaでデータを受け取ります。
mData は int の配列です。
必要なタイプに変換するにはどうすればよいですか? たとえば、double の配列。
android - Android RenderScript にテクスチャが表示されない
RenderScript に問題があります。バインドしたテクスチャは Surface に表示されません。LogCat またはコンソールにエラーや関連するメモが表示されません。WallPaperService.Engine を使用します。ProgramFragments にビットマップをバインドすると、rsgBindProgramFragment に表示されます。私もいくつかのチュートリアルでこの問題を抱えています。Bitmap、ProgramFragments などは決して null ではありません。Bitmap を RenderScript にバインドしないようにすると、テクスチャではなくポイントが表示されます。非常に小さな解像度で圧縮されたビットマップではなく、ビットマップをデコードするいくつかの方法を試しました。ここにコード全体を投稿しても意味がないと思います。スニペットを求めてください。私はこの問題に約1週間取り組んでいます。問題を解決するためのすべての提案に非常に感謝しています。Galaxy S3でソリューションをテストします。
java - 単純なrenderscript数学関数を実行することができません
2つの数値を取得し、それらを追加して結果を返す単純なrenderscript関数を取得しようとしていますが、それをスムーズに行うためのサンプルプロジェクトを見つけることができませんでした。ファイルを読み込もうとすると、奇妙なエラーが発生し続けます。
エラーが発生します:
私の.rsファイルは単純なものです。
これが何を意味するのか誰かが知っていますか、またはAndroid ICS以降にダウンロードできる単純なプロジェクトがあり、実際に機能するレンダリングではなく、数学を実行しますか?
(レンダリングスクリプトファイルを機能させることはできますが、それは私が望んでいることではありません。グラフィックは必要ありません)
今日編集私はそれを実行させようとしました、そして次の問題を取得します:
エラーメッセージが表示されます。メソッドforEach_rootは、タイプScriptC_RenderScriptに対して未定義です。.javaファイルに関数forEach_rootがなく、プロジェクトをクリーンアップした後でも、まだ存在していません。
ダウンロードできる数学関数だけでダウンロードできる簡単なプロジェクトはありますか?
android - filterscript のドキュメントはどこにありますか (また、どのように使用できますか)?
1 か月前に Jelly Bean 4.2 が発表されたとき、Filterscript も発表されました。ファイル拡張子が異なる Renderscript の添え字である言語のようです。そして、それは言語について私が知っているすべてです。
インターネット全体に存在する Filterscript に関する合計 2 つの段落を読み、 で小さな.fs
ファイルを作成しましたが、通常のファイルが同じ場所にあるpragma rs_fp_relaxed
ように、ADT ビルダーによって取得されません。.rs
私の ADT は最新の公開バージョン (21.0.0) で、Filterscript には低すぎるようです。 tools.android.comには 21.0.1 Preview があるようですが、リリース ノートには Filterscript についての言及はありません (実際には単なるバグ修正リリースです)。どこにもドキュメントがありません!
Filterscript を使用するにはどうすればよいですか? そのドキュメントはどこにありますか?
私が試したこと:
https://www.google.com/search?q=filterscript+site:android.com&tbs=li:1
http://developer.android.com/about/versions/android-4.2.html#Renderscript
http://developer.android.com/tools/sdk/eclipse-adt.html#notes
android - renderscriptに大きなビットマップを割り当てる(android)
私はAndroidのrenderscriptで単純な画像フィルターを作成しようとしましたが、それは小さな画像でも機能します。ただしout of memory error
、たとえばカメラで撮影した写真と同じくらいの大きさの写真を取得します(ただし、小さな画像でもすべて正常に機能します)。私のコードはちょっとお粗末だと知っているので(ほとんどはここからコピーされます)、大きなビットマップでレンダースクリプトを計算する方法に関するヒントをいただければ幸いです。rsを呼び出すためのコードは次のとおりです。
そして、これがrendescriptファイル自体に関連すると私が信じているものです:
このような大きなビットマップをメモリに実際にロードできないことは理解しています(ファイルをimageViewにロードできますか?)。以前はinJustDecodeBoundsを使用して処理していました。しかし、ここでは、どこでどのように処理するかわかりません。それを使用し、ビットマップのサイズを変更したくない(元のファイルを処理し、同じサイズの変更されたファイルを保存したい)