)]}'
{
  "commit": "7a07eea13fc94036f54cdb6f1233b9af8b094ced",
  "tree": "4213f82f6927ff763e3c7c5158e83b9a44e6facd",
  "parents": [
    "5ca6a3667f6d50c355507a1a37eda96254218a5e"
  ],
  "author": {
    "name": "John Koleszar",
    "email": "jkoleszar@google.com",
    "time": "Mon Jan 28 16:59:03 2013 -0800"
  },
  "committer": {
    "name": "John Koleszar",
    "email": "jkoleszar@google.com",
    "time": "Tue Feb 05 14:23:17 2013 -0800"
  },
  "message": "Convert subpixel filters to use convolve framework\n\nUpdate the code to call the new convolution functions to do subpixel\nprediction rather than the existing functions. Remove the old C and\nassembly code, since it is unused. This causes a 50% performance\nreduction on the decoder, but that will be resolved when the asm for\nthe new functions is available.\n\nThere is no consensus for whether 6-tap or 2-tap predictors will be\nsupported in the final codec, so these filters are implemented in\nterms of the 8-tap code, so that quality testing of these modes\ncan continue. Implementing the lower complexity algorithms is a\nsimple exercise, should it be necessary.\n\nThis code produces slightly better results in the EIGHTTAP_SMOOTH\ncase, since the filter is now applied in only one direction when\nthe subpel motion is only in one direction. Like the previous code,\nthe filtering is skipped entirely on full-pel MVs. This combination\nseems to give the best quality gains, but this may be indicative of a\nbug in the encoder\u0027s filter selection, since the encoder could\nachieve the result of skipping the filtering on full-pel by selecting\none of the other filters. This should be revisited.\n\nQuality gains on derf positive on almost all clips. The only clip\nthat seemed to be hurt at all datarates was football\n(-0.115% PSNR average, -0.587% min). Overall averages 0.375% PSNR,\n0.347% SSIM.\n\nChange-Id: I7d469716091b1d89b4b08adde5863999319d69ff\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b02f3f083430cb17f27f8139ee0294f00cc16e32",
      "old_mode": 33188,
      "old_path": "vp9/common/generic/vp9_systemdependent.c",
      "new_id": "79092cd0eb6020010328ae39c02c45ce4dbfcc78",
      "new_mode": 33188,
      "new_path": "vp9/common/generic/vp9_systemdependent.c"
    },
    {
      "type": "modify",
      "old_id": "106a2b763e31a35b46f588cd1bdd54f03b6d0518",
      "old_mode": 33188,
      "old_path": "vp9/common/ppc/vp9_systemdependent.c",
      "new_id": "02035191f37fbac5d415b9a0392c1fc4478b2ffe",
      "new_mode": 33188,
      "new_path": "vp9/common/ppc/vp9_systemdependent.c"
    },
    {
      "type": "modify",
      "old_id": "b34f308d3af58b04ce396edafe2ba96cae03c83a",
      "old_mode": 33188,
      "old_path": "vp9/common/vp9_blockd.h",
      "new_id": "241cb8a13f7a38b55a0354c4991f489e1bb64674",
      "new_mode": 33188,
      "new_path": "vp9/common/vp9_blockd.h"
    },
    {
      "type": "modify",
      "old_id": "ed188c3f25364e8ea906b69990735afa575557d9",
      "old_mode": 33188,
      "old_path": "vp9/common/vp9_convolve.c",
      "new_id": "f21f1d84e886ea997239978e2f42138df3dd2bed",
      "new_mode": 33188,
      "new_path": "vp9/common/vp9_convolve.c"
    },
    {
      "type": "modify",
      "old_id": "07d8a169f6dbdd1332d1873ff27fe3d2c3c29f36",
      "old_mode": 33188,
      "old_path": "vp9/common/vp9_filter.c",
      "new_id": "5e425895fddd58c673dce99c9ef7732d05e86570",
      "new_mode": 33188,
      "new_path": "vp9/common/vp9_filter.c"
    },
    {
      "type": "modify",
      "old_id": "cd666578d3cd53a7cd1d062b8553338dbbf41b79",
      "old_mode": 33188,
      "old_path": "vp9/common/vp9_filter.h",
      "new_id": "1ccfdaac25c57f45ebe02179cb1458ba6abf62a1",
      "new_mode": 33188,
      "new_path": "vp9/common/vp9_filter.h"
    },
    {
      "type": "modify",
      "old_id": "88f2ea9c183f002e143c732f57083fb185e75aa2",
      "old_mode": 33188,
      "old_path": "vp9/common/vp9_findnearmv.c",
      "new_id": "f2c889108133535ab5421abda3144790bb4b1b64",
      "new_mode": 33188,
      "new_path": "vp9/common/vp9_findnearmv.c"
    },
    {
      "type": "modify",
      "old_id": "20de7b7f1d8b5f08c189d70384c5bcc92cb2c02b",
      "old_mode": 33188,
      "old_path": "vp9/common/vp9_reconinter.c",
      "new_id": "d4435d872d94015992f283656f677f2107c0f004",
      "new_mode": 33188,
      "new_path": "vp9/common/vp9_reconinter.c"
    },
    {
      "type": "modify",
      "old_id": "89868b95efcadda7411b92d0cc3287e87f3f6950",
      "old_mode": 33188,
      "old_path": "vp9/common/vp9_reconinter.h",
      "new_id": "903bd2e86ddc35b783270b9e9a05e357f9c6e8bf",
      "new_mode": 33188,
      "new_path": "vp9/common/vp9_reconinter.h"
    },
    {
      "type": "modify",
      "old_id": "762dd75c0ab8d6c8cf1de300afb33b233f6152b6",
      "old_mode": 33188,
      "old_path": "vp9/common/vp9_rtcd_defs.sh",
      "new_id": "9698172b2a6facb2279ca3da437bff4d85ff7c17",
      "new_mode": 33188,
      "new_path": "vp9/common/vp9_rtcd_defs.sh"
    },
    {
      "type": "delete",
      "old_id": "dc4eadfb190c4650ca1beb965e53f4aeb92b96bd",
      "old_mode": 33188,
      "old_path": "vp9/common/vp9_subpixel.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "f09e2d78be86786cbb07a3aeace47d73f02e1172",
      "old_mode": 33188,
      "old_path": "vp9/common/x86/vp9_asm_stubs.c",
      "new_id": "d233247b2bf4f0cb2f966ccf4b7f3a842320c4d4",
      "new_mode": 33188,
      "new_path": "vp9/common/x86/vp9_asm_stubs.c"
    },
    {
      "type": "delete",
      "old_id": "8e02ac1975eb13597aedab4c70b33189c8fd7954",
      "old_mode": 33188,
      "old_path": "vp9/common/x86/vp9_filter_sse2.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "52c35b29689d85f0e33778feaee08139772e2b01",
      "old_mode": 33188,
      "old_path": "vp9/common/x86/vp9_filter_sse4.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "c6d65e904379586afdb5a923af3cfc1110d578a0",
      "old_mode": 33188,
      "old_path": "vp9/common/x86/vp9_subpixel_8t_ssse3.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "dee29b8fbb1d76f89a5ee3701d247c69d282b585",
      "old_mode": 33188,
      "old_path": "vp9/common/x86/vp9_subpixel_mmx.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "b0c4f12825cbd0e179caf55c7911693762b7eebe",
      "old_mode": 33188,
      "old_path": "vp9/common/x86/vp9_subpixel_sse2.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "b260480e0364eafc957ea561fcf294a6d22e165c",
      "old_mode": 33188,
      "old_path": "vp9/common/x86/vp9_subpixel_ssse3.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "25bc26d9bddc50a69d8288c2466dc21f8649de24",
      "old_mode": 33188,
      "old_path": "vp9/common/x86/vp9_subpixel_x86.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "4a0794a9b24b9c48b52b273499bc1c325b41914f",
      "old_mode": 33188,
      "old_path": "vp9/encoder/vp9_onyx_if.c",
      "new_id": "1bbf95468f52b31161e7156f7957de1493c08421",
      "new_mode": 33188,
      "new_path": "vp9/encoder/vp9_onyx_if.c"
    },
    {
      "type": "modify",
      "old_id": "2e9bbcfc1e25db82fcf94e188dc7fe8d4803cfa2",
      "old_mode": 33188,
      "old_path": "vp9/encoder/vp9_rdopt.c",
      "new_id": "200a6a947337a0ac2836ec053a3fd28330ade53e",
      "new_mode": 33188,
      "new_path": "vp9/encoder/vp9_rdopt.c"
    },
    {
      "type": "modify",
      "old_id": "8bbe534860c99df912bbc75f14329cccf6d3e1ce",
      "old_mode": 33188,
      "old_path": "vp9/encoder/vp9_temporal_filter.c",
      "new_id": "7bca01e0514a93374dcb524026146215c5733541",
      "new_mode": 33188,
      "new_path": "vp9/encoder/vp9_temporal_filter.c"
    },
    {
      "type": "modify",
      "old_id": "d03e285c6340f43a12dcf7fb2bca23a96b4db28e",
      "old_mode": 33188,
      "old_path": "vp9/encoder/vp9_variance_c.c",
      "new_id": "d07a65b4551c8171c4946ead30d7c5c375fa3e97",
      "new_mode": 33188,
      "new_path": "vp9/encoder/vp9_variance_c.c"
    },
    {
      "type": "modify",
      "old_id": "d1805be62b069d298d99116ff3cc664862037a42",
      "old_mode": 33188,
      "old_path": "vp9/vp9_common.mk",
      "new_id": "c7e8acb454dbd38d2f918cd2cc86d6471e765544",
      "new_mode": 33188,
      "new_path": "vp9/vp9_common.mk"
    }
  ]
}
