)]}'
{
  "commit": "454989ff324e98528b1f3e3a57ed2c69c5bb9547",
  "tree": "12126a03bf4d294e626fe758f3088a5e8e6fd059",
  "parents": [
    "6161f350374221af80701712d7f9fe5b47f126d8"
  ],
  "author": {
    "name": "Geza Lore",
    "email": "gezalore@gmail.com",
    "time": "Thu Mar 24 13:56:05 2016 +0000"
  },
  "committer": {
    "name": "Geza Lore",
    "email": "gezalore@gmail.com",
    "time": "Thu Apr 07 10:34:25 2016 +0100"
  },
  "message": "Make superblock size variable at the frame level.\n\nThe uncompressed frame header contains a bit to signal whether the\nframe is encoded using 64x64 or 128x128 superblocks. This can vary\nbetween any 2 frames.\n\nvpxenc gained the --sb-size\u003d{64,128,dynamic} option, which allows the\nconfiguration of the superblock size used (default is dynamic). 64/128\nwill force the encoder to always use the specified superblock size.\nDynamic would enable the encoder to choose the sb size for each\nframe, but this is not implemented yet (dynamic does the same as 128\nfor now).\n\nConstraints on tile sizes depend on the superblock size, the following\nis a summary of the current bitstream syntax and semantics:\n\nIf both --enable-ext-tile is OFF and --enable-ext-partition is OFF:\n     The tile coding in this case is the same as VP9. In particular,\n     tiles have a minimum width of 256 pixels and a maximum width of\n     4096 pixels. The tile width must be multiples of 64 pixels\n     (except for the rightmost tile column). There can be a maximum\n     of 64 tile columns and 4 tile rows.\n\nIf --enable-ext-tile is OFF and --enable-ext-partition is ON:\n     Same constraints as above, except that tile width must be\n     multiples of 128 pixels (except for the rightmost tile column).\n\nThere is no change in the bitstream syntax used for coding the tile\nconfiguration if --enable-ext-tile is OFF.\n\nIf --enable-ext-tile is ON and --enable-ext-partition is ON:\n     This is the new large scale tile coding configuration. The\n     minimum/maximum tile width and height are 64/4096 pixels. Tile\n     width and height must be multiples of 64 pixels. The uncompressed\n     header contains two 6 bit fields that hold the tile width/heigh\n     in units of 64 pixels. The maximum number of tile rows/columns\n     is only limited by the maximum frame size of 65536x65536 pixels\n     that can be coded in the bitstream. This yields a maximum of\n     1024x1024 tile rows and columns (of 64x64 tiles in a 65536x65536\n     frame).\n\nIf both --enable-ext-tile is ON and --enable-ext-partition is ON:\n     Same applies as above, except that in the bitstream the 2 fields\n     containing the tile width/height are in units of the superblock\n     size, and the superblock size itself is also coded in the bitstream.\n     If the uncompressed header signals the use of 64x64 superblocks,\n     then the tile width/height fields are 6 bits wide and are in units\n     of 64 pixels. If the uncompressed header signals the use of 128x128\n     superblocks, then the tile width/height fields are 5 bits wide and\n     are in units of 128 pixels.\n\nThe above is a summary of the bitstream. The user interface to vpxenc\n(and the equivalent encoder API) behaves a follows:\n\nIf --enable-ext-tile is OFF:\n     No change in the user interface. --tile-columns and --tile-rows\n     specify the base 2 logarithm of the desired number of tile columns\n     and tile rows. The actual number of tile rows and tile columns,\n     and the particular tile width and tile height are computed by the\n     codec ensuring all of the above constraints are respected.\n\nIf --enable-ext-tile is ON, but --enable-ext-partition is OFF:\n     No change in the user interface. --tile-columns and --tile-rows\n     specify the WIDTH and HEIGHT of the tiles in unit of 64 pixels.\n     The valid values are in the range [1, 64] (which corresponds to\n     [64, 4096] pixels in increments of 64.\n\nIf both --enable-ext-tile is ON and --enable-ext-partition is ON:\n     If --sb-size\u003d64 (default):\n         The user interface is the same as in the previous point.\n         --tile-columns and --tile-rows specify tile WIDTH and HEIGHT,\n         in units of 64 pixels, in the range [1, 64] (which corresponds\n         to [64, 4096] pixels in increments of 64).\n     If --sb-size\u003d128 or --sb-size\u003ddynamic:\n         --tile-columns and --tile-rows specify tile WIDTH and HEIGHT,\n         in units of 128 pixels in the range [1, 32] (which corresponds\n         to [128, 4096] pixels in increments of 128).\n\nChange-Id: Idc9beee1ad12ff1634e83671985d14c680f9179a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dd58e6d30fcb802871ec9ec1c2fd4cb0a8739fcc",
      "old_mode": 33188,
      "old_path": "vp10/common/alloccommon.c",
      "new_id": "abdc72b6a735f18e39459358721116f08ea7aedb",
      "new_mode": 33188,
      "new_path": "vp10/common/alloccommon.c"
    },
    {
      "type": "modify",
      "old_id": "645ae869eb8b68a8147b7c54d541d701484f2ea0",
      "old_mode": 33188,
      "old_path": "vp10/common/enums.h",
      "new_id": "e144a458e118322486ff4b2b7ba0d15f0455f22e",
      "new_mode": 33188,
      "new_path": "vp10/common/enums.h"
    },
    {
      "type": "modify",
      "old_id": "8e75522725aa720e53cfa14214a84811af8fd3ac",
      "old_mode": 33188,
      "old_path": "vp10/common/loopfilter.c",
      "new_id": "23c131d71fa897b260b2e2e5d042759f6abe0e3b",
      "new_mode": 33188,
      "new_path": "vp10/common/loopfilter.c"
    },
    {
      "type": "modify",
      "old_id": "d12249594ef8b28b1dd363237c9f337e6bc433d0",
      "old_mode": 33188,
      "old_path": "vp10/common/onyxc_int.h",
      "new_id": "3ac17e29ebd6a9b4b0a16ef50ff4791ddd522840",
      "new_mode": 33188,
      "new_path": "vp10/common/onyxc_int.h"
    },
    {
      "type": "modify",
      "old_id": "e685745fbee2fc965b164bc57fbd6e2fc594cbc9",
      "old_mode": 33188,
      "old_path": "vp10/common/thread_common.c",
      "new_id": "a94aafdb7efce7fa25dba2d2eae11ba7a8353cc6",
      "new_mode": 33188,
      "new_path": "vp10/common/thread_common.c"
    },
    {
      "type": "modify",
      "old_id": "36ec5d3aa2974bd6c62d7de7f6da432bb382e017",
      "old_mode": 33188,
      "old_path": "vp10/common/tile_common.c",
      "new_id": "04b19eb87b15a4d211326b2b679cff9bddf41627",
      "new_mode": 33188,
      "new_path": "vp10/common/tile_common.c"
    },
    {
      "type": "modify",
      "old_id": "09cf060d8a644dac90c4bdc09889a160f727b5b5",
      "old_mode": 33188,
      "old_path": "vp10/common/tile_common.h",
      "new_id": "2babc89071c43ba8c7f796cb65223c5dde81802b",
      "new_mode": 33188,
      "new_path": "vp10/common/tile_common.h"
    },
    {
      "type": "modify",
      "old_id": "8cc6b845f0efb64af851e3976544e572c2e7f225",
      "old_mode": 33188,
      "old_path": "vp10/decoder/decodeframe.c",
      "new_id": "af57ac6bdaabb47b0079b0b71c5a39791bc16dbe",
      "new_mode": 33188,
      "new_path": "vp10/decoder/decodeframe.c"
    },
    {
      "type": "modify",
      "old_id": "5b0633d90e25e741234586637914be6a6cf8a140",
      "old_mode": 33188,
      "old_path": "vp10/decoder/decodemv.c",
      "new_id": "b52696d1348b6c76253ec4d22a7a2c1a36e31bfe",
      "new_mode": 33188,
      "new_path": "vp10/decoder/decodemv.c"
    },
    {
      "type": "modify",
      "old_id": "9f73eccf7691e8cefdae60f8b0802577bf5503db",
      "old_mode": 33188,
      "old_path": "vp10/encoder/aq_complexity.c",
      "new_id": "a4c38d1c2ec69f7170c5d3698ed21598bcf79bf8",
      "new_mode": 33188,
      "new_path": "vp10/encoder/aq_complexity.c"
    },
    {
      "type": "modify",
      "old_id": "dd98f3abd375e146a6343142f6b995813af54364",
      "old_mode": 33188,
      "old_path": "vp10/encoder/aq_cyclicrefresh.c",
      "new_id": "057c057c2104d5db159e8b20d0596fb41b4bd82e",
      "new_mode": 33188,
      "new_path": "vp10/encoder/aq_cyclicrefresh.c"
    },
    {
      "type": "modify",
      "old_id": "f402acb03b14eaa064b1acd92ff2241fb79bbd0a",
      "old_mode": 33188,
      "old_path": "vp10/encoder/bitstream.c",
      "new_id": "da1885d3ef6a00c889e57954bc2c42c33b3e7b86",
      "new_mode": 33188,
      "new_path": "vp10/encoder/bitstream.c"
    },
    {
      "type": "modify",
      "old_id": "38c25661277732c74c85fcc358696255309e2777",
      "old_mode": 33188,
      "old_path": "vp10/encoder/encodeframe.c",
      "new_id": "6aba4752dcfb770c3eed1606ece3a489d084f3f1",
      "new_mode": 33188,
      "new_path": "vp10/encoder/encodeframe.c"
    },
    {
      "type": "modify",
      "old_id": "5af0684d99ae48d4029a35485a4e20725be96caa",
      "old_mode": 33188,
      "old_path": "vp10/encoder/encoder.c",
      "new_id": "a39575b7738c4cb371f349ea4b3e276cfe5400f3",
      "new_mode": 33188,
      "new_path": "vp10/encoder/encoder.c"
    },
    {
      "type": "modify",
      "old_id": "ddc20f00cf24711cc65cc4da944a388af2c1ac68",
      "old_mode": 33188,
      "old_path": "vp10/encoder/encoder.h",
      "new_id": "2098378bf5c88a37238cafc27b63c052beff8029",
      "new_mode": 33188,
      "new_path": "vp10/encoder/encoder.h"
    },
    {
      "type": "modify",
      "old_id": "446b54dc4015920fb2b6f988349168cc83491935",
      "old_mode": 33188,
      "old_path": "vp10/encoder/rd.c",
      "new_id": "ce9fad73d5c39e6f773f5c8f908b4b929909eb54",
      "new_mode": 33188,
      "new_path": "vp10/encoder/rd.c"
    },
    {
      "type": "modify",
      "old_id": "10be9dfbe65bc6228945dfdf0317d26bfb901bfe",
      "old_mode": 33188,
      "old_path": "vp10/encoder/rd.h",
      "new_id": "80749dcce6996c1c6184a65f2f7022cc5be4c72e",
      "new_mode": 33188,
      "new_path": "vp10/encoder/rd.h"
    },
    {
      "type": "modify",
      "old_id": "980155bd9023a699ed2ea8184b837ac5784d3537",
      "old_mode": 33188,
      "old_path": "vp10/encoder/rdopt.c",
      "new_id": "918ad3e983fc5277f101d5fcbc12e4b13e9e6bc9",
      "new_mode": 33188,
      "new_path": "vp10/encoder/rdopt.c"
    },
    {
      "type": "modify",
      "old_id": "8628b997cdbab4534d8e8cabd7fb520b7042ce51",
      "old_mode": 33188,
      "old_path": "vp10/encoder/segmentation.c",
      "new_id": "f3fa2105776ee2cd1e9e87f04a14a1ee2f46804d",
      "new_mode": 33188,
      "new_path": "vp10/encoder/segmentation.c"
    },
    {
      "type": "modify",
      "old_id": "ea4df6e94dbb37f48cd8c92eff13c25b7937d42e",
      "old_mode": 33188,
      "old_path": "vp10/encoder/speed_features.h",
      "new_id": "6ba074d2db2d9893375c470dffbc21351fb6131a",
      "new_mode": 33188,
      "new_path": "vp10/encoder/speed_features.h"
    },
    {
      "type": "modify",
      "old_id": "047fcfb49f03f0e7ec5aa65519657ad3ec3aeaf1",
      "old_mode": 33188,
      "old_path": "vp10/vp10_cx_iface.c",
      "new_id": "0cad961a2ea2b757420cef75d3f4cc899b482dcb",
      "new_mode": 33188,
      "new_path": "vp10/vp10_cx_iface.c"
    },
    {
      "type": "modify",
      "old_id": "d9764a4816b4eb0ded278e249c5e9f5114ebff77",
      "old_mode": 33188,
      "old_path": "vpx/vp8cx.h",
      "new_id": "13064813ea167cf024eaf26245ce89c6b98c3cf8",
      "new_mode": 33188,
      "new_path": "vpx/vp8cx.h"
    },
    {
      "type": "modify",
      "old_id": "b6037bb4d7a91a46c0aaf31448a5130fc31a7401",
      "old_mode": 33188,
      "old_path": "vpx/vpx_codec.h",
      "new_id": "e65e3f41f53971e2d3bdb9eb7d039abb2100934b",
      "new_mode": 33188,
      "new_path": "vpx/vpx_codec.h"
    },
    {
      "type": "modify",
      "old_id": "e127031768e26f2d9f23ada1a705299e8384e4e3",
      "old_mode": 33188,
      "old_path": "vpx_dsp/vpx_dsp_common.h",
      "new_id": "3571eeadaab2eb33e891219be494b5c6c6f458f8",
      "new_mode": 33188,
      "new_path": "vpx_dsp/vpx_dsp_common.h"
    },
    {
      "type": "modify",
      "old_id": "5e149347794d7a8c311ac4b74671bf034ce001b9",
      "old_mode": 33188,
      "old_path": "vpxenc.c",
      "new_id": "ca298165a67e6c1eea8812f56c3fb633f05e23a4",
      "new_mode": 33188,
      "new_path": "vpxenc.c"
    }
  ]
}
