)]}'
{
  "commit": "209d82ad722bd9eb0de2d2cd1e73aec281f00e00",
  "tree": "e15b2fdc602a4491ee449c9b71bd3336555d2dbd",
  "parents": [
    "d6c67f02c9aae706701d3b94c20830b056c57ded"
  ],
  "author": {
    "name": "John Koleszar",
    "email": "jkoleszar@google.com",
    "time": "Tue Oct 26 15:34:16 2010 -0400"
  },
  "committer": {
    "name": "John Koleszar",
    "email": "jkoleszar@google.com",
    "time": "Tue Oct 26 20:00:56 2010 -0700"
  },
  "message": "Add half-pixel variance RTCD functions\n\nNEON has optimized 16x16 half-pixel variance functions, but they\nwere not part of the RTCD framework. Add these functions to RTCD,\nso that other platforms can make use of this optimization in the\nfuture and special-case ARM code can be removed.\n\nA number of functions were taking two variance functions as\nparameters. These functions were changed to take a single\nparameter, a pointer to a struct containing all the variance\nfunctions for that block size. This provides additional flexibility\nfor calling additional variance functions (the half-pixel special\ncase, for example) and by initializing the table for all block sizes,\nwe don\u0027t have to construct this function pointer table for each\nmacroblock.\n\nChange-Id: I78289ff36b2715f9a7aa04d5f6fbe3d23acdc29c\n",
  "tree_diff": [
    {
      "type": "delete",
      "old_id": "27146e23f5dac2eec4ea1f38034d41c615d364a4",
      "old_mode": 33188,
      "old_path": "vp8/encoder/arm/mcomp_arm.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "1c1441cc2c0769711021d9a0f59bff62279ee2ea",
      "old_mode": 33188,
      "old_path": "vp8/encoder/arm/neon/vp8_subpixelvariance16x16s_neon.asm",
      "new_id": "0a2b71c49c6baab9fb3cc39f9caa38f842d2618e",
      "new_mode": 33188,
      "new_path": "vp8/encoder/arm/neon/vp8_subpixelvariance16x16s_neon.asm"
    },
    {
      "type": "modify",
      "old_id": "fb9dd5a5b0402a94778b7d0a1084c6bec9119e01",
      "old_mode": 33188,
      "old_path": "vp8/encoder/arm/variance_arm.h",
      "new_id": "0e5f62fcf776abc6e67cdb7b5c10a99649254408",
      "new_mode": 33188,
      "new_path": "vp8/encoder/arm/variance_arm.h"
    },
    {
      "type": "modify",
      "old_id": "607c3d23645b81e88aa2752e6e40172f68ae9512",
      "old_mode": 33188,
      "old_path": "vp8/encoder/firstpass.c",
      "new_id": "691aee0a60517c29306279c6f675adaa08165f65",
      "new_mode": 33188,
      "new_path": "vp8/encoder/firstpass.c"
    },
    {
      "type": "modify",
      "old_id": "c5cae9cf2699445b898181993de874b12e47e38a",
      "old_mode": 33188,
      "old_path": "vp8/encoder/mcomp.c",
      "new_id": "8cc63f83d7707386eec218cf702ce83105a77485",
      "new_mode": 33188,
      "new_path": "vp8/encoder/mcomp.c"
    },
    {
      "type": "modify",
      "old_id": "7cc924279afe710afe8d0977b4d9501db351308f",
      "old_mode": 33188,
      "old_path": "vp8/encoder/mcomp.h",
      "new_id": "181e95822b88eff3b6570661272325ea62b7af7c",
      "new_mode": 33188,
      "new_path": "vp8/encoder/mcomp.h"
    },
    {
      "type": "modify",
      "old_id": "bd41b2cb6a88da76b42c201cdda142946dabb988",
      "old_mode": 33188,
      "old_path": "vp8/encoder/onyx_if.c",
      "new_id": "7a78b2901285a01292e7eb321b486c23ae777bc6",
      "new_mode": 33188,
      "new_path": "vp8/encoder/onyx_if.c"
    },
    {
      "type": "modify",
      "old_id": "eb516e9277ca32ba4e80c1e0751af33cb3d1034f",
      "old_mode": 33188,
      "old_path": "vp8/encoder/onyx_int.h",
      "new_id": "81e32f031d845995c03a043cdcddab04dc553b55",
      "new_mode": 33188,
      "new_path": "vp8/encoder/onyx_int.h"
    },
    {
      "type": "modify",
      "old_id": "8821b3a0ba32565ed24e2c1f5dea22852d8c0d35",
      "old_mode": 33188,
      "old_path": "vp8/encoder/pickinter.c",
      "new_id": "2f7dd9c7c47f6b4fe623d1a6183545a64440c578",
      "new_mode": 33188,
      "new_path": "vp8/encoder/pickinter.c"
    },
    {
      "type": "modify",
      "old_id": "dbef85b9f71c9b838cb00d18735b079e284fba7c",
      "old_mode": 33188,
      "old_path": "vp8/encoder/rdopt.c",
      "new_id": "8f406b9b76875648ba8295732da4ebae47a87bcb",
      "new_mode": 33188,
      "new_path": "vp8/encoder/rdopt.c"
    },
    {
      "type": "modify",
      "old_id": "630afdbf17910d6f6c84524e14fb73a4ab416e65",
      "old_mode": 33188,
      "old_path": "vp8/encoder/temporal_filter.c",
      "new_id": "fd5dd7edeb2be96e555b0bc90b533febca28f824",
      "new_mode": 33188,
      "new_path": "vp8/encoder/temporal_filter.c"
    },
    {
      "type": "modify",
      "old_id": "3c9ae987c6fa6b56f52f6ca7c3b40b1061e1ba7b",
      "old_mode": 33188,
      "old_path": "vp8/encoder/variance.h",
      "new_id": "f60038f022188657dc942ff1707dd278a9dcb269",
      "new_mode": 33188,
      "new_path": "vp8/encoder/variance.h"
    },
    {
      "type": "modify",
      "old_id": "1774143511be75913ca94833b2d3588918fd0629",
      "old_mode": 33188,
      "old_path": "vp8/encoder/variance_c.c",
      "new_id": "48d5bb501c59d2b27be689f51b94568f0ac91432",
      "new_mode": 33188,
      "new_path": "vp8/encoder/variance_c.c"
    },
    {
      "type": "modify",
      "old_id": "d126faf32fcd98346ed1eaf7518dc164ee543005",
      "old_mode": 33188,
      "old_path": "vp8/vp8cx_arm.mk",
      "new_id": "da27e08972e66fc943733a1754ce8308aa8980cc",
      "new_mode": 33188,
      "new_path": "vp8/vp8cx_arm.mk"
    }
  ]
}
