Add glbox plugin

This plugin draws input textures to output textures scaling with
maintained aspect ratio. That means that there will be black borders
around the resulting frame to make it fit, ie the input frame is

This is mainly useful for preparing input frames for inference. To
make that process even faster glbox can also render straight to an
RGB texture (not just RGBA). Thus with glbox one can do for example

src ! glupload ! glbox ! gldownload ! video/x-raw,format=RGB ! tpu

with a minimized number of GPU operations for maximum throughput.
Source frame (from e.g. camera) is uploaded an converted using
hardware shaders, then it's drawn once scaled with borders to a
RGB texture that's backed by a dmabuf, which can be used by the
CPU and TPU directly.

This replaces all CPU based processing and can therefor support
higher resolutions at maintained speeds.

Change-Id: I8d0dc892db6c81a18b923609224297f0777b2288
3 files changed
tree: 2af374c338b8c87862734e6a823e573b9724be57
  1. debian/
  2. edgetpuvision/
  3. plugins/
  4. .gitignore
  8. stdeb.cfg


Python API to run inference on image data coming from the camera.


python3 sdist python3 bdist python3 sdist_wheel

Debian pacakge

Install stdeb package by running apt-get install python3-stdeb or pip3 install stdeb. Then to generate debian folder run:

python3 --command-packages=stdeb.command debianize

To build debian pacakge run:

dpkg-buildpackage -b -rfakeroot -us -uc -tc