Disable QoS for all pipelines that render to display.

Previously only disabled for live camera pipeline to address v4l2
timestamp jitter. Also needed for other pipelines if inference is
slow, such as with CPU bound models
(e.g. inception_v2_224_quant.tflite). Rationale:

* video sink by default generates QoS events with the timestamp of the
  last rendered frame, each frame.
* these events are sent upsream
* glvideomixer generates one output from two inputs using its own clock
* glvideomixer passes through QoS events unfiltered
* when QoS events reach the overlay branch basetransform sees that down-
  stream has already rendered frames with timestamps one second in the
  future
* basetransform drops overlay frames as they're so late that they're
  likely gonna be dropped downstream anyway.
* the dropped anyway part isn't true for glvideomixer as it combines
  multiple inputs to one output with a different time base.
* glvideomixer filters QoS events in later GStreamer versions.

Disabling QoS is fine as long as we know that video sink (glimagesink)
can process incoming frames >= rate than downsteram produces them.
The mechanism exists for downstream to throttle data production if
the sink can't keep up. In our supported use cases, 1080p max, this
isn't an issue. Worst case a video that should be played at say 60 fps
will be played at a lower rate, say 54 fps.

Tested:
Live camera and video playback with slow and fast models

edgetpu_classify --model inception_v2_224_quant.tflite --source video_device.mp4
edgetpu_classify --model inception_v2_224_quant_edgetpu.tflite --source video_device.mp4

edgetpu_classify --model inception_v2_224_quant.tflite
edgetpu_classify --model inception_v2_224_quant_edgetpu.tflite

Change-Id: Icc339168de144727f2fcf6340820a22705600273
(cherry picked from commit 54e307385b20e881df7b621ddd147d3a20ae36b3)
1 file changed
tree: 11c76331842c0539df8cc4cc799aeda193f75d1a
  1. debian/
  2. edgetpuvision/
  3. .gitignore
  4. MANIFEST.in
  5. README.md
  6. setup.py
  7. 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