)]}'
{
  "commit": "8cd4d41cb464b87ee3e4776dcf830eb2a7774027",
  "tree": "d60d6a5a9ea33b6ec729a2bf049246abd3551a57",
  "parents": [
    "900fa7eef8505fe0a530115c67c04d956e20f48e"
  ],
  "author": {
    "name": "Julio Barba",
    "email": "juliobbv@gmail.com",
    "time": "Tue Feb 24 18:19:47 2026 -0500"
  },
  "committer": {
    "name": "Wan-Teh Chang",
    "email": "wtc@google.com",
    "time": "Fri Mar 06 15:42:20 2026 -0800"
  },
  "message": "Introduce `use_fixed_qp_offsets \u003d 2`\n\nIn this mode, the encoder doesn\u0027t apply any QP offsets to frames at\ndifferent levels of the pyramid. Instead, the frame qp is directly\nderived from `rc_cfg.cq_level`.\n\nThis is useful when consumers of libaom desire full control of each\nframe\u0027s QP, by adjusting `rc_cfg.cq_level` between each encoded\nframe.\n\nThis behavior is modeled after SVT-AV1\u0027s\n`use-fixed-qindex-offsets \u003d 1`, specifically the behavior where the\nencoder will assign the same QP to every frame (referred to as\n\"disabling QP scaling\" in SVT-AV1\u0027s code), if the user doesn\u0027t pass\nin an array of QP offsets explicitly.\n\nChange-Id: Iff3eccee99907d68707a22ada9ec667d2e35883a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6fb50eb505c0f89c706bb2904b7b28047284149d",
      "old_mode": 33188,
      "old_path": "aom/aom_encoder.h",
      "new_id": "9d412af3319f485f3d5290524b194bfae55d0a69",
      "new_mode": 33188,
      "new_path": "aom/aom_encoder.h"
    },
    {
      "type": "modify",
      "old_id": "ad28435460a78bf37d58e604bacfce5759151ceb",
      "old_mode": 33188,
      "old_path": "av1/arg_defs.c",
      "new_id": "e8809cbe4f943b68c96b516c9c9c6ef3e2a2e385",
      "new_mode": 33188,
      "new_path": "av1/arg_defs.c"
    },
    {
      "type": "modify",
      "old_id": "00c6147f05808630469d69952d7f661545e414a2",
      "old_mode": 33188,
      "old_path": "av1/av1_cx_iface.c",
      "new_id": "36df9636ca339e9f61264919b63f556fc1e89ce4",
      "new_mode": 33188,
      "new_path": "av1/av1_cx_iface.c"
    },
    {
      "type": "modify",
      "old_id": "bebb1f67182fb88af5d3193d80b8fb4e23d9c012",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.c",
      "new_id": "6182f1d78125db57bdb0e5276fec68a1486b51e6",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.c"
    },
    {
      "type": "modify",
      "old_id": "52bb9754c0e0d00380c762c490db46ad788992b4",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder.h",
      "new_id": "a5b334feca4ccdd0276d8711e7d066ff6a0bfb6d",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder.h"
    },
    {
      "type": "modify",
      "old_id": "e68938561a5a134148188f3ce7da6e1119c89536",
      "old_mode": 33188,
      "old_path": "av1/encoder/encoder_utils.c",
      "new_id": "2bc36d39375f7e589894f13d074fec23424a418f",
      "new_mode": 33188,
      "new_path": "av1/encoder/encoder_utils.c"
    },
    {
      "type": "modify",
      "old_id": "43e6a78fb616c5bdc24232be73e34b933ea5a023",
      "old_mode": 33188,
      "old_path": "av1/encoder/rd.c",
      "new_id": "fcca31242e9e2e865e774e51d273a89046854374",
      "new_mode": 33188,
      "new_path": "av1/encoder/rd.c"
    },
    {
      "type": "modify",
      "old_id": "8877b55364c3e05bc4ecc9e2ddd9aefea6ff0320",
      "old_mode": 33188,
      "old_path": "test/test.cmake",
      "new_id": "c50f84a2de696484189e7c2039101e3c98c7e959",
      "new_mode": 33188,
      "new_path": "test/test.cmake"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "949e4e3a2a4c60bbbd98b8aa7cb364381afcca0a",
      "new_mode": 33188,
      "new_path": "test/use_fixed_qp_offsets_test.cc"
    }
  ]
}
