)]}'
{
  "log": [
    {
      "commit": "586f6d96853609195c9b704f185e2012f58e70d2",
      "tree": "e5d508ad4ef9c280efa8ce320e9cd2d517a0a68e",
      "parents": [
        "5c7a0119c5f9379368dfdd7a2828547338d01b32"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Dec 08 14:19:25 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Dec 08 14:19:25 2020 -0800"
      },
      "message": "Work around slow decoder/converter issues\n\nSince our VPU can\u0027t decode to a format anything MDP can understand\ndecoding a frame consists of 2 steps, decode and convert. Performing\nboth operations in the same thread context serializes operations,\nnothing is decoded while something is converted and vice versa.\nAdd a queue to decouple thread context and allow both steps to\nexecute concurrently.\n\nFixes some errors of the kind\n\"There may be a timestamping problem, or this computer is too slow.\"\n\nChange-Id: I95b6eb92d36a4b402c82ae0ca5dbb537aeaf760c\n"
    },
    {
      "commit": "5c7a0119c5f9379368dfdd7a2828547338d01b32",
      "tree": "04bfcd4a3aed8000a579d4a3133bc6e5c59a0dd6",
      "parents": [
        "de4f55dabcaa0bb2eea7f96c27e0e4ce9bff7470"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Dec 03 14:42:10 2020 -0800"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Dec 03 14:42:10 2020 -0800"
      },
      "message": "Update package version\n\nChange-Id: I8682fcc1a87e85d7921df3608bb5da8adf4cae38\n"
    },
    {
      "commit": "de4f55dabcaa0bb2eea7f96c27e0e4ce9bff7470",
      "tree": "b2ce0d107b5a93734e5f317aa83ed7177ff72d04",
      "parents": [
        "fc0ac489fe77062462604e4c2d6a59264a61a083"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Dec 03 09:16:45 2020 -0800"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Dec 03 10:32:18 2020 -0800"
      },
      "message": "Explicitly set video streaming pipe v4l2convert src caps\n\nExplicitly set the cap based on the render_size specified in the layout\nso we don\u0027t have free scaling elements connected in the pipeline,\ncausing the change of the frame aspect ratio.\n\nChange-Id: I67a6c8bd557384c821aeed8b274a6b03a2f38530\n"
    },
    {
      "commit": "fc0ac489fe77062462604e4c2d6a59264a61a083",
      "tree": "ebf032b490861f3a2f9c91618e5ba1f9dbd99160",
      "parents": [
        "4092f6acb3850b163e787e616201b7c8e66fc1b5"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Dec 02 19:56:35 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Dec 02 19:56:35 2020 -0800"
      },
      "message": "Fix streaming pipelines\n\nChange-Id: I05e96a97aab1f99482df6d4017dc94e67c42605e\n"
    },
    {
      "commit": "4092f6acb3850b163e787e616201b7c8e66fc1b5",
      "tree": "8c65ce468e54828fa76adb227b03ad3176f4a1bd",
      "parents": [
        "b5fafbce74794fdd4262069cbd31684572c6bbc2"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Dec 02 19:37:23 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Dec 02 19:37:23 2020 -0800"
      },
      "message": "Revert back to actual source frame resolution\n\nChange-Id: Ia4e3751207a48f641ef1fd75d4fcd3b48382d85d\n"
    },
    {
      "commit": "b5fafbce74794fdd4262069cbd31684572c6bbc2",
      "tree": "d41bd613cc73e17ce975a43f4da9d7aea5852c60",
      "parents": [
        "680ac4c533b0b1f35bdc2ab35f7c9803be2b224b"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Dec 02 18:39:21 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Dec 02 18:39:21 2020 -0800"
      },
      "message": "Fix still image pipelines\n\nChange-Id: Ifcb50f3e19eaffa727851a83b5a447751a95f5eb\n"
    },
    {
      "commit": "680ac4c533b0b1f35bdc2ab35f7c9803be2b224b",
      "tree": "15bc5261526bc7e8c0a51072e20e432871d9c1e7",
      "parents": [
        "a21ec2deff77704312094343d4457030902910a8"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Dec 02 18:00:38 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Dec 02 18:00:38 2020 -0800"
      },
      "message": "Make glimagesink fullscreen again\n\nChange-Id: Ib53d4a0b0fa8f6b90aabbfd8527655cb8cf6a4ad\n"
    },
    {
      "commit": "a21ec2deff77704312094343d4457030902910a8",
      "tree": "961a25d25005483a16b082562b60446047fb7d3e",
      "parents": [
        "5e36967177babd8ecb179405cf0b4a4b17b4756d"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Nov 17 21:48:32 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Nov 17 21:48:32 2020 -0800"
      },
      "message": "Update debian/rules for ION allocator\n\nChange-Id: I0fff88ce4af802f314b94b346fb4085bef5ac715\n"
    },
    {
      "commit": "5e36967177babd8ecb179405cf0b4a4b17b4756d",
      "tree": "0fe409d1a4f8ef25c753dcb3d3e6a29fe23bae6f",
      "parents": [
        "2d9a07b1b484934657b6fb291d1c9123802d613e"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Mon Nov 16 17:52:14 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Mon Nov 16 18:16:06 2020 -0800"
      },
      "message": "Run glTexImage2D in a separate context\n\nglTexImage2D is a slow operation that blocks the GL thread, offload\nit to a separate context in the same share group so it is done in\na separate thread.\n\nChange-Id: I6922d293bbe4763e066a13a00f938de3b803dab2\n"
    },
    {
      "commit": "2d9a07b1b484934657b6fb291d1c9123802d613e",
      "tree": "b91f5b8a306cd56a6ccce45d996f5ed2ff1bedbc",
      "parents": [
        "18387428a7fefb1baca478b328ad25ef47791331"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Mon Nov 16 17:28:20 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Mon Nov 16 17:28:20 2020 -0800"
      },
      "message": "Draw overlays to dma-bufs imported as EGLImage textures if supported\n\nThis significantly reduces texture upload times (typically \u003c 1 ms).\n\nChange-Id: I4ea6c8a5d2d5baae8d85dbd0905dc2ee57b57e48\n"
    },
    {
      "commit": "18387428a7fefb1baca478b328ad25ef47791331",
      "tree": "70678962586a198a295f40e5fc5ce1cbf5fc1e52",
      "parents": [
        "e275aa88b13bcdd19ff247aa39f9c3cd49408505"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Mon Nov 16 17:26:57 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Mon Nov 16 17:26:57 2020 -0800"
      },
      "message": "Add ION allocator\n\nAdd a GstAllocator based on /dev/ion to allocate dma-bufs.\n\nChange-Id: I18cf4ef0204e2de856a84e39f6abfef3e49314b2\n"
    },
    {
      "commit": "e275aa88b13bcdd19ff247aa39f9c3cd49408505",
      "tree": "1351a6a95ea909de402755f9a05d39d473519ca6",
      "parents": [
        "5a3bc6a5573c6f3ee3d2ebf8d5780759a7050b58"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Tue Nov 10 17:17:42 2020 -0800"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Tue Nov 10 19:18:54 2020 -0800"
      },
      "message": "Use python3-pycoral instead of python3-edgetpu\n\nCherry pick changes in Enterprise edgetpuvision package.\n* Compatible with Frogfish release\n* Update dependency in setup.py\n\nChange-Id: I47b60d2c8e056037c5c3150b053aa9dd0e879fbd\n"
    },
    {
      "commit": "5a3bc6a5573c6f3ee3d2ebf8d5780759a7050b58",
      "tree": "40b2f7cd2709fec1c1065d1872df6ea1eae4a0fe",
      "parents": [
        "78e38c6f0b7c5d7a997d981fffeaa2847c8f894b"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Fri Nov 06 16:32:18 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Fri Nov 06 16:37:07 2020 -0800"
      },
      "message": "Enable glsvgoverlay for video file and camera source pipelines\n\nOther pipelines are untested.\n\nChange-Id: Ib9656e24939ffa30f994c77a4e1959e409410a16\n"
    },
    {
      "commit": "78e38c6f0b7c5d7a997d981fffeaa2847c8f894b",
      "tree": "5abee9cea671a437b929b53f7a712a74a4957806",
      "parents": [
        "0497355e3c5409137a591d59211e4b48cca99cef"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Fri Nov 06 16:25:06 2020 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Fri Nov 06 16:36:50 2020 -0800"
      },
      "message": "Add generic glsvgoverlay element\n\nglsvgoverlay is similar to the old glsvgoverlaysink but is a\nfilter instead of a sink. That means that the overlays are\nrendered on the frame and passed downstream instead of overlays\nbeing drawn on top of the frame in the sink. This enables passing\nthe output to e.g. a video encoder and not just HDMI.\n\nTwo modes are supported set by the bool property \u0027sync\u0027. When\ntrue the element will require a SVG overlay with the same PTS\n(presentation timestamp) as the frame; no incoming video frame\nwill be rendered without the corresponding overlay. The sync\nproperty set to false means the element will draw the last\navailable SVG overlay over a frame, which allows for higher\nthroughput and potentially visual fidelity at the expense of the\noccasional de-synced overlay and video frame.\n\nBug: 161188385\nChange-Id: Ice1047a0ebb1a3ae9f12f178e19a0cc9f22d1720\n"
    },
    {
      "commit": "0497355e3c5409137a591d59211e4b48cca99cef",
      "tree": "f4d4d1d111af5182c1fe09294e7fec9486e9f5b5",
      "parents": [
        "ea60ea465095736882c4e0750e1a650435e561df"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Oct 29 22:01:06 2020 -0700"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Fri Oct 30 00:37:30 2020 -0700"
      },
      "message": "Use v4l2convert to connect decodebin\n\nUse v4l2convert to invoke mdp for HW video decoder format conversion.\n * Remove the branching of video source and image source\n * Remove the extra videoconvert before the displaysink\n * Remove the branching workaround in video_headless_pipeline\n\nThis will also eliminate the gstreamer error messages caused by the\nmtkmdp element.\n\nBug: b/151393184, b/164147474\n\nChange-Id: Icb1961161cf01d5236b5d688d1de39d5f61ecad2\n"
    },
    {
      "commit": "ea60ea465095736882c4e0750e1a650435e561df",
      "tree": "eda3e8ebad461a07305053829693a52ef10bb350",
      "parents": [
        "bef4716afe5a9707771e062f16e6f739606ce181"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Oct 29 16:50:40 2020 -0700"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Oct 29 16:53:05 2020 -0700"
      },
      "message": "Fix v4l2src io-mode\n\nWith glbox fixed, v4l2src doesn\u0027t require to be run with userptr mode.\n\nChange-Id: Ie191e4091d7ad576aad41694f6cf9443624032ca\n"
    },
    {
      "commit": "bef4716afe5a9707771e062f16e6f739606ce181",
      "tree": "dc61a242f7aef0e9a81fa4c9d0d237a00d760962",
      "parents": [
        "f062568ce6a88e64cdca16ec71633c38554530a5"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Thu Oct 29 13:54:33 2020 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Thu Oct 29 15:45:36 2020 -0700"
      },
      "message": "Switch to native glbox implementation\n\nNot loading Python\n- lower memory footprint for native apps\n- faster process loads\n\nOn Excelsior pyopengl also have compatibility issues, this\neffectively works around those.\n\nBug: 168133392\nChange-Id: I6d6f8d94a4a6ca06f06c03f7b5462f595ddbb182\n"
    },
    {
      "commit": "f062568ce6a88e64cdca16ec71633c38554530a5",
      "tree": "699d16c53d6d9bd236a614995be2be12024eb004",
      "parents": [
        "4fbcc9245ab50b4725f11a1c0155e40b12c7b84f"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Jul 15 09:44:41 2020 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Thu Oct 29 15:12:14 2020 -0700"
      },
      "message": "Fix compatibility with new python3-opengl\n\nAlso move the Python plugins to a \u0027python\u0027 subdir to make\nlocal development and testing easier. With this change one\ncan put this repo on the device and run things like this\nto use the uninstalled plugins from the local repo.\n\nmendel@jumbo-jet:~/edgetpuvision$ GST_PLUGIN_PATH\u003d. python3 -m edgetpuvision.detect_server [...]\n\nBug: 161288651\nChange-Id: Ia5135e62a914cf68f7347344b72952ec25764590\n"
    },
    {
      "commit": "4fbcc9245ab50b4725f11a1c0155e40b12c7b84f",
      "tree": "ea454b85604e4bed40ec947b8b8622627c2c9c15",
      "parents": [
        "245478577efca46ae98c4e8efedc15ba83829550"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Mon Oct 26 10:57:59 2020 -0700"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Mon Oct 26 10:57:59 2020 -0700"
      },
      "message": "Fix video headless pipeline\n\nWith mtkmdp element, the headless pipeline would stall if mtkmdp\nconnects directly to glbox. Add a workaround to fix the headless\npipeline until v4l2convert is enabled.\n\nChange-Id: I788a8cf9bdf3a192561292e1b911e162241de69a\n"
    },
    {
      "commit": "245478577efca46ae98c4e8efedc15ba83829550",
      "tree": "83271d8f2fbf2e40b5b5f7e02cb47e1aa38d215a",
      "parents": [
        "19e564a397fdf183df0204b07f1ff7ada6b1d570"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Sep 17 19:57:09 2020 -0700"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Sep 17 20:06:20 2020 -0700"
      },
      "message": "Add mipi camera pipeline support\n\nSpecify io-mode to be userptr until dmabuf in v4l2src -\u003e glupload is\nfixed. The reflash frame rate is 15-17fps @ 720p.\n\nChange-Id: Idadcbae1e4a6359cd4bb5640cd4a2fc4aa6d89f3\n"
    },
    {
      "commit": "19e564a397fdf183df0204b07f1ff7ada6b1d570",
      "tree": "e8716397cb809cb150228f75ee904edec4d7d3c3",
      "parents": [
        "4c80bdee913b8c6bd0760b94ee6cbdb7a165b1b2"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Fri Aug 21 16:51:17 2020 -0700"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Fri Aug 21 16:51:17 2020 -0700"
      },
      "message": "Add waylandsink fullscreen support\n\nWith /etc/xdg/weston/weston.ini set the display mode to 720p, we need to\nenable the fullscreen support so the display will not get cut off\n\nTested: edgetpu_{detect, classify, demo}\nChange-Id: I06e434369ce9076902e71c009a25484d0532e333\n"
    },
    {
      "commit": "4c80bdee913b8c6bd0760b94ee6cbdb7a165b1b2",
      "tree": "5ebf8afb28666e05d5dda890d3fac8251d0e51a4",
      "parents": [
        "2e85f71c73e5e5e53a7e19c306f35f35b1220ec5"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Mon Jul 27 22:41:50 2020 -0700"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Tue Jul 28 11:05:22 2020 -0700"
      },
      "message": "Enable mp4 input in video pipeline\n\n- Enable HW video decoder for video file src\n- Adjust the render_size scaling mechanism\n- Take care of stride in the inference frame\n  (glbox generates stride as multiples of 4)\n\nCurrently we need to pass the decoded stream through mtkmdp, and\nthis plugin has many bugs (not supporting GL, format error to\nrsvgoverlay,etc.). The POR is to use v4l2convert instead.\n\nBug: 151393184\nTested: edgetpu_demo --device\nTested: edgetpu_detect (with webcam)\nTested: edgetpu_classify (with image)\nChange-Id: Ic448069c1a950e077a4ff62ba84aedffebbc9c31\n"
    },
    {
      "commit": "2e85f71c73e5e5e53a7e19c306f35f35b1220ec5",
      "tree": "9ffd66ed6f6a7ba0bc8c1fac28e0435ddfde2228",
      "parents": [
        "ca709e7dcd9fe852539ecbae79343b89402981ae"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Tue Jul 14 10:32:01 2020 -0700"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Thu Jul 16 13:16:30 2020 -0700"
      },
      "message": "Enable gl plugins\n\nEnable gl plugin {glbox, glsvgoverlay*} elements. Sync the\nimplementation to the coral/pacakges/edgetpuvision repo.\n\nglsvgoverlay* element failed on the IS_DMABUF check (b/161188385)\nglbox works and is used in the pipeline for scaling and colorconversion\n\nUpdate the detection bbox drawing to match the glbox behavior\n\nChange-Id: I2f4036c052f887e1626f33cdadca57cee594a9c1\n"
    },
    {
      "commit": "ca709e7dcd9fe852539ecbae79343b89402981ae",
      "tree": "5690771c01451ec7dade24e84463b77d8b8ab990",
      "parents": [
        "9aad7d96229f05cf792211c524faddb575ec773d"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Mon Jun 08 16:37:58 2020 -0700"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Mon Jun 08 18:01:23 2020 -0700"
      },
      "message": "Enable OOBE edgetpuvision APIs with 4.19 kernel\n\nUse USB webcam, raw video, or picture file as the input.\nWill remove WAR after MIPI camera and vcodec are enabled.\n\nStream mode is not supported since we don\u0027t have the vcodec.\n\nAdd mdpd and gstreamer1.0-gl as the dependency to use v4l2convert and\nglcolorscale\n\nTest:\nedgetpu_detect --source\u003dgrace_hopper.bmp\n--model\u003d/usr/share/edgetpudemo/mobilenet_ssd_v1_coco_quant_postprocess_edgetpu.tflite\n--label\u003d/usr/share/edgetpudemo/coco_labels.txt --top_k\u003d2\n\nTest:\nedgetpu_classify --source\u003dbird.bmp\n--model\u003dmobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite\n--label\u003dinat_bird_labels.txt\n\nTest:\nedgetpu_detect\n--model\u003dmobilenet_ssd_v2_face_quant_postprocess_edgetpu.tflite\n\nTest:\nedgetpu_demo --device\n\nChange-Id: Icfca5776e406e3c43b0b5f7a934c6c8f43626354\n"
    },
    {
      "commit": "9aad7d96229f05cf792211c524faddb575ec773d",
      "tree": "8fd14634e230d31386f03d0eff07fc2a746575ea",
      "parents": [
        "a871046d709b67554e15e97c24a8e87d994c5bed"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Tue Dec 10 15:56:12 2019 -0800"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Tue Dec 10 18:04:43 2019 -0800"
      },
      "message": "Use MDP for scaling and color space conversion\n\nUse two MDP instances for scaling and color space conversion, one for display\nand one for ML\n\nRefactor the input tensor generation to support grayscale model\n\nTested: edgetpu_detect with RGB and Gray FSSD models\n\nChange-Id: I30d5051bd5227a756762590aca444c31b999127c\n"
    },
    {
      "commit": "a871046d709b67554e15e97c24a8e87d994c5bed",
      "tree": "d35ca833d2cac8054d2082d6907b7024d27545a0",
      "parents": [
        "432dd7196024358cd704932803b11f56827264e3"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Tue Nov 12 12:35:28 2019 -0800"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Tue Nov 12 12:35:28 2019 -0800"
      },
      "message": "Enable python-edgetpuvision camera pipeline support\n\nTest: edgetpu_detect --model\u003d/home/mendel/mobilenet_ssd_v2_face_quant_postprocess_edgetpu.tflite\n\nResult at https://drive.google.com/file/d/11f7n5_mDwZXi5R21NcCrmwk8IKDTXyg2\n\nChange-Id: Ie2173103b64357e5a554f3599bb56ae11eff18c1\n"
    },
    {
      "commit": "432dd7196024358cd704932803b11f56827264e3",
      "tree": "2c1eeeb12fce1b2d7bae586de9dc7aaaf3a8fdbb",
      "parents": [
        "5e6a7a8db745270e82dc0ff48dce2549a6d6088c"
      ],
      "author": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Fri Nov 08 17:20:36 2019 -0800"
      },
      "committer": {
        "name": "Cindy Liu",
        "email": "hcindyl@google.com",
        "time": "Fri Nov 08 18:12:09 2019 -0800"
      },
      "message": "Enable edgetpudemo on Excelsior\n\nGL path doesn\u0027t work on MT8167. :( Need to reconstruct the pipeline to\navoid using GPU at all until the issue is fixed.\n\nThe first CL will only work with video file input. Need to fix other\nsources in later CLs.\n\nFor some reason, the pipeline will not exit elegantly or support\nlooping. The use may need to run \"reset\" on terminal to clear the\nconsole.\n\nTest: edgetpu_demo --device on Excelsior\n\nChange-Id: I77e49d01f4716117398c72c89a2df04ba150f4aa\n"
    },
    {
      "commit": "5e6a7a8db745270e82dc0ff48dce2549a6d6088c",
      "tree": "1f12af9544e6a16bc7c9f5f5cdf6f6e537771f95",
      "parents": [
        "b8e20b4fc1b142de76038041e78385e510524adb",
        "ee8fe33b336de2b81928bb8e69e869d21e7822b6"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Oct 08 22:43:41 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 22:43:41 2019 +0000"
      },
      "message": "Merge \"Fix compatibility with glfilterbin, glvideoflip\""
    },
    {
      "commit": "ee8fe33b336de2b81928bb8e69e869d21e7822b6",
      "tree": "25034554eeae4058d8ca621a84960403d4b43b96",
      "parents": [
        "75db0cb35828adca3612f1900f71b1bcf0a449c5"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Oct 08 15:28:04 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Oct 08 15:28:04 2019 -0700"
      },
      "message": "Fix compatibility with glfilterbin, glvideoflip\n\nglfilterbin is the standard way of using OpenGL filters, let\u0027s stick\nto the standard. This also solves an incompatibility with glvideoflip\nwhere output box was incorrectly drawn when glvideoflip rotated the\nbuffer upstream.\n\nChange-Id: I012efa7519b1d6949c7064b8039830221e1d9021\n"
    },
    {
      "commit": "b8e20b4fc1b142de76038041e78385e510524adb",
      "tree": "38d637880ebce5e7aaadd131260346bd5ccf1b52",
      "parents": [
        "9f92c438d955f55af7c4422a2f0df7aada6d49d6",
        "75db0cb35828adca3612f1900f71b1bcf0a449c5"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Oct 08 22:27:46 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 22:27:46 2019 +0000"
      },
      "message": "Merge \"Fix compatibility with glvideoflip\""
    },
    {
      "commit": "75db0cb35828adca3612f1900f71b1bcf0a449c5",
      "tree": "49edb018d5c76d075c573fc1d54114be2e4186da",
      "parents": [
        "a7e25299305c511a4d202fe83b548f65adbf5eb7"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Oct 08 11:21:21 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Oct 08 11:22:58 2019 -0700"
      },
      "message": "Fix compatibility with glvideoflip\n\nglsvgoverlaysink doesn\u0027t yet support affine transformations (there\u0027s a TODO).\nBut since the wrapped glimagesink advertises support via the ALLOCATION\nquery upstream elements such as glvideoflip doesn\u0027t actually flip buffers,\ninstead it just sets an affine transformation meta matrix that gets ignored.\n\nTo be able to support hflip and vflip as required by some demos, remove the\nadvertised support from ALLOCATION query so it matches this sink\u0027s actual\ncapabilities, and support basic flipping via fixed matrices.\n\nMatrices and vertex shaders are the same ones that glimagesink uses,\nand values for \u0027rotate-method\u0027 is part of GStreamer\u0027s stable API.\n\nChange-Id: If1b62e3dc3a093e20ca6fd6b382589c3f192adcc\n"
    },
    {
      "commit": "9f92c438d955f55af7c4422a2f0df7aada6d49d6",
      "tree": "4b394ad34c58fc7aa85cbc3e4c2456dcfcd3797f",
      "parents": [
        "ef79c820b561a6ad2849baf66a55fd5c73989622"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Oct 07 14:47:26 2019 -0700"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Oct 07 14:48:23 2019 -0700"
      },
      "message": "Add LICENSE file\n\nChange-Id: I456dbc8395eab63348e0e33ee9e719d09b135aee\n"
    },
    {
      "commit": "ef79c820b561a6ad2849baf66a55fd5c73989622",
      "tree": "c7ffc035f5bfb7472d34b4ce33ccce4723ddaf00",
      "parents": [
        "a7e25299305c511a4d202fe83b548f65adbf5eb7"
      ],
      "author": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Mon Oct 07 13:53:09 2019 -0500"
      },
      "committer": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Mon Oct 07 13:59:25 2019 -0500"
      },
      "message": "day: Cut for the Day release\n\nChange-Id: Ia2b33c9d533ff38ca0418840df9d18b23c4a0882\n"
    },
    {
      "commit": "a7e25299305c511a4d202fe83b548f65adbf5eb7",
      "tree": "b5271eb0f6afaad1dd24ee764f475793a13487bf",
      "parents": [
        "e3ffb59898e2a480b433b53457cb8b85ae229aac"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Oct 02 17:12:56 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Oct 02 17:12:56 2019 -0700"
      },
      "message": "Account for one extra letter in size_em.\n\nFixes black background bars beeing too small in current demos.\n\nChange-Id: I8301933373726a22bf255fce3d0a049c9dbaab81\n"
    },
    {
      "commit": "e3ffb59898e2a480b433b53457cb8b85ae229aac",
      "tree": "b9483a339f8b15e20223d49ba81c82d15ce2b758",
      "parents": [
        "5d20e71220096e281a75536bcd0e754f434110c9"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Fri Sep 27 16:08:23 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Oct 02 16:46:38 2019 -0700"
      },
      "message": "Add and use custom plugin glsvgoverlaysink\n\nThis sink is purposedly written for the use cases at hand;\nrendering SVG data on top of an OpenGL texture. It has multiple\nbenefits over off the shelf solutions:\n\n* Draws SVG data with cairo straght into dmabuf backed textures\n without the need to re-upload every frame.\n* Draws overlay on top of frame at the end of the pipeline instead\n  of as a separate step upstream. This saves one full screen draw\n  with blending.\n* Is re-usable by any application using GStreamer (incl. gst-launch).\n\nThis sink together with optimizations on the GStreamer level runs\nall existing 1080p demos at 30 fps without dropping a frame,\nincluding rendering the overlays at 30 fps (up from ~12).\n\nChange-Id: I62b3f7bf9fa838491be6ad1d891adb2075c00766\n"
    },
    {
      "commit": "5d20e71220096e281a75536bcd0e754f434110c9",
      "tree": "2af374c338b8c87862734e6a823e573b9724be57",
      "parents": [
        "ce6622438e8ad72d1107592e77feddac317662f7"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 17:09:51 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Oct 02 16:46:12 2019 -0700"
      },
      "message": "Add glbox plugin\n\nThis plugin draws input textures to output textures scaling with\nmaintained aspect ratio. That means that there will be black borders\naround the resulting frame to make it fit, ie the input frame is\n\u0027boxed\u0027.\n\nThis is mainly useful for preparing input frames for inference. To\nmake that process even faster glbox can also render straight to an\nRGB texture (not just RGBA). Thus with glbox one can do for example\n\nsrc ! glupload ! glbox ! gldownload ! video/x-raw,format\u003dRGB ! tpu\n\nwith a minimized number of GPU operations for maximum throughput.\nSource frame (from e.g. camera) is uploaded an converted using\nhardware shaders, then it\u0027s drawn once scaled with borders to a\nRGB texture that\u0027s backed by a dmabuf, which can be used by the\nCPU and TPU directly.\n\nThis replaces all CPU based processing and can therefor support\nhigher resolutions at maintained speeds.\n\nChange-Id: I8d0dc892db6c81a18b923609224297f0777b2288\n"
    },
    {
      "commit": "ce6622438e8ad72d1107592e77feddac317662f7",
      "tree": "b057ffcd6502b13f88c1d34dd32250a60c003dc9",
      "parents": [
        "a7bdcdc6ff66bfbb5b7b4f40ab052cb662794942"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 16:06:13 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Oct 02 15:20:52 2019 -0700"
      },
      "message": "Package overlaysrc as a standalone plugin\n\nThis packages overlaysrc as a standard reusable plugin that any user\napplication can build upon.\n\nChange-Id: I8146dee55c733b9e4cfc9cafd768cff170214bf9\n"
    },
    {
      "commit": "a7bdcdc6ff66bfbb5b7b4f40ab052cb662794942",
      "tree": "41ae00f74416c33422b99e78ffed4e135b8d8f3c",
      "parents": [
        "f3f6f03bb341b79288f2830a3fceec7c951ff1fe"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Fri Sep 27 17:01:07 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Oct 01 13:07:57 2019 -0700"
      },
      "message": "Use classify_with_input_tensor instead of ClassifyWithInputTensor\n\nClassifyWithInputTensor is deprecated and prints a warning every inference.\n\nChange-Id: Ibf6b8cba1ceb9592a4716a0d892ce511238e939a\n"
    },
    {
      "commit": "f3f6f03bb341b79288f2830a3fceec7c951ff1fe",
      "tree": "cbd290c4fd00d310a10d4fd70d3b3a988e8949ba",
      "parents": [
        "d409f82d2808f35d39aa0117211cfc9e785337da"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Fri Sep 27 16:26:28 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Oct 01 13:06:56 2019 -0700"
      },
      "message": "Fix PNG image inference\n\nPNG images don\u0027t get caps set by GstPbutils.Discoverer so they can\u0027t\nbe used. Instead use the get_width() and get_height() APIs.\n\nChange-Id: I18948c2e1ed9eaf890939933dc90c97cd9eb87e1\n"
    },
    {
      "commit": "d409f82d2808f35d39aa0117211cfc9e785337da",
      "tree": "3fad0b562f02f26289377430f1dcff80d5119c2b",
      "parents": [
        "417ae3ca3fd9c9e60b8132a7d0150b390ea5d4f3"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 13:28:10 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 13:29:44 2019 -0700"
      },
      "message": "Remove GTK on Wayland workaround\n\nInstead update our GTK window as intended.\n\nChange-Id: I9b2cba11591ecdf7e0ceef49da1f841f55b71f92\n"
    },
    {
      "commit": "417ae3ca3fd9c9e60b8132a7d0150b390ea5d4f3",
      "tree": "fd34c5df8bf8d6a8a2fb7a4992528abd260dd2dd",
      "parents": [
        "fe26cdb71531c3540d589ec1ceb5c45d85db8d72"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 13:01:11 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 13:07:02 2019 -0700"
      },
      "message": "Ensure appsink branch uses same OpenGL display as the rendering branch.\n\nIf not they\u0027re gonna be using different GL contexts which causes problems\nsince they need to share the same textures (and contexts aren\u0027t created\nas shared). One symptom is the inference frames being all zeroes (black).\n\nChange-Id: I010cf518086b9a5ae97202a62ccb1aea04735355\n"
    },
    {
      "commit": "fe26cdb71531c3540d589ec1ceb5c45d85db8d72",
      "tree": "e0b9c31af6a0fe1f26434daeb13fc3252e9d7250",
      "parents": [
        "046890c7b471d3f9e16a42e41837c04b24d9e9b7"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 12:04:53 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 13:06:47 2019 -0700"
      },
      "message": "Remove GstBuffer refcount workaround\n\nBindings for GStreamer 1.14 have finally fixed the underlying issue.\n\nChange-Id: I0f367e230ddbe9f3ba7c8a0e0df248d0b609cb93\n"
    },
    {
      "commit": "046890c7b471d3f9e16a42e41837c04b24d9e9b7",
      "tree": "b5fef59f0c543b8ef420f13156f1e3dfa17a39a2",
      "parents": [
        "dc681f2291692208a977d83e79f42c37b9554320"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Thu Aug 15 11:08:09 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 13:06:47 2019 -0700"
      },
      "message": "Drop RECONFIGURE events from glimagesink\n\nThese are sent every time our GTK window is resized. The window is always\n1024x768 on creation (hard coded in GStreamer). In windowed mode we then\nresize it to match the input. In full screen mode further intermediate\nsizes are set by the window manager until it\u0027s actually full screen.\n\nEach resize sends a RECONFIGURE which forces reallocation of most\nION backed buffers. Since some are in flight we can run out of CMA\nmemory during the process for higher resolution frames.\n\nThis wasn\u0027t an issue in older GStreamer because the glmixer in\nplugins-bad ate the events. glmixer in plugins-base is more clever and\ncan forward the events properly but this isn\u0027t needed in our use case.\nWe always use the same source resolution in the pipeline regardless of\nsink size, and rely on the sink for scaling.\n\nThe RECONFIGURE can thus safely be dropped to avoid OOM.\n\nChange-Id: I5dd8f8849d27e085e338e7219fc51963095e82f7\n"
    },
    {
      "commit": "dc681f2291692208a977d83e79f42c37b9554320",
      "tree": "c8dbc4f583b1d394649e82cdb57e130970d60617",
      "parents": [
        "46802fab173739ff803ffb0a958ddbba30d16c05"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Thu Aug 15 11:06:21 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 13:06:47 2019 -0700"
      },
      "message": "Call detect_with_input_tensor instead of DetectWithInputTensor\n\nDetectWithInputTensor is deprecated and generates a warning each inference.\n\nChange-Id: I1dc0d85a4428912e99033ec0a76612073bde3a5b\n"
    },
    {
      "commit": "46802fab173739ff803ffb0a958ddbba30d16c05",
      "tree": "8261109491671dec6acdec1ac9d8efca075cf19b",
      "parents": [
        "d80802f3b1f07d77d292e104c99fec7f3d59cf23"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Jun 25 15:47:54 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Sep 25 13:06:38 2019 -0700"
      },
      "message": "Add gstreamer1.0-gl as dependency\n\nChange-Id: If6b1d227af84510ce96f828b81349448c1d493a4\n"
    },
    {
      "commit": "d80802f3b1f07d77d292e104c99fec7f3d59cf23",
      "tree": "7f0f73966c18f442998f490d876f2b63dd97bb08",
      "parents": [
        "f667506e7e32fc02e83d16cfea4fd3261573f52d"
      ],
      "author": {
        "name": "Henry Herman",
        "email": "henryherman@google.com",
        "time": "Fri Aug 09 00:23:03 2019 -0700"
      },
      "committer": {
        "name": "Henry Herman",
        "email": "henryherman@google.com",
        "time": "Fri Aug 09 00:23:03 2019 -0700"
      },
      "message": "Set imx-gst1.0-plugin as recommends so installable on non IMX platforms.\n\nChange-Id: I61391c16c375a943d40fa2e3518571da98699842\n"
    },
    {
      "commit": "f667506e7e32fc02e83d16cfea4fd3261573f52d",
      "tree": "de8ccb2e2dc6c555452df8a41b179183c7b68dd8",
      "parents": [
        "fd339d4c7efcbe31fcac4c1ab76404596b211b6e"
      ],
      "author": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Fri Apr 05 13:38:50 2019 -0700"
      },
      "committer": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Fri Apr 05 13:58:44 2019 -0700"
      },
      "message": "Lintian cleanups\n\nChange-Id: I10f00a46be51bf85d4a7917b114a5a577aa105b5\n"
    },
    {
      "commit": "fd339d4c7efcbe31fcac4c1ab76404596b211b6e",
      "tree": "138cc2b491c1e220fc35f37466eb34df05111195",
      "parents": [
        "19f60263efa4c0136d1cd4d0fac5a7e1b6805cbc"
      ],
      "author": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Wed Apr 03 14:55:00 2019 -0700"
      },
      "committer": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Wed Apr 03 14:55:45 2019 -0700"
      },
      "message": "changelog: Bump changelog for Chef #3.\n\nChange-Id: I8b3c3371bd92bee7579f11ab90c6f20123acf2f8\n"
    },
    {
      "commit": "19f60263efa4c0136d1cd4d0fac5a7e1b6805cbc",
      "tree": "747c456e97499ad2f1b3bcc055d195161e315453",
      "parents": [
        "f3b914f7e0e7c0d7f943463a95be23e8f52c0f68"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Apr 02 23:36:37 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Apr 03 18:30:51 2019 +0000"
      },
      "message": "Honor bufferpool stride alignment when rendering overlays\n\nBuffer pool may be allocated by hardware specific routines\nthat specify specific stride alignment. When rendering\noverlays we must honor the specified constraints or risk\ngarbage being rendered downstream.\n\nIn the current specific use case the downstream element\nis glupload, which NXP has modified to require a stride\nthat\u0027s 16*bpp aligned for their Vivante specific fastpath\nto work. They also disabled all the standard fallback paths\nfor dmabufs assumed present, so unless upstream adheres\nto the HW constrains garbage is rendered.\n\nChange-Id: I2710446ddd4a9e23da5888c5a04f40833e28cbb5\n"
    },
    {
      "commit": "f3b914f7e0e7c0d7f943463a95be23e8f52c0f68",
      "tree": "3ca4c5dd820d03b239a6dfc4a5efd9b0bae3f1d6",
      "parents": [
        "54e307385b20e881df7b621ddd147d3a20ae36b3"
      ],
      "author": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Tue Apr 02 13:26:19 2019 -0700"
      },
      "committer": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Tue Apr 02 13:26:19 2019 -0700"
      },
      "message": "package: Bumping the changelog for Chef build #3\n\nChange-Id: I9f0f943e0259555d417c6cebd242eb1cb987c2f2\n"
    },
    {
      "commit": "54e307385b20e881df7b621ddd147d3a20ae36b3",
      "tree": "11c76331842c0539df8cc4cc799aeda193f75d1a",
      "parents": [
        "d0caf55545c1312cc59fd75bccc89683f2e18dce"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Mon Apr 01 10:13:53 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Mon Apr 01 10:35:14 2019 -0700"
      },
      "message": "Disable QoS for all pipelines that render to display.\n\nPreviously only disabled for live camera pipeline to address v4l2\ntimestamp jitter. Also needed for other pipelines if inference is\nslow, such as with CPU bound models\n(e.g. inception_v2_224_quant.tflite). Rationale:\n\n* video sink by default generates QoS events with the timestamp of the\n  last rendered frame, each frame.\n* these events are sent upsream\n* glvideomixer generates one output from two inputs using its own clock\n* glvideomixer passes through QoS events unfiltered\n* when QoS events reach the overlay branch basetransform sees that down-\n  stream has already rendered frames with timestamps one second in the\n  future\n* basetransform drops overlay frames as they\u0027re so late that they\u0027re\n  likely gonna be dropped downstream anyway.\n* the dropped anyway part isn\u0027t true for glvideomixer as it combines\n  multiple inputs to one output with a different time base.\n* glvideomixer filters QoS events in later GStreamer versions.\n\nDisabling QoS is fine as long as we know that video sink (glimagesink)\ncan process incoming frames \u003e\u003d rate than downsteram produces them.\nThe mechanism exists for downstream to throttle data production if\nthe sink can\u0027t keep up. In our supported use cases, 1080p max, this\nisn\u0027t an issue. Worst case a video that should be played at say 60 fps\nwill be played at a lower rate, say 54 fps.\n\nTested:\nLive camera and video playback with slow and fast models\n\nedgetpu_classify --model inception_v2_224_quant.tflite --source video_device.mp4\nedgetpu_classify --model inception_v2_224_quant_edgetpu.tflite --source video_device.mp4\n\nedgetpu_classify --model inception_v2_224_quant.tflite\nedgetpu_classify --model inception_v2_224_quant_edgetpu.tflite\n\nChange-Id: Icc339168de144727f2fcf6340820a22705600273\n"
    },
    {
      "commit": "d0caf55545c1312cc59fd75bccc89683f2e18dce",
      "tree": "ad7ea4a218f9acddf11a39e968621e36bf10ffea",
      "parents": [
        "5bbb96dc5d7c992d96c785700c12e7fa04d8424f"
      ],
      "author": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Thu Mar 28 16:47:56 2019 -0700"
      },
      "committer": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Thu Mar 28 16:47:56 2019 -0700"
      },
      "message": "Bump changelog version for Chef build #2.\n\nChange-Id: Ie9c0f1b865ddbe6003290a15715da0d99ed7d66f\n"
    },
    {
      "commit": "5bbb96dc5d7c992d96c785700c12e7fa04d8424f",
      "tree": "85e9c6db6063fbfe7335d936f9c365d062bd54f9",
      "parents": [
        "59af515da3aeb318133b3d1b7d158dc587f389ad"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Fri Mar 22 16:09:58 2019 -0700"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Fri Mar 22 16:09:58 2019 -0700"
      },
      "message": "Disable QoS events in live camera pipeline.\n\nCamera timestamp jitter varies widely from one random webcam to another,\nif too high upstream elements such basetransforms will start dropping\nbuffers. This has been observed with a common 1080p Logitech camera,\nand is likely to happen with other cameras too.\n\nDisabling QoS avoids the drops and renders every frame, even the \"late\"\nones. Coral camera worked fine and continues to do so.\n\nChange-Id: I8ad41c6afeebb3a505cf4c70bf538a054c205ee2\n"
    },
    {
      "commit": "59af515da3aeb318133b3d1b7d158dc587f389ad",
      "tree": "8d86aa07f2ae1c2c79e8788b6ce3850735e5be13",
      "parents": [
        "ed16abafdab4d0efb23f1df4dd902120cb0c701a"
      ],
      "author": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Tue Mar 19 18:16:21 2019 -0700"
      },
      "committer": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Thu Mar 21 10:15:15 2019 -0700"
      },
      "message": "Create changelog entry for chef release\n\nChange-Id: I842b4b320b3b986fdf8925ed1eb5f9c5771cfb29\n"
    },
    {
      "commit": "ed16abafdab4d0efb23f1df4dd902120cb0c701a",
      "tree": "9abbaed870f8b3df42f5b5dd0f293699a867616b",
      "parents": [
        "798cb253542706ff05244656f1b110e35838669f"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Mar 20 15:39:34 2019 -0700"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Mar 20 15:39:34 2019 -0700"
      },
      "message": "Add license headers.\n\nChange-Id: I6fb2e7e94a164059e21de2078954ab34504d4e2f\n"
    },
    {
      "commit": "798cb253542706ff05244656f1b110e35838669f",
      "tree": "08dc8b373dbfd02d6b478b594b47b66449e79baa",
      "parents": [
        "20175db833a9b5224f46bc14d6927e3dabee7c61"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 26 15:45:38 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Mar 20 15:05:16 2019 -0700"
      },
      "message": "Add visual separation between text lines.\n\nChange-Id: I5235592a4e29b5827adb9ca6f6e6ff1eb5f7c61a\n"
    },
    {
      "commit": "20175db833a9b5224f46bc14d6927e3dabee7c61",
      "tree": "43ad7f6dd302c5fe79eccdfbb85e351ea77dd209",
      "parents": [
        "d64955c3541192961e703c2c181198ab69b5c5bb"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Mar 19 15:14:27 2019 -0700"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Mar 19 15:14:27 2019 -0700"
      },
      "message": "Depend on weston (virtual package) instead of weston-imx.\n\nChange-Id: Ifc48b712a9552f4e6b98a0eba074292e3a9b0a07\n"
    },
    {
      "commit": "d64955c3541192961e703c2c181198ab69b5c5bb",
      "tree": "9f5b890f7cf8e22affe401e253aaa093429c7298",
      "parents": [
        "4adda7f483a7f10befa510ee0c8948dd19594f28"
      ],
      "author": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Tue Mar 12 16:50:53 2019 -0700"
      },
      "committer": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Tue Mar 12 16:50:53 2019 -0700"
      },
      "message": "Fix the support name\n\nChange-Id: Ie657fe18ea4796b9a441a2fd31be75524d8bd77b\n"
    },
    {
      "commit": "4adda7f483a7f10befa510ee0c8948dd19594f28",
      "tree": "f7bb206c4d54b09dd12b3b3f85d9cd03a0c478c0",
      "parents": [
        "a68a06af2b7f5ac1ce12c8fc46bbff67cfdff64f"
      ],
      "author": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Tue Mar 12 16:27:21 2019 -0700"
      },
      "committer": {
        "name": "June Tate-Gans",
        "email": "jtgans@google.com",
        "time": "Tue Mar 12 16:27:21 2019 -0700"
      },
      "message": "Fix the support email address\n\nChange-Id: I00617cdd5fa9ca990726c73da898913f273ed8af\n"
    },
    {
      "commit": "a68a06af2b7f5ac1ce12c8fc46bbff67cfdff64f",
      "tree": "3e122093f125b31d9d95f90fa58f4c5dcb6135ab",
      "parents": [
        "cfc9f92fa8b959b2a1c598920840d9c5fe3e4845"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Mar 05 11:59:42 2019 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Mar 06 11:58:24 2019 -0800"
      },
      "message": "Render full size overlays, draw with glvideomixer\n\nWith this approach there\u0027s no need for downscaling as video and\noverlay rendering are decoupled in glvideomixer, so we can do\n1080p@30 in real time. Video frames are displayed at their\nnormal rate and overlays are rendered at a potentially slower\nrate if we can\u0027t keep up without the video stalling.\n\nThe main improvment here is a custom source element that enables\nus to hit a fast GL texture upload path where we draw the overlay\nwith cairo/rsvg straight into a dma-buf (allocated by ion) and use\nthat as a texture in glvideomixer.\n\nChange-Id: Icf69e29ab55a95122754a6e9f2c63ac7adc2d465\n"
    },
    {
      "commit": "cfc9f92fa8b959b2a1c598920840d9c5fe3e4845",
      "tree": "22b66235b92f404097540c5d76de478f88a6db03",
      "parents": [
        "1bb763b484504861d5cd3658460566f36df134f0"
      ],
      "author": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Fri Feb 22 13:57:19 2019 -0800"
      },
      "committer": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Fri Feb 22 13:57:19 2019 -0800"
      },
      "message": "Update changelog for 1.3-1\n\nChange-Id: I490ca244742a1d08704a50b9f55fd324733eddee\n"
    },
    {
      "commit": "1bb763b484504861d5cd3658460566f36df134f0",
      "tree": "878a215256793befc7c3568b3e9231bb7cce8852",
      "parents": [
        "c15cc09b81b445edba2bcb3f0fa7b6248e2b11a1"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 21 15:41:40 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 21 16:13:52 2019 -0800"
      },
      "message": "Add --loop command line parameter for video.\n\nChange-Id: I2e10f02273cde7f39ffc86c12085e66ddba741a2\n"
    },
    {
      "commit": "c15cc09b81b445edba2bcb3f0fa7b6248e2b11a1",
      "tree": "c42d8515f66ccfb4b597aa848694503ff54b2bf4",
      "parents": [
        "43f7562549c12002e139d8ad0bf96ca2efd147f8"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 21 11:43:52 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 21 11:43:52 2019 -0800"
      },
      "message": "Get rid of start/stop buttons in web UI.\n\nChange-Id: I504435ce500e5a01cdf5ccc0999ac7415e0dc42a\n"
    },
    {
      "commit": "43f7562549c12002e139d8ad0bf96ca2efd147f8",
      "tree": "7bbb3e2a2870339707ae3e80476ca0c8ec61f7f6",
      "parents": [
        "f047f165da45e92ca45860689e7d8c15e714b4e6"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Thu Feb 21 11:18:12 2019 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Thu Feb 21 11:18:12 2019 -0800"
      },
      "message": "Set window title to \u0027Coral\u0027\n\nChange-Id: Ia23f9f5b4eb52c319a4011c9e8cf35875e7d50ed\n"
    },
    {
      "commit": "f047f165da45e92ca45860689e7d8c15e714b4e6",
      "tree": "1f28523daa5de101c4f167bc45a29368d918110f",
      "parents": [
        "06ca38494011408fb7e03265c808021e15e07a5f"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 20 17:35:00 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 21 19:06:40 2019 +0000"
      },
      "message": "Add parameter to disable SIGINT handling from run_pipeline().\n\nChange-Id: I47ad946f19aad0d1bdf06695d2ffce1027865a2c\n"
    },
    {
      "commit": "06ca38494011408fb7e03265c808021e15e07a5f",
      "tree": "c274ac964460c51d591e91307db1b2038b28bf28",
      "parents": [
        "55bd701a30ea2b52a1af35dedd2451d0133a83e3"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 20 17:23:49 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 20 17:23:49 2019 -0800"
      },
      "message": "Add env var to override index.html file location.\n\nChange-Id: Ib4bad82aefa5c2dea56d2f882105cbe9883f9ae4\n"
    },
    {
      "commit": "55bd701a30ea2b52a1af35dedd2451d0133a83e3",
      "tree": "0694bc0d30494e1debf44bff33433202b8f0c8cf",
      "parents": [
        "59323c315e1ff0140477287b8e587f5f8ce71c68"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 20 15:39:10 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 20 15:44:42 2019 -0800"
      },
      "message": "Set stdin back to blocking state on exit.\n\nChange-Id: Ic15e9858aa43a8a85781328234c4ac80396eed12\n"
    },
    {
      "commit": "59323c315e1ff0140477287b8e587f5f8ce71c68",
      "tree": "04da894c6d1e1fb912bb8c188271f90be1357211",
      "parents": [
        "df34f2cbff28a3a84c28cf7add7fcff385c01763"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Feb 20 14:57:37 2019 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Feb 20 23:41:55 2019 +0000"
      },
      "message": "Set default streaming resolution to 640x480.\n\n1280x720 is too large for CPU based color conversion and encoding,\ngiving us only ~5 fps with lots of pixelation at the default bit\nrate. This low resolution gives ~30 fps in the browser over USB\nnetwork interface.\n\nChange-Id: I50087dd36b143de4fe109e50e4b1fd0b981170fd\n"
    },
    {
      "commit": "df34f2cbff28a3a84c28cf7add7fcff385c01763",
      "tree": "9b1e14cc980cd0048c3faadcd929d0aaa237022d",
      "parents": [
        "394fd9ecca6777362581936ebb44e94a6ac20ae3"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Feb 20 15:21:24 2019 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Feb 20 15:21:24 2019 -0800"
      },
      "message": "Fix missing dependencies.\n\nChange-Id: I7a0e1ac5813200161f4bf4cc0abe1010cb06afbc\n"
    },
    {
      "commit": "394fd9ecca6777362581936ebb44e94a6ac20ae3",
      "tree": "ea9a533d34918aa9805ec54e55f33f81ec57af78",
      "parents": [
        "5fefc692e3f97fb7962910ae869479bd44b02789"
      ],
      "author": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Tue Feb 19 17:36:15 2019 -0800"
      },
      "committer": {
        "name": "Jonas Larsson",
        "email": "ljonas@google.com",
        "time": "Wed Feb 20 22:47:54 2019 +0000"
      },
      "message": "Upload rendered overlays as textures and display with glimagesink.\n\nChange-Id: Ia62ba8028185a6760564123e5ec1ea70add1aa2f\n"
    },
    {
      "commit": "5fefc692e3f97fb7962910ae869479bd44b02789",
      "tree": "877210ae74f7f0d540672a8a869fd309775c8a12",
      "parents": [
        "2e230efe54d6fd58735821672a363e64057f485a"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 20 11:12:53 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 20 11:20:52 2019 -0800"
      },
      "message": "Display model title in overlay.\n\nBy default title is a model name or it can be customized via\ncommand line.\n\nChange-Id: Ib92e8365268b1377fe73d8d1ca6b89b5391b814e\n"
    },
    {
      "commit": "2e230efe54d6fd58735821672a363e64057f485a",
      "tree": "ee6c8281dd0c5981a06c68f5af1519dcfdff24d3",
      "parents": [
        "0d25bff3929fbe7fa6320ea4f690f8ec82223437"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 17:35:47 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 20 09:56:58 2019 -0800"
      },
      "message": "Update classification overlay rendering.\n\nChange-Id: Id3898eb83aee6e87fd9b99b291dc30f729df96ca\n"
    },
    {
      "commit": "0d25bff3929fbe7fa6320ea4f690f8ec82223437",
      "tree": "31ca46e8582706af7d8ba6488f9f1f1a04de666d",
      "parents": [
        "112638ab37c4e7c5ce82a7b3c94c14c6ad2f6a06"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 12:31:04 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 20 17:49:28 2019 +0000"
      },
      "message": "Remove demo script from edgetpuvision.\n\nIt will be packaged separately along with .tflite model files,\nlabel file, and video file.\n\nChange-Id: I7166bd2993a19d10a267f55e08eb478d3fa1910e\n"
    },
    {
      "commit": "112638ab37c4e7c5ce82a7b3c94c14c6ad2f6a06",
      "tree": "a5c8465b403fffdcac9380984e6816c6e59d15cd",
      "parents": [
        "3f51aeb91c26c6a67f4e072f102037859e2cc895"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 16:33:28 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 16:33:28 2019 -0800"
      },
      "message": "Use monospace font to calculate label backround rects.\n\nChange-Id: I0aa3366f5d08dab33a00c9efa6c3b7e7acb0a981\n"
    },
    {
      "commit": "3f51aeb91c26c6a67f4e072f102037859e2cc895",
      "tree": "25987f5f6f40a62911dcf9ea84ddbba21790a38e",
      "parents": [
        "e57c0f0982c9feba3212a559074bf5cf675e484b"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 12:11:12 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 12:11:12 2019 -0800"
      },
      "message": "Add Coral logo, fonts, and initial css style.\n\nChange-Id: If9af8459dc177931e575f48cfd21e4dcdc8992b9\n"
    },
    {
      "commit": "e57c0f0982c9feba3212a559074bf5cf675e484b",
      "tree": "28b5be137a2b0a23766c07058b16a996ee6aa08d",
      "parents": [
        "99254f7142cb8c0f15feaebd8a234d0437feb962"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 10:45:52 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 11:59:43 2019 -0800"
      },
      "message": "Bug fix: use white color when labels file is not specified.\n\nChange-Id: I672543ee27751e223d02bcf1e885d8849fc2b7fb\n"
    },
    {
      "commit": "99254f7142cb8c0f15feaebd8a234d0437feb962",
      "tree": "95f5c404526020d172a2903e256637ab9b3fe651",
      "parents": [
        "6999820beb854218a056393cd931ee8891bd2a1e"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 09:58:11 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Feb 19 09:58:11 2019 -0800"
      },
      "message": "Move info to the bottom left corner on black background.\n\nChange-Id: Ic8ec82ccec708db6c3319081fc683f34939beb6e\n"
    },
    {
      "commit": "6999820beb854218a056393cd931ee8891bd2a1e",
      "tree": "7a553a07c06a95e7759a5a46047d33c957997657",
      "parents": [
        "de1c95578d34894912b922b494b9f59e572061b2"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 14 17:42:34 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 14 17:42:34 2019 -0800"
      },
      "message": "Add shadow to bounding boxes.\n\nChange-Id: Ieada7d1b7a11d8431474f5ceabc703d1b6631646\n"
    },
    {
      "commit": "de1c95578d34894912b922b494b9f59e572061b2",
      "tree": "9eab5f6782ac3cbb317935855c47c820d09b9f07",
      "parents": [
        "9d49a5d67bbe4c926f7a13c5569c6adce99795bc"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 13 17:40:53 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 13 17:40:53 2019 -0800"
      },
      "message": "Add custom bbox color command line parameter.\n\nChange-Id: I7fa77276500b56a79ccca658329e35ec522b69b5\n"
    },
    {
      "commit": "9d49a5d67bbe4c926f7a13c5569c6adce99795bc",
      "tree": "b1398d8699441b93648db3985f2e872d9b5f36ae",
      "parents": [
        "1d9ed402f8c8a4d229b0c2001f3cdcda9d759ae6"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Feb 11 16:11:58 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Feb 11 16:50:08 2019 -0800"
      },
      "message": "Make server scripts functionally compatible with console ones.\n\nChange-Id: I3bc73cddedf8a2254192d1d4f847d70674e29e2c\n"
    },
    {
      "commit": "1d9ed402f8c8a4d229b0c2001f3cdcda9d759ae6",
      "tree": "7ce2bbc781b16789ec5588f1f9bf02658e865f03",
      "parents": [
        "3b6ed7491789c185f3f8e4eba0dd8a29038688d2"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Feb 11 13:55:33 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Feb 11 14:00:25 2019 -0800"
      },
      "message": "Making pipeline code more reusable.\n\nChange-Id: I24cc5c17a316c8fc7b3477e6b93706828b00d383\n"
    },
    {
      "commit": "3b6ed7491789c185f3f8e4eba0dd8a29038688d2",
      "tree": "cc02c2b6d1d65d57971d344688c2c9ea83b7d77b",
      "parents": [
        "5ae43ebdf603aa78953aeb8d6c7f1ff4e392dfc2"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Feb 11 11:25:11 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Feb 11 11:29:18 2019 -0800"
      },
      "message": "Use different colors for different detected objects.\n\nChange-Id: Iacefd5f0388b50f781aaed647795ac1396a2b4d1\n"
    },
    {
      "commit": "5ae43ebdf603aa78953aeb8d6c7f1ff4e392dfc2",
      "tree": "1b01dab2261da80d1342ed411747547e1752f9c1",
      "parents": [
        "53644d827c9656ddaadc5860d23cc8e4e23a7744"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 15:02:02 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 23:33:21 2019 +0000"
      },
      "message": "Add convenient object representation for detection.\n\nChange-Id: I38b7552ad76e71c13a68250458bf40075fcaa2bf\n"
    },
    {
      "commit": "53644d827c9656ddaadc5860d23cc8e4e23a7744",
      "tree": "f4452fb43475e658ece5cf67bc6a452916881b68",
      "parents": [
        "e748a4d0d85c5853045777dd7151d4b986b10094"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 15:19:40 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 23:32:58 2019 +0000"
      },
      "message": "Add --bitrate command line param.\n\nChange-Id: I71457343c5745b538de69fdc048eb51cad6f126a\n"
    },
    {
      "commit": "e748a4d0d85c5853045777dd7151d4b986b10094",
      "tree": "90f1d612e162147517065094ce7fd6483e13006b",
      "parents": [
        "bb9b7e5597b0793e452a43912530a1983aa99248"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 13:20:33 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 13:25:55 2019 -0800"
      },
      "message": "Simplify code that renders gstreamer pipelines.\n\nChange-Id: Ibbd3d50fb9b7d3337155d7c3eaa12f5a50bdef18\n"
    },
    {
      "commit": "bb9b7e5597b0793e452a43912530a1983aa99248",
      "tree": "6b8ae8cdda84510ea92b41ccac466c2ba16711d8",
      "parents": [
        "f2e1f44c5a95ed485997618f9563ab51517c9fcd"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 11:32:49 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 11:37:50 2019 -0800"
      },
      "message": "Remove code redundancy and group some params together.\n\nChange-Id: I08ac93ed60ab5b7d0a57b3fa2ef1649b79af7ce7\n"
    },
    {
      "commit": "f2e1f44c5a95ed485997618f9563ab51517c9fcd",
      "tree": "9e28c4e20d6842f76239f09ff65e7cc48a661043",
      "parents": [
        "e037f7650945818a564f0cfe694e0633ed6c50f0"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 17:47:52 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 11:00:31 2019 -0800"
      },
      "message": "Get rid of explicit use of vpudec filter.\n\nChange-Id: Ia6f8476ea79783d12dba63b1c6d3009e0efba9df\n"
    },
    {
      "commit": "e037f7650945818a564f0cfe694e0633ed6c50f0",
      "tree": "36381c1fdf22d97a96fde9d98309c06230f728bd",
      "parents": [
        "bcddece4c3f2d05f7baf07cc2c09d7d1997389c9"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 17:13:56 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 17:16:32 2019 -0800"
      },
      "message": "Add correct favicon and change web page title.\n\nChange-Id: I54c791830ea779ee4bcc650a6701fba8d1e70452\n"
    },
    {
      "commit": "bcddece4c3f2d05f7baf07cc2c09d7d1997389c9",
      "tree": "1305b492564423ffd17d97fc6b139aa587958d8f",
      "parents": [
        "45de06f744d22674a834d380062fcae5009e73e2"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 16:00:47 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Fri Feb 08 00:39:06 2019 +0000"
      },
      "message": "Support relative filenames and paths with spaces.\n\nChange-Id: I95ec2fee8e19d283ede5f595742915ed7ea3fa27\n"
    },
    {
      "commit": "45de06f744d22674a834d380062fcae5009e73e2",
      "tree": "2a52a2e55a5c4ccb9633ea5036b809788e52d16c",
      "parents": [
        "195509360abfe39a26a425004b0e056f89a85e02"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 15:29:48 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 16:38:20 2019 -0800"
      },
      "message": "Add width and height values to generated SVGs.\n\nOtherwise Firefox cannot render SVG images.\n\nChange-Id: I1e5ded74fb1e3e052fb4dde2300c575988601b74\n"
    },
    {
      "commit": "195509360abfe39a26a425004b0e056f89a85e02",
      "tree": "15cc3f7504ba3cd84290cc7944da916473c6c397",
      "parents": [
        "5069712af3490a9f3a24df77b117c0a62975fb13"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 14:11:16 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 14:11:16 2019 -0800"
      },
      "message": "Reuse inference code in streaming server.\n\nChange-Id: Ifb682e66633dafa77de5292d8f4e179e9210820a\n"
    },
    {
      "commit": "5069712af3490a9f3a24df77b117c0a62975fb13",
      "tree": "dd123ca480b938db6ee162b23c9c2fcf9d7d7a1c",
      "parents": [
        "938277a4176fa4292b396a87a382cc9d805091b8"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 12:32:40 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Feb 07 12:36:09 2019 -0800"
      },
      "message": "Add headless gstreamer pipelines.\n\nChange-Id: I5ed5fa8cfa175e6207bcf3972142783df2e6d759\n"
    },
    {
      "commit": "938277a4176fa4292b396a87a382cc9d805091b8",
      "tree": "71933462fcef235adeb6911c0ea8a97eb4642e67",
      "parents": [
        "43d4874ea028ac4a61853fe06a9c5820edbb0076"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 06 13:03:30 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 06 15:14:55 2019 -0800"
      },
      "message": "Add bounding box area filtering.\n\nChange-Id: I5b67933ef975f57bed4b5e40da781db1652a3eda\n"
    },
    {
      "commit": "43d4874ea028ac4a61853fe06a9c5820edbb0076",
      "tree": "8e9f6e084b7edb6af90aab49f43e85d8da0acb67",
      "parents": [
        "48d8cc3409e4c17913f3e2102cabd31ad20dc91a"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 06 11:55:08 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Wed Feb 06 12:19:31 2019 -0800"
      },
      "message": "Move gstreamer pipelines into a separate file.\n\nChange-Id: I6e688f79dac854544cfe8fd18d24623de9b852d5\n"
    },
    {
      "commit": "48d8cc3409e4c17913f3e2102cabd31ad20dc91a",
      "tree": "d367fe3afde23ac5744594419be7d4687b8d2418",
      "parents": [
        "380fabfe329804c3860cbc785bb15c593d9ad330"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Jan 29 16:48:25 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Tue Jan 29 16:50:24 2019 -0800"
      },
      "message": "Fix problem with using JPEG images as a source.\n\nNow vpudec is not used by default to decode JPEG images.\n\nChange-Id: I40896c5967bf1734748ded913edb19ca9faf34cc\n"
    },
    {
      "commit": "380fabfe329804c3860cbc785bb15c593d9ad330",
      "tree": "f21b080dddf477a7dee5fa17a073e00e821b39a7",
      "parents": [
        "8ea5929c781cf16b8c4760f238bb9ca4fc898365"
      ],
      "author": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Mon Jan 28 15:03:48 2019 -0800"
      },
      "committer": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Mon Jan 28 15:03:48 2019 -0800"
      },
      "message": "Update changelog to 1.2-1\n\nChange-Id: Id3803d381cf4f61d5f20fdfa0bd22379fab94736\n"
    },
    {
      "commit": "8ea5929c781cf16b8c4760f238bb9ca4fc898365",
      "tree": "5e3196922fca90b4ab828fdaeb41e68ce45a658d",
      "parents": [
        "1056f33a4d97a7316c9a5d53e1fe6cad328d66cf"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Jan 28 14:27:22 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Mon Jan 28 14:42:24 2019 -0800"
      },
      "message": "Update command line examples and help strings.\n\nChange-Id: Ide53d9e0c0094757037d41c6a733ac79843ead0f\n"
    },
    {
      "commit": "1056f33a4d97a7316c9a5d53e1fe6cad328d66cf",
      "tree": "4a3ae3a60fa993a307d4fec0755e3d0c6c8150e9",
      "parents": [
        "ef9cfa457d08a528b07b7cbceeb018669a652364"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Jan 24 17:20:48 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Jan 24 17:20:48 2019 -0800"
      },
      "message": "Add missing imx-gst1.0-plugin dependency (vpudec filter).\n\nChange-Id: I64d1293bd330a0b06d92ff6ad2250d1721a224f7\n"
    },
    {
      "commit": "ef9cfa457d08a528b07b7cbceeb018669a652364",
      "tree": "2fdb894c50c4beb27b9ee7e60a605fe134053c9b",
      "parents": [
        "01badde01543d4b36915b6bdf1896a8b6325897d"
      ],
      "author": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Jan 24 16:12:19 2019 -0800"
      },
      "committer": {
        "name": "Dmitry Kovalev",
        "email": "dkovalev@google.com",
        "time": "Thu Jan 24 16:12:19 2019 -0800"
      },
      "message": "Add gstreamer and desktop dependencies.\n\nChange-Id: Ic14291cf27f48f68894ffb8735a7452fb9c9c431\n"
    },
    {
      "commit": "01badde01543d4b36915b6bdf1896a8b6325897d",
      "tree": "d49decd7566e937e43bd2cb2c65df0d9a0a194b2",
      "parents": [
        "eca7d8ed560c23e2a19fe2a08ccab573c599ebf4"
      ],
      "author": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Thu Jan 24 14:28:57 2019 -0800"
      },
      "committer": {
        "name": "Alex Van Damme",
        "email": "atv@google.com",
        "time": "Thu Jan 24 14:28:57 2019 -0800"
      },
      "message": "Update changelog w/ latest features\n\nChange-Id: I81ce7cd2ff7714bcbc967903ae1cdcc15d6f3ed0\n"
    }
  ],
  "next": "eca7d8ed560c23e2a19fe2a08ccab573c599ebf4"
}
