)]}'
{
  "commit": "7296b3f9222c6acf26e6f6e8ce11d1d2245c1b68",
  "tree": "fea08cf62d08d0b4be559869aaf38cbd7a43b9c3",
  "parents": [
    "b433e12a3d1fff2fc600e8b81356d08c020f0fd2"
  ],
  "author": {
    "name": "Stefan Holmer",
    "email": "holmer@google.com",
    "time": "Mon Jun 13 16:42:27 2011 +0200"
  },
  "committer": {
    "name": "John Koleszar",
    "email": "jkoleszar@google.com",
    "time": "Tue Jun 28 11:10:17 2011 -0400"
  },
  "message": "New ways of passing encoded data between encoder and decoder.\n\nWith this commit frames can be received partition-by-partition\nfrom the encoder and passed partition-by-partition to the\ndecoder.\n\nAt the encoder-side this makes it easier to split encoded\nframes at partition boundaries, useful when packetizing\nframes. When VPX_CODEC_USE_OUTPUT_PARTITION is enabled,\nseveral VPX_CODEC_CX_FRAME_PKT packets will be returned\nfrom vpx_codec_get_cx_data(), containing one partition\neach. The partition_id (starting at 0) specifies the decoding\norder of the partitions. All partitions but the last has\nthe VPX_FRAME_IS_FRAGMENT flag set.\n\nAt the decoder this opens up the possibility of decoding partition\nN even though partition N-1 was lost (given that independent\npartitioning has been enabled in the encoder) if more info\nabout the missing parts of the stream is available through\nexternal signaling.\n\nEach partition is passed to the decoder through the\nvpx_codec_decode() function, with the data pointer pointing\nto the start of the partition, and with data_sz equal to the\nsize of the partition. Missing partitions can be signaled to\nthe decoder by setting data !\u003d NULL and data_sz \u003d 0. When\nall partitions have been given to the decoder \"end of data\"\nshould be signaled by calling vpx_codec_decode() with\ndata \u003d NULL and data_sz \u003d 0.\n\nThe first partition is the first partition according to the\nVP8 bitstream + the uncompressed data chunk + DCT address\noffsets if multiple residual partitions are used.\n\nChange-Id: I5bc0682b9e4112e0db77904755c694c3c7ac6e74\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "862307ebbd9c0d2a4c432f1a08555a84f653a8b3",
      "old_mode": 33188,
      "old_path": "vp8/common/onyxc_int.h",
      "new_id": "d366b9b1be31eeb6987aaa276e52a7a89ce244cb",
      "new_mode": 33188,
      "new_path": "vp8/common/onyxc_int.h"
    },
    {
      "type": "modify",
      "old_id": "cf16a26da1ea95befbce07b771fce4ada67b311e",
      "old_mode": 33188,
      "old_path": "vp8/common/onyxd.h",
      "new_id": "8a4703a8bae49b042fbcf6b23f23758a30f974f1",
      "new_mode": 33188,
      "new_path": "vp8/common/onyxd.h"
    },
    {
      "type": "modify",
      "old_id": "00e001733f5dca1829a12f654727be5641a89a92",
      "old_mode": 33188,
      "old_path": "vp8/decoder/decodframe.c",
      "new_id": "7537ec6488aa23218846f52d9b4262c9e7a2679b",
      "new_mode": 33188,
      "new_path": "vp8/decoder/decodframe.c"
    },
    {
      "type": "modify",
      "old_id": "9de5ce2c4172e50a722fa11f0a837004d138d3d2",
      "old_mode": 33188,
      "old_path": "vp8/decoder/onyxd_if.c",
      "new_id": "5f81ee6386afb15f6d04e878ebbfe45567d24c22",
      "new_mode": 33188,
      "new_path": "vp8/decoder/onyxd_if.c"
    },
    {
      "type": "modify",
      "old_id": "ea6de3dda30dc472efbf0985a3b2b33ee2d5f59b",
      "old_mode": 33188,
      "old_path": "vp8/decoder/onyxd_int.h",
      "new_id": "be6ffe6bef3181fcd44aef5b5cc2f37c27805e0f",
      "new_mode": 33188,
      "new_path": "vp8/decoder/onyxd_int.h"
    },
    {
      "type": "modify",
      "old_id": "9280b618078811905196d4f02e2e815010dd7942",
      "old_mode": 33188,
      "old_path": "vp8/encoder/bitstream.c",
      "new_id": "ac298126314e52a38e52f620048be6fb5683bdb1",
      "new_mode": 33188,
      "new_path": "vp8/encoder/bitstream.c"
    },
    {
      "type": "modify",
      "old_id": "3ca61a7cd71f6a48ade749bfe54e3680f962681f",
      "old_mode": 33188,
      "old_path": "vp8/encoder/onyx_int.h",
      "new_id": "d94436bd8dee34f9356a77cd10111ce66c7323ab",
      "new_mode": 33188,
      "new_path": "vp8/encoder/onyx_int.h"
    },
    {
      "type": "modify",
      "old_id": "db60bfe4fe1f94d797db26081e37c24d25d62bfb",
      "old_mode": 33188,
      "old_path": "vp8/vp8_cx_iface.c",
      "new_id": "5e1278a4c647042fdc91f34a46c7be3804b79990",
      "new_mode": 33188,
      "new_path": "vp8/vp8_cx_iface.c"
    },
    {
      "type": "modify",
      "old_id": "d74dc87bcdc52c685a1832d648e59ad19115e6ce",
      "old_mode": 33188,
      "old_path": "vp8/vp8_dx_iface.c",
      "new_id": "58dc486dea8430e7538adda09542ffbffbc75ab2",
      "new_mode": 33188,
      "new_path": "vp8/vp8_dx_iface.c"
    },
    {
      "type": "modify",
      "old_id": "d168d5cfd5ca93cc09ea67175323f8651e776c3e",
      "old_mode": 33188,
      "old_path": "vpx/vpx_encoder.h",
      "new_id": "71153d55f5e820db42c92f308b1a6094e0d3f34f",
      "new_mode": 33188,
      "new_path": "vpx/vpx_encoder.h"
    }
  ]
}
