)]}'
{
  "commit": "615dc24579d531cb3a2c9627ab25a3026f9e2b47",
  "tree": "1cb2a23b5f66527222bb3aca7b5d07594b1392ea",
  "parents": [
    "0de21d3cf211283deb87ac20174148d14abbc9de"
  ],
  "author": {
    "name": "sdeng",
    "email": "sdeng@google.com",
    "time": "Tue Feb 04 16:06:14 2020 -0800"
  },
  "committer": {
    "name": "Sai Deng",
    "email": "sdeng@google.com",
    "time": "Thu Feb 06 03:11:24 2020 +0000"
  },
  "message": "Add new mode tune\u003dvmaf\n\nThis mode enables block based video pre-processing, RDO Lagrange\nmultiplier scaling using VMAF and VMAF motion based Q-index adjustment\nto maximize encoder\u0027s VMAF performance.\n\nBlock based video pre-processing\n--------------------------------\nBased on the observation that VMAF score can be increased by applying\nsharpening filters, we propose this method to pre-process blocks with\ndifferent filter strength.\n\nRDO Lagrange multiplier scaling using VMAF\n------------------------------------------\nScale the Lagrange multiplier used during the block partition search\nstage according to this block\u0027s MSE-VMAF curve.\n\nVMAF motion based Q-index adjustment\n------------------------------------\nA data fitting method is used to calculate the scaling factor of frame\u0027s\nbase Q index based on its VMAF motion score.\n\nHow to use it\n-------------\n1) Install libvmaf (https://github.com/Netflix/vmaf/tree/master/libvmaf)\n1.1) Checkout libvmaf (I am in \u0027a833dc9\u0027)\n       \u003egit clone https://github.com/Netflix/vmaf.git\n1.2) Build \u0026 install libvmaf\n       \u003ecd vmaf/libvmaf/\n       \u003emeson build --buildtype release\n       \u003eninja -vC build install\n2) Build \u0026 run aomenc with tune\u003dvmaf\n     \u003ecmake path/to/aom/ -DCONFIG_TUNE_VMAF\u003d1\n     \u003emake -j32\n     \u003e./aomenc red_kayak_480p.y4m -o output --tune\u003dvmaf\n\nResults (BD-rate improvments)\n-----------------------------\nTest settings:\nVBR, 150 frames, cpu-used\u003d1/3 for midres/hdres, tune\u003dpsnr as baseline\n\ntune\u003d     vmaf   vmaf_with_preprocessing   vmaf_without_preprocessing\n          VMAF            VMAF                PSNR    SSIM    VMAF\nHdres   -37.90%         -35.83%              3.10%   3.71%  -4.69%\nMidres  -29.02%         -27.75%              3.74%   4.12%  -5.19%\n\nChange-Id: I6ac64fc648ec4fa225b90bc1920658b94a469fac\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8007ed2dae0184a3c46c3bfc6f4b0e2bf8deb42c",
      "old_mode": 33188,
      "old_path": "aom/aomcx.h",
      "new_id": "0acaa5d398ce83e0d50d3777ae535f3b69109da2",
      "new_mode": 33188,
      "new_path": "aom/aomcx.h"
    },
    {
      "type": "modify",
      "old_id": "1f814bd80022951b99f1faeaf59f212029418529",
      "old_mode": 33188,
      "old_path": "apps/aomenc.c",
      "new_id": "3ca784f2273216476dbaaba06d849d7d0b97cd02",
      "new_mode": 33188,
      "new_path": "apps/aomenc.c"
    },
    {
      "type": "modify",
      "old_id": "d5cef3f8c002afc81577e1048b4ccb8df3b9bf35",
      "old_mode": 33188,
      "old_path": "av1/av1_cx_iface.c",
      "new_id": "848077676fd2bda2ab2f0b1288ccd0afb1b734cb",
      "new_mode": 33188,
      "new_path": "av1/av1_cx_iface.c"
    },
    {
      "type": "modify",
      "old_id": "3b06cdf855f16d51642ef532f206730862acf6c3",
      "old_mode": 33188,
      "old_path": "av1/encoder/encodeframe.c",
      "new_id": "4cc824bc57a1e45f4412cc36f9ebeb45d17c92d2",
      "new_mode": 33188,
      "new_path": "av1/encoder/encodeframe.c"
    },
    {
      "type": "modify",
      "old_id": "c0fc1d7ea6b6815734e9f59a1e6a99e07622fc1b",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.c",
      "new_id": "908b02b73896aec979066af46342978685192308",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.c"
    }
  ]
}
