Trying Ideas Related to Image and Video Processing and SGX530

Hello,

I am mentioning this idea because I am not sure that it is possible with the SGX530 on the BeagleBone Black. I do know there were some mentioning of ideas for building specific graphics applications on the board. I enjoyed the ideas with the ImgTec image from beagleboard.org and even tried some applications.

Anyway, is it possible to use the SGX530 in video/image processing like with OpenCV or another library?

Seth

P.S. I am trying to understand how exactly to propose this instance of graphics on recorded/live video or in photographs. This may seem silly because I do not fully understand how I may be able to handle such a task but I think it is worth a shot.

Also…

I found that sftp’ing the lib. over once Cross Compiled starts with some odd errors relating to names/users.

I cross compiled the library, GitHub - powervr-graphics/Native_SDK: C++ cross-platform 3D graphics SDK. Includes demos & helper code (resource loading etc.) to speed up development of Vulkan, OpenGL ES 2.0 & 3.x applications , with a WSL2 instance and then sftp’ed the lib. to my BBG. I ran across some error that resembled naming sequences.

… Please forget this naming convention error! …

Here:


-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args`
  (WAYLAND_CLIENT) does not match the name of the calling package (Wayland).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  framework/cmake/modules/FindWayland.cmake:52 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  examples/Vulkan/01_HelloAPI/CMakeLists.txt:123 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args`
  (WAYLAND_SERVER) does not match the name of the calling package (Wayland).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  framework/cmake/modules/FindWayland.cmake:53 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  examples/Vulkan/01_HelloAPI/CMakeLists.txt:123 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args`
  (WAYLAND_EGL) does not match the name of the calling package (Wayland).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  framework/cmake/modules/FindWayland.cmake:54 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  examples/Vulkan/01_HelloAPI/CMakeLists.txt:123 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args`
  (WAYLAND_CURSOR) does not match the name of the calling package (Wayland).
  This can lead to problems in calling code that expects `find_package`
  result variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  framework/cmake/modules/FindWayland.cmake:55 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  examples/Vulkan/01_HelloAPI/CMakeLists.txt:123 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args` (WAYLAND)
  does not match the name of the calling package (Wayland).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  framework/cmake/modules/FindWayland.cmake:56 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  examples/Vulkan/01_HelloAPI/CMakeLists.txt:123 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

It seems the naming convention is with the Wayland spelled out correctly but the capitalization being incorrect on someone’s part. I cannot pick sides here nor will I now.

Seth

P.S. Should I do anything or is there a simple set up config. that can be done?

Hi silver2row,

Thanks for your questions.

Regarding using the BBB for video processing, the SGX530 GPU BBB was designed before OpenCL became a standard. Support for OpenCL was added recently, with examples on signal processing and matrix multiplication (see Fun with PowerVR and the BeagleBone Black: Low-Cost Development Made Easy - Imagination), however the performance is limited and you might need to use the classic rasterization pipeline to achieve performance for image / video processing.

Regarding the issues you had cross-compiling the SDK samples in WSL2, we havent’ tried that yet, we will for the next release. What Linux distro did you use?

Best regards,
Alejandro

1 Like

Hello,

@AlejandroC …Seth here. So, I got further trying to native compile the SDK from a .zip file on the BBB. But, an old error is returning on my BBB.

collect2: error: ld returned 1 exit status
gmake[2]: *** [examples/OpenGLES/PVRScopeExample/CMakeFiles/OpenGLESPVRScopeExample.dir/build.make:177: bin/OpenGLESPVRScopeExample] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:3738: examples/OpenGLES/PVRScopeExample/CMakeFiles/OpenGLESPVRScopeExample.dir/all] Error 2
gmake: *** [Makefile:149: all] Error 2

The error seems to be related to a call to a file that does not exist but when I make additions and add the file, I receive other errors like the one above along w/ many ld-gold errors that I did not list.

Seth

P.S. I use Debian for my Linux Distro on the BBB and WSL2 instance.

Hello,

@AlejandroC , hello.

So, it seems I am just going to use the ImgTec image from beagleboard.org. I have some of the examples working in /Native_SDK/framework/.

I am wondering a couple of things…

  1. Is it possible to use a SPI camera for accessing PVRCamera modules?
  2. Is it possible to use the already configured source for use w/ an example like this idea?

Also…I looked over the site you mentioned above. I am going to have to sit down and read a bunch.

If you could direct me in a general direction on this endeavor, that would be nice.

Seth

Hi silver2row,

Answering to your questions below:

1. Is it possible to use a SPI camera for accessing PVRCamera modules?
The PVRCamera module implements a device independent, “dummy” interface to access a camera device, layers for each platform are implemented in the OpenGLESIntroducingPVRCamera SDK demo.

2. Is it possible to use the already configured source for use w/ an example like this idea?
The OpenGLESIntroducingPVRCamera SDK demo uses JNI to access the camera device. We have not tested with such a configuration (we ususally test using the camera of Android smartphones), but as long as the SPI camera can be accessed through JNI, it should work.

Regarding advice about how to proceed, for basic video processing the OpenGLESIntroducingPVRCamera demo already gives you a good start: Allows to put the output of a camera in a texture in OpenGL ES you can post proccess and display.

Best regards,
Alejandro

1 Like