)]}'
{
  "log": [
    {
      "commit": "70b0afdfabfdfb34aa7a2b86f382eac197cc90cb",
      "tree": "187fd133dc6aae057d49ac4aa95bea33186c2bf4",
      "parents": [
        "fbf6b4990aced38376f8d9f2c0b836a9ffb17089"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Feb 27 12:43:06 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 15 02:26:17 2018 +0000"
      },
      "message": "heif: use width and height for decoder -- DO NOT MERGE\n\nThe display dimensions from MPEG4Extractor is applied on top\nof width and height for scaling, it\u0027s not for cropping. For\nbitmap uses we have to use width and height, the frame from\nmedia server is not scaled.\n\nbug: 73172046\nTest: test app in bug; open folders with heif files in Photos.\nChange-Id: I3d7f1492d08d48876836ccc05b6eb4de0d0c0f9a\n(cherry picked from commit 1a6c11685d3868d0ebe8543842d213c4ff7e9009)\n"
    },
    {
      "commit": "a4f859cd14083195b6b17c4a16c9074410325934",
      "tree": "33042a3e6a07533c4c37c99162a78b97b86e3b3c",
      "parents": [
        "0df1e8d08aeb50771bdae54f77088f31531c4cb0",
        "237f9034c6cbe5cbafb0cd4c862d9dddfbdf7389"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Fri Mar 09 19:26:33 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 09 19:26:33 2018 +0000"
      },
      "message": "Handle overflow in android::HeifDataSource::readAt\nam: 237f9034c6\n\nChange-Id: Idc655aa698903af90455f82b6aa665c6472872f5\n"
    },
    {
      "commit": "237f9034c6cbe5cbafb0cd4c862d9dddfbdf7389",
      "tree": "b2f46bad990085ba544d327fa5407075073f786b",
      "parents": [
        "4d4c46123781e08facc5ac8ba5bcf09dd0eb3ad7"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Mon Mar 05 15:21:33 2018 -0800"
      },
      "committer": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Thu Mar 08 22:17:36 2018 +0000"
      },
      "message": "Handle overflow in android::HeifDataSource::readAt\n\nBug: 73782357\nChange-Id: I03a5b4c5ddaf2664f342973da7f1a79f29cd7be5\n"
    },
    {
      "commit": "49d4aa0a7407ea6632c4a3441c7a4d922d003ea5",
      "tree": "a1d959911a1dc2e0996b0c48ef22b73389b5ca9d",
      "parents": [
        "291daf4507228aeecfd0f07c5fabf373ed84bf27"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Feb 27 12:43:06 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Mar 05 14:06:41 2018 -0800"
      },
      "message": "heif: use width and height for decoder -- DO NOT MERGE\n\nThe display dimensions from MPEG4Extractor is applied on top\nof width and height for scaling, it\u0027s not for cropping. For\nbitmap uses we have to use width and height, the frame from\nmedia server is not scaled.\n\nThis required porting over some fixes from master to fix the\ndisplay size vs. image size reporting, otherwise images with\ngrids may show a black border at the bottom or right.\n\nbug: 73172046\nTest: test app in bug; open folders with heif files in Photos\nand Downloads; CTS MediaMetadataRetrieverTest.\nChange-Id: I3d7f1492d08d48876836ccc05b6eb4de0d0c0f9a\n"
    },
    {
      "commit": "49ce671c4efa4c5d038351ca441e34c5afa5241f",
      "tree": "f269ef96d9f6dbcb169e29accb4f9f1f54830e3e",
      "parents": [
        "d21fb560b26be64a588ff96979022ae4d52f5d3a"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 24 10:16:25 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 26 08:48:56 2018 -0800"
      },
      "message": "Remove unused includes and forward declarations in libmediaextractor/include\n\nTest: make checkbuild\nBug: 67908556\nChange-Id: If840305af5c043bb8014590eb208cf11c99e61ee\n"
    },
    {
      "commit": "d3e0d861aa68a7ef129fe228595bff734448ebc8",
      "tree": "4bbe13bb4dee4cc5f6059f4f0898f615beac820f",
      "parents": [
        "1e848d329b019e832a03c0e9d0e4eb6796c971c2"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Oct 03 13:17:13 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Oct 30 19:58:30 2017 +0000"
      },
      "message": "heif: fixes for image sequences and dual-function files\n\nAdding support for two new sets of APIs on MediaMetadataRetriever:\n\n- getImageAtIndex() and getPrimaryImage()\n- getFrameAtIndex() and getFramesAtIndex()\n\nOutline of changes:\n\n- Proper indexing of all displayable still images, so that they\n  can be retrieved by getImageAtIndex()\n\n- Exposing still images as \"image/x.android.heic\" tracks in\n  MediaExtractor with necessary descriptive keys (such as \"grid-*\")\n\n- Support to retrieve video frames by absolute index instead\n  of timestamps, as image use cases mostly are interested in\n  getting the images and care less about timing.\n\n- Support to retrieve video frames in batches because retrieving\n  one frame at a time is inefficient.\n\n- Refactor image / frame decoding code into FrameDecoder, and split\n  still image decoding and video sequence decoding into to sub\n  classes to facilite future development.\n\nbug: 63633199\n\ntest:\ncts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\n\nChange-Id: I2fe8519fb6907f315a8b513921fc1cc7f436e28d\n"
    },
    {
      "commit": "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3",
      "tree": "4a3b6fb269ae76af3c0567cc1d57780c17bd2c30",
      "parents": [
        "04ce1be860b40e18ca7f5fdf64ecb82567d7fe24"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 10 00:07:09 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 13:43:59 2017 -0700"
      },
      "message": "Remove libmedia and libstagefright dependency from extractors\n\n- MediaSource, DataSource and MediaExtractor are moved to\n  libmediaextractor so that they can be used by extractor\n  implementations without depending on libmedia and libstagefright.\n- XXXFactory classes has been added in order not to expose CreateXXX\n  methods in libmediaextractor.\n- avc_utils is moved to libstagefright_foundation since most of\n  extractor implementations are relying on that.\n\nTest: build + post submit media CTS tests\nBug: 65851881\nChange-Id: I7d5cf18dd25abc10478ac3f6e7d1828ad023e3fb\n"
    },
    {
      "commit": "4c6398b1f8f0525c9ff9a53484b3b9b601bca35b",
      "tree": "1a005a8d0c95f765ecb6eb5de4ae5386fedc2c35",
      "parents": [
        "faf18c58baf4db501c9707a30fd811a4c9386a26"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 07 17:43:19 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 07 18:32:09 2017 -0700"
      },
      "message": "stagefright: explicitly release extractor in StagefrightMetadataRetriever\n\nExtractor dtor on media.extractor side happens asynchronously with the\ndtor of StagefrightMetadataRetriever. If the extractor calls back into\nthe DataSource after mediaserver side released the reference to it, the\nbinder transaction could get stuck.\n\nAdding an explicity release() and call it before StagefrightMetadataRetriever\ncontinues to destruct the DataSource. Only implement it for MPEG4Extractor\nto avoid impacting other extractors at this stage.\n\nAlso adding some code to aggressively release the extractor and data\nsource in HeifDecoderImpl to free up memory.\n\nbug: 65463215\n\nChange-Id: I84c442a1e010dd37a976af5453a353e43f672e22\n"
    },
    {
      "commit": "3f3ffab372ea65f5d658166aee1f6bff0faf78d6",
      "tree": "f2894c1311c3eff6dfccdc170e71c848c448544e",
      "parents": [
        "2cb58cb4949f8870bca99ced39f4f81351ab52e1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 23 13:51:59 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 25 11:43:02 2017 -0700"
      },
      "message": "heif: cache the entire stream if possible to support seek\n\nAlso, reuse decoding result if decode is called again. Currently\ndecode only retrieves primary picture, so there is no point to\ngo to metadata retriever again.\n\nBug: 64077740\n\nChange-Id: I9243de396957f4d717c386bbaa8692494d624998\n"
    },
    {
      "commit": "ee079fe295c41f89c2ac6316e99ee10847fb78fd",
      "tree": "f47db0216a4ad8895a55d29c729f6200c16bf0b9",
      "parents": [
        "80225208cc32bc97f3765e387f0bb983ca07aa8b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 23 13:51:17 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 23 13:51:17 2017 -0700"
      },
      "message": "heif: fix decoding of image size different from full tiled area\n\nBug: 64077740\n\nChange-Id: I57ee7e1bc05e320be723d224b9328526543cad25\n"
    },
    {
      "commit": "ea280cb32091e46f3cb5ec68f2c7200913b43168",
      "tree": "64d7a7bd6778e18ca13a4ead069deaecb2241527",
      "parents": [
        "b51ca280e6aaace44ec1d80837439b825c6fce82"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Aug 02 11:10:10 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 14 12:06:00 2017 -0700"
      },
      "message": "heif: adding libheif to be used by skia heif codec\n\n- define platform-independent HeifDecoder interface to be used by\n  skia to decode heif\n\n- add android implementation of HeifDecoder utilizing media framework\n  MediaMetadataRetriever.\n\nbug: 64077740\nChange-Id: I87d803a16c117ab081adbd7c88c1bdb3c4318d66\n"
    }
  ]
}
