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
'boxed'.

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
  5. MANIFEST.in
  6. README.md
  7. setup.py
  8. stdeb.cfg
README.md

edgetpuvision

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

Build

python3 setup.py sdist python3 setup.py bdist python3 setup.py 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 setup.py --command-packages=stdeb.command debianize

To build debian pacakge run:

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