问题标签 [tegra]

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.

0 投票
2 回答
1686 浏览

c++ - 在小端机器上添加两个大端值

我目前面临一个我不知道如何避免它的问题。
我尝试处理可以是大端或小端的数据。这不是一个真正的问题,因为它总是以标头开头,因此我可以检查我必须使用哪种字节序模式,但是在解码值期间,有一些我不知道如何为大字节序数据实现的操作。
代码在小端(或以小端模式运行)的 nVidia Tegra(基于 ARMv7 架构的 Cortex-A9)上运行,但有时我会得到大端数据。
对数据的大多数操作并不是真正的问题,但我不知道如何正确添加..

如您所见,大多数字节在结果中已经是正确的,但有些不是。它们与预期结果相差 +1 或 -1,因为加法总是从右到左(小端机器)进行的,所以我们将进位(如果有的话)带到左边。
在这个小端机器上的大端加法的情况下,我必须从左到右添加并将进位(如果有的话)带到右边。

我现在的问题是,是否有可能(也许对处理器使用特殊指令?)得到正确的结果?也许我可以对结果进行进一步的操作,以消除这些 +1/-1 差异,这些差异比恢复操作数和结果“更便宜”?

最好的问候,托拜厄斯

0 投票
1 回答
650 浏览

performance - 刷新 ARM (Tegra 3) 上的 L2 缓存意外地提高了性能

在这种情况下:

  1. 我通过网络在一个单独的线程中通过 TCP 将大约 1MB 的数据接收到缓冲区中。

  2. 对该缓冲区进行解压缩会产生大约 2MB 的数据。

  3. 对我拥有源的同一个动态链接库函数的两次调用。基本上是一堆使用 FFTW 3.3.3 并支持 NEON 的 FFT。我认为第一组 FFT 是冷的,第二组是热的。

冷运行比热运行慢大约 200 毫秒:

  • 冷:570 毫秒
  • 热:260 毫秒

如果 1.) 和 2.) 被从文件中读取完全相同的数据替换,则热运行和冷运行同样快。

如果我将网络数据减少到 200K 左右,从而将解压缩的数据减少到 400K,那么冷热之间的性能是相同的。

如果我在2.)之后立即执行 L2 刷新*,则冷性能会增加到与热性能相同。我不明白这一点。我尝试更改许多编译器选项,只要使用优化器,我就会看到这种行为。

如果我刷新较少的缓存,那么冷运行的性能会成比例地恶化。

*这是我用来尝试刷新 1MB L2 缓存的代码:

使用巨大的 switch 语句来刷新指令缓存并没有太大的影响。我使用了 32,000 个案例,如下所示: 如何导致指令缓存未命中?

如果我将 FFT 操作的数据复制到内存不同部分的重复结构中,然后对复制进行操作,它与刷新 L2 的效果不同。

我想了解发生了什么。我在 Tegra 3 上强制将进程和线程关联到单个内核。我可以进行或查看哪些其他易于访问的测量?

0 投票
1 回答
523 浏览

android - 尝试使用 NSight 编译 Android 非原生项目

我正在尝试使用带有 Visual Studio 的新 nsight 插件来编译一个没有本机代码的简单的 Android 应用程序。问题是视觉工作室甚至不会尝试编译,因为它看不到任何要编译的东西。手动运行 ant debug 可以很好地编译它。带有本机代码的 Android 应用程序工作正常,因为 Visual Studio 将 c 文件识别为要编译的东西。有谁知道如何解决这个问题,因为没有本机代码选项的 Android 应用程序是相当没用的。

输出是

我还应该注意,如果我进入命令行并运行 ant build,它构建得很好。

0 投票
1 回答
567 浏览

android - OES_framebuffer_object 扩展在基于 Tegra 的设备上是否损坏?

我们将一些使用 FBO 扩展 ( GL_OES_framebuffer_object ) 的 OpenGL ES 1.x 代码移植到 Android 上,并遇到了基于Tegra的设备 ( Tegra 2、Tegra 3 ) 的问题。问题是,虽然设备在支持的扩展列表中报告GL_OES_framebuffer_object扩展,但功能的一部分似乎被破坏了,特别是glGetIntegerv()函数不接受任何与扩展相关的常量(例如GL_FRAMEBUFFER_BINDING_OES)报告GL_INVALID_ENUM错误。同时,其他与扩展相关的功能都可以正常工作。

  • 这是一个已知问题吗?
  • 有众所周知的解决方法吗?
  • 有人也面临这个问题吗?

我们测试的设备是 Nexus7 和 Acer A500。

0 投票
5 回答
2842 浏览

java - 无法从 Nvidia Tegra Developer Pack 在 Eclipse 中导入 org.opencv[...]

我已经下载了https://developer.nvidia.com/tegra-android-development-pack,其中包含 OpenCV for Tegra 2.4.3.2。如何将 opencV 导入项目。

我已经安装了它,然后运行 ​​Eclipse 并导入 opencv 示例,但后来我得到了很多,我无法修复它

The import org.opencv.imgproc cannot be resolved

而且我不知道我应该在项目中添加什么以使其工作。目录中没有jar。这些是来自 Nvidia 包的真实样本,因此它们应该可以工作。

控制台输出:

在此处输入图像描述

主目录 在此处输入图像描述

opencv目录

在此处输入图像描述

0 投票
1 回答
1781 浏览

android - OpenGL ES:使用 Tegra 特定的扩展 (GL_EXT_texture_array)

我目前正在使用 NDK 为 Android 开发 OpenGL-ES 应用程序。该应用程序将极大地受益于以下 Open-GL 扩展:

GL_EXT_texture_array

(详细信息:GL_EXT_texture_arary
我的 Tegra-3 设备(华硕 EeePad Transformer Prime Tf-201)支持该扩展

我现在面临的问题是,我不知道如何使扩展程序可用于我的应用程序,因为它不包含在 Open-GL ES API 注册表中。
(请参阅“扩展规范”:http ://www.khronos.org/registry/gles/ )
但是我注意到一个名为“GL_NV_texture_array”的扩展,它似乎具有相同的用途,但我的 Tegra-3 设备不支持.

我知道使用函数指针包含扩展的可能性。但我认为可能有更舒适的方式。我还找到了一个头文件 (gl2ext_nv.h),其中包含必要的扩展名。但是当你通过谷歌搜索它时,该文件总是特定项目的一部分,而不是官方的。我还下载了 Tegra Android Development Pack (2.0),其中既不包含此头文件,也不包含所需的扩展名。

谁能给我解释一下,好吗?
如何使用我的 Tegra-3 设备支持的 Open-GL ES 扩展,而任何官方 Open-GL ES 特定标头(在 NDK 中)似乎都不支持这些扩展?

提前致谢!

0 投票
1 回答
898 浏览

android - where is the tegra's hardware codec code in android source code(4.1)

I want to find the hardware codec codec of tegra 3 in android source code(4.1). In the source code I found

So, the android OS will load libstagefrighthw.so when need to encode/decode video with hardware. Since tegre 3 support h.264 hareware codec ( link ), I want to find the code in the android OS. But I only find qcom and TI's code.

Does anyone can help point out where to find the tegra 3 hardware codec code?

0 投票
1 回答
908 浏览

android - Android 设备上的 DXT5 纹理中缺少 Alpha 通道

我正在将手机游戏移植到 Android 并希望在 OpenGL 中使用压缩纹理,就像在 iOS 上使用 PVR 纹理一样。

我设法将我的纹理从 PNG 转换为 DXT,并在配备 Nvidia Tegra 2 芯片组的 Galaxy Tab 10.1 上运行游戏。然而,在我的 DXT5 格式纹理中没有平滑的 alpha。它们看起来像具有 1 位 alpha 的 DXT1 纹理。

我已经阅读并运行了这里的示例:http: //software.intel.com/en-us/articles/android-texture-compression

我试过这个非常好的库: https ://libregamewiki.org/Simple_OpenGL_Image_Library

但得到了相同的结果。没有阿尔法通道。请帮我解决这个问题。我真的被困住了。

谢谢。

细节:

  1. 我使用了带有标志“-nomips -bc3 -alpha”的 nvcompress 工具版本 2.1.0(并且导致了很多变化但没有成功)。
  2. 我正在使用 OpenGL ES1 库。
  3. 我的openGL代码:

    /li>
0 投票
1 回答
1259 浏览

android - System.LoadLibrary(libname) 在 Javacv 代码中的 Nvidia Tegra 2 芯片组(Android Samsung Tab)上崩溃

我使用Javacv 代码在 Andorid 中制作了一个自定义相机。我没有包含所有 .so 文件,而只包含了我的应用程序似乎需要的那些文件。如以下屏幕截图所示:

在此处输入图像描述

它在三星 Galaxy S2、S3 和索尼爱立信 Xperia Arc 上运行良好。完全没有问题。但是当我尝试在三星 P7500 Galaxy Tab 10.1 上运行它时,它在我使用的 Javacv 代码的第一行就崩溃了,它恰好是:

此尝试的 Logcat 输出:

我的超级英雄“PID 7847 先生”死了:(

从这个日志我可以很容易地解释应用程序正在尝试链接到 libtbb.so 但不知道出了什么问题。

我将源代码附加到 javacv jar 但仍然没有线索。然后我删除了 jars 并在我的项目中包含了所需的 jars 代码,如下面的屏幕截图所示:

在此处输入图像描述

使用断点我发现应用程序崩溃了

在 logcat 输出中,我得到了几乎相似的代码,但现在我知道代码的哪一部分不起作用。

对“PID 7847 先生”谋杀案的进一步调查让我发现,问题不是代码,而是我的 Galaxy Tab 芯片组是 NVIDIA TEGRA 2,这就是我的应用程序无法运行的原因。

崩溃日志中的主线如下所示:

关于SIGILL 的介绍在这里以及相关问题相关文章

到目前为止,它似乎是 armeabi-v7a 和 armeabi 之间的问题。现在我有一个 MCQ:请让我知道以下哪个问题是我提出的正确问题,并解释其答案。

1)如果我在使用 Javacv 时错过或忽略了一些东西?

2)或者如果Javacv根本不兼容Tegra 2并且没有希望?

3)或者应该用一些额外的设置(armeabi-v7a和armeabi)编译.SO文件,这将使它与Tegra 2兼容,在这种情况下我该怎么做?

4) 我应该怎么做才能在 Galaxy P7500 10.1 Android Tab 等 Tegra 2 芯片组设备上运行它?

我的设备的 build.prop 文件:

0 投票
0 回答
263 浏览

android - Tegra3——硬件解码的高延迟

硬件:Nexus 7

操作系统版本:安卓4.1.2

问题:我使用 OpenMAX IL 解码 H.264 视频流(640x480)。在我提供原始 H.264 帧和接收 YUV 帧之间,大约需要 2~4 秒。YUV 帧是正确的。

问:真的需要这么多时间吗?还是我做了错误的配置?