小编Set*_*ini的帖子

YUV_420_888解读三星Galaxy S7(Camera2)

我写了一个从YUV_420_888到Bitmap的转换,考虑到以下逻辑(据我所知):

在此输入图像描述

总结该方法:内核的坐标x和y与Y平面(2d分配)的非填充部分的x和y以及输出位图的x和y都是一致的.然而,U平面和V平面具有与Y平面不同的结构,因为它们使用1个字节覆盖4个像素,此外,可能具有多于一个的PixelStride,此外它们可能也有一个可以与Y平面不同的填充.因此,为了通过内核有效地访问U和V,我将它们放入1-d分配并创建索引"uvIndex",该索引给出了在给定的1-d分配中相应的U-和V的位置( x,y)坐标(非填充)Y平面(以及输出位图).

为了保持rs-Kernel的精简,我通过LaunchOptions限制x范围来排除yPlane中的填充区域(这反映了y平面的RowStride,因此可以在内核中忽略).所以我们只需要考虑uvIndex中的uvPixelStride和uvRowStride,即用于访问u值和v值的索引.

这是我的代码:

Renderscript内核,名为yuv420888.rs

  #pragma version(1)
  #pragma rs java_package_name(com.xxxyyy.testcamera2);
  #pragma rs_fp_relaxed

  int32_t width;
  int32_t height;

  uint picWidth, uvPixelStride, uvRowStride ;
  rs_allocation ypsIn,uIn,vIn;

 // The LaunchOptions ensure that the Kernel does not enter the padding  zone of Y, so yRowStride can be ignored WITHIN the Kernel.
 uchar4 __attribute__((kernel)) doConvert(uint32_t x, uint32_t y) {

 // index for accessing the uIn's and vIn's
uint uvIndex=  uvPixelStride * (x/2) + uvRowStride*(y/2);

// get the y,u,v values
uchar yps= rsGetElementAt_uchar(ypsIn, x, y);
uchar …
Run Code Online (Sandbox Code Playgroud)

android yuv android-camera2

26
推荐指数
2
解决办法
8854
查看次数

使用camera2与不赞成使用相机 - 最佳做法是什么?

我正在编写一个应用程序,相机是一个必不可少的功能.在这方面,我希望100%确定以下几个方面:

  1. 如果我使用已弃用的相机:应用程序现在仍会在所有API上运行吗?
  2. 如果1)是肯定的:在什么时间点,这个应用程序将不再运行在所有API上(我的应用程序应涵盖最低API 17)?
  3. 我在哪里可以找到有关2)的更新官方信息,即计划内容和何时?
  4. 说,我现在已经使用新的camera2,我的理解是该应用程序不能在21以下的任何API上运行 - 对吗?
  5. 我到目前为止得到的信息的工作假设是:现在仍然使用已弃用的相机.但是,请继续关注API的市场份额并尽快开始学习camera2,以便在未来2 - 3年内准备好将应用程序切换到camera2.你同意吗?

在任何情况下,使用设备的相机并使其在几乎所有目标设备上运行都是非常棘手的(因为现在我很高兴掌握了"旧"相机......).因此,我真的想确定以上几点.非常感谢你的回答.

camera android deprecated camera2

24
推荐指数
1
解决办法
8170
查看次数

Proguard混淆和Renderscript

我知道Proguard(当minifyenabeled设置为true时)会支持Java代码,但是Renderscript脚本呢?有谁知道吗?谢谢.

android proguard renderscript

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

在Android Studio中设置RenderScript

我拼命想在Android Studio中设置RenderScript.根据本手册http://developer.android.com/guide/topics/renderscript/compute.html#ide-setup我设置了最高可用的renderscriptTargetApi 22和renderscriptSupportModeEnabled为true.我使用buildToolsVersion"22.0.1".有了这个,我可以使用ScriptIntrinsic函数 - 但没有实现编译自编写的RenderScript(尝试20h +现在......).我总是遇到与R-File(红色)相同的问题 - 最迟当我尝试重建项目时.我究竟做错了什么?非常感谢您的帮助.

android renderscript

0
推荐指数
1
解决办法
2370
查看次数