)]}'
{
  "log": [
    {
      "commit": "7ca678b41b186dad12c77fc6dbde48dcb2377135",
      "tree": "3200d3b19fc142cb11640ee2faf35bf83f6feda6",
      "parents": [
        "0bc6f60e1f036380bd48d022631e6561b90f210c"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Jan 22 14:09:55 2020 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Jan 22 17:12:38 2020 -0500"
      },
      "message": "HEIF: Re-decode the image when changing color type\n\nBug: 135133301\nTest: I902de3410c45a21cf27b48a02cdc5d514b7ada60\n\nAImageDecoder allows decoding an image multiple times, using different\nsettings (e.g. color type) each time, using the same underlying SkCodec.\nAfter finishing decoding the image, HeifDecoderImpl discards its\nMediaMetadataRetriever in order to clean up resources. Hang onto the\ninput data, so that if a client attempts to decode again, the Impl can\nrecreate its MediaMetadataRetriever to perform a second decode.\n\nIf the client is using the same output color, no new\nMediaMetadataRetriever is needed, since it can continue to use the\noriginal video frame output.\n\nWhen called from Java, the HeifDecoderImpl will be quickly discarded\nanyway, so holding on to the input data until that discard should not be\na problem.\n\nChange-Id: I2ca01a006215c1e6f6472c5e6a4df4e2155a3b11\n"
    },
    {
      "commit": "8541d304cde0d633d4301bde7e3d5dbdb9780bf3",
      "tree": "3b863bf720c4118771581aa9166821ee2e2498cf",
      "parents": [
        "28355761d73f1495bba8994dc3c0dc631ae245a8"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 12 11:19:47 2019 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Aug 13 12:28:43 2019 -0700"
      },
      "message": "Heif decoder API for decoding image sequences\n\nbug: 120414514\nbug: 78868457\n\ntest: local testing with \"OpenGL Renderer Tests\"\nanimation demo and heifs files\n\nChange-Id: If765b0643920316d0454835e99479122aa1fd665\n"
    },
    {
      "commit": "0c1407f79ef36422330c2003a608d37df714256b",
      "tree": "04eb9f45da49543f2ad97040a692ea245f8906bd",
      "parents": [
        "0c1f9148ed187a9c3819374050c5ea319b059439"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 02 17:09:05 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon May 07 19:38:05 2018 -0700"
      },
      "message": "Decode one row of tiles at a time for image that has tiles\n\nAdd an api to IMediaMetadataRetriever to decode image rect.\nIt will reuse the same full frame IMemory, and decode only\nthe requested rect. For now, StagefrightMetadataRetriever\nwill only allow decoding of rect that\u0027s a full row of tiles,\nand the requested must be issued sequentially (i.e. no\narbitrary rects). When the extract side is fixed to allow\nseeking by tiles, it can be extended to allow arbitrary\nrects.\n\nThis allows HeifDecoderImpl (on client side) to start\nprocessing the getScanlines in parallel with the decoding.\n\nTest: CTS MediaMetadataRetrieverTest;\nManual testing of HEIF decoding of files with or without tiles;\nManual testing of HEIF thumbnails generation in Downloads app.\n\nbug: 78475896\nChange-Id: I820b21cdf33f80593ee6092d8e1ba68b3beb65dd\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": "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": "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"
    }
  ]
}
