1

是否可以在 Android 上的自定义 .rs 文件中调用 ScriptIntrinsics 方法?我想要实现的是将视频帧从 YUV 转换为 RGBA,然后应用高斯模糊。

干杯!

4

2 回答 2

2

感谢您的反馈,但我已经找到了一个解决方案,使用ScriptGroup.Builder来在一个链中实例化多个脚本。

        // Create a group YUV->RGB + Blur chain
        ScriptGroup.Builder b = new ScriptGroup.Builder(rs);
        b.addKernel(scriptIntrinsicYuvToRGB.getKernelID());
        b.addKernel(scriptIntrinsicBlur.getKernelID());

        // Connection is on RGBA8888 side
        b.addConnection(rgbTypeBuilder.create(), scriptIntrinsicYuvToRGB.getKernelID(), scriptIntrinsicBlur.getFieldID_Input());
        mScriptGroup = b.create();

        // Set output
        mScriptGroup.setOutput(scriptIntrinsicBlur.getKernelID(), mOutputAllocation);
        scriptIntrinsicYuvToRGB.setInput(mInputAllocation);

然后只需调用mScriptGroup.execute()以使其根据需要运行。

于 2018-03-14T17:30:20.417 回答
0

据我所知,您不能在 rs 文件中使用脚本,但是您可以做的是使用第一个脚本的输出分配作为第二个脚本的输入分配一个接一个地调用脚本,这应该会给您预期的结果

于 2018-03-14T15:06:48.017 回答