edgetpuvision (6-1) mendel-day; urgency=medium

  * Cut for day release.

 -- Coral <coral-support@google.com>  Mon, 07 Oct 2019 13:21:30 -0500

edgetpuvision (5-1) mendel-chef; urgency=medium

  * Honor bufferpool stride alignment when rendering overlays.

 -- Coral <coral-support@google.com>  Wed, 03 Apr 2019 17:08:25 -0700

edgetpuvision (4-1) mendel-chef; urgency=medium

  * Disable QoS for all pipelines that render to the display.
  * Bump the changelog version for Chef build #3.

 -- Coral <coral-support@google.com>  Tue, 02 Apr 2019 17:08:25 -0700

edgetpuvision (3-1) mendel-chef; urgency=medium

  * Disable QoS events in live camera pipeline.
  * Bump the changelog version for Chef build #2.

 -- Coral <coral-support@google.com>  Thu, 28 Mar 2019 17:08:25 -0700

edgetpuvision (2-1) mendel-chef; urgency=medium

  * Render full size overlays, draw with glvideomixer
  * Add visual separation between text lines.

 -- Coral <coral-support@google.com>  Tue, 19 Mar 2019 17:08:25 -0700

edgetpuvision (1.3-1) mendel-beaker; urgency=medium

  * Add --loop command line parameter for video.
  * Get rid of start/stop buttons in web UI.
  * Set window title to 'Coral'
  * Add parameter to disable SIGINT handling from run_pipeline().
  * Add env var to override index.html file location.
  * Set stdin back to blocking state on exit.
  * Set default streaming resolution to 640x480.
  * Fix missing dependencies.
  * Upload rendered overlays as textures and display with glimagesink.
  * Display model title in overlay.
  * Update classification overlay rendering.
  * Remove demo script from edgetpuvision.
  * Use monospace font to calculate label backround rects.
  * Add Coral logo, fonts, and initial css style.
  * Bug fix: use white color when labels file is not specified.
  * Move info to the bottom left corner on black background.
  * Add shadow to bounding boxes.
  * Add custom bbox color command line parameter.
  * Make server scripts functionally compatible with console ones.
  * Making pipeline code more reusable.
  * Use different colors for different detected objects.
  * Add convenient object representation for detection.
  * Add --bitrate command line param.
  * Simplify code that renders gstreamer pipelines.
  * Remove code redundancy and group some params together.
  * Get rid of explicit use of vpudec filter.
  * Add correct favicon and change web page title.
  * Support relative filenames and paths with spaces.
  * Add width and height values to generated SVGs.
  * Reuse inference code in streaming server.
  * Add headless gstreamer pipelines.
  * Add bounding box area filtering.
  * Move gstreamer pipelines into a separate file.
  * Fix problem with using JPEG images as a source.

 -- Coral <coral-support@google.com>  Fri, 22 Feb 2019 13:56:05 -0800

edgetpuvision (1.2-1) mendel-beaker; urgency=medium

  * Update command line examples and help strings.

 -- Coral <coral-support@google.com>  Mon, 28 Jan 2019 15:01:00 -0800

edgetpuvision (1.1-1) mendel-beaker; urgency=medium

  * Better gstreamer pipelines
  * Inference on image files
  * Streaming from .mp4 file
  * Streaming from any v4l2 source
  * Switching between .tflite models in runtime
  * tpudemo script
  * Simplified API based on python generators

 -- Coral <coral-support@google.com>  Thu, 24 Jan 2019 14:27:56 -0800

edgetpuvision (1.0-1) unstable; urgency=low

  * Initial release.

 -- Coral <coral-support@google.com>  Wed, 16 Jan 2019 21:25:55 +0000
