)]}'
{
  "commit": "47748b5692fd2e9f0231bf0cf548cc0fc5d51422",
  "tree": "2ead41632621e81e7ba3a5942073c644f653480c",
  "parents": [
    "929e806a4de0063afc5545ae7a8a47e6341ad99d"
  ],
  "author": {
    "name": "Debargha Mukherjee",
    "email": "debargha@google.com",
    "time": "Fri Mar 24 12:20:49 2017 -0700"
  },
  "committer": {
    "name": "Debargha Mukherjee",
    "email": "debargha@google.com",
    "time": "Mon Mar 27 21:25:38 2017 +0000"
  },
  "message": "Adds binary code lib for coding various symbols\n\nAdds a variable length binary code library for\ncoding various symbols for typical use in headers.\n\nThe main codes implemented are:\n1. Coding a symbol from an n-ary alphabet using a\nquasi-uniform code.\n2. A bilevel code for coding symbols from an n-ary\nalphabet based on a reference value for the symbol\nalso taken from the same alphabet.\nThe code has two steps. If the symbol is close to\nthe reference a shorter code is used, while if it is\nfarther away a longer code is used.\n3. A finite (terminated) subexponential code that codes\na symbol from an n-ary alphabet using subexp parameter k.\n4. A finite (terminated) subexponential code that codes\na symbol from an n-ary alphabet using subexp parameter k,\nbased on a given reference also taken from the same\nalphabet. This code essentially reorders the values\nbefore using the same code as 3.\n\nAlso adds corresponding encoder side functions to count\nthe number of bits used.\n\nThese codes will be subsequently used for more efficient\nencoding of loop-restoration parameters and global motion\nparameters.\n\nChange-Id: I28c82b611925c1ab17f544c48c4b1287930764b7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8ae9e80252476f9687c1baf44360b445791d531d",
      "old_mode": 33188,
      "old_path": "aom_dsp/aom_dsp.mk",
      "new_id": "dedead47095bd8ff4eaa8620a22647c3d8480795",
      "new_mode": 33188,
      "new_path": "aom_dsp/aom_dsp.mk"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0bbcffa4efb41dcc0804a44ce6347acede421b7b",
      "new_mode": 33188,
      "new_path": "aom_dsp/binary_codes_reader.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d1c4d4c50416c2eec6810513f87ca19085a19aa6",
      "new_mode": 33188,
      "new_path": "aom_dsp/binary_codes_reader.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9edb0189b421dc9efddaa5e0715c725065523328",
      "new_mode": 33188,
      "new_path": "aom_dsp/binary_codes_writer.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d80de9e792ad354330efdff427030b234eddad57",
      "new_mode": 33188,
      "new_path": "aom_dsp/binary_codes_writer.h"
    },
    {
      "type": "modify",
      "old_id": "428cfa5da75a39dc5f21c61032b769b886651bfa",
      "old_mode": 33188,
      "old_path": "av1/decoder/decodeframe.c",
      "new_id": "fae9715afd6ea1a59361a13e49c89db9190dc79f",
      "new_mode": 33188,
      "new_path": "av1/decoder/decodeframe.c"
    },
    {
      "type": "modify",
      "old_id": "ee6a295a963b2ab25ad0aa83441454b757beb90e",
      "old_mode": 33188,
      "old_path": "av1/decoder/dsubexp.c",
      "new_id": "5171f1144e68e689f2b8124fe59ea63b53f60a69",
      "new_mode": 33188,
      "new_path": "av1/decoder/dsubexp.c"
    },
    {
      "type": "modify",
      "old_id": "60aa7df2d2fe5be021e1061adee445ffc799133d",
      "old_mode": 33188,
      "old_path": "av1/decoder/dsubexp.h",
      "new_id": "4bc38578c9764cc0861c6c585a207165f9cdbe11",
      "new_mode": 33188,
      "new_path": "av1/decoder/dsubexp.h"
    },
    {
      "type": "modify",
      "old_id": "8f9e9913809949fcab9cad4fc7b19bbc7fd8a16a",
      "old_mode": 33188,
      "old_path": "av1/encoder/bitstream.c",
      "new_id": "a1641736bacaf6f222187f2b7d4ba468a25f44e1",
      "new_mode": 33188,
      "new_path": "av1/encoder/bitstream.c"
    },
    {
      "type": "modify",
      "old_id": "98c1d276f340c13fd346b9991f4cda569c2f97e3",
      "old_mode": 33188,
      "old_path": "av1/encoder/subexp.c",
      "new_id": "8960d3341412dad7e2ae47ccc9efbd740fba5ddc",
      "new_mode": 33188,
      "new_path": "av1/encoder/subexp.c"
    },
    {
      "type": "modify",
      "old_id": "4dc51f64a0795b1838d80bc11c2a0fc822ae11f5",
      "old_mode": 33188,
      "old_path": "av1/encoder/subexp.h",
      "new_id": "049265cb88126192c281535bcb81d60bc4648629",
      "new_mode": 33188,
      "new_path": "av1/encoder/subexp.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a149fcce1469c6fa3d29532fad873d2f4b949abd",
      "new_mode": 33188,
      "new_path": "test/binary_codes_test.cc"
    },
    {
      "type": "modify",
      "old_id": "1ce3314960b32a1a07c307a4f8b7d58884888dc2",
      "old_mode": 33188,
      "old_path": "test/test.cmake",
      "new_id": "4e9ef54839516d6663126e77ed4e430b3b3c4738",
      "new_mode": 33188,
      "new_path": "test/test.cmake"
    },
    {
      "type": "modify",
      "old_id": "8ffa87a8092fa7d2730cd3d226ca92b310291b24",
      "old_mode": 33188,
      "old_path": "test/test.mk",
      "new_id": "343d7e96397270fbc553b952aeb72ec57e8446e7",
      "new_mode": 33188,
      "new_path": "test/test.mk"
    }
  ]
}
