)]}'
{
  "log": [
    {
      "commit": "9db86ce5b5b454dfc96c435f9f0723012980c37f",
      "tree": "92494155280ad804b8f3da29425fb0b32b6c27e4",
      "parents": [
        "ba5e7eaea38b6a54157870e0085b2e8c75aa6bcb"
      ],
      "author": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Wed Sep 16 21:55:37 2026"
      },
      "committer": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Wed Sep 16 22:56:23 2026"
      },
      "message": "libavcodec/h264: Use inferred num_reorder_frames when VUI is absent\n\nWhen VUI bitstream_restriction is absent, H.264 specifies that\nmax_num_reorder_frames should be inferred from the level\u0027s DPB limit.\nFFmpeg normally starts with has_b_frames \u003d 0 to avoid latency for\nstreams without B-frames, and increases the reorder buffer dynamically\nwhen out-of-order frames are detected. However, by only increasing\nhas_b_frames to out_of_order, frames outside the initial reorder window\ncan be emitted too early and dropped.\n\nWhen out-of-order frames are detected on a stream lacking VUI\nbitstream_restriction, set has_b_frames to the inferred\nsps-\u003enum_reorder_frames clamped to sps-\u003eref_frame_count. Clamping to\nsps-\u003eref_frame_count prevents over-allocating DPB reorder frames (e.g.\nup to 16 frames on low-resolution streams at high levels or 5 frames on\n4K streams with 2 reference frames) while ensuring all B-frames are\nproperly ordered. Streams without B-frames continue to have zero\nreorder delay.\n\nBug: 495269752, 559001366\nChange-Id: Ifcef68115ccebd0cd35fe53a742887779885d539\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/8418569\nReviewed-by: Thomas Guilbert \u003ctguilbert@chromium.org\u003e\n"
    },
    {
      "commit": "ba5e7eaea38b6a54157870e0085b2e8c75aa6bcb",
      "tree": "a2a5e3a62b3902665a0453f8273615e321de5211",
      "parents": [
        "0406d4e5e4456b2adfefe8bb450be05c7a94c846"
      ],
      "author": {
        "name": "Syed AbuTalib",
        "email": "lowkey@google.com",
        "time": "Thu Sep 03 19:40:53 2026"
      },
      "committer": {
        "name": "Syed AbuTalib",
        "email": "lowkey@google.com",
        "time": "Tue Sep 08 20:32:57 2026"
      },
      "message": "libavformat/mov: Treat missing cdsc as non-fatal\n\nMedia encoded on platforms such as HarmonyOS can contain an unresolvable\nor self-referential track reference (`cdsc`). Previously, demuxing\nfailed with `AVERROR_INVALIDDATA` when `AV_EF_EXPLODE` was enabled.\n\nDowngrade the log level to a warning and continue demuxing instead of\nreturning an error. This matches the behavior of players like QuickTime\nand Firefox, allowing playback of such files to proceed.\n\nBug: 556081479\nChange-Id: Ic0db5e5cab40e974dacc03a7174f2008e6d85ce4\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/8348755\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "0406d4e5e4456b2adfefe8bb450be05c7a94c846",
      "tree": "0e029bfb6f8361ec1143aec492a6a4844cd67bd6",
      "parents": [
        "a06d51a20a28f980b2ddc6b7d73d69b2d29bf323"
      ],
      "author": {
        "name": "Ted Meyer",
        "email": "tmathmeyer@chromium.org",
        "time": "Tue Sep 01 00:48:10 2026"
      },
      "committer": {
        "name": "Ted (Chromium) Meyer",
        "email": "tmathmeyer@chromium.org",
        "time": "Tue Sep 01 01:01:24 2026"
      },
      "message": "avformat/mov: handle entries gap on TRUN error\n\nmov_read_trun would previously return inside the entry parser loop if an\nerror occurred (such as an int overflow). This had the potential to\nleave gaps of unallocated entries. The existing loop had a check to\nhandle an early EOF in it\u0027s exit condition as well as code to move the\nrest of the entries back to fill the hole that could be left behind. We\ncan use this same logic in the error case to set the error code, exit\nthe loop early, use the backfilling logic, and then return the stored\nerror.\n\nChange-Id: Iae0d5d1c7dbaeaccda0ebe2f1e0cb073c3642c9e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/8332308\nReviewed-by: Syed AbuTalib \u003clowkey@google.com\u003e\nReviewed-by: Thomas Guilbert \u003ctguilbert@chromium.org\u003e\n"
    },
    {
      "commit": "a06d51a20a28f980b2ddc6b7d73d69b2d29bf323",
      "tree": "e588be9de2201ccf5313007ab481659e0a7b2966",
      "parents": [
        "e5441fe4213d6fe4582c9ad186b615b9e0d4a399"
      ],
      "author": {
        "name": "Syed AbuTalib",
        "email": "lowkey@google.com",
        "time": "Tue Aug 25 20:07:12 2026"
      },
      "committer": {
        "name": "Syed AbuTalib",
        "email": "lowkey@google.com",
        "time": "Tue Aug 25 20:55:27 2026"
      },
      "message": "Roll FFmpeg for M154\n\nSome manual edits:\n- In libavformat/avformat.h: Shift AVFMT_FLAG_NOH264PARSE to 0x800000 to prevent bitflag collision with upstream\u0027s new `AVFMT_FLAG_LEGACY_ID3V2_COMM_KEYS` (0x400000).\n\nBug: 552567972\nChange-Id: I4ab731f655a87b57b6bf2a110e3b94a8a29f0e99\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/8281590\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nReviewed-by: Thomas Guilbert \u003ctguilbert@chromium.org\u003e\n"
    },
    {
      "commit": "e5441fe4213d6fe4582c9ad186b615b9e0d4a399",
      "tree": "56df58327b632a1b650f7acbf9e4b24f5653f8e4",
      "parents": [
        "0c529ef53b207d0c16b4c279ccd88eeeb43bc3c4",
        "a1050d48b0df3f7c3fa1c631ec8e82528b3f7c85"
      ],
      "author": {
        "name": "Syed AbuTalib",
        "email": "lowkey@google.com",
        "time": "Tue Aug 25 18:01:35 2026"
      },
      "committer": {
        "name": "Syed AbuTalib",
        "email": "lowkey@google.com",
        "time": "Tue Aug 25 18:01:35 2026"
      },
      "message": "resolve merge conflicts\n"
    },
    {
      "commit": "a1050d48b0df3f7c3fa1c631ec8e82528b3f7c85",
      "tree": "d2d47e7b6ae74449419e820efaa5bd46808d95f5",
      "parents": [
        "09219cc6832671211c1963da0e27181d7bea62e5"
      ],
      "author": {
        "name": "Zsolt Vadasz",
        "email": "zsolt_vadasz@protonmail.com",
        "time": "Fri Jul 03 17:07:04 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Tue Aug 25 16:10:16 2026"
      },
      "message": "avcodec/j2kenc: Compute division only once, preshift bit\n\nPre-shift n to the highest bit in put_bits(), and compute a division\noutside of a hot loop in encode_tile().\n"
    },
    {
      "commit": "09219cc6832671211c1963da0e27181d7bea62e5",
      "tree": "ee9f7baf06a78112d8ef8019e643580415644c51",
      "parents": [
        "d7d119bbe26c7e5c27a8b50fc8a25da43564c48a"
      ],
      "author": {
        "name": "Ayoub Nabil Boubagrat",
        "email": "237098474+ayoubnabil@users.noreply.github.com",
        "time": "Tue Aug 04 15:14:22 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Tue Aug 25 16:06:34 2026"
      },
      "message": "swscale: print the effective scaler with SWS_PRINT_INFO\n\nuse the resolved luma scaler for the log. keep the SWS_BICUBLIN description only when chroma is actually bilinear.\n\nadd coverage for scaler_sub overrides and the missing FATE dependency. this fixes the incorrect scaler output reported in #23975.\n\nSigned-off-by: Ayoub Nabil Boubagrat \u003c237098474+ayoubnabil@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "d7d119bbe26c7e5c27a8b50fc8a25da43564c48a",
      "tree": "fe23bf438c20c0bb8d0e756fb40fd5af82ad62e9",
      "parents": [
        "3d5534d27151cd2d7f0acba080a1eabec7c79a40"
      ],
      "author": {
        "name": "zhorzhetta1404-ux",
        "email": "zhorzhetta1404@gmail.com",
        "time": "Mon Aug 17 10:07:08 2026"
      },
      "committer": {
        "name": "Romain Beauxis",
        "email": "toots@rastageeks.org",
        "time": "Tue Aug 25 14:21:47 2026"
      },
      "message": "avformat/oggdec: check for integer overflow in buf_realloc\n\nIn buf_realloc, os-\u003ebufsize is unsigned int and the code doubles it:\n    nb \u003d av_realloc(os-\u003ebuf, 2*os-\u003ebufsize + AV_INPUT_BUFFER_PADDING_SIZE);\n\nWhen os-\u003ebufsize exceeds UINT_MAX/2, the multiplication overflows\nto a small value, av_realloc returns a tiny buffer, and the subsequent\npage write in ogg_read_page goes out of bounds.\n\nReject the reallocation before the overflow can occur. The largest\nsafe value is (UINT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) / 2.\n\nSigned-off-by: age5000 \u003cage5000@proton.me\u003e\n"
    },
    {
      "commit": "3d5534d27151cd2d7f0acba080a1eabec7c79a40",
      "tree": "0e7233ee97518646cf2fe7cc0546c2cda3e54a4d",
      "parents": [
        "007cd1fd439927b212c44dbd6ca16bf65ea9ddde"
      ],
      "author": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Tue Aug 25 08:01:31 2026"
      },
      "committer": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Tue Aug 25 09:25:49 2026"
      },
      "message": "checkasm: Fix building for macos/aarch64\n\nCommit 74705b3970cbc277e9366d82ee32d7c3a0a9e3b3 changed to only\ncompile some of the checkasm source files when they are expected\nto be non-empty, but the condition for when perf/macos_kperf.c\nis needed is wrong, breaking building checkasm in default macos\naarch64 configurations.\n\nCheckasm decides whether to enable the macos kperf codepaths on\nits own, irrespective of ffmpeg\u0027s configure\u0027s --enable-macos-kperf\n(which defaults to disabled) - see the end of checkasm\u0027s\nsrc/perf_internal.h for the condition:\n\n    #if defined(__APPLE__) \u0026\u0026 ARCH_AARCH64\n      /* This only depends on \u003cdlfcn.h\u003e, and isn\u0027t needed on other architectures. */\n      #define HAVE_MACOS_KPERF 1\n    #else\n      #define HAVE_MACOS_KPERF 0\n    #endif\n\nTo approximate this, build macos_kperf.c for any aarch64 target.\nFor non-macOS cases, perf_internal.h defines inline functions in\nmost aarch64 build configurations, so we don\u0027t end up with an\nempty translation unit in any case.\n"
    },
    {
      "commit": "007cd1fd439927b212c44dbd6ca16bf65ea9ddde",
      "tree": "9aefebe709ea7c92e7150b845fc20a162bbc9496",
      "parents": [
        "ca99230f7176c589b8390b34f2d1c130b9e1881d"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Tue Aug 25 01:02:56 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Tue Aug 25 01:02:56 2026"
      },
      "message": "avcodec/libfdk-aacenc: replace use of deprecated channel layout\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "ca99230f7176c589b8390b34f2d1c130b9e1881d",
      "tree": "d5c7990007e4bf99fb927c84b59b3ce0fd5d4b1a",
      "parents": [
        "1019f8f036602a8464185baa4857654337eeca14"
      ],
      "author": {
        "name": "iSold Leo",
        "email": "s@qwqlog.com",
        "time": "Mon Aug 03 14:48:32 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Mon Aug 24 20:09:35 2026"
      },
      "message": "avformat/mp3enc: buffer ID3v2 for non-seekable outputs\n\nID3v2 writes the tag size by seeking back to its header. This fails after output has been flushed to a non-seekable AVIO context, leaving a zero-sized tag. Attached pictures expose this reliably; sufficiently large metadata is affected too.\n\nBuild the tag in a dynamic buffer for non-seekable MP3 outputs and copy it after finalization. Keep the direct path for seekable outputs.\n\nFixes: #23917\nSigned-off-by: iSold Leo \u003cs@qwqlog.com\u003e\n"
    },
    {
      "commit": "1019f8f036602a8464185baa4857654337eeca14",
      "tree": "555232a76cf0e54f7b065c98a46fce0ea1debf7d",
      "parents": [
        "10c3380e478cfa36b7d94110f511cb5929900b3c"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Fri Aug 21 02:14:22 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun Aug 23 16:35:29 2026"
      },
      "message": "tests/fate/aac: add tests for PCE layouts with height channels\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "10c3380e478cfa36b7d94110f511cb5929900b3c",
      "tree": "9e4974a74e1e897bd1e3fd8013139146513b220a",
      "parents": [
        "f35acb72ac567821d52da6d53a3e06a3c97855f3"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Fri Aug 21 02:14:40 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun Aug 23 16:35:29 2026"
      },
      "message": "tests/audiogen: support up to 16 channels\n\nNeeded by the next commit.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "f35acb72ac567821d52da6d53a3e06a3c97855f3",
      "tree": "9142fb77bafb82a0222a9ba89b598c8c655ecba6",
      "parents": [
        "ed923a7a897763471c65b507cea2ef661e1e1646"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Fri Aug 21 14:16:32 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun Aug 23 16:35:29 2026"
      },
      "message": "avcodec/aacenc: add support for ambisonic layouts\n\nAAC can\u0027t signal such layouts, so this is merely a hack to allow such\nstreams to be passed to the encoder instead of having to define layouts\nusing arbitrary speaker positions for the sake of having one with the\nrequired amount of channels.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "ed923a7a897763471c65b507cea2ef661e1e1646",
      "tree": "3b763cdc722c692a48f94cdd29fdd8791f380ee4",
      "parents": [
        "dd38c57676a25daadc44109555cf1bfb27caab97"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Fri Aug 21 00:27:10 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun Aug 23 16:35:21 2026"
      },
      "message": "avcodec/aacenc: add support for writing PCE layouts with height channels\n\nFixes ticket #24218\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "dd38c57676a25daadc44109555cf1bfb27caab97",
      "tree": "a78cfd9c8224fb303051bb2aee743215195677ee",
      "parents": [
        "261df1d136c5621d63700d044d40cfb30568966a"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Fri Aug 21 22:04:13 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun Aug 23 16:28:20 2026"
      },
      "message": "avformat/iamf: use the new channel layout macros\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "261df1d136c5621d63700d044d40cfb30568966a",
      "tree": "43783fad389638ff031513a0eceb78bcbcfe1804",
      "parents": [
        "0e45eebe49a88079022d9cabee2b4eced755b003"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun Aug 23 15:48:33 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun Aug 23 16:28:20 2026"
      },
      "message": "avutil/channel_layout: remove AVMatrixEncoding from channel_mask_c doxy group\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "0e45eebe49a88079022d9cabee2b4eced755b003",
      "tree": "f0971af0cf1cef0f4cf96b89cee7310d52b3ff9e",
      "parents": [
        "9419d4c3a5a92563720115beb8831a6f906da96b"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Fri Aug 21 21:55:13 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun Aug 23 16:28:20 2026"
      },
      "message": "avutil/channel_layout: remove back suffix from some layouts\n\nThe idea was for the suffix to refer to the fact they feature Top Back channels\ninstead of Top Side, but this distinction is unnecessary given there\u0027s no\nconfusion between back and side like with base level channels (Ls/Rs, Lss/Rss,\nLrs/Rsr), nor known specs where Top Side channels are used without Top Back\nalso being used.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "9419d4c3a5a92563720115beb8831a6f906da96b",
      "tree": "22eb4382091145cd54628558802d2131a14eb5d5",
      "parents": [
        "9f911c1ead41cb68f1e798b1e6322974b911f67e"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Thu Aug 20 15:52:07 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 23 15:10:58 2026"
      },
      "message": "avcodec/x86/h264_deblock: Don\u0027t use mmx in deblock_h_luma_intra_8\n\nOld benchmarks:\n  h_loop_filter_luma_intra_8bpp_c:        26.3\n  h_loop_filter_luma_intra_8bpp_sse2:     57.4 ( 0.46x)\n  h_loop_filter_luma_intra_8bpp_avx:      57.6 ( 0.46x)\n\nNew benchmarks:\n  h_loop_filter_luma_intra_8bpp_c:        26.5\n  h_loop_filter_luma_intra_8bpp_sse2:     52.2 ( 0.51x)\n  h_loop_filter_luma_intra_8bpp_avx:      52.3 ( 0.51x)\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "9f911c1ead41cb68f1e798b1e6322974b911f67e",
      "tree": "ad09c0aac5ca5917ec04de7d57db441d946965c6",
      "parents": [
        "2fd5efa112ee66393cffbe34552ad65f82936732"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Thu Aug 20 15:08:50 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 23 15:10:58 2026"
      },
      "message": "avcodec/x86/h264_deblock: Remove obsolete macro parameters\n\nForgotten in b1140d3c982e0720d2dd638f2d7ae0ca6552ac13.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "2fd5efa112ee66393cffbe34552ad65f82936732",
      "tree": "87922f17ea80c1ea2c9c73575059ad86c38e2fb8",
      "parents": [
        "a960e8dba9efefd23411afeca82503edbb75291d"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Thu Aug 20 15:02:25 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 23 15:10:58 2026"
      },
      "message": "avcodec/x86/h264_deblock: Avoid mmx in deblock_h_luma_intra_8\n\nOld benchmarks:\n  h_loop_filter_luma_intra_8bpp_c:        28.0\n  h_loop_filter_luma_intra_8bpp_sse2:     74.5 ( 0.38x)\n  h_loop_filter_luma_intra_8bpp_avx:      74.6 ( 0.38x)\n\nNew benchmarks:\n  h_loop_filter_luma_intra_8bpp_c:        26.3\n  h_loop_filter_luma_intra_8bpp_sse2:     57.4 ( 0.46x)\n  h_loop_filter_luma_intra_8bpp_avx:      57.6 ( 0.46x)\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "a960e8dba9efefd23411afeca82503edbb75291d",
      "tree": "adc662575ed36abd6b028fb962c93cb534deba6b",
      "parents": [
        "68834f79cf07ccba2b1e9b88cebc9ef66a342e9c"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Thu Aug 20 12:35:59 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 23 15:10:58 2026"
      },
      "message": "avcodec/x86/h264_deblock: Combine 32,64 code for deblock_h_luma_intra_8\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "68834f79cf07ccba2b1e9b88cebc9ef66a342e9c",
      "tree": "aff80429f22add76e1ba791f8afe43f923752e87",
      "parents": [
        "dea13cca4f6ff3c281ba848be5ce0e288245394a"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Thu Aug 20 11:47:01 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 23 15:10:58 2026"
      },
      "message": "avcodec/x86/h264_deblock: Write lines in original order\n\nI.e. not lines 9-16, then lines 1-8. No changes in benchmarks\nhere; it is mainly done to reduce differences with the 32bit code.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "dea13cca4f6ff3c281ba848be5ce0e288245394a",
      "tree": "c112ec67d8cdc7197e028d99cb4417d78de8b9b5",
      "parents": [
        "732a8644b87f1d5a7f9409fcc184702d59239183"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Mon Aug 17 12:20:16 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 23 11:46:55 2026"
      },
      "message": "tests/api/Makefile: Don\u0027t undef main\n\nShould be unnecessary since fde3bb16f90ac456709c7305b9e230e8327d8625.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "732a8644b87f1d5a7f9409fcc184702d59239183",
      "tree": "4608f8d1a0d63dc190e8433c234df2e6a463c31d",
      "parents": [
        "89f58356b31c63cea8604ac19a2365c6ae02c0b9"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Mon Aug 17 12:11:35 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 23 11:46:55 2026"
      },
      "message": "tests/fate/wav: Deduplicate encinfo rules\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "89f58356b31c63cea8604ac19a2365c6ae02c0b9",
      "tree": "ded82f326336d756ab067cc2c363190baec751d8",
      "parents": [
        "b79d4c4c0a160fc46988e98505af6039a53ad53e"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Mon Aug 17 11:50:44 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 23 11:46:55 2026"
      },
      "message": "avcodec/tests/encinfo: Convert into API test\n\nIt doesn\u0027t use any internals of lavc. Converting it to an API\ntest tool reduces disk usage for shared builds.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "b79d4c4c0a160fc46988e98505af6039a53ad53e",
      "tree": "3afd407281a06fae884ae5ee395194ac206466ab",
      "parents": [
        "f10fdd631026056517edbad79ee0a136ef71c5df"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat Aug 22 23:25:22 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat Aug 22 23:25:22 2026"
      },
      "message": "tests/fate/lavf-container: add an EAC3 in MP4 test\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "f10fdd631026056517edbad79ee0a136ef71c5df",
      "tree": "3caa7ba2d0a8d61c112e18c0aded5f5e076608ce",
      "parents": [
        "45bc2518bed20b1bab4e71afb13feba0e4aeb205"
      ],
      "author": {
        "name": "Brian Leake",
        "email": "phyd@phyd.org",
        "time": "Fri Aug 21 23:03:12 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat Aug 22 22:58:47 2026"
      },
      "message": "avformat/movenc: fix dec3 chan_loc derivation for E-AC-3 dependent substreams\n\nchan_loc was derived from the bitstream\u0027s chanmap with a plain shift, but\nthe two fields use different bit orders, so every E-AC-3 stream carrying\na dependent substream (7.1 and above) was muxed with the wrong channel\nlayout signalled in the container.\n\nchanmap is a 16-bit field read MSB-first, so flag index i sits at bit\n(15 - i); this matches how ff_eac3_custom_channel_map_locations is\nindexed in ac3_parser.c. Per ETSI TS 102 366 Annex F, chan_loc bits 0-7\ncarry flag indices 5-12, i.e. chanmap bit (10 - j). The mapping is not\ncontiguous at the top: index 13 (Lts/Rts) has no chan_loc bit and must be\nskipped, and chan_loc bit 8 carries LFE2, which is index 14 and so\nchanmap bit 1. The 0x1f mask was also 5 bits where 9 are needed, so some\nflags were dropped rather than merely misplaced.\n\nEffect on the layouts that use a dependent substream:\n\n    layout   chanmap   before   after\n    7.1      0x1A00    0x010    0x002\n    5.1.2    0x0010    0x000    0x040\n    5.1.4    0x0210    0x010    0x042\n    LFE2     0x0002    0x000    0x100\n\nFor 7.1 the field claimed Lsd/Rsd (surround direct), a position no 7.1\nspeaker layout has, instead of Lrs/Rrs. This is invisible to FFmpeg,\nwhose decoder reads the layout from the bitstream, but demuxers that\ntrust the container act on it: Apple\u0027s AudioToolbox reported the affected\nfiles as \"7.1 (L C R Ls Rs LFE Lsd Rsd)\" and collapsed them to a stereo\ndownmix, losing the centre channel, all four surrounds and the LFE.\n\nVerified with samples.ffmpeg.org/A-codecs/AC3/eac3/7_pt_1.eac3, whose\ndependent substream declares chanmap 0x1A00. After this change the muxed\ndec3 carries 0x002, matching GPAC MP4Box for the same input, and\nAudioToolbox reports \"7.1 (L C R Ls Rs LFE Rls Rrs)\" with all eight\nchannels intact.\n\nSigned-off-by: Brian Leake \u003cphyd@phyd.org\u003e\n"
    },
    {
      "commit": "45bc2518bed20b1bab4e71afb13feba0e4aeb205",
      "tree": "7a4c72eb390ac5653abcdc8df06de5476dca66da",
      "parents": [
        "ec8411e8548de7270f6e799cdc94f45b7a7a92d3"
      ],
      "author": {
        "name": "Michael Partridge",
        "email": "michael.partridge@petrosys.com.au",
        "time": "Fri Mar 20 04:00:20 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Sat Aug 22 18:10:11 2026"
      },
      "message": "configure: support z.lib and zlib.lib for zlib on MSVC-style linkers\n\nProbe the zlib pkg-config link flags to detect whether the Windows import library is named z.lib or zlib.lib, and use that when rewriting -lz for MSVC-style linkers.\n\nAlso make the non-pkg-config zlib fallback try both names explicitly so configure works with either z.lib or zlib.lib.\n"
    },
    {
      "commit": "ec8411e8548de7270f6e799cdc94f45b7a7a92d3",
      "tree": "be84feeb55f405639b19c507725f951b465d1321",
      "parents": [
        "11b68cce09900f8a4a25ceba42055094af00bf37"
      ],
      "author": {
        "name": "J. Brandt Buckley",
        "email": "brandt@runlevel1.com",
        "time": "Fri Aug 21 15:49:15 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Sat Aug 22 17:48:39 2026"
      },
      "message": "avcodec/vc1_block: don\u0027t drop the last macroblock when 1 bit remains\n\nThe P- and B-picture per-MB guards added in 2a8785966c bail out of the loop\nto error concealment when get_bits_left() \u003c\u003d 1, but P- and B-picture MBs can\nlegitimately cost exactly 1 bit in certain cases. This patch relaxes the guards\nto accommodate those cases.\n\n## Explanation\n\nWith the SKIPMB bitplane in Raw mode a skipped macroblock is a single SKIPMBBIT\n(SMPTE ST 421:2013, 7.1.3.7, p.109) and then \"may only contain the HYBRIDPRED\nsyntax element\" (8.3.4.4, p.140), which is only read when predictors A and C\nare in-bounds and the predicted vector differs from A or C by more than 32\nquarter-pels (8.3.5.3.5, Figure 55, pp.149-150). That condition isn\u0027t met in a\nstatic region so such a MB costs just 1 bit. A direct+skipped B-picture MB\nlikewise reads nothing beyond its raw flag (Table 30, p.86).\n\nIn Simple/Main profile a picture is byte-aligned with no stop bit, so if a\npicture ends with a 1-bit skipped macroblock and its last coded bit lands on a\nbyte boundary, the final MB is reached with exactly one bit left. The guard\nthen conceals a valid macroblock, sets FF_DECODE_ERROR_CONCEALMENT_ACTIVE\non an undamaged frame, and the damage propagates to every frame up to the next\nkeyframe. (Advanced Profile BDUs end in a trailing \u00271\u0027 bit per Annex E.2/E.3\np.437, so they always have at least two bit left and are therefore unaffected.)\n\n## Reproducing\n\nReproducible with an existing sample (prior to this patch):\n\n    $ ffmpeg -i https://samples.ffmpeg.org/V-codecs/WMV9/wmv-samples/sample-wmv9-simple-SP@ML.wmv -map 0:v -f null - 2\u003e\u00261 | grep -A1 concealing\n    [wmv3 @ 0x122605430] concealing 75 DC, 75 AC, 75 MV errors in P frame\n    [vist#0:0/wmv3 @ 0x122604080] [dec:wmv3 @ 0x122604df0] corrupt decoded frame\n    [wmv3 @ 0x122605430] concealing 50 DC, 50 AC, 50 MV errors in P frame\n    [vist#0:0/wmv3 @ 0x122604080] [dec:wmv3 @ 0x122604df0] corrupt decoded frame\n    [wmv3 @ 0x122605430] concealing 100 DC, 100 AC, 100 MV errors in P frame\n    [vist#0:0/wmv3 @ 0x122604080] [dec:wmv3 @ 0x122604df0] corrupt decoded frame\n\n## References\n\n- SMPTE ST 421:2013 spec: https://pub.smpte.org/doc/st421/20131008-pub/\n\nSigned-off-by: J. Brandt Buckley \u003cbrandt@runlevel1.com\u003e\n"
    },
    {
      "commit": "11b68cce09900f8a4a25ceba42055094af00bf37",
      "tree": "8aaf2013bdf40c781cdb2b515e6572c5a77e347d",
      "parents": [
        "eb0bfa852e7b9c524960300607ba2c4617060a9b"
      ],
      "author": {
        "name": "WyattBlue",
        "email": "wyattblue@auto-editor.com",
        "time": "Wed Jul 01 04:33:54 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Sat Aug 22 17:41:51 2026"
      },
      "message": "avfilter/af_whisper: Add \u0027lock\u0027, \u0027eval\u0027 lang modes\n\nAdd \u0027lock\u0027 and \u0027eval\u0027 languages modes. With autodetection, whisper\nreruns language detection on every queued chunk, an extra encoder pass\nthat can also drift to a different language mid-file.\n\nAdd two explicit values for the language option: \u0027eval\u0027 keeps the\nper-chunk reevaluation, \u0027lock\u0027 caches the language detected by the\nfirst chunk that produces transcribed text and reuses it for the\nfollowing chunks. Requiring actual text means a silent, musical or\n[BLANK_AUDIO]-only opening chunk leaves detection to a later one.\n\n\u0027auto\u0027 remains an alias for \u0027eval\u0027 so existing behavior is unchanged.\n"
    },
    {
      "commit": "eb0bfa852e7b9c524960300607ba2c4617060a9b",
      "tree": "0cd09df28c6d9b4d4f8f9b81e2176e6cdd3e16b7",
      "parents": [
        "cd4fc473be3ca20704615d8ea110effe7fe11e13"
      ],
      "author": {
        "name": "Leo Izen",
        "email": "leo.izen@gmail.com",
        "time": "Sat Aug 15 14:28:04 2026"
      },
      "committer": {
        "name": "Leo Izen",
        "email": "leo.izen@gmail.com",
        "time": "Fri Aug 21 18:13:46 2026"
      },
      "message": "avutil/opt: reformat set_string_binary\n\nFix the code formatting in libavutil/opt.c\u0027s static function\nset_string_binary after bd68a6130495fe17bf33e0a9ddc053baae18c81f.\n\nNo functional changes.\n\nSigned-off-by: Leo Izen \u003cleo.izen@gmail.com\u003e\n"
    },
    {
      "commit": "cd4fc473be3ca20704615d8ea110effe7fe11e13",
      "tree": "1af28168d523691e6d4055b6e2ede53af1aa9a9d",
      "parents": [
        "1a6a186b808a5bf65a408c700846d208227d6549"
      ],
      "author": {
        "name": "Ayoub Nabil Boubagrat",
        "email": "237098474+ayoubnabil@users.noreply.github.com",
        "time": "Wed Aug 19 13:36:37 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Fri Aug 21 18:11:48 2026"
      },
      "message": "avfilter/af_afir: clamp initial ir selection\n\nthe ir option may exceed nbirs because its static range is independent\nof the configured number of impulse responses. init() only clamps\nprev_selir, leaving selir able to index ctx-\u003einputs out of range.\n\nwith the default nbirs\u003d1, afir\u003dir\u003d1 reads ctx-\u003einputs[2] and crashes.\nclamp selir like process_command() and add a fate test.\n\nSigned-off-by: Ayoub Nabil Boubagrat \u003c237098474+ayoubnabil@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "1a6a186b808a5bf65a408c700846d208227d6549",
      "tree": "9d0bbe1024133d0dc22b3a3334bd6bce63e37db6",
      "parents": [
        "88ae625e698d7a1c0b7dcea8d915915acda3f054"
      ],
      "author": {
        "name": "Tymur Boiko",
        "email": "tboiko@nvidia.com",
        "time": "Thu Aug 20 20:40:18 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Fri Aug 21 14:06:57 2026"
      },
      "message": "avcodec/vulkan_decode: set H.264 pictureLayout from SPS frame_mbs_only_flag\n\nVkVideoDecodeH264ProfileInfoKHR::pictureLayout must match the sequence.\nITU-T H.264 frame_mbs_only_flag\u003d\u003d1 means frames only; \u003d\u003d0 allows field\npictures and MBAFF. Vulkan PROGRESSIVE sessions are progressive-only;\nnon-PROGRESSIVE enables interlaced field DPB (h264_decode / videocoding).\n\npictureLayout values are mutually exclusive video profiles (vk.xml).\nMap with !frame_mbs_only_flag, then validate with\nvkGetPhysicalDeviceVideoCapabilitiesKHR:\n\n- frame_mbs_only_flag \u003d\u003d 1, or no SPS -\u003e PROGRESSIVE (one query)\n- frame_mbs_only_flag \u003d\u003d 0 -\u003e prefer INTERLACED_INTERLEAVED_LINES only\n\nDo not use avctx-\u003efield_order: MBAFF may still report progressive.\n\nSigned-off-by: Tymur Boiko \u003ctboiko@nvidia.com\u003e\n"
    },
    {
      "commit": "88ae625e698d7a1c0b7dcea8d915915acda3f054",
      "tree": "a46a28833abcd0a0a5482ec8c901fef11dfb98bc",
      "parents": [
        "40000d0f5bd6f2ddd162db1131f8a832ea04d64f"
      ],
      "author": {
        "name": "Hao Chen",
        "email": "haochenc@google.com",
        "time": "Mon Aug 17 17:26:10 2026"
      },
      "committer": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Fri Aug 21 12:27:48 2026"
      },
      "message": "libswresample/aarch64: Fix sign extension in audio conversion\n\nThe channel count passed as a 32-bit register (w3) is later used\nas a 64-bit register (x3) for pointer offsets without proper sign\nextension, resulting in misbehavior. This commit adds an explicit\nsxtw instruction to ensure the channel count is properly sign-extended.\n\nAdditionally, standardizes the use of the 32-bit w2 and w12 registers\nin the core length logic across functions to prevent sign extension\nissues with lengths without relying on explicit 64-bit casting, matching\nexpected input bounds tracking.\n\nSigned-off-by: Hao Chen \u003chaochenc@google.com\u003e\n"
    },
    {
      "commit": "40000d0f5bd6f2ddd162db1131f8a832ea04d64f",
      "tree": "2e38a772482720bf085bddc335c86725a1207d9d",
      "parents": [
        "16a3484985efd7510592ee9872d1a874e27fe36c"
      ],
      "author": {
        "name": "Shiyou Yin",
        "email": "yinshiyou-hf@loongson.cn",
        "time": "Wed Aug 12 07:34:24 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "ffmpeg@haasn.dev",
        "time": "Fri Aug 21 10:39:13 2026"
      },
      "message": "swscale/loongarch: enable planar GBRP/GBRAP luma input optimization\n\nBenchmark results:\n  name                          ticks (vs ref)\n  planar_gbrp_to_y_512_c:        78.8\n  planar_gbrp_to_y_512_lsx:      19.9 ( 3.74x)\n  planar_gbrp_to_y_512_lasx:     10.4 ( 7.46x)\n  planar_gbrap_to_y_512_c:       79.4\n  planar_gbrap_to_y_512_lsx:     20.5 ( 3.61x)\n  planar_gbrap_to_y_512_lasx:    15.5 ( 5.12x)\n"
    },
    {
      "commit": "16a3484985efd7510592ee9872d1a874e27fe36c",
      "tree": "d4218d1d7074ce7f4996019abc16bcf8d54c6f74",
      "parents": [
        "ce1fedc039a27e9e330659abb6e3eb2cddbbabb7"
      ],
      "author": {
        "name": "Shiyou Yin",
        "email": "yinshiyou-hf@loongson.cn",
        "time": "Wed Aug 12 03:24:59 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "ffmpeg@haasn.dev",
        "time": "Fri Aug 21 10:39:13 2026"
      },
      "message": "swscale/loongarch: Enable range_convert optimization for LA\n\nThe base implementation has been updated to runtime coeff and offset.\nBenchmark results:\n  name                             ticks (vs ref)\n  chrRangeFromJpeg8_1920_c:        237.9\n  chrRangeFromJpeg8_1920_lsx:       39.3 ( 5.91x)\n  chrRangeFromJpeg8_1920_lasx:      19.6 (11.95x)\n  chrRangeFromJpeg16_1920_c:       240.3\n  chrRangeToJpeg8_1920_c:          444.3\n  chrRangeToJpeg8_1920_lsx:         63.7 ( 6.36x)\n  chrRangeToJpeg8_1920_lasx:        28.9 (15.31x)\n  chrRangeToJpeg16_1920_c:         502.9\n  lumRangeFromJpeg8_1920_c:        140.3\n  lumRangeFromJpeg8_1920_lsx:       29.0 ( 4.83x)\n  lumRangeFromJpeg8_1920_lasx:      15.8 ( 8.39x)\n  lumRangeFromJpeg16_1920_c:        71.7\n  lumRangeToJpeg8_1920_c:          303.4\n  lumRangeToJpeg8_1920_lsx:         29.2 (10.34x)\n  lumRangeToJpeg8_1920_lasx:        14.8 (20.47x)\n  lumRangeToJpeg16_1920_c:         294.1\n"
    },
    {
      "commit": "ce1fedc039a27e9e330659abb6e3eb2cddbbabb7",
      "tree": "7749dd9e296807c8627a6fc1378dacf852928ca1",
      "parents": [
        "5f69124aaaed9f7e01dad8d849577826e7a5b20c"
      ],
      "author": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Fri Aug 21 08:43:20 2026"
      },
      "committer": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Fri Aug 21 09:45:48 2026"
      },
      "message": "configure: filter -experimental:* from armasm flags\n\nThis fixes build with `--extra-cflags\u003d-experimental:c11atomics`.\n\nSigned-off-by: Kacper Michajłow \u003ckasper93@gmail.com\u003e\n"
    },
    {
      "commit": "5f69124aaaed9f7e01dad8d849577826e7a5b20c",
      "tree": "4247e736a0e9562a67f98dfc613428bc1ce6ce47",
      "parents": [
        "806f739fe553678496ac903917f4154803309ea8"
      ],
      "author": {
        "name": "younengxiao",
        "email": "steven.xiao@amd.com",
        "time": "Mon Aug 17 20:33:19 2026"
      },
      "committer": {
        "name": "Tong Wu",
        "email": "wutong1208@outlook.com",
        "time": "Fri Aug 21 08:25:47 2026"
      },
      "message": "avcodec/vaapi_encode: remove duplicate FLAG_TIMESTAMP_NO_DELAY\n\nUse the shared FF_HW_FLAG_TIMESTAMP_NO_DELAY flag from\nhw_base_encode.h instead of VAAPI\u0027s own private definition with the\nsame value and semantics.\n\nSigned-off-by: younengxiao \u003csteven.xiao@amd.com\u003e\n"
    },
    {
      "commit": "806f739fe553678496ac903917f4154803309ea8",
      "tree": "3bdea4e3f971e788135d9a6b725e2d176dbe1fef",
      "parents": [
        "a1d17fdd28ba9e53c2257e782fd509fbf4848254"
      ],
      "author": {
        "name": "younengxiao",
        "email": "steven.xiao@amd.com",
        "time": "Thu Jul 16 19:13:31 2026"
      },
      "committer": {
        "name": "Tong Wu",
        "email": "wutong1208@outlook.com",
        "time": "Fri Aug 21 08:25:47 2026"
      },
      "message": "avcodec/d3d12va_encode_av1: add AV1 B-frame (compound prediction) support\n\nThis commit adds AV1 B-frame support.\n    - Enable B-frame scheduling for the D3D12VA AV1 encoder by setting the\n      ref_l0/ref_l1 capability.\n    - Stash hidden (non-independent) anchor frames coded data and prepend\n      it to the next visible frame packet (show_existing_frame handling).\n    - Add FF_HW_FLAG_TIMESTAMP_NO_DELAY to avoid non-monotonic DTS warnings\n      at higher B-frame reorder depths.\n    - Set 2 B-frames as default(align with D3D12VA H.264 and HEVC encoder)\n\nExample usage:\n    - default (2 B-frames will be applied):\n      ffmpeg -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4 -c:v av1_d3d12va output.mp4\n    - 3 B-frames:\n      ffmpeg -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4 -c:v av1_d3d12va -bf 3 output.mp4\n\nSigned-off-by: younengxiao \u003csteven.xiao@amd.com\u003e\n"
    },
    {
      "commit": "a1d17fdd28ba9e53c2257e782fd509fbf4848254",
      "tree": "feaebb5ca1f9397cd3452356c1d36690c91b3702",
      "parents": [
        "bfcf9fcb3735a62648a968caad55d6b37c9998a2"
      ],
      "author": {
        "name": "Romain Beauxis",
        "email": "romain.beauxis@gmail.com",
        "time": "Sun Aug 02 16:47:08 2026"
      },
      "committer": {
        "name": "Romain Beauxis",
        "email": "toots@rastageeks.org",
        "time": "Fri Aug 21 03:38:24 2026"
      },
      "message": "avformat/mp3dec: parse iTunes gapless info\n\nApple encoders do not write the LAME extension of the Xing tag, so the\nfiles they produce get no gapless handling at all and no exact duration\neither, the sample used here carrying no VBR tag whatsoever.\n\nContrary to the LAME tag, the iTunSMPB priming count already includes the\ndecoder delay, so apply it as is, the way the mov demuxer already does,\nand validate it against the three counts adding up to what the frames\ndecode to.\n"
    },
    {
      "commit": "bfcf9fcb3735a62648a968caad55d6b37c9998a2",
      "tree": "6fb2e67475104588d3c8a3cb038e5f1690fe63f8",
      "parents": [
        "20b70144a6834dbf2984a26d90a4476068fc1f5c"
      ],
      "author": {
        "name": "Romain Beauxis",
        "email": "romain.beauxis@gmail.com",
        "time": "Sun Aug 02 16:40:58 2026"
      },
      "committer": {
        "name": "Romain Beauxis",
        "email": "toots@rastageeks.org",
        "time": "Fri Aug 21 03:38:24 2026"
      },
      "message": "avformat: factor out iTunSMPB parsing\n\nApple encoders store gapless playback information in this tag, in the\nmetadata of mp4 files and, as an ID3v2 comment, of mp3 files, so move the\nparsing to a helper both demuxers can share.\n\nThe sample counts are widened to the 64 bits the tag can write, scanned\nunsigned as it writes them, and rejected past what can be a sample count,\nso that callers can add and rescale the three without overflowing.\n"
    },
    {
      "commit": "20b70144a6834dbf2984a26d90a4476068fc1f5c",
      "tree": "2706142e2dc8e1b570f623f93b5bb244b73c5f13",
      "parents": [
        "87182e2abc88969ed57998a7c11518199feaa008"
      ],
      "author": {
        "name": "Romain Beauxis",
        "email": "romain.beauxis@gmail.com",
        "time": "Fri Aug 07 22:15:07 2026"
      },
      "committer": {
        "name": "Romain Beauxis",
        "email": "toots@rastageeks.org",
        "time": "Fri Aug 21 03:38:24 2026"
      },
      "message": "tests/fate/gapless: complete the mp3 test dependencies\n\nThe gapless() helper decodes through the wav muxer into the md5 protocol,\nneither of which FRAMECRC requires, and ffprobe_demux reads the sample\nthrough the file protocol, against a reference that covers the sample\nformat the mp3 decoder picked.\n"
    },
    {
      "commit": "87182e2abc88969ed57998a7c11518199feaa008",
      "tree": "027f52723fe8c18826af9e0e51e268f9d729976f",
      "parents": [
        "f101fce22d64db10f500242e23e43a251fe14414"
      ],
      "author": {
        "name": "Ayoub Nabil Boubagrat",
        "email": "237098474+ayoubnabil@users.noreply.github.com",
        "time": "Thu Aug 06 16:06:39 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Fri Aug 21 03:35:19 2026"
      },
      "message": "avcodec/audiotoolbox: use 64-bit channel masks\n\nthe channel mask expressions used an int literal, making shifts for\nchannel ids 31 and above undefined before conversion to uint64_t.\n\nuse a 64-bit literal in the encoder mapping and decoder layout mask.\n\nSigned-off-by: Ayoub Nabil Boubagrat \u003c237098474+ayoubnabil@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "f101fce22d64db10f500242e23e43a251fe14414",
      "tree": "acaad0c9b60c20388486145e2ffa4f4d7784af0a",
      "parents": [
        "a621ef4291148739e6a301ac5e7aee839c5d0933"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu Aug 20 12:52:04 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu Aug 20 12:52:04 2026"
      },
      "message": "configure: fix msvc _WIN32_WINNT check\n\nFixes a regression introduced in a72b9465cda477b34e35d6d1eda670603a0a9f5b.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "a621ef4291148739e6a301ac5e7aee839c5d0933",
      "tree": "688ac8901f89fb7678515573da230b5546dfb7ea",
      "parents": [
        "4566eee58816d9a927b460f73c773d18e6060274"
      ],
      "author": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Fri Aug 14 21:52:00 2026"
      },
      "committer": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Thu Aug 20 12:09:22 2026"
      },
      "message": "avfilter/vf_scale_cuda: consider chroma subsampling for scaling decisions\n"
    },
    {
      "commit": "4566eee58816d9a927b460f73c773d18e6060274",
      "tree": "a28032222dc84603b72ac978123ca63456f84de9",
      "parents": [
        "dda8b8253cb020d0a09942e6507505ab608128b3"
      ],
      "author": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Fri Aug 14 21:26:14 2026"
      },
      "committer": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Thu Aug 20 12:09:22 2026"
      },
      "message": "avfilter/vf_scale_cuda: always have valid passes setup\n"
    },
    {
      "commit": "dda8b8253cb020d0a09942e6507505ab608128b3",
      "tree": "96c8421e41f4706b3b10fd45600ba21b5eafa9d3",
      "parents": [
        "3d7ea1dac4007b4897ad00991268bbdb51816743"
      ],
      "author": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Fri Aug 14 21:13:16 2026"
      },
      "committer": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Thu Aug 20 12:09:22 2026"
      },
      "message": "avfilter/vf_scale_cuda: extract pass determination into its own function\n"
    },
    {
      "commit": "3d7ea1dac4007b4897ad00991268bbdb51816743",
      "tree": "358866d2661888a0d16cdd882e5f45360d91298c",
      "parents": [
        "50a9e34e1bc4bcf54331af39d4a53d8cffde3c22"
      ],
      "author": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Fri Aug 14 20:56:20 2026"
      },
      "committer": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Thu Aug 20 12:09:22 2026"
      },
      "message": "avfilter/vf_scale_cuda: skip allocating intermediate texture if not needed\n"
    },
    {
      "commit": "50a9e34e1bc4bcf54331af39d4a53d8cffde3c22",
      "tree": "ad693781b7c5c0dc3652fccacdb3c10c1fb135d7",
      "parents": [
        "7d77562d2a18adca969431e5c870870eb8b5edb9"
      ],
      "author": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Fri Aug 14 20:47:47 2026"
      },
      "committer": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Thu Aug 20 12:09:22 2026"
      },
      "message": "avfilter/vf_scale_cuda: don\u0027t try to execute disabled filter passes\n"
    },
    {
      "commit": "7d77562d2a18adca969431e5c870870eb8b5edb9",
      "tree": "bebe7a6cda70ebcab144704dabf9797f1e0e92a3",
      "parents": [
        "2a168907d36e7fbbb782b06d527c20ddefc1fccd"
      ],
      "author": {
        "name": "Kostazol",
        "email": "kostazol@users.noreply.github.com",
        "time": "Wed Aug 19 16:00:57 2026"
      },
      "committer": {
        "name": "stevenliu",
        "email": "lingjiujianke@gmail.com",
        "time": "Thu Aug 20 07:19:13 2026"
      },
      "message": "avformat/hlsenc: provide next packet timing before fMP4 fragment flush\n\nPass the next HLS boundary packet timing to the child MOV muxer before flushing an fMP4 fragment. The MOV helper only shrinks an overlapping accumulated fragment duration; normal boundaries remain unchanged and the boundary packet itself is not modified.\n"
    },
    {
      "commit": "2a168907d36e7fbbb782b06d527c20ddefc1fccd",
      "tree": "006bd05eddd220dda589d34dd65866c430f55f39",
      "parents": [
        "96d82d90c3f5b74afda99fc51acaf7c89f39bdf2"
      ],
      "author": {
        "name": "Zuxy Meng",
        "email": "zuxy.meng@gmail.com",
        "time": "Mon Aug 17 00:12:41 2026"
      },
      "committer": {
        "name": "Zuxy Meng",
        "email": "zuxy.meng@gmail.com",
        "time": "Thu Aug 20 06:28:47 2026"
      },
      "message": "avcodec/x86/vp9mc.asm: Replace MMX with SSE2\n\nUse SSE2 for (put|avg)[48]; identical performance.\n\nSigned-off-by: Zuxy Meng \u003czuxy.meng@gmail.com\u003e\n"
    },
    {
      "commit": "96d82d90c3f5b74afda99fc51acaf7c89f39bdf2",
      "tree": "f9724d177999b34fe614ca4e5ee34e8d75f2b471",
      "parents": [
        "f91beaf9296b902b8d2fff712ba018192ad2e5b3"
      ],
      "author": {
        "name": "Diego de Souza",
        "email": "ddesouza@nvidia.com",
        "time": "Wed Aug 05 14:37:28 2026"
      },
      "committer": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Wed Aug 19 22:35:29 2026"
      },
      "message": "avcodec/cuviddec: honor application-selected software output\n\nThe CUARRAY output option made the decoder override a software format\nselected by get_format() with CUDA. This broke ordinary CUVID decoding\nto software consumers.\n\nDefault output_format to auto and only override get_format() when the\nuser explicitly requests cuda/cuarray or enables zero_copy. Keep the\ninternal frames context in the corresponding hardware format and reject\nopaque/non-opaque transitions during decoder reinitialization.\n\nSigned-off-by: Diego de Souza \u003cddesouza@nvidia.com\u003e\n"
    },
    {
      "commit": "f91beaf9296b902b8d2fff712ba018192ad2e5b3",
      "tree": "05b3ffbf2487b556cef6350f92c6fa8049327947",
      "parents": [
        "b6e90cc92c6182b07d0ebd6d853b5e39f922fa3c"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Wed Aug 19 02:28:27 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Wed Aug 19 22:12:50 2026"
      },
      "message": "fate/tests/ac3: add missing eac3 fixed tests\n\nThis ensures the fixed decoder has the same coverage as the float one.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "b6e90cc92c6182b07d0ebd6d853b5e39f922fa3c",
      "tree": "c1922e5f2d5cf910cc110b40528c958eba784815",
      "parents": [
        "d9ed77cb52ccd5b50f5416c4fa43e875433a1deb"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Wed Aug 19 20:25:07 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Wed Aug 19 20:25:07 2026"
      },
      "message": "avcodec/fmtconvert: Remove now unused subsystem\n\nUnused since 2312ae4d10e10e315d12797b78155dbc0bc56cea.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "d9ed77cb52ccd5b50f5416c4fa43e875433a1deb",
      "tree": "bf313b291019128d9cfc8d9625ade21fbcbe16a6",
      "parents": [
        "e1e325235ee2f9f81b39d47ac2f9fe529257589e"
      ],
      "author": {
        "name": "Hao Chen",
        "email": "haochenc@google.com",
        "time": "Fri Aug 14 19:42:47 2026"
      },
      "committer": {
        "name": "Martin Storsjö",
        "email": "martin@martin.st",
        "time": "Wed Aug 19 20:06:22 2026"
      },
      "message": "avfilter/aarch64/vf_bwdif_init: Fix stride bound check\n\nFix stride condition when bounding w.\n\nSigned-off-by: Hao Chen \u003chaochenc@google.com\u003e\n"
    },
    {
      "commit": "e1e325235ee2f9f81b39d47ac2f9fe529257589e",
      "tree": "9f19b3cfc071398040dec84f30d421922df25903",
      "parents": [
        "1f26f9d9e1d145e53bdd62dccfa3900c06efb032"
      ],
      "author": {
        "name": "KO Myung-Hun",
        "email": "komh78@gmail.com",
        "time": "Tue Aug 18 13:57:20 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Wed Aug 19 16:20:15 2026"
      },
      "message": "compat/os2threads.h: add pthread_mutex_trylock\n"
    },
    {
      "commit": "1f26f9d9e1d145e53bdd62dccfa3900c06efb032",
      "tree": "7d42cf6143a0da46f7eeda0a9c3e634ce6694bef",
      "parents": [
        "2312ae4d10e10e315d12797b78155dbc0bc56cea"
      ],
      "author": {
        "name": "KO Myung-Hun",
        "email": "komh78@gmail.com",
        "time": "Mon Jul 27 14:40:38 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Wed Aug 19 16:20:15 2026"
      },
      "message": "configure: enable os2threads with atomics support\n"
    },
    {
      "commit": "2312ae4d10e10e315d12797b78155dbc0bc56cea",
      "tree": "10e4f430b9b25b8aa3847806e5dc8ab1612ae792",
      "parents": [
        "3bdd895832244780c250713e49135615ac4de003"
      ],
      "author": {
        "name": "Ayoub Nabil",
        "email": "237098474+ayoubnabil@users.noreply.github.com",
        "time": "Tue Aug 04 17:13:32 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Wed Aug 19 15:29:46 2026"
      },
      "message": "avcodec/ac3dec: avoid coefficient truncation in float decoder\n\nThe float decoder dequantized spectral coefficients into an int32_t\nbuffer using mantissa \u003e\u003e exponent. This discarded the fractional part\nbefore conversion to float and substantially raised the dither noise\nfloor for low-level coefficients.\n\nStore decoded coefficients as INTFLOAT and apply 2^-exponent directly\nin the floating-point path. Keep the fixed-point decoder unchanged, and\nperform coupling, rematrixing and final scaling in the native type.\n\nThis also removes the now-unused fmtconvert dependency. Add a synthetic\nFATE test that measures the corrected dither level. Existing PCM\nreferences remain within one sample except fate-ac3-2.0, whose measured\nmaximum difference is two samples.\n\nFixes #23684.\n"
    },
    {
      "commit": "3bdd895832244780c250713e49135615ac4de003",
      "tree": "d029d34d90f73c0c49e220f1f58e936e324e3e08",
      "parents": [
        "cb2370e546bb4c51b2a0f914f06d4698ae3ab1aa"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Mon Aug 17 03:14:19 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Wed Aug 19 12:25:40 2026"
      },
      "message": "avcodec/lcevcdec: use a counter as timestamp instead of frame pts\n\nIf the source is an elementary stream, PTS may be unset and thus\nliblcevc-dec will not be able to match nor order input raw pictures and\nenhancement payloads.\n\nGiven lcevc_process() is called from the main thread in presentation order,\na simple counter will suffice.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "cb2370e546bb4c51b2a0f914f06d4698ae3ab1aa",
      "tree": "91b3e8067cd3705190dcf975bb68eaa5292000e8",
      "parents": [
        "564f92cce23ae95399476617b8a1dc357f002a47"
      ],
      "author": {
        "name": "Dmitrii Gershenkop",
        "email": "bortengineer@protonmail.com",
        "time": "Wed Aug 12 14:49:40 2026"
      },
      "committer": {
        "name": "ArazIusubov",
        "email": "Primeadvice@gmail.com",
        "time": "Wed Aug 19 08:52:44 2026"
      },
      "message": "avfilter/vf_{vpp,sr,vqe}_amf: Enforce memory type\n"
    },
    {
      "commit": "564f92cce23ae95399476617b8a1dc357f002a47",
      "tree": "f3f12fd62e5ad959b30f654f95c10d75c41cacc3",
      "parents": [
        "d998016f921cd7a909cd64296c39a981722b1be2"
      ],
      "author": {
        "name": "Ayoub Nabil Boubagrat",
        "email": "237098474+ayoubnabil@users.noreply.github.com",
        "time": "Tue Aug 18 12:40:56 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Wed Aug 19 01:54:15 2026"
      },
      "message": "avcodec/ac3dec_fixed: preserve overlap across dependent substreams\n\nac-3 cores and dependent e-ac-3 substreams may use different\ncoefficient scales while owning separate delay slots.\n\nthe global reset added in 5ba2a2c841 cleared both sets of slots on\nevery substream switch, corrupting the mdct overlap of valid 7.1\nstreams.\n\ntrack the scale per substream and clear only its own delay slots when\nit changes. add a fate test using the existing the_great_wall sample.\n\nSigned-off-by: Ayoub Nabil Boubagrat \u003c237098474+ayoubnabil@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "d998016f921cd7a909cd64296c39a981722b1be2",
      "tree": "93cf0d9a0b61b03c5543141bafa1473cd9e6351f",
      "parents": [
        "4b47405e1c251405bfa5196e79aa395c59ad2323"
      ],
      "author": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Tue Jul 14 21:23:00 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Tue Aug 18 22:26:29 2026"
      },
      "message": "avformat/mov: Support rndr track reference type\n\nThis is similar to `cdsc` but intended for rendering metadata.\nFrom a demuxer\u0027s point of view both of them are essentially the\nsame.\n\nAdded in the draft spec here: https://www.mpeg.org/standards/MPEG-4/12/\n\nLink to the newly added fate sample: https://drive.google.com/file/d/1qfRALYT6ZCcijKEAkrWWjIDq_E2dm3Ix/view?usp\u003ddrive_link\n\nSigned-off-by: Vignesh Venkat \u003cvigneshv@google.com\u003e\n"
    },
    {
      "commit": "4b47405e1c251405bfa5196e79aa395c59ad2323",
      "tree": "4e372a873cbc1567269ab931311e806cd17fee78",
      "parents": [
        "29f513af7833499ddff3f2443609356eacfdd665"
      ],
      "author": {
        "name": "unfunnyatearug",
        "email": "yalisib2222@gmail.com",
        "time": "Tue Aug 18 11:46:35 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Tue Aug 18 18:56:04 2026"
      },
      "message": "avformat/genh: check thp extradata read and allocation\n\nthe genh demuxer had the same short-read issue at one location. the read is now performed with `ffio_read_size()` so truncated input is rejected instead of leaving uninitialized data in the extradata.\n`ff_alloc_extradata()` also had its return value unchecked. if allocation failed, the code could dereference a null pointer. the return value is now checked.\nthe affected path is capped at two channels, so the potential information leak is relatively small, but it is the same underlying bug class.\n\nSigned-off-by: unfunnyatearug \u003cyalisib2222@gmail.com\u003e\n"
    },
    {
      "commit": "29f513af7833499ddff3f2443609356eacfdd665",
      "tree": "9adfc23576f5e9db9d9aa102a5dd949f05d7ef2b",
      "parents": [
        "712a8f9e84038a3e10015de78fb513f650bb7aec"
      ],
      "author": {
        "name": "unfunnyatearug",
        "email": "yalisib2222@gmail.com",
        "time": "Tue Aug 18 11:46:35 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Tue Aug 18 18:56:04 2026"
      },
      "message": "avformat/fsb: reject truncated thp coefficient extradata\n\nthe fsb demuxer used `avio_read(..., 32)` for each channel but ignored the return value.\n`ff_alloc_extradata()` only clears the padding area. if the input file is truncated, the remaining extradata can therefore contain uninitialized memory.\n`nb_channels` is a 16-bit value and was only limited by the `int_max / 32` calculation. this allows a truncated file to cause a leak of up to ~2 MB of uninitialized memory.\nthe affected extradata is used by the `adpcm_thp` decoder and can also be copied to the output during remuxing.\nthe fix replaces the unchecked reads with `ffio_read_size()`, which reports an error when the requested amount of data cannot be read. both the thp v3 and v4 paths are fixed.\n\nSigned-off-by: unfunnyatearug \u003cyalisib2222@gmail.com\u003e\n"
    },
    {
      "commit": "712a8f9e84038a3e10015de78fb513f650bb7aec",
      "tree": "21e5388894a24326750057909571efa4e768a388",
      "parents": [
        "21bbd98e7b05542e9be5661a8532d2513af8c22c"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 17:12:09 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 17:14:01 2026"
      },
      "message": "lavu/vulkan: properly set the required subgroup size for loaded shaders\n\nThis was forgotten/left out somehow.\n"
    },
    {
      "commit": "21bbd98e7b05542e9be5661a8532d2513af8c22c",
      "tree": "92f66de25cd91840462d9aa9efeb977523c0ca73",
      "parents": [
        "ade01193a1a7f77de0f466067e9961871c8e0e8a"
      ],
      "author": {
        "name": "jiangjie",
        "email": "jiangjie@agora.io",
        "time": "Thu Aug 13 10:31:31 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "ffmpeg@haasn.dev",
        "time": "Tue Aug 18 13:55:13 2026"
      },
      "message": "avfilter/blend: clip expression output to pixel depth\n\nClip integer expression results in the double domain before storing them. This keeps high-bit-depth samples within their declared range and gives NaN and infinities defined behavior while preserving float formats.\n\nFixes issue #24121.\n"
    },
    {
      "commit": "ade01193a1a7f77de0f466067e9961871c8e0e8a",
      "tree": "1bc30d9503059e0e15c6aaf93e08e91e1507101e",
      "parents": [
        "4ca56d0f90d0a80ff3e1b1dcff78013e63c26287"
      ],
      "author": {
        "name": "jiangjie",
        "email": "jiangjie@agora.io",
        "time": "Mon Aug 17 10:32:56 2026"
      },
      "committer": {
        "name": "stevenliu",
        "email": "lingjiujianke@gmail.com",
        "time": "Tue Aug 18 11:06:15 2026"
      },
      "message": "avformat/dashenc: free http options on avio_open_dyn_buf failure\n\nFixes #24171\n"
    },
    {
      "commit": "4ca56d0f90d0a80ff3e1b1dcff78013e63c26287",
      "tree": "746e1f02e7820375ce05063c90e93749a940b9fe",
      "parents": [
        "515a1a4eb082f7fd5ff8e054158470e5b504fc3d"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sat Aug 15 07:58:19 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Tue Aug 18 09:51:33 2026"
      },
      "message": "avcodec/x86/vp8dsp: Port ff_vp8_luma_dc_wht_sse to xmm regs\n\nSome parts of it benefit from wider registers:\n\n  vp8_luma_dc_wht_c:        22.7\n  vp8_luma_dc_wht_sse:      14.7 ( 1.55x)\n  vp8_luma_dc_wht_sse2:     13.2 ( 1.73x)\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "515a1a4eb082f7fd5ff8e054158470e5b504fc3d",
      "tree": "7f1cb731bef87e5381160a9122cabdfbd1d609c9",
      "parents": [
        "89153eb701d372f54a5d7d29de5067abc09e11d3"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sat Aug 15 07:48:51 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Tue Aug 18 09:51:33 2026"
      },
      "message": "tests/checkasm/vp8dsp: Don\u0027t use declare_func_emms unnecessarily\n\nPossible since b9161b93b5c88bd2f6f110bb527336af9a4c0cae.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "89153eb701d372f54a5d7d29de5067abc09e11d3",
      "tree": "ff5ea70952a8eaca000a8962dc14deb441a310db",
      "parents": [
        "a7ebeb2bec722c1d6686d2742980c075a72c1db8"
      ],
      "author": {
        "name": "jiangjie",
        "email": "jiangjie@agora.io",
        "time": "Mon Aug 17 10:05:43 2026"
      },
      "committer": {
        "name": "Zhao Zhili",
        "email": "quink@noreply.code.ffmpeg.org",
        "time": "Tue Aug 18 07:01:05 2026"
      },
      "message": "avformat/http: free cookie parameters on parse failure\n\nFixes issue #24172\n"
    },
    {
      "commit": "a7ebeb2bec722c1d6686d2742980c075a72c1db8",
      "tree": "37caaabc6bd059f726cbd1726819c581d0086947",
      "parents": [
        "208a950c275d34a1eca1fe5b34e687a52da78787"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 04:55:47 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 04:58:14 2026"
      },
      "message": "vulkan/ffv1: decode the extra Bayer gm bit on pre-4.8 streams\n\nMirror of the RGB fix: the hardcoded gm width matched 4.8+ only,\ngarbling valid 4.3..4.7 Bayer streams. FFmpeg\u0027s encoders always\nstamp Bayer with 4.10, so only external streams were affected.\n"
    },
    {
      "commit": "208a950c275d34a1eca1fe5b34e687a52da78787",
      "tree": "74583bb77f448dffb8efc88ff4c3f68e1ecfddec",
      "parents": [
        "92f292807e9194b32175c416fc2ec8727797c1d1"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 04:55:47 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 04:58:06 2026"
      },
      "message": "vulkan/ffv1: stop decoding the extra RGB bit on 4.8+ streams\n\n4.8 dropped the extra coded bit on the primary and alpha planes of\nRCT slices, but the integer path of get_slice_bits() hardcoded the\nold widths, garbling every software-encoded v4 RGB stream. The\nVulkan encoder writes 4.3 and was unaffected.\n"
    },
    {
      "commit": "92f292807e9194b32175c416fc2ec8727797c1d1",
      "tree": "ae4726d05aaeb795e19b55142d9c4bffb3ae0d67",
      "parents": [
        "aac66834c230c5a6f0f448dcdc7af879ea4b8da5"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 02:31:24 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 04:22:54 2026"
      },
      "message": "vulkan: properly align the GET_BITS_SMEM cache refills\n\nThe issue is that init_get_bits is not guaranteed to be called with\nan aligned address, so LOAD64 tried to align the offset for SMEM\nloading, but only aligned to a 4-byte alignment, whilst FILL_SMEM\nrequires 16 byte alignment.\nFix it by just loading with FILL_SMEM from an aligned position,\nthen throwing away the padding data at the start.\n"
    },
    {
      "commit": "aac66834c230c5a6f0f448dcdc7af879ea4b8da5",
      "tree": "7c06d5ec3e3a83dd1fe116023bb0c088f129d3b7",
      "parents": [
        "3dddcc3282366b340fdf5de7a6cfd6b1ea153272"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 02:15:06 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue Aug 18 04:22:05 2026"
      },
      "message": "ffv1enc_vulkan: use unaligned bitstream writes in the Golomb shader\n\nThe issue is that golomb code writes start after the slice header,\nwhich means they\u0027re not guaranteed to be aligned.\n"
    },
    {
      "commit": "3dddcc3282366b340fdf5de7a6cfd6b1ea153272",
      "tree": "66199c313319a3615668d5b87cce3b670f219a19",
      "parents": [
        "e4be207d8293f30b1d97bcd00f7cc68f97658231"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun May 31 03:01:19 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Mon Aug 17 23:41:46 2026"
      },
      "message": "avformat/hashenc: extend output of streamhash muxer\n\nAdd the same features as the framehash muxer.\n\nThis makes it much more useful as it prints important information that some\ntests may need where framehash is not an option given it prints too many lines\n(e.g., samples with tons of frames where timestamps or packet flags are\nirrelevant, and just a single hash is enough).\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "e4be207d8293f30b1d97bcd00f7cc68f97658231",
      "tree": "ba8fb883b9b1dcf433cc8a6c41a4a3adefa9ce0a",
      "parents": [
        "a1d860a00de25191666b16cdff0517b2bccb6f6f"
      ],
      "author": {
        "name": "Romain Beauxis",
        "email": "romain.beauxis@gmail.com",
        "time": "Mon Aug 17 15:58:44 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Mon Aug 17 22:21:44 2026"
      },
      "message": "Add missing .gitignore.\n"
    },
    {
      "commit": "a1d860a00de25191666b16cdff0517b2bccb6f6f",
      "tree": "6729eab270c01bc07a745fd8bf2fd9967f585389",
      "parents": [
        "8b003c660fa5f29789acb85827efd31524ee4fd3"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Mon Aug 17 19:06:01 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Mon Aug 17 19:06:01 2026"
      },
      "message": "avformat/tests/movenc: Convert to API test tool\n\nThis is possible because it only uses the public API;\nand beneficial when using shared builds (as not all\nthe internals of lavf are linked statically in the binary).\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "8b003c660fa5f29789acb85827efd31524ee4fd3",
      "tree": "dd034dcc92228a73aa40c863de6e3dfbff2cdc53",
      "parents": [
        "43284b61a39a7d35633ebbc637db50ff4e97c57e"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Mon Aug 17 17:49:03 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Mon Aug 17 17:49:03 2026"
      },
      "message": "avcodec/libdav1d: fix leak of frames on failure\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "43284b61a39a7d35633ebbc637db50ff4e97c57e",
      "tree": "12cb7651b63616ba499b77fa7dfdf7b654032548",
      "parents": [
        "4ec050211a285e710a2bd3b539d3434ebed3f71a"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 16 22:15:36 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Mon Aug 17 16:43:51 2026"
      },
      "message": "Revert \"fftools/ffmpeg_sched: allow throttling decoder outputs\"\n\nThis reverts commit 03dfac563018e6e8b81e331ebae0732d8edfe754.\nSaid commit led to numerous regressions, namely:\na) It can lead to wrong output interleavement (issue #23731\nand (presumably) #24162).\nb) It can lead to streams stopping prematurely (issue #24008\nand (presumably) #23988 and #24135).\nc) It can lead to extreme memory usage even when the input files\nare fine, especially mkvmerge files (see issue #24168).\n\nReviewed-by: Niklas Haas \u003cffmpeg@haasn.dev\u003e\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "4ec050211a285e710a2bd3b539d3434ebed3f71a",
      "tree": "98e0b92576a4a39e80b82bb49016f05b9aa0b3ce",
      "parents": [
        "cc50be6d0dd0b1fd518b5f12d44a8f163ddafdf1"
      ],
      "author": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Sat Jun 27 05:31:38 2026"
      },
      "committer": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Mon Aug 17 15:23:43 2026"
      },
      "message": "avutil/hwcontext_vulkan: drop NVIDIA/MoltenVK host transfer blocklist\n\nNow that we correctly test if images are valid for host transfer, we\ncan drop the hardcoded blocklist. The MoltenVK issue has been fixed\nupstream [1]. The NVIDIA issue has no upstream tracking reference, and\ncurrent drivers show no problems with host image copy in libplacebo,\nwhich uses it in the same way.\n\n[1] https://github.com/KhronosGroup/MoltenVK/issues/2618\n\nSigned-off-by: Kacper Michajłow \u003ckasper93@gmail.com\u003e\n"
    },
    {
      "commit": "cc50be6d0dd0b1fd518b5f12d44a8f163ddafdf1",
      "tree": "5784b6ecfd382f67802eb9aae2a7457ac6c19f53",
      "parents": [
        "745680c2d2fce7a87b4fe861d2b1fc2534349ae7"
      ],
      "author": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Sat Jun 27 05:20:46 2026"
      },
      "committer": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Mon Aug 17 15:23:43 2026"
      },
      "message": "avutil/hwcontext_vulkan: probe host image transfer support before enabling\n\nDrivers may expose the host image transfer format feature, yet reject\nthe final image parameter combination, or provide no memory type from\nwhich such an image can be allocated. Notably video decode/encode\nimages are often not possible to allocate from host visible memory\ntype. Validate the final image parameters, including DRM format\nmodifiers, and keep the usage flag only when it is actually usable.\n\nFixes: #21704\nCo-authored-by: llyyr \u003cllyyr.public@gmail.com\u003e\nSigned-off-by: Kacper Michajłow \u003ckasper93@gmail.com\u003e\n"
    },
    {
      "commit": "745680c2d2fce7a87b4fe861d2b1fc2534349ae7",
      "tree": "0b3d8245c1980a6b3c94492d1ff0a929b172e914",
      "parents": [
        "96f93ece11f47eb5b7677618caeb858e275ae3c4"
      ],
      "author": {
        "name": "Hawthorn",
        "email": "rv.help23@gmail.com",
        "time": "Mon Aug 17 14:39:49 2026"
      },
      "committer": {
        "name": "Hawthorn",
        "email": "rv.help23@gmail.com",
        "time": "Mon Aug 17 14:41:27 2026"
      },
      "message": "avformat/mov: bound iloc/iinf item counts by the box size\n\nmov_read_iloc() and mov_read_iinf() read a 16- or 32-bit item/entry\ncount from the file and pass it straight to av_realloc_array() with no\nlimit, so a small box can drive a multi-gigabyte allocation before the\nread loop hits EOF. Reject counts larger than the remaining box size,\nmatching the existing sgpd bound.\n\nSigned-off-by: Hawthorn \u003crv.help23@gmail.com\u003e\n"
    },
    {
      "commit": "96f93ece11f47eb5b7677618caeb858e275ae3c4",
      "tree": "1ee59c1e9fe2b1577fceba168d7cab8114ef2d2a",
      "parents": [
        "8a159afa9855cdd77897c10507fe96c18f3c6485"
      ],
      "author": {
        "name": "Dmitrii Gershenkop",
        "email": "bortengineer@protonmail.com",
        "time": "Thu Aug 13 09:42:31 2026"
      },
      "committer": {
        "name": "ArazIusubov",
        "email": "Primeadvice@gmail.com",
        "time": "Mon Aug 17 14:09:14 2026"
      },
      "message": "avutil/hwcontext_amf: Fix double init for derived devices.\n\nRight after device_derive, FFmpeg also calls device_init. And in device_init (amf_device_init), the fact that AMF might be already initialized with, for example, Vulkan, is ignored and gets initialized again with DX11.\n"
    },
    {
      "commit": "8a159afa9855cdd77897c10507fe96c18f3c6485",
      "tree": "3ebc8793ea5ba6625869b664dd46a253028c52a1",
      "parents": [
        "426841da9d9167781007e4238583a7c0da5f04c4"
      ],
      "author": {
        "name": "Zhao Zhili",
        "email": "zhilizhao@tencent.com",
        "time": "Mon Aug 17 00:52:28 2026"
      },
      "committer": {
        "name": "Zhao Zhili",
        "email": "quink@noreply.code.ffmpeg.org",
        "time": "Mon Aug 17 13:52:51 2026"
      },
      "message": "avutil/tests/hwcontext_cuda: stop leaking frames contexts\n\nav_hwframe_get_buffer() requires an empty frame and attaches the\nframes context reference itself. The test pre-set\nframe-\u003ehw_frames_ctx, so the plain assignment in\nav_hwframe_get_buffer() overwrote the field without unref-ing the\npre-set reference.\n"
    },
    {
      "commit": "426841da9d9167781007e4238583a7c0da5f04c4",
      "tree": "4a71cb3d5e810812cb137eeb6fef999e76da86dc",
      "parents": [
        "b02fa6b7cdbbcf1ca14ad15b25c6fffb55bb1b8d"
      ],
      "author": {
        "name": "Tymur Boiko",
        "email": "tboiko@nvidia.com",
        "time": "Wed Aug 12 15:55:58 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 06:48:49 2026"
      },
      "message": "avcodec/vulkan_encode: speed up hevc_vulkan with encode optimizations\n\nWithout ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS and with min CU forced to\n8x8, hevc_vulkan keeps a much heavier encode config at common quality\nlevels than h264_vulkan (16x16 macroblocks, no min-CU SPS field). Set\nthe session flag and use min CU 16x16 when CTB \u003e\u003d 32; also fix\nmax_transform_hierarchy_depth_inter assignment.\n\nWhen applying GetEncoded SPS feedback, sync overridden fields together\n(extent/conf_win, min/diff CU and TB sizes, transform hierarchy). Copying\nonly log2_diff left CtbLog2SizeY\u003d7 and undecodable HEVC after some\nimplementations rewrote min CU.\n\nReporter cmd (1080p testsrc2, quality 1, 1000 frames):\n  before: hevc ~200–317 fps vs higher h264\n  after:  hevc 289/325/358 fps, h264 288/317/359 fps (parity)\n"
    },
    {
      "commit": "b02fa6b7cdbbcf1ca14ad15b25c6fffb55bb1b8d",
      "tree": "45168f8e9b3dfcc48895848a70820f23439702ac",
      "parents": [
        "d06e3815342882ee88492a734a84d1bd532db221"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun Aug 16 15:50:44 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 05:57:08 2026"
      },
      "message": "vulkan_decode: prefer DISTINCT-mode references when a driver offers both\n\nWhen both DPB modes are supported, the choice is up to the application.\nCOINCIDE was picked, but it forces DPB usage onto every user-visible\noutput image, costing compression on several drivers, and keeps\nreferences alive as full frames. With references pooled internally as\nqueue-exclusive, single-usage images, DISTINCT is the better default.\n"
    },
    {
      "commit": "d06e3815342882ee88492a734a84d1bd532db221",
      "tree": "8d8ac97bbb98c507f85b6d945c80307a148fa938",
      "parents": [
        "b7e8611b2a6a035ca79afd2818962518126265da"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun Aug 16 15:48:20 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 05:57:07 2026"
      },
      "message": "vulkan_decode: fix operator precedence in the COINCIDE-only sanity check\n\n\u003d\u003d binds tighter than \u0026, so the mask expression evaluated to\nflags \u0026 ((A|B) \u003d\u003d A), which is always zero, and the check for drivers\nsignalling COINCIDE without separate reference images never fired.\n"
    },
    {
      "commit": "b7e8611b2a6a035ca79afd2818962518126265da",
      "tree": "0662625c071a875ab932156a5837b94bcdae1523",
      "parents": [
        "b3ee8c8920b13160faf66a1bccaa2691477e7c6a"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun Aug 16 10:50:52 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 05:57:07 2026"
      },
      "message": "vulkan: enable unified image layouts when supported\n\nEnables VK_KHR_unified_image_layouts when available, and queries its\nfeature bits into FFVulkanContext. The extension guarantees that using\nthe GENERAL image layout comes with no performance penalty, with the\nunifiedImageLayoutsVideo feature extending this to video usage.\n"
    },
    {
      "commit": "b3ee8c8920b13160faf66a1bccaa2691477e7c6a",
      "tree": "a1f7e8c1224adf9145dfbf6d38dea54e7780cf20",
      "parents": [
        "ccb51e6bf062d7138650209bcce47e789af7a1ed"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Fri Aug 07 05:02:02 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 05:57:07 2026"
      },
      "message": "vulkan_video: allocate DPB images internally, outside of any frame machinery\n\nDISTINCT-mode references and encoder reconstruction images are never\nuser-visible and only ever accessed by a single queue, yet were\nallocated through a full AVHWFramesContext: CONCURRENT-shared images\n(disabling compression on several drivers), plus an unused frames\ncontext with its own execution pools, per codec instance.\n\nPool them internally as plain {image, memory, view, layout} entries:\none video-stage memory barrier per submission orders all prior work,\nso they need no semaphores or dependencies, views are created once,\nand freeing a DISTINCT-mode picture no longer waits on the host.\nCOINCIDE-mode outputs remain ordinary frames.\n"
    },
    {
      "commit": "ccb51e6bf062d7138650209bcce47e789af7a1ed",
      "tree": "41471836f8fe6acf32c1d5d79545a623cf689c23",
      "parents": [
        "62ad3dd732ac03681dcaaaecce8d4c076d144ec7"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun Jul 19 10:39:45 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 05:57:07 2026"
      },
      "message": "hw_base_encode: allow allocating reconstruction frames via a callback\n\nAPIs which do not use a frames context for reconstruction images can\nprovide them through it instead of recon_frames_ref.\n"
    },
    {
      "commit": "62ad3dd732ac03681dcaaaecce8d4c076d144ec7",
      "tree": "bfdc3949bb4bcea4813ade24a8656503b5158a81",
      "parents": [
        "a1c83c513f3cd3705f9001edcad57dd1b8fceb6a"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun Jul 19 10:39:45 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 05:57:07 2026"
      },
      "message": "vulkan: add an internal image allocation helper\n\nCreates single standalone images for internal use: exclusive sharing\nwith no queue family ownership transfers, and dedicated memory when\nthe driver prefers it.\n"
    },
    {
      "commit": "a1c83c513f3cd3705f9001edcad57dd1b8fceb6a",
      "tree": "bc03b3075d1af384ce15c57f2fc5a26265235489",
      "parents": [
        "d0d7d813178fec964716aa2c48f5896ce5c26284"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Fri Aug 07 16:25:00 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 05:57:07 2026"
      },
      "message": "vulkan: carry the execution context\u0027s busy state in a timeline semaphore\n\nAn execution abandoned on error between start and submission left the\nownership mutex locked forever, deadlocking the context\u0027s next reuse.\n\nReplace the submission fence with a timeline semaphore:\nff_vk_exec_start() claims the context by incrementing the awaited\nvalue, the submission signals it, and the mutex only briefly guards\nthe dependency lists. Abandonment becomes ff_vk_exec_discard(), called\nexactly once on a started, unsubmitted context: it frees the\ndependencies, drops the recording, and un-claims by signalling from\nthe host - which a fence cannot do. ff_vk_exec_submit() cleans up\nafter its own failures; error paths which leaked the claim now\ndiscard, and ff_vk_exec_start() failures are checked everywhere.\n"
    },
    {
      "commit": "d0d7d813178fec964716aa2c48f5896ce5c26284",
      "tree": "9b0211de52e01cf027c100b8acc24674b4f51ae9",
      "parents": [
        "888430127108501f6408df14b0d4c4e04fb9afe4"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sat Jul 18 07:04:56 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 05:57:07 2026"
      },
      "message": "vulkan: de-phase queue rotation and pin video pools to a single queue\n\nAll pools rotated through a family\u0027s queues in lockstep from index 0,\ncolliding on the same queue at the same time. Give each pool a phase\nfrom a per-family, per-library counter: video pools are pinned to the\nqueue it selects, as sessions order their execution anyway, while all\nother pools rotate starting from it. On e.g. Intel, a transcode now\nruns decode and encode on separate engines of the shared video family.\n\nThe counters are seeded once with a random value, so that separate\nprocesses, and separate copies of this code within one process,\nde-phase statistically on drivers with a fixed queue-to-engine mapping.\n\nAlso assigns ffv1enc\u0027s per-context index once, at init.\n"
    },
    {
      "commit": "888430127108501f6408df14b0d4c4e04fb9afe4",
      "tree": "08ec85d95c3b9a3ba2e5fc2b1696d5d1f880ebc1",
      "parents": [
        "a48e31e501b950babcf7a47498ecf9e4e16cd7de"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun Aug 16 08:55:42 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon Aug 17 05:57:01 2026"
      },
      "message": "vulkan: enable maintenance9 when supported\n\nEnables VK_KHR_maintenance9 when available. The feature of interest\nis that queue family ownership transfers become optional for resources\ncreated with exclusive sharing mode, with their contents preserved\nwhen accessed by another queue family.\n\nFor optimal-tiling images, this is only guaranteed between queue\nfamilies flagged in VkQueueFamilyOwnershipTransferPropertiesKHR, so\nquery it for each queue family alongside the other properties.\n"
    },
    {
      "commit": "a48e31e501b950babcf7a47498ecf9e4e16cd7de",
      "tree": "3865597e0bf6302f666af002f50e835504f908bb",
      "parents": [
        "74705b3970cbc277e9366d82ee32d7c3a0a9e3b3"
      ],
      "author": {
        "name": "Zuxy Meng",
        "email": "zuxy.meng@gmail.com",
        "time": "Wed Aug 12 07:18:34 2026"
      },
      "committer": {
        "name": "Zuxy Meng",
        "email": "zuxy.meng@gmail.com",
        "time": "Sun Aug 16 23:10:09 2026"
      },
      "message": "avcodec/x86/pngdsp.asm: replace MMX with SSE2\n\nNo more use of mm registers and emms. Performance identical.\n\nSigned-off-by: Zuxy Meng \u003czuxy.meng@gmail.com\u003e\n"
    },
    {
      "commit": "74705b3970cbc277e9366d82ee32d7c3a0a9e3b3",
      "tree": "e10d046fcf0a8504f0fd53d1fa2dfa039cd7b56d",
      "parents": [
        "3a8e4fc8062c1065594e7914875da4cea113b295"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Fri Aug 14 21:58:05 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 16 17:20:45 2026"
      },
      "message": "tests/checkasm/Makefile: Don\u0027t build empty files\n\nEmpty translation units are actually invalid C that compilers\nhappen to accept (but warn about when using -pedantic).\nIn any case, they are unnecessary, so don\u0027t build them.\n\nReviewed-by: Kacper Michajłow \u003ckasper93@gmail.com\u003e\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "3a8e4fc8062c1065594e7914875da4cea113b295",
      "tree": "b09cb445d9d99efb49b95d1a79761e0f5ade1738",
      "parents": [
        "0056dd32fd94e739e14bb3c463c68ebe806dfd1d"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Thu Aug 13 01:02:46 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun Aug 16 16:35:04 2026"
      },
      "message": "avcodec/h264qpel: Deduplicate \u003e8 bit fpel functions\n\nSaves 18760B of .text here.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "0056dd32fd94e739e14bb3c463c68ebe806dfd1d",
      "tree": "d16768137e183d84738d765756ad4460f51b444a",
      "parents": [
        "d5b8439bdd968f3bea5f973ecb4d51b4325ee364"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Wed Aug 12 21:47:12 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sat Aug 15 20:40:43 2026"
      },
      "message": "avcodec/mips/vc1dsp_msa: Fix mspel functions\n\nThe VC-1 mc prediction for combined horizontal and vertical offset\ninvolves first a vertical 4-tap filter, followed by shifting,\nfollowed by a horizontal 4-tap filter, followed by shifting by 7.\nBoth passes involve negative coefficients and therefore the\nintermediate values for the \u003e\u003e 7 can exceed the range of\n0..255*128 a bit in both directions. Therefore one can not simply\nuse either a logical or an arithmetic right shift. But one can use\nthem after having added a certain bias to ensure that one is in\nthe proper range. This is what this commit does.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "d5b8439bdd968f3bea5f973ecb4d51b4325ee364",
      "tree": "3008f39efd90f9aba9201ec1cbafc5d02032d687",
      "parents": [
        "124e8393e5b80ab294170d02e8e559c20a4a8832"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Wed Aug 12 20:10:31 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sat Aug 15 20:40:43 2026"
      },
      "message": "avcodec/mips/hevcpred_msa: Fix compilation\n\nBroken in ba56a300a94bdf5520ac1324a8e7fbaeea430904,\nba56a300a94bdf5520ac1324a8e7fbaeea430904 and again\nin 38b8ae4112684c3415ab2f7d717605759d764d27.\n\nThis means that no has compiled git master on mips\nsince 2024-06-04. And no one complained.\n\nHint: One still needs to pass -flax-vector-conversions\nhere in order to compile this file.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    }
  ],
  "next": "124e8393e5b80ab294170d02e8e559c20a4a8832"
}
