问题标签 [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 投票
1 回答
5902 浏览

gstreamer - 使用 GStreamer 通过 udp 解码和流式传输 h264

我正在尝试从 h264 解码视频并重新编码以通过 udp 传输到客户端:

在发射端:

在接收方:

我在本地进行测试,在 NVidia Tegra TK1 上进行测试,但没有显示任何内容,尽管没有引发错误。

有人看到要补充的吗?提前致谢。

0 投票
1 回答
1022 浏览

c++ - opencv4tegra:编译示例 stereo_match.cpp 时出现问题

我在使用 opencv4tegra 编译标准 opencv 示例时遇到了相当大的困难 - 按照 nvidia wiki 为 Jetson TK1 的指示安装。

出于沮丧,我从 2.4.10.1 源代码构建了 opencv,并将其直接安装到 /usr/local... 并且效果很好!在我卸载它之后,我在编译他们的问题时遇到了同样的问题,所以很明显这是我正在做的事情。有趣的是,我可以针对他们的 opencv4tegra lib 运行编译后的示例应用程序……但我无法针对他们的 lib 进行编译。

测试环境:

我没有从 opencv 的 2.4.10.1 版本更改示例文件 - 它是相同的 stereo_match.cpp 文件。我只是想编译它。

这些函数在 gpu.hpp 文件中——我已经看过了。我也跑过:

nm /usr/lib/libopencv_gpu.so | grep StereoBM_GPU | c++filt

...只是为了确保符号在库中。

到底是怎么回事??所以,它显然没有链接 - 但我无法弄清楚 g++ 想要什么......

$:~/opencv/samples/gpu$g++ -I/usr/include -L/usr/local/cuda/lib `pkg-config opencv --libs` stereo_match.cpp -o stereo_m

/tmp/ccvj1IgD.o: 在函数App::App(Params const&)': stereo_match.cpp:(.text+0x8b0): undefined reference to cv::gpu::StereoBM_GPU::StereoBM_GPU()' stereo_match.cpp:(.text+0x8c6): 未定义引用 cv::gpu::StereoBeliefPropagation::StereoBeliefPropagation(int, int, int, int)' stereo_match.cpp:(.text+0x8e0): undefined reference to cv::gpu::StereoConstantSpaceBP::StereoConstantSpaceBP(int, int , int, int, int)' stereo_match.cpp:(.text+0x8e4): undefined reference to cv::gpu::getDevice()' stereo_match.cpp:(.text+0x8ec): undefined reference tocv::gpu::printShortCudaDeviceInfo(int)' /tmp/ccvj1IgD.o: In function App::run()': stereo_match.cpp:(.text+0xa42): undefined reference tocv::imread(std:: string const&, int)' stereo_match.cpp:(.text+0xa70): undefined reference to cv::imread(std::string const&, int)' stereo_match.cpp:(.text+0xb90): undefined reference tocv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0xba0): undefined reference to cv::_OutputArray::_OutputArray(cv::Mat&)' stereo_match.cpp:(.text+0xbb4): undefined reference to cv ::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)' stereo_match.cpp:(.text+0xbc4): 未定义引用 cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0xbd4): undefined reference to cv::_OutputArray::_OutputArray(cv::Mat&)' stereo_match.cpp:(.text+0xbe8): 未定义对 cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)' stereo_match.cpp:(.text+0xbfa): undefined reference to cv::gpu::GpuMat::upload(cv::Mat const&)' stereo_match.cpp 的引用: (.text+0xc0c): 未定义引用 cv::gpu::GpuMat::upload(cv::Mat const&)' stereo_match.cpp:(.text+0xc3e): undefined reference to cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0xc4e): 未定义引用 cv::imshow(std::string const&, cv::_InputArray const&)' stereo_match.cpp:(.text+0xc94): undefined reference to cv::_InputArray::_InputArray(cv:: Mat const&)' stereo_match.cpp:(.text+0xca4): 未定义引用 cv::imshow(std::string const&, cv::_InputArray const&)' stereo_match.cpp:(.text+0xdaa): undefined reference to cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0xdba): 未定义引用 cv::_OutputArray::_OutputArray(cv::Mat&)' stereo_match.cpp:(.text+0xdce): undefined reference to cv:: cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)' stereo_match.cpp:(.text+0xdde): 未定义对 cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0xdee): undefined reference to cv::_OutputArray::_OutputArray(cv::Mat&)' stereo_match.cpp 的引用:(.text+0xe02): 未定义的引用cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)' stereo_match.cpp:(.text+0xe4e): undefined reference to cv::gpu::GpuMat::upload(cv::Mat const&)' stereo_match.cpp:(.text+0xe60): undefined reference to cv::gpu::GpuMat::upload(cv::Mat const&)' stereo_match.cpp:(.text+0xe92): undefined reference to cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp :(.text+0xea2): 未定义引用 cv::imshow(std::string const&, cv::_InputArray const&)' stereo_match.cpp:(.text+0xee8): undefined reference to cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0xef8): 未定义引用 cv::imshow(std::string const&, cv::_InputArray const&)' stereo_match.cpp:(.text+0xf22): undefined reference to cv::gpu::Stream::Null ()' stereo_match.cpp:(.text+0xf34): 未定义引用cv::gpu::StereoBM_GPU::operator()(cv::gpu::GpuMat const&, cv::gpu::GpuMat const&, cv::gpu::GpuMat&, cv::gpu::Stream&)' stereo_match.cpp:(.text+0xf4c): undefined reference to cv::gpu::Stream::Null()' stereo_match.cpp:(.text+0xf5e): 未定义引用 cv::gpu::StereoBeliefPropagation::operator()(cv::gpu::GpuMat const&, cv::gpu::GpuMat const&, cv::gpu::GpuMat&, cv::gpu::Stream&)' stereo_match.cpp:(.text+0xf76): undefined reference to cv::gpu:: Stream::Null()' stereo_match.cpp:(.text+0xf88): undefined reference to cv::gpu::StereoConstantSpaceBP::operator()(cv::gpu::GpuMat const&, cv::gpu::GpuMat const&, cv::gpu::GpuMat&, cv::gpu::Stream&)' stereo_match.cpp:(.text+0xfa0): undefined reference to cv::gpu::GpuMat::download(cv::Mat&) const' stereo_match.cpp:(.text+0xff6):未定义的引用 cv::putText(cv::Mat&, std::string const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)' stereo_match.cpp:(.text+0x1032): undefined reference to cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0x1042): undefined reference to cv::imshow(std::string const&, cv::_InputArray const&)' stereo_match.cpp:(.text+0x105c): undefined reference to cv::waitKey(int)' /tmp/ccvj1IgD.o: In function App::handleKey(char)': stereo_match.cpp:(.text+0x1630): undefined reference tocv::_InputArray ::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0x1640): undefined reference to cv::_OutputArray::_OutputArray(cv::Mat&)' stereo_match.cpp:(.text+0x1654): undefined reference to cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)' stereo_match.cpp :(.text+0x1664): 未定义引用 cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0x1674): undefined reference to cv::_OutputArray::_OutputArray(cv::Mat&)' stereo_match.cpp:(.text+0x1688): 未定义引用 cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)' stereo_match.cpp:(.text+0x169a): undefined reference to cv::gpu::GpuMat::upload( cv::Mat const&)' stereo_match.cpp:(.text+0x16ac): 未定义引用 cv::gpu::GpuMat::upload(cv::Mat const&)' stereo_match.cpp:(.text+0x1718): undefined reference to cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0x1728): 未定义引用 cv::imshow(std::string const&, cv::_InputArray const&)' stereo_match.cpp:(.text+0x176e): undefined reference to cv::_InputArray::_InputArray(cv::Mat const&)' stereo_match.cpp:(.text+0x177e): undefined reference to cv::imshow(std::string const&, cv::_InputArray const&)' /tmp/ccvj1IgD.o: In functioncv::Mat::~Mat()': stereo_match.cpp:(.text._ZN2cv3MatD2Ev [_ZN2cv3MatD5Ev]+0x20):对cv::fastFree(void*)' /tmp/ccvj1IgD.o: In functioncv::Mat::operator=(cv::Mat const&)' 的未定义引用:stereo_match.cpp:(. text.ZN2cv3MataSERKS0 [ ZN2cv3MataSERKS0 ]+0xa2):对cv::Mat::copySize(cv::Mat const&)' /tmp/ccvj1IgD.o: In functioncv::Mat的未定义引用::create(int, int, int)': stereo_match.cpp:(.text._ZN2cv3Mat6createEiii[_ZN2cv3Mat6createEiii]+0x66): undefined reference to cv::Mat::create(int, int const*, int)' /tmp/ccvj1IgD.o: In functioncv::Mat::release()': stereo_match.cpp:(.text. _ZN2cv3Mat7releaseEv[ ZN2cv3Mat7releaseEv]+0x30): 未定义对cv::Mat::deallocate()' /tmp/ccvj1IgD.o: In functioncv::gpu::GpuMat::GpuMat(cv::Size ) 的引用, int)': stereo_match.cpp:(.text._ZN2cv3gpu6GpuMatC2ENS_5Size_IiEEi[_ZN2cv3gpu6GpuMatC5ENS_5Size_IiEEi]+0x5c): undefined reference to cv::gpu::GpuMat::create(int, int, int)' /tmp/ccvj1IgD.o: In functioncv::gpu::GpuMat::~GpuMat()': stereo_match.cpp:(.text._ZN2cv3gpu6GpuMatD2Ev[_ZN2cv3gpu6GpuMatD5Ev ]+0xa):对cv::gpu::GpuMat::release()' /tmp/ccvj1IgD.o: In functionApp::workBegin()' 的未定义引用:stereo_match.cpp:(.text._ZN3App9workBeginEv[_ZN3App9workBeginEv]+0x8):对cv::getTickCount()' /tmp/ccvj1IgD.o: In functionApp::workEnd()' 的未定义引用:stereo_match.cpp:(.text ._ZN3App7workEndEv[_ZN3App7workEndEv]+0x8): undefined reference to cv::getTickCount()' stereo_match.cpp:(.text._ZN3App7workEndEv[_ZN3App7workEndEv]+0x20): undefined reference tocv::getTickFrequency()' collect2: error: ld returned 1 exit status

0 投票
1 回答
496 浏览

linux - 不带 X 的 Tegra Mesa GLES

我正在尝试设置基于 Tegra 3 (Toradex Apalis T30) 的系统,该系统将在触摸屏上具有基于 OpenGL ES 的用户界面。不幸的是,标准的 Linux4Tegra 内核已经严重过时,并且提供的图形驱动程序需要 X11 集成。虽然我发现我可以构建 Vanilla Linux 内核并让它在我的板上运行良好(测试 3.18)。这些天我还发现内核中包含了一个 DRM Tegra 驱动程序,我在 menuconfig 中启用了它并使用它构建了内核。我还设法让许多发行版与内核一起工作(尽管我还没有真正尝试过让 X 在任何一个上工作)。

我的问题是,超出这一点,我被卡住了。我不知道接下来要做什么才能让 GLES 渲染并与 DRM 驱动程序一起运行。我环顾四周,发现 Mesa 可能通过 DRM 支持 GLES,但我不确定这是否允许我在没有 X 的情况下这样做?另外,我究竟如何为 Tegra DRM 驱动程序配置和编译 Mesa?

此外,如何使用此 DRM 驱动程序配置输出显示?我的目标屏幕是一个 24 位并行 RGB 显示器,但我还没有把它连接起来,想先用 HDMI 进行测试。我真的不知道应该如何配置输出显示。我能找到的唯一可能有帮助的信息涉及我希望不会使用的 X 和 xorg.conf。我的设备确实在 HDMI 显示器上正确输出了控制台,它是如何知道这样做的?这个过程可能会以某种方式涉及设备树吗?

PS。我想这个问题有点愚蠢,但我对嵌入式 Linux 很陌生,并且刚刚弄清楚如何构建 vanilla 内核等,并且除了配置 X 之外,真的不知道 Linux 显示系统是如何工作的。查找有关此的信息也证明很难。

编辑:我已经在 Fedora 上使用 OpenTegra 驱动程序在 HDMI 上运行了 XFCE(登录不起作用,登录窗口非常小),如果我没记错的话,它会使用 DRM 驱动程序,所以希望这是个好消息?

0 投票
1 回答
510 浏览

c++ - Jetson TK1 / OpenCV4Tegra 链接器错误

我有一个程序可以在我的机器上编译/运行良好。我刚刚拿起一个 Nvidia Jetson TK1 来尝试在上面运行它。我闪到最新版本的 linux4tegra,按照此处此处的说明安装了 cuda 和 opencv 。每当我尝试运行我的 make 文件时,我都会收到链接器错误:

我已经对一些 cuda SO 进行了符号链接,但我不知道这些是从哪里来的。

我的makefile看起来像:

包配置返回:

有任何想法吗?我最初的想法是 header / SO 不匹配,但由于这些都来自同一个包中的 nvidia,我认为这不太可能。

0 投票
1 回答
620 浏览

android - 如何在 Android Studio 上使用 Tegra Android 开发包 (TADP)?

我想使用 OpenCV 开发一个 Android 应用程序。我发现 Tegra Android 开发包提供了一个简单的设置来使用 Eclipse 实现这一点,但我想将它与 Android Studio 一起使用。我发现没有什么可以帮助我。

有可能做到这一点吗?有教程吗?

0 投票
0 回答
58 浏览

c++ - 在约束下分配和管理特定线程

请原谅我,无论如何我都不是多线程专家,需要一些帮助。所以在我回答我的问题之前,只有一些给定的知识:

预知识

  • 在 Jetson TK1 上开发 C++ 代码
  • Jetson 有 4 个 CPU 内核(四核 CPU ARMv7 CPU)
  • 根据我的研究,每个核心可以使用一个线程(4 核心 - > 4 线程)
  • 我正在运行一个使用 OpenCV 的计算机视觉应用程序
  • 从网络摄像头捕获帧以及从视频文件中抓取帧

伪代码 我正在尝试优化我的多线程代码,以便我可以为我的应用程序获得最大的性能。目前这是我的代码的基本布局:

问题) 所以我想知道的是,是否有办法指定我在构建新线程时将使用哪个核心/线程。我担心当我一遍又一遍地创建线程 A 和 B 时,它们会跳到不同的线程并妨碍我的系统速度和/或视频的阅读。虽然这种担心没有充分的理由,但我在运行代码时看到了四个内核上的非常奇怪的行为。通常,我总是会看到一个内核运行在 40-60% 左右,我认为它要么是主线程,要么是播放线程。但对于其他核心,计算负载非常跳跃。同样在整个应用程序播放过程中,我看到两个内核从大约 60% 一直到 100%,但这两个内核并没有保持不变。可能是第一,第二,第三,甚至是第四核,然后它们通常会大幅下降到大约 20->40%。偶尔我会看到只有 1 个核心下降到 0% 并保持这种状态,这似乎是通过 while 循环的另一个循环(即抓取帧、进程、线程 A、线程 B、重复)。然后我会看到他们四个都再次活跃,这是更预期的行为。

我希望我在这篇文章中没有太含糊。我只是看到我的行为有点出乎意料,我想了解我可能做错了什么或没有考虑到什么。感谢任何可以帮助或指出正确方向的人。

0 投票
1 回答
315 浏览

ubuntu-14.04 - 英伟达jetson tk1上的Firewire1394

我正在尝试使用 PCI Express将Point Grey Bumblebee2立体相机与nvida tegra tk1连接起来。Nvidia 主板检测到 PCI Express。
lspci

但它找不到点灰色相机
lsusb

经过彻底调试,我发现nvida tegra tk1上的当前内核没有firewire1394驱动程序。所以,我需要知道我可以重新编译哪个内核来使用 firewire1394 驱动程序。

0 投票
1 回答
187 浏览

android - 在 Nsight Tegra 中创建和使用库项目

我正在尝试使用最新的 Nsight Tegra 3.0 创建我的 APK。我的项目有几个组件......其中一个是本机动态库 (SO),其他部分是来自谷歌的几个库项目,用于他们的 Google-Play-Services 和他们的 LicenseService。这些是 Eclipse 中的库项目,但我似乎找不到使用 NSight Tegra 将它们包含在 VS2013 中的方法。

0 投票
1 回答
1175 浏览

c++ - 在 Jetson TK1 上编译代码

我正在使用 gcc arm 交叉编译器(arm-eabi-g++)编译应用程序。我想在 jetson tk1 目标上执行代码。当我复制可执行文件并在目标上运行它时。我收到一条错误消息-bash: ./Proj: No such file or directory

我应该在构建时包含任何额外的条件,以便在目标上运行它吗?

任何人都可以建议任何其他有效的交叉编译器吗?

0 投票
1 回答
192 浏览

android - 带有 nVidia AndroidWorks 的 Android 支持库

在 Android Works ( https://developer.nvidia.com/AndroidWorks ) 的功能列表中,包含了 Android 支持库。但是,我无法弄清楚如何链接它。很可能,我需要将 com.android.support:appcompat-v7:22.2.1 或类似的东西放在 Visual Studio 的构建设置中。我知道它没有链接,因为

因“包不存在”而失败。