)]}'
{
  "commit": "628b60f00fe61a7cd90d809bca793e1024664190",
  "tree": "bd7532c34e49e85fea941e0623594b3e92c8cfe6",
  "parents": [
    "fb357ae8aca6ae49811719e0ccbde37fd77e031e"
  ],
  "author": {
    "name": "Marco Paniconi",
    "email": "marpan@google.com",
    "time": "Wed Oct 21 17:35:18 2026 +0000"
  },
  "committer": {
    "name": "Marco Paniconi",
    "email": "marpan@google.com",
    "time": "Wed Oct 21 12:06:12 2026 -0700"
  },
  "message": "Only check 32-bit pts bound when decoder model timing is used\n\nIn av1_encode_strategy(), cm-\u003eframe_presentation_time is a 32-bit field\nonly written to the bitstream in write_tu_pts_info() when\nseq_params-\u003edecoder_model_info_present_flag \u003d\u003d 1 and\nseq_params-\u003etiming_info.equal_picture_interval \u003d\u003d 0.\n\nPreviously, av1_encode_strategy() unconditionally converted the 64-bit\nrelative timestamp (*time_stamp) to timebase units and returned\nAOM_CODEC_ERROR if pts64 \u003e UINT32_MAX, even when decoder model timing\ninfo was not enabled (the default). In long-running real-time encoding\nsessions using a 90 kHz RTP clock timebase (g_timebase \u003d {1, 90000}),\nthe relative timestamp exceeds UINT32_MAX after ~13.26 hours (2^32 /\n90000 seconds), causing aom_codec_encode() to fail with AOM_CODEC_ERROR.\n\nGuard the UINT32_MAX check and cm-\u003eframe_presentation_time assignment\nbehind decoder_model_info_present_flag \u0026\u0026 !equal_picture_interval,\nmatching write_tu_pts_info() in bitstream.c.\n\nBug: b:444969593\nChange-Id: I4585e844318ec341742f35407461825a9023b2c4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "02be53f2279c09e5eb3fefcbdfe1ffef8baa85c5",
      "old_mode": 33188,
      "old_path": "av1/encoder/encode_strategy.c",
      "new_id": "da273dd8bcfb65404db726e93a52f88fa8bd92af",
      "new_mode": 33188,
      "new_path": "av1/encoder/encode_strategy.c"
    }
  ]
}
