)]}'
{
  "commit": "ed9c66f5844cd6fd28c7f92e84a769170a56462e",
  "tree": "10f716283111c3765038ed596eb1dcfd6b695141",
  "parents": [
    "6505adf271ff9ad79d024f63ebbdc2819e6ef259"
  ],
  "author": {
    "name": "Scott LaVarnway",
    "email": "slavarnway@google.com",
    "time": "Tue Oct 18 12:06:50 2011 -0400"
  },
  "committer": {
    "name": "Scott LaVarnway",
    "email": "slavarnway@google.com",
    "time": "Tue Oct 18 12:06:50 2011 -0400"
  },
  "message": "Remove usage of predict buffer for decode\n\nInstead of using the predict buffer, the decoder now writes\nthe predictor into the recon buffer.  For blocks with eob\u003d0,\nunnecessary idcts can be eliminated.  This gave a performance\nboost of ~1.8% for the HD clips used.\n\nTero: Added needed changes to ARM side and scheduled some\n      assembly code to prevent interlocks.\n\nPatch Set 6:  Merged (I1bcdca7a95aacc3a181b9faa6b10e3a71ee24df3)\ninto this commit because of similarities in the idct\nfunctions.\nPatch Set 7: EC bug fix.\n\nChange-Id: Ie31d90b5d3522e1108163f2ac491e455e3f955e6\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2b45afe4b812003076c3d13056b85ce783d74d2f",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/arm_systemdependent.c",
      "new_id": "29288519fc8d35b5a0039a3cc868f1178b0879e7",
      "new_mode": 33188,
      "new_path": "vp8/common/arm/arm_systemdependent.c"
    },
    {
      "type": "modify",
      "old_id": "e0660e9fd033f46d89c0b8d80bf4a4e4e4f63c5d",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/armv6/dc_only_idct_add_v6.asm",
      "new_id": "9aa659fa70aa4feed90e4fabe2f1cc7679879040",
      "new_mode": 33188,
      "new_path": "vp8/common/arm/armv6/dc_only_idct_add_v6.asm"
    },
    {
      "type": "modify",
      "old_id": "27215afcd935407f88b07a1d2ba9839f3154631d",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/armv6/idct_v6.asm",
      "new_id": "b4d44cbeba4197699c0c307cccd65c815b79643e",
      "new_mode": 33188,
      "new_path": "vp8/common/arm/armv6/idct_v6.asm"
    },
    {
      "type": "delete",
      "old_id": "99c7bcf2dd8abaaf284744bcec198c89fb88458c",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/armv6/recon_v6.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "8b8d179172b841f1b2be3226c1756e5201ca1b25",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/idct_arm.h",
      "new_id": "c710c2eb055f1c50f216d996be029e0f591963c2",
      "new_mode": 33188,
      "new_path": "vp8/common/arm/idct_arm.h"
    },
    {
      "type": "modify",
      "old_id": "49ba05fb0ec5bc47422a9a6ea82694b457db975d",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/neon/dc_only_idct_add_neon.asm",
      "new_id": "65a4680c1b8cbe5c88e91c253b2c2d9562e1bdba",
      "new_mode": 33188,
      "new_path": "vp8/common/arm/neon/dc_only_idct_add_neon.asm"
    },
    {
      "type": "delete",
      "old_id": "3f1a30f481d0537553799562a746644039c39808",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/neon/recon16x16mb_neon.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "99b251c91a66c27a6a348ef036d10c0c8b70cc63",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/neon/recon2b_neon.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "9917277461afdf5dcc9bf7de119feb36ab59e0f8",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/neon/recon4b_neon.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "d2aafd51f0f1f1b29623343b598e71b1c39d0d9d",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/neon/recon_neon.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "288c0ef01e4d35897f24d1b85bd91c97135ca75a",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/neon/reconb_neon.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "d7bdbae75afa54db2f45646a60b75d6b56e451fa",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/neon/shortidct4x4llm_1_neon.asm",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "b74c31521231c4f0690eae4efb3e1f3586a858ef",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/neon/shortidct4x4llm_neon.asm",
      "new_id": "67d2ab0150ddeea8ba17318a4d6e35bcad412b1b",
      "new_mode": 33188,
      "new_path": "vp8/common/arm/neon/shortidct4x4llm_neon.asm"
    },
    {
      "type": "modify",
      "old_id": "377cb2a075139ef88a194fde7c28fe4846071601",
      "old_mode": 33188,
      "old_path": "vp8/common/arm/recon_arm.h",
      "new_id": "dec7fc42540f63f470ea627e3a4bd081720cf4a1",
      "new_mode": 33188,
      "new_path": "vp8/common/arm/recon_arm.h"
    },
    {
      "type": "modify",
      "old_id": "d1dd602869c149abc9374183e4abcd8c6711a4a5",
      "old_mode": 33188,
      "old_path": "vp8/common/generic/systemdependent.c",
      "new_id": "5c4fbb193a4d74af30b9894165dd646a84594305",
      "new_mode": 33188,
      "new_path": "vp8/common/generic/systemdependent.c"
    },
    {
      "type": "modify",
      "old_id": "f5fd94dfd4e4f452ffefde7f0f8ad9265fe8af5b",
      "old_mode": 33188,
      "old_path": "vp8/common/idct.h",
      "new_id": "411a1b472c3798f28bb2d12411966ead075efbaf",
      "new_mode": 33188,
      "new_path": "vp8/common/idct.h"
    },
    {
      "type": "modify",
      "old_id": "196062df67b6af1a91ef8eafc1ef89611e73b3f5",
      "old_mode": 33188,
      "old_path": "vp8/common/idctllm.c",
      "new_id": "49496abefec586babf4ae9e69597681f1a29b00c",
      "new_mode": 33188,
      "new_path": "vp8/common/idctllm.c"
    },
    {
      "type": "modify",
      "old_id": "81a3f2d890e4d5eebe66fd3e57460c0aa92323b9",
      "old_mode": 33188,
      "old_path": "vp8/common/invtrans.c",
      "new_id": "7712b59b727a13efa1e9d651afbf9bbf5bbbd693",
      "new_mode": 33188,
      "new_path": "vp8/common/invtrans.c"
    },
    {
      "type": "modify",
      "old_id": "7cfc779cdf7230e8f2d82c9d7aed3402a9616f88",
      "old_mode": 33188,
      "old_path": "vp8/common/recon.h",
      "new_id": "62bd71aac257610e2ed37fbd4dc42c3f1dfde7a5",
      "new_mode": 33188,
      "new_path": "vp8/common/recon.h"
    },
    {
      "type": "modify",
      "old_id": "e4e8a80a4bab37548ac9dfeb216da02a9db7ec8a",
      "old_mode": 33188,
      "old_path": "vp8/common/reconinter.c",
      "new_id": "24c09a35385af7b90d1c8f0fcd79b0413f7ef613",
      "new_mode": 33188,
      "new_path": "vp8/common/reconinter.c"
    },
    {
      "type": "modify",
      "old_id": "456812ecdd879b2d5cb2c0fa7274968f8e500cbf",
      "old_mode": 33188,
      "old_path": "vp8/common/reconinter.h",
      "new_id": "86f9d5ae3daad8488b90302bb7fc2474068efa52",
      "new_mode": 33188,
      "new_path": "vp8/common/reconinter.h"
    },
    {
      "type": "modify",
      "old_id": "16dadc47d0b80b8b942699bf6437ee04f7bc1161",
      "old_mode": 33188,
      "old_path": "vp8/common/reconintra.c",
      "new_id": "c0863eeb1c90209b74487050d0c702a63eebd469",
      "new_mode": 33188,
      "new_path": "vp8/common/reconintra.c"
    },
    {
      "type": "modify",
      "old_id": "0e1ebb584117c0e36774b001334e6e50b319e259",
      "old_mode": 33188,
      "old_path": "vp8/common/reconintra4x4.c",
      "new_id": "12430da92e404448b8a492a6138c757d2f17a1ac",
      "new_mode": 33188,
      "new_path": "vp8/common/reconintra4x4.c"
    },
    {
      "type": "modify",
      "old_id": "f6e568cdcddb1a03b13b8e26f3763adcef418f97",
      "old_mode": 33188,
      "old_path": "vp8/common/x86/idct_x86.h",
      "new_id": "f9e3a794d227a2a4d7e4796d2f6b166789d877a0",
      "new_mode": 33188,
      "new_path": "vp8/common/x86/idct_x86.h"
    },
    {
      "type": "modify",
      "old_id": "465626b8fa3d1e7be91476a8eb43dbd677cc9929",
      "old_mode": 33188,
      "old_path": "vp8/common/x86/idctllm_mmx.asm",
      "new_id": "0c9c205c2c370126e32dc357d8f6d62ba6182466",
      "new_mode": 33188,
      "new_path": "vp8/common/x86/idctllm_mmx.asm"
    },
    {
      "type": "modify",
      "old_id": "83d3765ff8e1ec51de76f7c124c59488530515d7",
      "old_mode": 33188,
      "old_path": "vp8/common/x86/idctllm_sse2.asm",
      "new_id": "abeb0b682e77d7e359737334fdae4bfdf99c3256",
      "new_mode": 33188,
      "new_path": "vp8/common/x86/idctllm_sse2.asm"
    },
    {
      "type": "modify",
      "old_id": "e7211fccb50e6fa5aaf8cbcb5707f3b131c60a45",
      "old_mode": 33188,
      "old_path": "vp8/common/x86/recon_mmx.asm",
      "new_id": "19c0faf3fcfb512c7feee1813244691f4b4a184e",
      "new_mode": 33188,
      "new_path": "vp8/common/x86/recon_mmx.asm"
    },
    {
      "type": "modify",
      "old_id": "f54cc4e7e7fd38316beaca560d1fbd66a1e8e38e",
      "old_mode": 33188,
      "old_path": "vp8/common/x86/recon_sse2.asm",
      "new_id": "a82c1b4fd6b52c881c8de6c2abd454460342480d",
      "new_mode": 33188,
      "new_path": "vp8/common/x86/recon_sse2.asm"
    },
    {
      "type": "modify",
      "old_id": "fe0f8f0bc79247ac20aa1282b4dac5e3a908f28e",
      "old_mode": 33188,
      "old_path": "vp8/common/x86/recon_x86.h",
      "new_id": "fbb3dcb63d4b75ff4d2b4d921bc701a62735823d",
      "new_mode": 33188,
      "new_path": "vp8/common/x86/recon_x86.h"
    },
    {
      "type": "modify",
      "old_id": "33a984b792165a3d83c2012c1c106cfa7cbe0f40",
      "old_mode": 33188,
      "old_path": "vp8/common/x86/x86_systemdependent.c",
      "new_id": "c4e616a678b14ddd2915e116cca17ff569ca5629",
      "new_mode": 33188,
      "new_path": "vp8/common/x86/x86_systemdependent.c"
    },
    {
      "type": "modify",
      "old_id": "6bebda24f92dad2c2158066667e4b2b1eea640a9",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/armv6/dequant_dc_idct_v6.asm",
      "new_id": "19f94e08990c97e38dbfafdfe4e8900a05307389",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/armv6/dequant_dc_idct_v6.asm"
    },
    {
      "type": "modify",
      "old_id": "47b671ca6faf295731a6a5258675810f28a3035a",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/armv6/dequant_idct_v6.asm",
      "new_id": "2510ad838357c76e3f0e00a4855d13e0e1bd2095",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/armv6/dequant_idct_v6.asm"
    },
    {
      "type": "modify",
      "old_id": "5c7592f357974610be6d070664e038bbc24568c2",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/armv6/idct_blk_v6.c",
      "new_id": "686bb737f5edbcc9cd6b7e8f3acd673edd01e4d6",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/armv6/idct_blk_v6.c"
    },
    {
      "type": "modify",
      "old_id": "b7d800d2603c639b39071e1f9fa367a0cde49f0c",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/dequantize_arm.h",
      "new_id": "c020c8530b2ab27bcc83fa16830a626f8863247e",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/dequantize_arm.h"
    },
    {
      "type": "modify",
      "old_id": "4bf66185796d518f40ae8f5f9a82672c22a6b593",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/neon/dequant_idct_neon.asm",
      "new_id": "602cce67697381d26d11db57359f7261c397d3c9",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/neon/dequant_idct_neon.asm"
    },
    {
      "type": "modify",
      "old_id": "f31654060ba18f205b352f8eb908d5b06db508c9",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/neon/idct_blk_neon.c",
      "new_id": "086293114568dc5606560bca0d5a3a60d6e369bc",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/neon/idct_blk_neon.c"
    },
    {
      "type": "modify",
      "old_id": "456f8e1d41c14a0482704f3505b09445b1d60946",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/neon/idct_dequant_0_2x_neon.asm",
      "new_id": "6c29c55860d899a502bcd5aac71c5dfe459bd659",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/neon/idct_dequant_0_2x_neon.asm"
    },
    {
      "type": "modify",
      "old_id": "0dc036acbf584d0f5413e388c290185714afa284",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/neon/idct_dequant_dc_0_2x_neon.asm",
      "new_id": "bf8d7ddcddd1feff6f6c2a49232d7957c965f135",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/neon/idct_dequant_dc_0_2x_neon.asm"
    },
    {
      "type": "modify",
      "old_id": "61fa66075385f718f30d3275d0826b51d4054ad9",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.asm",
      "new_id": "eea41f68c7bb08fe6bcda8806f67e7337c2946ab",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/neon/idct_dequant_dc_full_2x_neon.asm"
    },
    {
      "type": "modify",
      "old_id": "772ec468562a387564a9d806e6802c28d91ebbd9",
      "old_mode": 33188,
      "old_path": "vp8/decoder/arm/neon/idct_dequant_full_2x_neon.asm",
      "new_id": "d5dce63f6bd72b54d4a3d964a93dd485fccc06ed",
      "new_mode": 33188,
      "new_path": "vp8/decoder/arm/neon/idct_dequant_full_2x_neon.asm"
    },
    {
      "type": "modify",
      "old_id": "6bbc71f7986a0bdcf211351d0125395987da0c23",
      "old_mode": 33188,
      "old_path": "vp8/decoder/decodframe.c",
      "new_id": "81f28db891615f7521c6fef78a1095c34d29db23",
      "new_mode": 33188,
      "new_path": "vp8/decoder/decodframe.c"
    },
    {
      "type": "modify",
      "old_id": "a60442fe86a617ce9bdea67ac8387a751fc0e230",
      "old_mode": 33188,
      "old_path": "vp8/decoder/dequantize.c",
      "new_id": "0861965eb3a5961d8a54a58e24ebd30a1a42626e",
      "new_mode": 33188,
      "new_path": "vp8/decoder/dequantize.c"
    },
    {
      "type": "modify",
      "old_id": "2e662a59382861cc2305f474ba553ceaadb2ac2c",
      "old_mode": 33188,
      "old_path": "vp8/decoder/dequantize.h",
      "new_id": "019b7f6d12ebe55575beaaa0268ba0b433ed7443",
      "new_mode": 33188,
      "new_path": "vp8/decoder/dequantize.h"
    },
    {
      "type": "modify",
      "old_id": "48f97b5658b1e0862a2d945f8e16df3e21a763bc",
      "old_mode": 33188,
      "old_path": "vp8/decoder/error_concealment.c",
      "new_id": "86fa191d3996b65b41ad7410c320a19b939e0915",
      "new_mode": 33188,
      "new_path": "vp8/decoder/error_concealment.c"
    },
    {
      "type": "modify",
      "old_id": "04bce665e220b02e54314c0d46e1ecf4a8d10257",
      "old_mode": 33188,
      "old_path": "vp8/decoder/idct_blk.c",
      "new_id": "1c16b92a9ae2038ac6a1720b2bc57920424e2422",
      "new_mode": 33188,
      "new_path": "vp8/decoder/idct_blk.c"
    },
    {
      "type": "modify",
      "old_id": "9bba5b75fd2680823eb6c25668b92b02e7e6f3e1",
      "old_mode": 33188,
      "old_path": "vp8/decoder/reconintra_mt.c",
      "new_id": "bcb2636fdfddc37a545cb7570d7538d8c935c616",
      "new_mode": 33188,
      "new_path": "vp8/decoder/reconintra_mt.c"
    },
    {
      "type": "modify",
      "old_id": "d401295b21351b3528e6e40322d3906dc8f73774",
      "old_mode": 33188,
      "old_path": "vp8/decoder/reconintra_mt.h",
      "new_id": "4576a8064946cf0384df78ddc5489ba3e94f1150",
      "new_mode": 33188,
      "new_path": "vp8/decoder/reconintra_mt.h"
    },
    {
      "type": "modify",
      "old_id": "bfe09735c604316830cf7e70ad6f4f417e5c3457",
      "old_mode": 33188,
      "old_path": "vp8/decoder/threading.c",
      "new_id": "eba5830d5f177caf6953bc3f1c2097fc79971ebb",
      "new_mode": 33188,
      "new_path": "vp8/decoder/threading.c"
    },
    {
      "type": "modify",
      "old_id": "0d6133a462e95783e08d0e0df9e45a7ac61b24df",
      "old_mode": 33188,
      "old_path": "vp8/decoder/x86/dequantize_mmx.asm",
      "new_id": "648bde4c5cb0755a96e25a8f0a0b2e88110204ec",
      "new_mode": 33188,
      "new_path": "vp8/decoder/x86/dequantize_mmx.asm"
    },
    {
      "type": "modify",
      "old_id": "558dbaf7eeed3721053a37580f7ff40a31fd4283",
      "old_mode": 33188,
      "old_path": "vp8/decoder/x86/idct_blk_mmx.c",
      "new_id": "37de5b9fdc1b6099eaafb2a7dac3a45511b17a89",
      "new_mode": 33188,
      "new_path": "vp8/decoder/x86/idct_blk_mmx.c"
    },
    {
      "type": "modify",
      "old_id": "a6a720639ff7e613e53c09f72668b381a5ec0467",
      "old_mode": 33188,
      "old_path": "vp8/decoder/x86/idct_blk_sse2.c",
      "new_id": "0495b06108dde3a2ac4fa655ff40d89788722ff5",
      "new_mode": 33188,
      "new_path": "vp8/decoder/x86/idct_blk_sse2.c"
    },
    {
      "type": "modify",
      "old_id": "4a77c1ff3d44543348387e64771c227f7eb15089",
      "old_mode": 33188,
      "old_path": "vp8/encoder/encodeintra.c",
      "new_id": "74e40323dbf2eff9cf40c3bb503108626dbc234f",
      "new_mode": 33188,
      "new_path": "vp8/encoder/encodeintra.c"
    },
    {
      "type": "modify",
      "old_id": "ff9e3e6ee6fffd9856da28ee8864d7d6d11841dd",
      "old_mode": 33188,
      "old_path": "vp8/encoder/encodemb.c",
      "new_id": "b3c7df502890a413b5e190e604f45fc26a9d4fc5",
      "new_mode": 33188,
      "new_path": "vp8/encoder/encodemb.c"
    },
    {
      "type": "modify",
      "old_id": "4a8258170b94c604ef666c699d39626200dbe69d",
      "old_mode": 33188,
      "old_path": "vp8/encoder/pickinter.c",
      "new_id": "62e644deaeb897772d47555d61541ec7431e4b91",
      "new_mode": 33188,
      "new_path": "vp8/encoder/pickinter.c"
    },
    {
      "type": "modify",
      "old_id": "124cfe564727ee3353f958df5e059518ccedd359",
      "old_mode": 33188,
      "old_path": "vp8/encoder/rdopt.c",
      "new_id": "fdb519c19951e3f2cc8a29561fde89860b87e828",
      "new_mode": 33188,
      "new_path": "vp8/encoder/rdopt.c"
    },
    {
      "type": "modify",
      "old_id": "5f2e6a354a894f37509728c58d4e55894532cc0e",
      "old_mode": 33188,
      "old_path": "vp8/vp8_common.mk",
      "new_id": "85b8113d7ab9e323166663a237f85ddd15839515",
      "new_mode": 33188,
      "new_path": "vp8/vp8_common.mk"
    }
  ]
}
