标签: renderscript

Android RenderScript 在 VideoView 中模糊视频

我知道我可以在 Android 上使用 RenderScript 来模糊图像,但有人知道我是否可以将相同的方法应用于视频视图,以便我的完整视频是高斯模糊的?

android renderscript android-videoview

5
推荐指数
1
解决办法
2179
查看次数

Renderscript 致命信号 11 (SIGSEGV) 代码 1 (SEGV_MAPERR) 故障地址

我正在使用camera2 API来获取格式的图像流ImageFormat.YUV_420_888。我需要使用一个库对它们进行一些处理,该库需要将图像作为 RGB 字节数组发送(因此byte array length = width * height * 3

我使用这个线程(也可能是所有其他线程)将图像转换为 RGB 字节数组(这似乎有效,至少结果字节数组是我需要的)。

另外,这是我在 Kotlin 中用于将 YUV_420 转换为 RGB 的确切代码,并进行了一些更新:https://gist.github.com/VictorMotogna/e7a8493af65be994f29f5508660dd4a9

A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xe00000084 in tid 20776 (package name), pid 20776问题是几次尝试后转换崩溃并显示消息。

我尝试过其他图像格式、其他转换,但似乎没有任何效果 - 我要么遇到相同的崩溃(使用 YUV_420 或 NV21 时),要么无法获得正确的图像/转换。

似乎有帮助的一件事是:android:hardwareAccelerated="false"应用程序在运行次数比运行次数多得多后崩溃android:hardwareAccelerated="true"

有谁知道如何修理它?

rgb android yuv android-ndk renderscript

5
推荐指数
1
解决办法
6072
查看次数

Android渲染脚本

有没有人知道Android 3.0中的Renderscript

另外我想知道OpenGLRenderScript之间的区别

如果你知道提供一些很好的例子或演示链接

谢谢.

android renderscript

4
推荐指数
1
解决办法
3101
查看次数

RenderScript是否支持递归?

OpenCL不支持递归.CUDA确实如此,但仅限于某个版本.最初的搜索显示的renderScript 支持递归,但我找不到任何明确的.

RenderScript是否支持递归函数调用?

renderscript

4
推荐指数
1
解决办法
383
查看次数

使用Renderscript支持库为不同平台获取不同的错误

我在尝试实现一些用Renderscript for Android编写的代码时遇到了不同的麻烦.首先让我说我的所有SDK包都是22.3版本的最新版本,包括Ecplise ADT和Build-Tools 19.0.0.

我的目的是在各种Android平台上实现一些高计算图像算法,可能从API 8开始.为此,我renderscript-v8在我的Ecplise项目中设置了对库的引用,同时将应用程序定位到API 19.

我有两个Android设备要测试,第一个是Android 4.3(API 18),第二个是Android 2.2(API 8).我在运行这段代码时遇到了不同的异常,它调用了ScriptIntrinsicYuvToRGB(代码部分取自Executing ScriptIntrinsicYuvToRgb问题):

/* --------------
   global vars */

private RenderScript rs;
private ScriptIntrinsicYuvToRGB rs_YUVtoRGB;
private Allocation rs_YUVtoRGB_in;
private Allocation rs_YUVtoRGB_out;  

/* --------------
in constructor... */

this.rs = RenderScript.create(this.getContext());
this.rs_YUVtoRGB = ScriptIntrinsicYuvToRGB.create(this.rs, Element.U8_4(rs));

Type.Builder tb_in = new Type.Builder(this.rs, Element.createPixel(this.rs, Element.DataType.UNSIGNED_8, Element.DataKind.PIXEL_YUV));
tb_in.setX(prevWidth);
tb_in.setY(prevHeight);
tb_in.setMipmaps(false);
tb_in.setYuvFormat(this.camera.getParameters().getPreviewFormat());
this.rs_YUVtoRGB_in = Allocation.createTyped(this.rs, tb_in.create(), Allocation.USAGE_SCRIPT);

Type.Builder tb_out = new Type.Builder(this.rs, Element.RGBA_8888(this.rs));
tb_out.setX(prevWidth);
tb_out.setY(prevHeight);
tb_out.setMipmaps(false);
this.rs_YUVtoRGB_out = Allocation.createTyped (this.rs, tb_out.create(), …
Run Code Online (Sandbox Code Playgroud)

eclipse android renderscript

4
推荐指数
1
解决办法
1922
查看次数

为什么这些Google图像处理示例Renderscript在Nexus 5中的GPU上运行速度较慢

我要感谢Stephen在上一篇文章中的快速回复.这是本文的后续问题为什么非常简单的Renderscript在GPU中运行速度比在CPU中慢3倍

我的开发平台如下

Development OS: Windows 7 32-bit
Phone: Nexus 5
Phone OS version: Android 4.4
SDK bundle: adt-bundle-windows-x86-20131030
Build-tool version: 19
SDK tool version: 22.3
Platform tool version: 19
Run Code Online (Sandbox Code Playgroud)

为了评估Renderscript GPU计算的性能并掌握Renderscript使代码更快的一般技巧,我做了以下测试.

我使用标签android-4.2.2_r1.2检查了Google的Android开源项目中的代码.我之所以使用这个标签,是因为ImageProcessing测试样本在较新版本中不可用.

然后我在测试中使用了"base\tests\RenderScriptTests\ImageProcessing"下的项目.我在GPU上记录了运行代码的性能以及CPU,性能如下所示.

                         GPU    CPU
Levels Vec3 Relaxed     7.45ms  14.89ms
Levels Vec4 Relaxed     6.04ms  12.85ms
Levels Vec3 Full        N/A     28.97ms
Levels Vec4 Full        N/A     35.65ml
Blur radius 25          203.2ms 245.60ms
Greyscale               7.16ms  11.54ms
Grain                   33.33ms 21.73ms
Fisheye Full            N/A     51.55ms
Fisheye Relaxed         92.90ms 45.34ms
Fisheye Approx Full     N/A     51.65ms …
Run Code Online (Sandbox Code Playgroud)

android gpgpu renderscript

4
推荐指数
1
解决办法
1955
查看次数

RenderScript阻塞函数调用

我是RenderScript的新手,对Java层调用的阻塞/非阻塞性质仍然不太了解.一般问题是:哪些情况会阻止代码并允许RenderScript完成.尤其:

  1. 从Java我调用了一个内核forEach_kernel()并且没有阻塞 - 我不得不添加一个额外的内容,Allocation.copyTo()以便我可以使用结果.有另一种方式吗?
  2. 我读到某个地方,如果有2个内核,那么调用第二个将阻塞,直到第一个完成.导致这种情况的原因 - 可能只有在进行相同的分配时?
  3. 可调用函数会阻塞a)彼此,b)内核吗?特别是,我有一个自定义初始化程序可调用函数,我需要准备一些稍后将由内核使用的数据.这个准备可能需要一些时间,所以我想知道用Java script.invoke_somefunc()调用然后立即调用是否有危险script.forEach_kernel()

android renderscript

4
推荐指数
1
解决办法
788
查看次数

使用Renderscript和超过25个半径的Android模糊位图

我用Androids Rederscript模糊了一个位图

private Bitmap createBitmap_ScriptIntrinsicBlur(Bitmap src, float r) {

    //Radius range (0 < r <= 25)
    if(r <= 0){
        r = 0.1f;
    }else if(r > 25){
        r = 25.0f;
    }
    Bitmap bitmap = Bitmap.createBitmap(src.getWidth(), src.getHeight(),Bitmap.Config.ARGB_8888);

    RenderScript renderScript = RenderScript.create(getActivity());

    Allocation blurInput = Allocation.createFromBitmap(renderScript, src);
    Allocation blurOutput = Allocation.createFromBitmap(renderScript, bitmap);

    ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(renderScript,Element.U8_4(renderScript));
    blur.setInput(blurInput);
    blur.setRadius(r);
    blur.forEach(blurOutput);

    blurOutput.copyTo(bitmap);
    renderScript.destroy();
    return bitmap;
}
Run Code Online (Sandbox Code Playgroud)

但图像不够模糊.有没有可能模糊半径超过25的图像.当我多次调用模糊功能时,图像会像单个函数调用一样模糊.所以这也不起作用.
谢谢您的帮助.

android bitmap blur renderscript

4
推荐指数
2
解决办法
2051
查看次数

"无法注册本机方法"错误的原因?

我正在做两个项目; 一个更小(我会称之为ProjectA),而另一个则相当大(ProjectB).两个项目都使用相同的库,即IMG.LYPhoto Editor SDK.对于这两个项目,我遵循了库文档中的简单集成步骤.

ProjectA使用自定义Activity来显示和选择图像,而ProjectB只是使用简单的ACTION_PICK意图来选择图像.两个项目都有类似的方法来PhotoEditorActivity选择图像后启动; 除了ProjectA接受File参数的方法,而另一个接受一个Uri:

private void dispatchEditorIntent(File file /* Uri uri */) {
    new PhotoEditorIntent(getActivity())
            .setExportDir(PhotoEditorIntent.Directory.PICTURES, getString(R.string.app_name))
            .setExportPrefix(Constants.PREFIX_EDITOR)
            .setSourceImagePath(file.getAbsolutePath()) // uri.getPath() for ProjectB
            .destroySourceAfterSave(false)
            .startActivityForResult(REQUEST_EDITOR);
}
Run Code Online (Sandbox Code Playgroud)

如果我在任一项目中选择相同的图像,file.getAbsolutePath()或者uri.getPath()方法将返回相同的图像String; 例如:

/storage/emulated/0/Pictures/IMG_20160929_145318_395198580.jpeg

ProjectA工作正常,但在ProjectBdispatchEditorIntent被调用时,我遇到了一个巨大的错误消息.为简洁起见,我只包括每个错误和警报日志的前10行:

09-29 14:53:26.585 4272-4272/com.example.projectb E/art: Failed to register native method android.support.v8.renderscript.RenderScript.nDeviceDestroy(J)V …
Run Code Online (Sandbox Code Playgroud)

android renderscript

4
推荐指数
1
解决办法
4176
查看次数

使用Android支持渲染脚本API时的混合版本警告

我正在使用支持renderscript和android支持库25.1.0,我在模块build.gradle中收到此警告:

所有com.android.support库都必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到版本25.1.0、25.0.2。示例包括com.android.support:animated-vector-drawable:25.1.0和com.android.support:renderscript:25.0.2

这是我的代码,以获得renderscript支持库:

android{
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
       ...
       targetSdkVersion 25
       versionCode Integer.valueOf(versionId)
       versionName version
       renderscriptTargetApi 20
       renderscriptSupportModeEnabled true
       multiDexEnabled true
       minSdkVersion minSdk
 }
}
Run Code Online (Sandbox Code Playgroud)

似乎支持renderscript版本与构建工具链接在一起。。。如何在不使用较低的android支持库版本的情况下解决此问题?

android renderscript android-support-library

4
推荐指数
1
解决办法
754
查看次数