)]}'
{
  "log": [
    {
      "commit": "ad41607c61898cf7150e0fb20fe4bbabd44922a3",
      "tree": "a9be7747b4fa194379b40c1b4f8a999fcad8dfdf",
      "parents": [
        "a0d90dab4bbfbabab4d024c82e17ce629baeb129"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu May 28 02:10:33 2026"
      },
      "committer": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Thu May 28 16:16:58 2026"
      },
      "message": "Fix x86 text relocations error when using mold linker (take 2)\n\nI missed some spots in my first attempt.\n\nBug: 40208899\nChange-Id: Ia931821309a8a5732961f5e0fb1323b2c725cb83\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/7881319\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "a0d90dab4bbfbabab4d024c82e17ce629baeb129",
      "tree": "47b586c7bc4d7909f4cdb3ca25ecfb65375284d1",
      "parents": [
        "023fdd1a49b0d8f78f430fd9143fc068dcd0638f"
      ],
      "author": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Tue May 26 22:50:33 2026"
      },
      "committer": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Tue May 26 23:00:17 2026"
      },
      "message": "ffmpeg/sigs: Add av_dynamic_hdr_smpte2094_app5_to_t35\n\nBug: 395659818\nChange-Id: I67b81e9ae667c977c5f86e6d0e352cc7caf43bfe\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/7876817\nReviewed-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\n"
    },
    {
      "commit": "023fdd1a49b0d8f78f430fd9143fc068dcd0638f",
      "tree": "9af3296fc21bc9156f0dd7e87ef2049b3209824e",
      "parents": [
        "369160bfafd6bfe162b66617b4b53e8e7c33a2e4"
      ],
      "author": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Tue May 26 16:21:46 2026"
      },
      "committer": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Tue May 26 18:08:50 2026"
      },
      "message": "avformat/ogg: Fix overflow and stale oggvorbis_private values\n\n- Prevent integer overflow when summing header lengths; add bounds check.\n- Re-initialize priv-\u003evp with the new stream\u0027s extradata once all chained\n  stream headers are collected.\n\nSigned-off-by: Dale Curtis \u003cdalecurtis@chromium.org\u003e\nBug: 514744613\nChange-Id: I871341c368d67261b242fed385bdf31b7f75f21a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/7875774\nReviewed-by: Thomas Guilbert \u003ctguilbert@chromium.org\u003e\n"
    },
    {
      "commit": "369160bfafd6bfe162b66617b4b53e8e7c33a2e4",
      "tree": "37ef22276c427ebbf80a821c2c3d1631e756d5a9",
      "parents": [
        "f9a94292699cbb5784c2aa57d9c55fd94f726fab"
      ],
      "author": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Mon May 18 23:57:55 2026"
      },
      "committer": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Tue May 19 00:32:30 2026"
      },
      "message": "Roll ffmpeg for M150\n\nBug: 514442559\n\nChange-Id: Ie5dd9f0f22489aa706dafa984cc573a0167aa93e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/7858130\nReviewed-by: Thomas Guilbert \u003ctguilbert@chromium.org\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\n"
    },
    {
      "commit": "f9a94292699cbb5784c2aa57d9c55fd94f726fab",
      "tree": "a28312fade3f51d5cbf7d6d21ca4134e63c08921",
      "parents": [
        "a87f87d880452edb43738d90ae2948ba1c22581e",
        "7ac3d83e7a5113fb217735b76d0843e8942c2383"
      ],
      "author": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Mon May 18 23:01:52 2026"
      },
      "committer": {
        "name": "Dale Curtis",
        "email": "dalecurtis@chromium.org",
        "time": "Mon May 18 23:01:52 2026"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into sushi-2026-05-18-23-00-53\n"
    },
    {
      "commit": "7ac3d83e7a5113fb217735b76d0843e8942c2383",
      "tree": "523cec0307eb6c33133af4e1a492d968de8b4dff",
      "parents": [
        "fa1ba61775fe0ce4d7c67ef3a3626e7688be5898"
      ],
      "author": {
        "name": "Diego de Souza",
        "email": "ddesouza@nvidia.com",
        "time": "Tue Apr 21 15:34:49 2026"
      },
      "committer": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Mon May 18 20:47:15 2026"
      },
      "message": "avcodec/nvdec: fix dimension rounding for monochrome/444 formats\n\nframes_ctx-\u003ewidth/height were unconditionally rounded to even, causing\nodd-dimension monochrome/444 clips to be reported with incorrect\nsurface pool dimensions. Round only for 4:2:0 and 4:2:2; for\nmonochrome/444 use avctx-\u003ecoded_width/coded_height unchanged,\nmatching the dimensions set by the software codec layer.\n\nPatch by: Aniket Dhok \u003cadhok@nvidia.com\u003e\nSigned-off-by: Diego de Souza \u003cddesouza@nvidia.com\u003e\n"
    },
    {
      "commit": "fa1ba61775fe0ce4d7c67ef3a3626e7688be5898",
      "tree": "f2b2b15e40888a348092eff8982fb603e83524d8",
      "parents": [
        "1356714d11b2885edfe7cdc26cb7cb256ea2c485"
      ],
      "author": {
        "name": "Diego de Souza",
        "email": "ddesouza@nvidia.com",
        "time": "Tue Apr 21 15:31:49 2026"
      },
      "committer": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Mon May 18 20:47:15 2026"
      },
      "message": "avcodec/cuviddec: fix dimension rounding for monochrome/444 formats\n\nBoth paths unconditionally rounded display dimensions to even via\n(dim + 1) \u0026 ~1. This is required for 4:2:0 and 4:2:2 (chroma\nsubsampling requires even-aligned surfaces) but incorrect for\nmonochrome and 4:4:4. AV1 monochrome clips with odd dimensions\n(e.g. 1273x713) were output as 1274x714.\n\ncuinfo.ulTargetWidth/Height still receives the even-aligned value\nfor internal NVDEC surface allocation. avctx-\u003ewidth/height are only\nupdated to the rounded value for 420/422; for monochrome/444 the\noriginal display dimensions are preserved and the cuMemcpy2D copy\ncrops naturally.\n\nPatch by: Aniket Dhok \u003cadhok@nvidia.com\u003e\nSigned-off-by: Diego de Souza \u003cddesouza@nvidia.com\u003e\n"
    },
    {
      "commit": "1356714d11b2885edfe7cdc26cb7cb256ea2c485",
      "tree": "be60c890c9d7794f9d5977997a0132a26bfc9d68",
      "parents": [
        "489a3834d27c9add73d15e4c027856f6a39276a4"
      ],
      "author": {
        "name": "Diego de Souza",
        "email": "ddesouza@nvidia.com",
        "time": "Mon May 18 14:05:06 2026"
      },
      "committer": {
        "name": "Timo Rothenpieler",
        "email": "timo@rothenpieler.org",
        "time": "Mon May 18 18:38:06 2026"
      },
      "message": "avcodec/nvenc: force frameIntervalP\u003d1 for H.264 Baseline profile\n\nH.264 Baseline profile cannot contain B-frames, but the NVENC preset\ndefaults and the max_b_frames-derived frameIntervalP override leave\nframeIntervalP \u003e 1 when -profile:v baseline is requested. The\nunconditional check at the end of nvenc_setup_encoder() then sets\nhas_b_frames \u003d 2, which propagates to the muxer and causes\ncompute_muxer_pkt_fields() to back-calculate\nDTS \u003d PTS - (delay + 1) * frame_duration. The resulting bitstream\ncontains no B-frames, yet every packet has a spurious 3-frame PTS/DTS\ngap, breaking MPEG-TS/HLS output and DTS-based players.\n\nThis patch forces frameIntervalP to 1 in the Baseline branch of\nnvenc_setup_h264_config() and warn if the user (or preset) had asked\nfor B-frames. The later has_b_frames assignment then sees the corrected\nvalue and leaves avctx-\u003ehas_b_frames at 0.\n\nFixes #22727.\n\nSigned-off-by: Diego de Souza \u003cddesouza@nvidia.com\u003e\n"
    },
    {
      "commit": "489a3834d27c9add73d15e4c027856f6a39276a4",
      "tree": "03e712e36ed84c9599f30ff05480895b8b8db032",
      "parents": [
        "5f2877b532c07e19b4fbf789e1042816ff5f866f"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 13:26:11 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon May 18 18:22:29 2026"
      },
      "message": "swscale/vulkan: implement SWS_OP_PACK/SWS_OP_UNPACK\n\nThe issue is that while Vulkan already does the decomposition for us,\nswscale assumes that the pixels will be in bitstream order, rather than\nin their decomposed form.\nThis is valid for all packed formats for which these instructions are\nissued (XV30 and X2RGB10).\nThis allows us to support the formats in Vulkan.\n\nSponsored-by: Sovereign Tech Fund\n"
    },
    {
      "commit": "5f2877b532c07e19b4fbf789e1042816ff5f866f",
      "tree": "3233b7949368c7d61030ea18462dd5a8bc2bbfc9",
      "parents": [
        "561e32c9cf0e3a5a73de28c322aa81e825ef4955"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 13:40:15 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon May 18 18:22:29 2026"
      },
      "message": "hwcontext_vulkan: enable X2BGR10\n\nThe format itself was working perfectly. Unlike BGR0/BGRA, all known\nVulkan implementations support storage images just fine.\n"
    },
    {
      "commit": "561e32c9cf0e3a5a73de28c322aa81e825ef4955",
      "tree": "ff28ae6626a02ce7636f59e60dd315b7eb32a122",
      "parents": [
        "f73acb861801fa61995f957ea3632b46db6024a3"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 13:29:20 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon May 18 18:22:29 2026"
      },
      "message": "hwcontext_vulkan: reenable X2RGB10\n\nNow that all issues are fixed, we can go ahead with it.\n\nSponsored-by: Sovereign Tech Fund\n"
    },
    {
      "commit": "f73acb861801fa61995f957ea3632b46db6024a3",
      "tree": "e4d1339ef41606ac5fff7f4267aa57939a165af9",
      "parents": [
        "b4d11dffbf254d0f6f0fef553e1065a94fefd224"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 13:28:15 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Mon May 18 18:22:24 2026"
      },
      "message": "hwcontext_vulkan: reenable and remap XV30\n\nThe issue was that XV30 is a native 444 10-bit format, rather than\n16-bits. This resulted in padding leaking into bits where it shouldn\u0027t.\n\nSponsored-by: Sovereign Tech Fund\n"
    },
    {
      "commit": "b4d11dffbf254d0f6f0fef553e1065a94fefd224",
      "tree": "b56ae93aa893cc4f9537951c850991691d709f2e",
      "parents": [
        "989e621bcd93c3c79dbfbe65710505259b8c73e9"
      ],
      "author": {
        "name": "Zhao Zhili",
        "email": "quinkblack@foxmail.com",
        "time": "Thu May 14 13:46:21 2026"
      },
      "committer": {
        "name": "Zhao Zhili",
        "email": "quink@noreply.code.ffmpeg.org",
        "time": "Mon May 18 04:00:18 2026"
      },
      "message": "avformat/rtpdec_av1: fix operator precedence in packet allocation\n\nThe closing parenthesis in the av_new_packet() branch was misplaced,\nmaking result store the boolean comparison instead of the AVERROR\ncode, so allocation failures were silently lost.\n\nav_grow_packet() handles both an empty and a non-empty packet, so use\nit for both cases and drop the broken branch.\n\nSigned-off-by: Zhao Zhili \u003czhilizhao@tencent.com\u003e\n"
    },
    {
      "commit": "989e621bcd93c3c79dbfbe65710505259b8c73e9",
      "tree": "28e04d72dfd34d297346531a9b404df36e1c0b46",
      "parents": [
        "f435ce22e10e2c93fc8027cc72eeb09eba50ab8d"
      ],
      "author": {
        "name": "David Korczynski",
        "email": "David@Adalogics.com",
        "time": "Sun May 17 12:32:49 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Sun May 17 17:49:59 2026"
      },
      "message": "avcodec/g2meet: The stack is EPIC_PIX_STACK_SIZE\n\nFixes: out of array access\nFixes: ada-5-poc.avi\n\nFound-by: Claude and Ada Logics. This issue was found by Anthropic from using agents to study security of open source projects, and I am from Ada Logics helping validate the found issues and report to maintainers.\nSigned-off-by: Michael Niedermayer \u003cmichael@niedermayer.cc\u003e\n"
    },
    {
      "commit": "f435ce22e10e2c93fc8027cc72eeb09eba50ab8d",
      "tree": "23fb3686b739d178153b3cafc78887cc96134b79",
      "parents": [
        "af739541bf0b73d55ad56ab4d513b80743e35a6f"
      ],
      "author": {
        "name": "Michael Niedermayer",
        "email": "michael@niedermayer.cc",
        "time": "Sun May 17 14:55:54 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Sun May 17 16:00:37 2026"
      },
      "message": "avcodec/h2645_sei: Initialize side data before deallocation\n\nFixes: use after free\nFixes: poc_hvcc_modified.mp4\n\nFound by: Jiale Yao\nSigned-off-by: Michael Niedermayer \u003cmichael@niedermayer.cc\u003e\n"
    },
    {
      "commit": "af739541bf0b73d55ad56ab4d513b80743e35a6f",
      "tree": "1d44ca693f522f125052771d35efe32f0157bf45",
      "parents": [
        "4444a755907e05dc4d4e4f9e2c91320b1b36a235"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun May 17 15:27:59 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun May 17 15:27:59 2026"
      },
      "message": "avformat/mov: factorize out tmcd track parsing\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "4444a755907e05dc4d4e4f9e2c91320b1b36a235",
      "tree": "96458803d530b8e21e0d07c2cca583284b761289",
      "parents": [
        "90dd8673ce3a6ad50f0872e6606d578840e7b1c4"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Tue Mar 17 21:13:23 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun May 17 14:16:56 2026"
      },
      "message": "avformat/movenc: support writing more than one entry per tref tag\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "90dd8673ce3a6ad50f0872e6606d578840e7b1c4",
      "tree": "80941d9e52803b8448460241fda32f486fd017dc",
      "parents": [
        "a5822fca94f9370ca57682bfc5b592b63d517f6d"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Tue Mar 17 12:33:49 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun May 17 14:16:56 2026"
      },
      "message": "avformat/mov: handle all references in tref boxes\n\ntref types can have more than one value, as is the case of tmcd in\nfcp_export8-236.mov, where the single video track references all timecode\ntracks.\nHandle them in a generic and extensible way.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "a5822fca94f9370ca57682bfc5b592b63d517f6d",
      "tree": "24337db9afce28eb1f4240c48ba58ca9b0716843",
      "parents": [
        "0c1a1ee12e09b8eb9e085d66486da47e9829edc1"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Tue Mar 17 13:57:32 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun May 17 14:16:51 2026"
      },
      "message": "avformat/avformat: add a Track Reference Stream Group\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "0c1a1ee12e09b8eb9e085d66486da47e9829edc1",
      "tree": "55df0eb31d7e558bdd46d35378f0e03b8714c017",
      "parents": [
        "812b5654ae6f56ce59418ef4259227d8c9c08b06"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Tue May 05 18:11:25 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "ffmpeg@haasn.dev",
        "time": "Sun May 17 10:41:34 2026"
      },
      "message": "swscale/ops_optimizer: don\u0027t push scale past truncating conversions\n\nIn an op list like:\n\n  [ u8 +XXX] SWS_OP_READ         : 1 elem(s) planar \u003e\u003e 3\n  [ u8 .XXX] SWS_OP_FILTER_V     : 256 -\u003e 320 bilinear (2 taps)\n  [f32 .XXX] SWS_OP_SCALE        : * 65535\n  [f32 +XXX] SWS_OP_CONVERT      : f32 -\u003e u16\n  [u16 zXXX] SWS_OP_SWAP_BYTES\n  [u16 zzzX] SWS_OP_SWIZZLE      : 0003\n  [u16 zzz+] SWS_OP_CLEAR        : {_ _ _ 65535}\n  [u16 XXXX] SWS_OP_WRITE        : 4 elem(s) packed \u003e\u003e 0\n\nThe current version of the code would happily push the SWS_OP_SCALE past\nthe truncating conversion, leading to degenerate loss of information. (In\nthis case, the result was quite extreme)\n\nAffects quality across a wide range of formats, e.g.:\n\n rgb24 16x16 -\u003e rgb48be 16x32:\n   [ u8 +++X] SWS_OP_READ         : 3 elem(s) packed \u003e\u003e 0\n     min: {0 0 0 _}, max: {255 255 255 _}\n   [ u8 ...X] SWS_OP_FILTER_V     : 16 -\u003e 32 bilinear (2 taps)\n     min: {0 0 0 _}, max: {255 255 255 _}\n+  [f32 ...X] SWS_OP_SCALE        : * 257\n+    min: {0 0 0 _}, max: {65535 65535 65535 _}\n   [f32 +++X] SWS_OP_CONVERT      : f32 -\u003e u16\n-    min: {0 0 0 _}, max: {255 255 255 _}\n-  [u16 +++X] SWS_OP_SCALE        : * 257\n     min: {0 0 0 _}, max: {65535 65535 65535 _}\n   [u16 zzzX] SWS_OP_SWAP_BYTES\n     min: {0 0 0 _}, max: {65535 65535 65535 _}\n   [u16 XXXX] SWS_OP_WRITE        : 3 elem(s) packed \u003e\u003e 0\n     (X \u003d unused, z \u003d byteswapped, + \u003d exact, 0 \u003d zero)\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "812b5654ae6f56ce59418ef4259227d8c9c08b06",
      "tree": "fb70ee24b06283d1f088eca235f0e469108a5a1e",
      "parents": [
        "2dfe055dddb3d1b07b224d261876f6c180e854a8"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 17:41:15 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "ffmpeg@haasn.dev",
        "time": "Sun May 17 10:41:34 2026"
      },
      "message": "swscale/tests/sws_ops: use SWS_SCALE_BILINEAR for printing ops lists\n\nThis actually changes the behavior vs SWS_SCALE_POINT, because point scaling\nis bit-exact and thus implies a different set of optimizations.\n\nIdeally, we would still try and somehow merge this with tests/swscale.c to\nallow testing a different set of scalers; but I still don\u0027t have a good idea\nfor how to accomplish that here.\n\nAs it stands, results in additional extra dithering steps in almost all\nfilters involving scaling, e.g.:\n\n rgb24 16x16 -\u003e rgb24 16x32:\n   [ u8 +++X] SWS_OP_READ         : 3 elem(s) packed \u003e\u003e 0\n     min: {0 0 0 _}, max: {255 255 255 _}\n-  [ u8 +++X] SWS_OP_FILTER_V     : 16 -\u003e 32 point (1 taps)\n+  [ u8 ...X] SWS_OP_FILTER_V     : 16 -\u003e 32 bilinear (2 taps)\n     min: {0 0 0 _}, max: {255 255 255 _}\n+  [f32 ...X] SWS_OP_DITHER       : 16x16 matrix + {0 3 2 -1}\n+    min: {1/512 1/512 1/512 _}, max: {255.998047 255.998047 255.998047 _}\n+  [f32 ...X] SWS_OP_MIN          : x \u003c\u003d {255 255 255 _}\n+    min: {1/512 1/512 1/512 _}, max: {255 255 255 _}\n   [f32 +++X] SWS_OP_CONVERT      : f32 -\u003e u8\n     min: {0 0 0 _}, max: {255 255 255 _}\n   [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) packed \u003e\u003e 0\n     (X \u003d unused, z \u003d byteswapped, + \u003d exact, 0 \u003d zero)\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "2dfe055dddb3d1b07b224d261876f6c180e854a8",
      "tree": "f101063162a8af5c0eacdd26d86b3abc5aa8dfb9",
      "parents": [
        "369a301669529db08947ccb45492dd4cb604d871"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 17:35:21 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "ffmpeg@haasn.dev",
        "time": "Sun May 17 10:41:34 2026"
      },
      "message": "swscale/tests/sws_ops: print split sub-passes for lists with filters\n\nThis allows us to inspect exactly the logic that is going on inside the CPU\nbackends (which don\u0027t support bare filter passes).\n\n rgb24 16x16 -\u003e rgb24 16x32:\n   [ u8 +++X] SWS_OP_READ         : 3 elem(s) packed \u003e\u003e 0\n     min: {0 0 0 _}, max: {255 255 255 _}\n   [ u8 +++X] SWS_OP_FILTER_V     : 16 -\u003e 32 point (1 taps)\n     min: {0 0 0 _}, max: {255 255 255 _}\n   [f32 +++X] SWS_OP_CONVERT      : f32 -\u003e u8\n     min: {0 0 0 _}, max: {255 255 255 _}\n   [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) packed \u003e\u003e 0\n     (X \u003d unused, z \u003d byteswapped, + \u003d exact, 0 \u003d zero)\n+ Retrying with split passes:\n+  [ u8 +++X] SWS_OP_READ         : 3 elem(s) packed \u003e\u003e 0\n+    min: {0 0 0 _}, max: {255 255 255 _}\n+  [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) planar \u003e\u003e 0\n+    (X \u003d unused, z \u003d byteswapped, + \u003d exact, 0 \u003d zero)\n+ Sub-pass #1:\n+  [ u8 +++X] SWS_OP_READ         : 3 elem(s) planar \u003e\u003e 0 + 1 tap point filter (V)\n+    min: {0 0 0 _}, max: {255 255 255 _}\n+  [f32 +++X] SWS_OP_CONVERT      : f32 -\u003e u8\n+    min: {0 0 0 _}, max: {255 255 255 _}\n+  [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) packed \u003e\u003e 0\n+    (X \u003d unused, z \u003d byteswapped, + \u003d exact, 0 \u003d zero)\n rgb24 16x16 -\u003e rgb24 32x16:\n   [ u8 +++X] SWS_OP_READ         : 3 elem(s) packed \u003e\u003e 0\n     min: {0 0 0 _}, max: {255 255 255 _}\n   [ u8 +++X] SWS_OP_FILTER_H     : 16 -\u003e 32 point (1 taps)\n     min: {0 0 0 _}, max: {255 255 255 _}\n   [f32 +++X] SWS_OP_CONVERT      : f32 -\u003e u8\n     min: {0 0 0 _}, max: {255 255 255 _}\n   [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) packed \u003e\u003e 0\n     (X \u003d unused, z \u003d byteswapped, + \u003d exact, 0 \u003d zero)\n+ Retrying with split passes:\n+  [ u8 +++X] SWS_OP_READ         : 3 elem(s) packed \u003e\u003e 0\n+    min: {0 0 0 _}, max: {255 255 255 _}\n+  [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) planar \u003e\u003e 0\n+    (X \u003d unused, z \u003d byteswapped, + \u003d exact, 0 \u003d zero)\n+ Sub-pass #1:\n+  [ u8 +++X] SWS_OP_READ         : 3 elem(s) planar \u003e\u003e 0 + 1 tap point filter (H)\n+    min: {0 0 0 _}, max: {255 255 255 _}\n+  [f32 +++X] SWS_OP_CONVERT      : f32 -\u003e u8\n+    min: {0 0 0 _}, max: {255 255 255 _}\n+  [ u8 XXXX] SWS_OP_WRITE        : 3 elem(s) packed \u003e\u003e 0\n+    (X \u003d unused, z \u003d byteswapped, + \u003d exact, 0 \u003d zero)\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "369a301669529db08947ccb45492dd4cb604d871",
      "tree": "00674ba8810465b5c1096c27de33e3f2c6d2d374",
      "parents": [
        "239c679c546900c94fbc325361e6965f1a94a648"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 17:25:45 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "ffmpeg@haasn.dev",
        "time": "Sun May 17 10:41:34 2026"
      },
      "message": "swscale/tests/sws_ops: use a dummy ops backend for printing\n\nThis ensures that the ops printing path goes through the same code as the\nactual ops dispatch backend, including all sub-passes etc.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "239c679c546900c94fbc325361e6965f1a94a648",
      "tree": "54340f9e8cd42f2d4c214dfa2bc0c737d3c99af2",
      "parents": [
        "3b9ab7f119f7e1a522f0e72e8057326bfd79602c"
      ],
      "author": {
        "name": "wangbin",
        "email": "wbsecg1@gmail.com",
        "time": "Thu Aug 21 02:45:16 2025"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun May 17 03:47:23 2026"
      },
      "message": "lavc: add ProRes RAW videotoolbox hwaccel\n"
    },
    {
      "commit": "3b9ab7f119f7e1a522f0e72e8057326bfd79602c",
      "tree": "5fd61ce187e92d8b718b706e10030da84f5d3295",
      "parents": [
        "9c4055296525f69f5c5a2666cfd0cddd70110649"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Fri May 15 10:30:50 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun May 17 03:17:19 2026"
      },
      "message": "prores_raw: label every field\n\nThis labels every field and completes the reverse engineering.\n"
    },
    {
      "commit": "9c4055296525f69f5c5a2666cfd0cddd70110649",
      "tree": "e463cc438acccddc07138ce5d6cadf1a3f7540a2",
      "parents": [
        "f8b7f0584422d25c3316783a61bcd94e5d1c54ea"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Thu May 14 20:25:19 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun May 17 03:17:16 2026"
      },
      "message": "prores_raw: synchronize decoder with reference implementation\n\nThis completes the reverse engineering of the decoder.\nThe commit applies the linearization curve from the previous patch.\n"
    },
    {
      "commit": "f8b7f0584422d25c3316783a61bcd94e5d1c54ea",
      "tree": "ce0d7f888e15d516dc86edd366b8a3215a74ce46",
      "parents": [
        "d8cb567171e3f3d87414f01eeeb3c3cafff0f173"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Thu May 14 13:50:36 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun May 17 03:02:52 2026"
      },
      "message": "prores_raw: parse the linearization curve from the bitstream\n\nAfter an extended Ghidra session, it turns out that the camera/recorder bakes a\ncustom curve that *has* to be applied. It contains both the camera\u0027s inverse\ntransfer curve, plus whatever else the camera applied. It could (and does) contain\nquantization refinements. And its used to switch between low and high quality encoding\nby boosting coeffs (thus acting as an additional dequant curve).\n"
    },
    {
      "commit": "d8cb567171e3f3d87414f01eeeb3c3cafff0f173",
      "tree": "4d0e327de91e471df5df9baf20cde0d8509077e4",
      "parents": [
        "eb24fb0c7feb4da2e618495973972a580745265b"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Thu May 14 17:46:11 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun May 17 03:02:52 2026"
      },
      "message": "prores_raw: fix tile alignment issues\n\nReverse engineered the decoder a bit more. All tiles are always 16x1.\nThe issue is that at the edges, tiles don\u0027t have the same width.\nInstead, the first tile that starts to clip is half, and then the\nnext tile after that is also half the previous tile\u0027s width.\n"
    },
    {
      "commit": "eb24fb0c7feb4da2e618495973972a580745265b",
      "tree": "e18993429bf9d05dfb669d6d04467b14122d8d79",
      "parents": [
        "0e8cf39541b8d0a587d997549c1828abaeaaf01b"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Thu May 14 17:30:08 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun May 17 03:02:52 2026"
      },
      "message": "vulkan/common: fix LOAD64 again\n\nduh, gb.buf is incremented in the loop and I missed that. ugh.\n"
    },
    {
      "commit": "0e8cf39541b8d0a587d997549c1828abaeaaf01b",
      "tree": "d83efdbad5b99edb6017e3dcdfdbed7bf20906bd",
      "parents": [
        "444f2cf047b92fac8d470f969dbd04bf1107757c"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sat May 16 09:35:39 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Sun May 17 03:02:51 2026"
      },
      "message": "hwcontext_vulkan: add support for AV_PIX_FMT_RGBAF16\n"
    },
    {
      "commit": "444f2cf047b92fac8d470f969dbd04bf1107757c",
      "tree": "097e1e584ca3f5a09f826ebca344216e2a1e5716",
      "parents": [
        "ef3ff9a73dde05368785a6482bc8592e0c581714"
      ],
      "author": {
        "name": "David Korczynski",
        "email": "David@Adalogics.com",
        "time": "Sat May 16 14:52:36 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Sat May 16 17:22:45 2026"
      },
      "message": "avfilter/boxblur: Fix off by one errors\n\nFixes: ada-2-poc.mkv\n\nFound-by: Claude and Ada Logics. This issue was found by Anthropic from using agents to study security of open source projects, and I am from Ada Logics helping validate the found issues and report to maintainers.\nSigned-off-by: Michael Niedermayer \u003cmichael@niedermayer.cc\u003e\n"
    },
    {
      "commit": "ef3ff9a73dde05368785a6482bc8592e0c581714",
      "tree": "f71828ec4d3179be91f65cf90551161dc4055777",
      "parents": [
        "412aa488683db12bf1cad5ce6a6af5ddf8c5eeca"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu May 07 22:54:28 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:23 2026"
      },
      "message": "avformat/iamf_writer: reject unset frame size\n\nThe specification states that nb_samples in codec config must not be zero.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "412aa488683db12bf1cad5ce6a6af5ddf8c5eeca",
      "tree": "c9e2f0c219bfc4d58a73522c1658d34452db0b95",
      "parents": [
        "c0bdc3b62a508ed50b93a074a123abe9179cecfa"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu May 07 22:48:58 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:23 2026"
      },
      "message": "fftools/ffmpeg_mux_init: propagate the muxer request for fixed frame size\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "c0bdc3b62a508ed50b93a074a123abe9179cecfa",
      "tree": "91b63f3b0a9ee7701dc6582f659fcbaf06f9a81a",
      "parents": [
        "8e162daf9a171e8fe54d42e8023c73490e9220f9"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu May 07 22:48:17 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:22 2026"
      },
      "message": "avformat/avformat: add an AVOutputFormat capability flag to signal fixed frame size is needed.\n\nAnd set it on the IAMF muxer.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "8e162daf9a171e8fe54d42e8023c73490e9220f9",
      "tree": "fb0746e94a647cd558d6966f70239e5ffa34161b",
      "parents": [
        "856734551406acf92474f23964ce5b43264adcbc"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu May 07 18:20:20 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:22 2026"
      },
      "message": "fftools:/ffmpeg_enc: honor the user request for fixed size frames\n\nAnd set it also for non-variable frame size encoders.\n\nFATE changes are the result of passing a frame_size to flac and wavenc\nencoders, instead of letting them choose one.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "856734551406acf92474f23964ce5b43264adcbc",
      "tree": "d34632be9ec4e1d80acb61296ad2cf0dc4b06f13",
      "parents": [
        "53d46a51fab73d2aa980c675f4ccb613cde4e7c4"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Mon May 11 20:38:55 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:22 2026"
      },
      "message": "tests/fate/lavf-audio: set frame_size on fate-lavf-ogg\n\nBoth worksaround a issue the following commit reveals (encoding with 4096\nframe_size fails on aarch64 for unknown reasons), and tests setting\nframe_size now that it\u0027s allowed (and ensuring the CLI doesn\u0027t overwrite it).\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "53d46a51fab73d2aa980c675f4ccb613cde4e7c4",
      "tree": "c732c4438310a8e5552a0fa604ba4f6f075f5762",
      "parents": [
        "355d05a78442c42112186e389efddf811be02262"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu May 07 18:15:47 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:22 2026"
      },
      "message": "avcodec/encode: propagate skip samples side data if present\n\nOnly for non-delay codecs.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "355d05a78442c42112186e389efddf811be02262",
      "tree": "224bf7c981f157079e043c12d90e0a4f03bda314",
      "parents": [
        "7c5df8d34d48395fe1aea8b9e1a1e0ad824b53e4"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu May 07 18:06:35 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:22 2026"
      },
      "message": "avcodec/encode: report that the padded samples must be discarded\n\nFor encoders where we pad the last frame, actually tag the silent samples as\ndiscardable.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "7c5df8d34d48395fe1aea8b9e1a1e0ad824b53e4",
      "tree": "a5196ffff8f15e952b4b43adc236851fed6af000",
      "parents": [
        "b1120b1ed80e255cc41d174335f0dd2536827c74"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu May 07 18:01:15 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:22 2026"
      },
      "message": "avformat/matroskaenc: use frame_size to write audio DefaultDuration\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "b1120b1ed80e255cc41d174335f0dd2536827c74",
      "tree": "fa5882e462a33e4774e6415137b9c97c430fc2ec",
      "parents": [
        "bf2695e87660ce7cfd0efc339bf8ae218c22c4dc"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Thu May 07 17:53:55 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:22 2026"
      },
      "message": "avcodec: add a flag to force encoders to use fixed size frames\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "bf2695e87660ce7cfd0efc339bf8ae218c22c4dc",
      "tree": "8c602196f25377ce72f1e5c41ef488d4dc011a47",
      "parents": [
        "08d7646abf956372908ad288cd08c4d894a85d6e"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Mon May 11 01:33:38 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sat May 16 16:55:22 2026"
      },
      "message": "avcodec/pcm-dvdenc: don\u0027t allow the user to set frame_size\n\nThis is for an upcoming change where the field will become user settable.\nUnless a proper check for frame_size is introduced, it\u0027s better to just not\nallow arbitrary values to be used.\n\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "08d7646abf956372908ad288cd08c4d894a85d6e",
      "tree": "4ef7bd8ec6350ec3ecb813efe8afea13251ceec3",
      "parents": [
        "200cbaeb5a98a33103d564dc433e09733481be07"
      ],
      "author": {
        "name": "David Korczynski",
        "email": "David@Adalogics.com",
        "time": "Sat May 16 14:34:30 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Sat May 16 16:53:51 2026"
      },
      "message": "avformat/assenc: Add the missing parentheses\n\nFixes: ada-1-poc.mkv\n\nFound-by: Claude and Ada Logics. This issue was found by Anthropic from using agents to study security of open source projects, and I am from Ada Logics helping validate the found issues and report to maintainers.\nSigned-off-by: Michael Niedermayer \u003cmichael@niedermayer.cc\u003e\n"
    },
    {
      "commit": "200cbaeb5a98a33103d564dc433e09733481be07",
      "tree": "6be33f17e69519d9e0da16c784bed8c2019c64d4",
      "parents": [
        "06ef9a74ea0ef73cf2da2956974565692931f724"
      ],
      "author": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Sat May 16 15:36:28 2026"
      },
      "committer": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Sat May 16 16:03:26 2026"
      },
      "message": "avformat/hlsenc: use correct close function for custom io\n\nThis is open by s-\u003eio_open().\n\nSigned-off-by: Kacper Michajłow \u003ckasper93@gmail.com\u003e\n"
    },
    {
      "commit": "06ef9a74ea0ef73cf2da2956974565692931f724",
      "tree": "76768bc3c7dcb6588e103b6439f7edaabdae7b3f",
      "parents": [
        "4cf687b3b118d9bd23bbacc6d3b457798f2721f4"
      ],
      "author": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Mon May 11 09:10:27 2026"
      },
      "committer": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Sat May 16 15:18:51 2026"
      },
      "message": "avformat/hlsenc: respect io_open set in AVFormatContext\n\nio_open_default() will call internal impl if needed, don\u0027t call it\ndirectly.\n\nSigned-off-by: Kacper Michajłow \u003ckasper93@gmail.com\u003e\n"
    },
    {
      "commit": "4cf687b3b118d9bd23bbacc6d3b457798f2721f4",
      "tree": "47200204f0b6beebcd900991d6440cd76c5d7ff7",
      "parents": [
        "fbc400364257b7b9d17572165400f7d4b52dc68c"
      ],
      "author": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Mon May 11 09:09:11 2026"
      },
      "committer": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Sat May 16 15:18:51 2026"
      },
      "message": "avformat/dashenc: respect io_open set in AVFormatContext\n\nio_open_default() will call internal impl if needed, don\u0027t call it\ndirectly.\n\nSigned-off-by: Kacper Michajłow \u003ckasper93@gmail.com\u003e\n"
    },
    {
      "commit": "fbc400364257b7b9d17572165400f7d4b52dc68c",
      "tree": "27a13bad9dc0631a3399063689843d2c91fb3202",
      "parents": [
        "37c176a2a2a8447a28c157e7bdb4be683a8c946b"
      ],
      "author": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Mon May 11 09:07:59 2026"
      },
      "committer": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Sat May 16 15:18:51 2026"
      },
      "message": "avformat/dashdec: respect io_open set in AVFormatContext\n\nio_open_default() will call internal impl if needed, don\u0027t call it\ndirectly.\n\nSigned-off-by: Kacper Michajłow \u003ckasper93@gmail.com\u003e\n"
    },
    {
      "commit": "37c176a2a2a8447a28c157e7bdb4be683a8c946b",
      "tree": "2f2a780ca0aec38830eedd267d06d44c31a79d5c",
      "parents": [
        "bbdce45fda1ef92f0a8f5a8a995dde3a79fa7acc"
      ],
      "author": {
        "name": "Michael Niedermayer",
        "email": "michael@niedermayer.cc",
        "time": "Mon Apr 06 16:15:39 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Sat May 16 15:09:52 2026"
      },
      "message": "tests/fate/voice: Add fate-g726le-encode\n\nCo-Authored-by: AI\nSigned-off-by: Michael Niedermayer \u003cmichael@niedermayer.cc\u003e\n"
    },
    {
      "commit": "bbdce45fda1ef92f0a8f5a8a995dde3a79fa7acc",
      "tree": "7afb974ee4955c5fd8c562592169c49d6af4a665",
      "parents": [
        "dc74fe70b28df8ff69f99b693665163bf9a6a16a"
      ],
      "author": {
        "name": "Thai Duong",
        "email": "thai@calif.io",
        "time": "Sat May 16 02:54:36 2026"
      },
      "committer": {
        "name": "michaelni",
        "email": "michael@niedermayer.cc",
        "time": "Sat May 16 15:03:50 2026"
      },
      "message": "avcodec/diracdec: Enlarge `mctmp` to cover the worst-case `blheight·ybsep + yblen` rows, and break the MC loop when no output rows remain\n\nFixes: ffmpeg_ANT-2026-02842_dirac-mctmp-heap-overflow\n\nDiscovered by Claude (Anthropic). Confirmed and reported by Thai Duong (Calif.io).\n\nSigned-off-by: Michael Niedermayer \u003cmichael@niedermayer.cc\u003e\n"
    },
    {
      "commit": "dc74fe70b28df8ff69f99b693665163bf9a6a16a",
      "tree": "5b2a01d45bcc5837e8d7e50abe20dfe1586d8afd",
      "parents": [
        "2aad4fb2e37cd598de103878e857b23b38eab57e"
      ],
      "author": {
        "name": "Kacper Michajłow",
        "email": "kasper93@gmail.com",
        "time": "Tue May 12 11:57:09 2026"
      },
      "committer": {
        "name": "Leo Izen",
        "email": "leo.izen@gmail.com",
        "time": "Sat May 16 11:09:56 2026"
      },
      "message": "avformat/demux: use correct close function for custom io\n\nYou may look and think `AVFMT_FLAG_CUSTOM_IO` check is enough, but this\nis not what it seems. This flag means that user provided custom\nAVIOContext, before creating AVFormatContext and it should not be\nclosed. However nested sub-demuxers may still open an temporary io, and\nthose have to be closed and use correct io_close2 function.\n\nYou can see 0dcac9c3f0f8f32009098edb704fac4b08bac951 and\nef01061225088c4945f5e309bc695ea5beb2a867 where this flag is cleared for\nnested opens to avoid leaking those.\n\nlavf micro version bumped so API users can know if it is safe to use\ncustom io.\n\nSigned-off-by: Kacper Michajłow \u003ckasper93@gmail.com\u003e\n"
    },
    {
      "commit": "2aad4fb2e37cd598de103878e857b23b38eab57e",
      "tree": "d16c7b5fb4e6ee64161abdc92763c6dca3e25c44",
      "parents": [
        "18b83f2d0a0f9bcbafb0001a2911327c4b8df056"
      ],
      "author": {
        "name": "Stuart Eichert",
        "email": "ffmpeg@eichert.dev",
        "time": "Thu May 14 03:53:41 2026"
      },
      "committer": {
        "name": "Stuart Eichert",
        "email": "ffmpeg@eichert.dev",
        "time": "Sat May 16 01:19:40 2026"
      },
      "message": "Typo: Remove space in \u0027centiseconds\u0027, \u0027microseconds\u0027, and \u0027nanoseconds\u0027.\n\nAccording to Chapter 3, Paragraph 2 of the \"SI Brochure - 9th ed./version 3.02\":\n\n\u003e Prefix symbols are printed in upright typeface, as are unit symbols,\n\u003e regardless of the typeface used in the surrounding text and are\n\u003e attached to unit symbols without a space between the prefix symbol\n\u003e and the unit symbol.\n\nhttps://www.bipm.org/documents/20126/41483022/SI-Brochure-9-EN.pdf\n"
    },
    {
      "commit": "18b83f2d0a0f9bcbafb0001a2911327c4b8df056",
      "tree": "2705e40a23c98a8143a2f475722f55be48b34f08",
      "parents": [
        "144af8f81abc1385631b4e1f4672cd415a9c6e05"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun May 03 16:14:02 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Fri May 15 23:35:56 2026"
      },
      "message": "tools/zmqsend: close the input FILE\n\nFixes CVE-2026-30998\n\nFixes: Resource leak\nFound-by: Xinghang Lv\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "144af8f81abc1385631b4e1f4672cd415a9c6e05",
      "tree": "b44ba1af68e7d4e82b286331fa5792fc9a4fc884",
      "parents": [
        "b5fc215e2d6567266f7f6c93bef6591972d8f8f6"
      ],
      "author": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Sun May 03 16:07:32 2026"
      },
      "committer": {
        "name": "James Almer",
        "email": "jamrial@gmail.com",
        "time": "Fri May 15 23:32:24 2026"
      },
      "message": "tools/zmqsend: free the AVBprint buffer after using it\n\nFixes CVE-2026-30999\n\nFixes: memleak\nFound-by: Xinghang Lv\nSigned-off-by: James Almer \u003cjamrial@gmail.com\u003e\n"
    },
    {
      "commit": "b5fc215e2d6567266f7f6c93bef6591972d8f8f6",
      "tree": "e13898d9981448266e246d1225ceb266fc8e8a89",
      "parents": [
        "c4b7a51d3543bfb07a0f23dcc7bd870fabe7d497"
      ],
      "author": {
        "name": "Link Mauve",
        "email": "linkmauve@linkmauve.fr",
        "time": "Mon May 04 15:25:58 2026"
      },
      "committer": {
        "name": "Link Mauve",
        "email": "ffmpeg@linkmauve.fr",
        "time": "Fri May 15 19:30:52 2026"
      },
      "message": "avformat/mods: Return EOF for packets starting at the index offset\n\nAssuming there is no padding between the last packet and the index, this\nprevents the index from being parsed as a normal packet, with non-\nsensical data.\n"
    },
    {
      "commit": "c4b7a51d3543bfb07a0f23dcc7bd870fabe7d497",
      "tree": "f1edbe15d2176a5773a0154275247f24bc91b5e5",
      "parents": [
        "00ff72851272073a86a2edd74c3563935b9b7a59"
      ],
      "author": {
        "name": "Link Mauve",
        "email": "linkmauve@linkmauve.fr",
        "time": "Tue Apr 28 15:49:25 2026"
      },
      "committer": {
        "name": "Link Mauve",
        "email": "ffmpeg@linkmauve.fr",
        "time": "Fri May 15 19:30:52 2026"
      },
      "message": "avformat/mods: Parse the index entries\n\nThis lets us seek in the video properly, based on the table at the end\nof the files, and has been tested with Suikoden Tierkreis videos.\n\nWhile at it I’ve also set the duration of the stream, this makes the\nprogress bar work correctly in mpv.\n"
    },
    {
      "commit": "00ff72851272073a86a2edd74c3563935b9b7a59",
      "tree": "6d78a150a0b39d927d7141ac10b94042f3aaba40",
      "parents": [
        "7971953d299e71ca3ab5d95f452dddfb2f061ad7"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun May 10 20:41:11 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Fri May 15 18:29:29 2026"
      },
      "message": "avfilter/vf_pp7: Fix shadowing\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "7971953d299e71ca3ab5d95f452dddfb2f061ad7",
      "tree": "2839e6c841546199370b25c07307e16ca70fc2f6",
      "parents": [
        "fc9e63474f1c0bb7f75bfb5def61ac9b131630b1"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun May 10 20:01:15 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Fri May 15 18:29:29 2026"
      },
      "message": "avfilter/x86/vf_pp7: Port ff_pp7_dctB_mmx to SSE2\n\nUnfortunately a bit slower than the MMX version due to\nthe impossibility to use memory operands in paddw.\nThe situation would reverse if ff_dctB_mmx() would have\nto issue emms.\n\ndctB_c:                                                  3.7 ( 1.00x)\ndctB_mmx:                                                3.3 ( 1.13x)\ndctB_sse2:                                               3.6 ( 1.03x)\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "fc9e63474f1c0bb7f75bfb5def61ac9b131630b1",
      "tree": "a8edb30aa3c764b8fede26d0618b0f3e154de35b",
      "parents": [
        "94a49068db8d2dd9947936be6dcb70676d7f9839"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun May 10 18:47:50 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Fri May 15 18:29:29 2026"
      },
      "message": "avfilter/vf_pp7dsp: Add restrict\n\nMakes GCC optimize the scalar codepath away.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "94a49068db8d2dd9947936be6dcb70676d7f9839",
      "tree": "44ef433de95210d5dc5ef6ca3a25cdba66be0b11",
      "parents": [
        "617a9afeb4df99cd169a50d1cac9aa505cdc3009"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun May 10 18:43:49 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Fri May 15 18:29:29 2026"
      },
      "message": "tests/checkasm: Add vf_pp7 checkasm test\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "617a9afeb4df99cd169a50d1cac9aa505cdc3009",
      "tree": "f646addd24e1fde5e6484142c12e63917a602da8",
      "parents": [
        "0a1faa7202b04a6c8992bf2b5ef86f9d071c3c8c"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun May 10 18:18:59 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Fri May 15 18:29:29 2026"
      },
      "message": "avfilter/vf_pp7: Add proper PP7DSPContext\n\nThis is in preparation for checkasm tests for dctB.\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "0a1faa7202b04a6c8992bf2b5ef86f9d071c3c8c",
      "tree": "8a31ff3b770a101efa69123fb2ea19c452d04ec4",
      "parents": [
        "76dc83d9becd3249eaa7a70a026389ce5a87bb17"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun May 10 17:53:57 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Fri May 15 18:29:29 2026"
      },
      "message": "avfilter/vf_pp7: Constify\n\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "76dc83d9becd3249eaa7a70a026389ce5a87bb17",
      "tree": "fe624ecdc5dd67dc0cda8a0f369d0af7eab8d9da",
      "parents": [
        "420b1bf3686c21a104b53aab27db364ed10d500f"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri Apr 24 00:00:48 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops_dispatch: make ff_sws_ops_compile() output optional\n\nAllows the uops macro generation code to not actually compile any passes.\nMore generally, this could be used to e.g. test if an op list is supported by\na backend without actually creating the passes.\n\nThe `bool first` change is needed because the `input \u003d\u003d prev` check no longer\nworks if we don\u0027t actually compiled any passes.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "420b1bf3686c21a104b53aab27db364ed10d500f",
      "tree": "87e0e65f9d7e816cbe754d7e598a9537a8547bbd",
      "parents": [
        "902144885740567301d44d2026204ff741e2c728"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Thu Apr 23 23:59:09 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops_dispatch: allow forcing specific ops backend\n\nThis will be used eventually when I rewrite checkasm/sw_ops to re-use the\ncode in ops_dispatch.c instead of hand-rolling the execution layer.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "902144885740567301d44d2026204ff741e2c728",
      "tree": "318eb7dcaf982915f05b5964564871c301b43e55",
      "parents": [
        "ad17144ce657ebd90fd52b8b8e6a19f8325643da"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Wed Apr 22 16:56:43 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops_dispatch: merge ff_sws_ops_compile_backend() and compile()\n\nPassing backend \u003d\u003d NULL now loops over the backends as before.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "ad17144ce657ebd90fd52b8b8e6a19f8325643da",
      "tree": "f0a43ad4e3ba7894b9ad3e8399b1c5f8fcfbdcc1",
      "parents": [
        "90669ab52e923fdcbab2b163d5165f90f1176dda"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Wed Apr 22 16:54:46 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops_dispatch: move op list print to ff_sws_ops_compile_backend()\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "90669ab52e923fdcbab2b163d5165f90f1176dda",
      "tree": "18fef705e0a39a2740e5683b3d86b649d15a1a42",
      "parents": [
        "1d841635a4a54237a17cca8776532fb1c7144adf"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Wed Apr 22 16:45:04 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops: move ff_sws_compile_pass() and friends to ops_dispatch.h\n\nThis function actually lives in ops_dispatch.c, and doesn\u0027t really make\nsense in ops.h anymore. We should also move some stuff out of ops_internal.h,\nwhich doesn\u0027t depend on any external ops stuff, here.\n\nThis allows the backend/compilation-related stuff to co-exist more nicely.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "1d841635a4a54237a17cca8776532fb1c7144adf",
      "tree": "6cae4a424c80f7699f6a3952fb4fab0c1e45fcfa",
      "parents": [
        "eec9f712f55c090fe134be562a02d0518bbce42b"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Tue May 05 17:15:42 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops: also include scaling ops in ff_sws_enum_op_lists()\n\nUsing the configured scaler from the SwsContext implicitly. This does affect\nthe output of libswscale/tests/sws_ops.c, which now prints about 4x as much\ndata (taking roughly 4x as long, but still within a second on my machine).\n\nWe can make this process a lot faster by forcing SWS_SCALE_POINT as the\nscaler, which skips calculating any actual filter weights in favor of\ngenerating a trivial 1-tap filter.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "eec9f712f55c090fe134be562a02d0518bbce42b",
      "tree": "812fadecf413050e86dc96e1d51345721b5ad45c",
      "parents": [
        "cac183f46f16beecf994c1dc7365ee5edb3c4f4d"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Wed Apr 22 14:10:45 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops: re-use ff_sws_op_list_generate() in ff_sws_enum_op_lists()\n\nThe only difference here is an extra ff_sws_add_filters() call, which is\na no-op because src w/h \u003d dst w/h \u003d 16.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "cac183f46f16beecf994c1dc7365ee5edb3c4f4d",
      "tree": "f73be21b9de52d54d9d5c9f3930162cbb4ab045f",
      "parents": [
        "dacbf080f3f6d30786c27c1b146fc8e4af516947"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Wed Apr 22 14:10:09 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops: don\u0027t silently suppress non-ENOTSUP errors\n\nMatches the behavior to the comment.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "dacbf080f3f6d30786c27c1b146fc8e4af516947",
      "tree": "6c042221ba52351d65d8c8d33b651859af85efe7",
      "parents": [
        "064600585ed6f745ee38746822264206b295144c"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Sat Apr 04 18:05:54 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops_chain: simplify ff_sws_op_compile_tables() signature\n\nThis no longer accesses prev/next as a result of the `unused` removal, so\nthe signature can be simplified to just take the op directly.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "064600585ed6f745ee38746822264206b295144c",
      "tree": "462578c3d58feb299d2bf4804329d16ecaa9ac9b",
      "parents": [
        "98c1dbafbe45424aedca443c01d84a32ba101014"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Sat Apr 04 17:43:31 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops_chain: remove flexible from SWS_OP_MIN/MAX entries\n\nWe have other op types that skip checking the data even in non-flexible mode,\nso there is a precedent for just leaving away `flexible` for such kernels.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "98c1dbafbe45424aedca443c01d84a32ba101014",
      "tree": "db1fe84089a566e2727a097c9196b880a0eb1617",
      "parents": [
        "62aad4513cc1de34f8ee0ea2fe34b4381b760453"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Wed Apr 08 09:45:33 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/ops_memcpy: don\u0027t depend on ops_backend.h\n\nThis is private to the C template based backend.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "62aad4513cc1de34f8ee0ea2fe34b4381b760453",
      "tree": "b7efc63ca333196fe29f17d471c0c5536233759a",
      "parents": [
        "0611abc1bb5f31f52506f735f8a3a760fb309586"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Wed Apr 22 13:56:07 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/graph: move format conversion logic to formats.c\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "0611abc1bb5f31f52506f735f8a3a760fb309586",
      "tree": "f72594dce4765dbb7d0132564d90ddd289cecb95",
      "parents": [
        "9fe0ff3d56618c24d95fa4e832148bab54928f18"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Wed Apr 22 13:04:16 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/graph: move code for adding filters to format.h\n\nMirroring the precedent established by the other SwsOp-generating functions.\nThis allows us to re-use it for the uops macro generator.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "9fe0ff3d56618c24d95fa4e832148bab54928f18",
      "tree": "ba7f12b4c67039b84a63c747dbfbe1529a3057c4",
      "parents": [
        "56305c460c076cf120daae73483572685d0ded79"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Mon May 11 17:39:02 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/graph: make _reinit() only call _init(), not _create()\n\nThis allows us to preserve the same memory allocation when\nreinitializing a graph, which is a nice bonus.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "56305c460c076cf120daae73483572685d0ded79",
      "tree": "dc2c41f65c51a6e2951cb200581b88e943e95d31",
      "parents": [
        "5e0dddef80a1088fb5ce7b1b09d7c71580a82414"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Mon May 11 17:33:21 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/graph: add ff_sws_graph_alloc() and _init()\n\nAs an alternative to the current _create() API.\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "5e0dddef80a1088fb5ce7b1b09d7c71580a82414",
      "tree": "bbc9bb6cb52d5580b18649a9cd595d2a3dbfb5e2",
      "parents": [
        "d0a84c660a7b40d906e49dc6ae6d243b88d20aff"
      ],
      "author": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Mon May 11 17:16:12 2026"
      },
      "committer": {
        "name": "Niklas Haas",
        "email": "git@haasn.dev",
        "time": "Fri May 15 16:53:05 2026"
      },
      "message": "swscale/graph: move graph uninit logic to helper function\n\nSigned-off-by: Niklas Haas \u003cgit@haasn.dev\u003e\n"
    },
    {
      "commit": "d0a84c660a7b40d906e49dc6ae6d243b88d20aff",
      "tree": "c2b2a4058f57d52a06624f0acd7ec6c3246f9c05",
      "parents": [
        "d812c8b0eb3f689552ec3df372f71c05d6fd3a1e"
      ],
      "author": {
        "name": "Ramiro Polla",
        "email": "ramiro.polla@gmail.com",
        "time": "Tue May 12 13:03:11 2026"
      },
      "committer": {
        "name": "Ramiro Polla",
        "email": "ramiro.polla@gmail.com",
        "time": "Fri May 15 14:21:50 2026"
      },
      "message": "swscale/unscaled: fix rgbToRgbWrapper for non-native-endian formats\n\nThe fix from 5fa2a65c11 introduced a regression for non-native-endian\nformats (such as rgb565be on a little-endian system).\n\nReproducible with:\n$ ./libswscale/tests/swscale -unscaled 1 -src rgb565be -dst rgb24\n\nAlso:\n$ ./ffmpeg_g -i /opt/samples/jpegls/128.jls -vf \"scale\u003dsize\u003d512x512,format\u003drgb24,scale\u003dflags\u003dneighbor,format\u003drgb565be\" -f rawvideo -vframes 1 -y rgb565be.raw\n$ magick -size 512x512 -endian MSB RGB565:rgb565be.raw output.png\n$ ./ffplay_g output.png\n\n(note: don\u0027t use ffmpeg to convert from rgb565be.raw to output for the\ntest above since it will perform the same bug and cancel out the error)\n"
    },
    {
      "commit": "d812c8b0eb3f689552ec3df372f71c05d6fd3a1e",
      "tree": "8a9afcc42e1c180829ba3fb3983996bce1acf076",
      "parents": [
        "1cc9b15baba85079a7e88443b985c7da0e84aeae"
      ],
      "author": {
        "name": "Ramiro Polla",
        "email": "ramiro.polla@gmail.com",
        "time": "Thu Apr 30 23:12:04 2026"
      },
      "committer": {
        "name": "Ramiro Polla",
        "email": "ramiro.polla@gmail.com",
        "time": "Fri May 15 14:12:48 2026"
      },
      "message": "swscale/tests/swscale: log test parameters on loss error\n\nWhen running with \"-v 0\", the test parameters were not being printed,\nwhich made it hard to track down which conversion the error referred\nto.\n\nNow the test parameters are logged with av_log() when a loss error\nhappens.\n"
    },
    {
      "commit": "1cc9b15baba85079a7e88443b985c7da0e84aeae",
      "tree": "dfc45c0e837b1354b6e28cb9caf35a481f1d4be9",
      "parents": [
        "24d432e2272855dda5e84038b0b6457550738dda"
      ],
      "author": {
        "name": "Ramiro Polla",
        "email": "ramiro.polla@gmail.com",
        "time": "Thu Apr 16 15:16:18 2026"
      },
      "committer": {
        "name": "Ramiro Polla",
        "email": "ramiro.polla@gmail.com",
        "time": "Fri May 15 14:12:48 2026"
      },
      "message": "swscale/tests/swscale: fix -p option when -flags and/or -unscaled are used\n\nThe -p, -flags, and -unscaled options all affected the decision to\nselect a subsample of the tests to run. When specifying -p 0.1, about\n57% of the tests would run instead of the expect 10%.\n\nThis commit fixes this by separating -p from -flags and -unscaled.\n"
    },
    {
      "commit": "24d432e2272855dda5e84038b0b6457550738dda",
      "tree": "34de25a54cc240e23326ce46dbeceff07220a86b",
      "parents": [
        "b2867481d95b855356865632c57cd74702489b74"
      ],
      "author": {
        "name": "Ramiro Polla",
        "email": "ramiro.polla@gmail.com",
        "time": "Thu Apr 16 20:01:59 2026"
      },
      "committer": {
        "name": "Ramiro Polla",
        "email": "ramiro.polla@gmail.com",
        "time": "Fri May 15 14:12:48 2026"
      },
      "message": "swscale/tests/swscale: improve help text for -p option\n"
    },
    {
      "commit": "b2867481d95b855356865632c57cd74702489b74",
      "tree": "cd16f5d0a340f6092014d9f34485330f6639ad4c",
      "parents": [
        "43bbd6dbf993d44ecd93417c2c3804bf8682755c"
      ],
      "author": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Sun May 10 10:58:27 2026"
      },
      "committer": {
        "name": "Andreas Rheinhardt",
        "email": "andreas.rheinhardt@outlook.com",
        "time": "Thu May 14 20:58:04 2026"
      },
      "message": "avformat/avformat: Add AVFMT_EXPERIMENTAL to allowed flags\n\nReviewed-by: Michael Niedermayer \u003cmichael@niedermayer.cc\u003e\nSigned-off-by: Andreas Rheinhardt \u003candreas.rheinhardt@outlook.com\u003e\n"
    },
    {
      "commit": "43bbd6dbf993d44ecd93417c2c3804bf8682755c",
      "tree": "dbb528516373b1448f16f0f1044459fba94ee897",
      "parents": [
        "a327bc056124c595cba58885501c47bbf50830d0"
      ],
      "author": {
        "name": "Marton Balint",
        "email": "cus@passwd.hu",
        "time": "Thu May 14 18:49:34 2026"
      },
      "committer": {
        "name": "Marton Balint",
        "email": "cus@passwd.hu",
        "time": "Thu May 14 18:52:45 2026"
      },
      "message": "avformat/utils: avoid void pointer arithmetic\n\nFixes compliation on MSVC.\n\nRegression since cb708d8703a9f72730a1bc07638a435e1381c841.\n\nBased on code by James Almer.\n\nSigned-off-by: Marton Balint \u003ccus@passwd.hu\u003e\n"
    },
    {
      "commit": "a327bc056124c595cba58885501c47bbf50830d0",
      "tree": "c8bf88cd6d3afd8c1f69511768402fa6ece8e38b",
      "parents": [
        "566ad7869ee3c8b6993e1f880e0a50eae18c66ac"
      ],
      "author": {
        "name": "Ben Kepner",
        "email": "u6bkep@gmail.com",
        "time": "Sun Apr 05 20:53:06 2026"
      },
      "committer": {
        "name": "stevenliu",
        "email": "lingjiujianke@gmail.com",
        "time": "Wed May 13 23:04:46 2026"
      },
      "message": "avformat/hlsenc: fix segment duration with mixed stream time bases\n\nWhen audio and video streams have different time bases (e.g. video at\n1/90000 and audio at 1/48000), vs-\u003estart_pts was stored as a raw PTS\nfrom whichever stream\u0027s packet arrived first. The segment split\ncomparison then subtracted this value from the current packet\u0027s PTS\nwithout accounting for the time base difference, producing incorrect\nelapsed time calculations.\n\nThis caused segments to be split at wrong points — either too\nfrequently (on every keyframe) or not at all, depending on the\nrelative magnitudes of the time bases.\n\nFix by normalizing vs-\u003estart_pts to AV_TIME_BASE_Q at the point of\nassignment and converting pkt-\u003epts to the same base before comparison.\nThis ensures the segment split decision is always unit-consistent\nregardless of which stream\u0027s packet is being evaluated.\n\nThe bug is most easily triggered by HLS muxing with video passthrough\nand audio transcode, where the video retains its container time base\nwhile the audio encoder outputs in its native time base.\n\nSigned-off-by: Ben Kepner \u003cu6bkep@gmail.com\u003e\n"
    },
    {
      "commit": "566ad7869ee3c8b6993e1f880e0a50eae18c66ac",
      "tree": "180d436b543b3928eb210828ae65bc14b8c192c6",
      "parents": [
        "f20ea3fb22ee9e8590604b8dfba6868ad1a9fd74"
      ],
      "author": {
        "name": "Marton Balint",
        "email": "cus@passwd.hu",
        "time": "Fri Apr 03 22:06:13 2026"
      },
      "committer": {
        "name": "Marton Balint",
        "email": "cus@passwd.hu",
        "time": "Wed May 13 20:41:23 2026"
      },
      "message": "avformat/hlsenc: remove unused function parameter\n\nSigned-off-by: Marton Balint \u003ccus@passwd.hu\u003e\n"
    },
    {
      "commit": "f20ea3fb22ee9e8590604b8dfba6868ad1a9fd74",
      "tree": "fb372bf060390ca0b33963b5eb04725968d5246f",
      "parents": [
        "cb708d8703a9f72730a1bc07638a435e1381c841"
      ],
      "author": {
        "name": "Marton Balint",
        "email": "cus@passwd.hu",
        "time": "Sun Mar 29 13:05:26 2026"
      },
      "committer": {
        "name": "Marton Balint",
        "email": "cus@passwd.hu",
        "time": "Wed May 13 20:41:23 2026"
      },
      "message": "avformat/hlsenc: dynamically allocate segment uris along with the segment struct\n\nAs suggested by Andreas Rheinhardt.\n\nSupersedes: #22536.\n\nSigned-off-by: Marton Balint \u003ccus@passwd.hu\u003e\n"
    },
    {
      "commit": "cb708d8703a9f72730a1bc07638a435e1381c841",
      "tree": "e6b4628efe5cf136b037d86e0046ad6cf6206b62",
      "parents": [
        "553321d59eca201a337bddffe0a68b3a77bb1592"
      ],
      "author": {
        "name": "Marton Balint",
        "email": "cus@passwd.hu",
        "time": "Sat Apr 04 11:02:41 2026"
      },
      "committer": {
        "name": "Marton Balint",
        "email": "cus@passwd.hu",
        "time": "Wed May 13 20:41:23 2026"
      },
      "message": "avformat/utils: add ff_bprint_finalize_as_fam to put bprint strings to flexible array members\n\nSigned-off-by: Marton Balint \u003ccus@passwd.hu\u003e\n"
    },
    {
      "commit": "553321d59eca201a337bddffe0a68b3a77bb1592",
      "tree": "9b325a1ac3dafe5a1a4dab70356ccd9799027b88",
      "parents": [
        "f69aa0cc64980956d6a66e23c6a1003e7dc47653"
      ],
      "author": {
        "name": "Kirill Gavrilov",
        "email": "kirill@sview.ru",
        "time": "Fri Jan 24 17:28:11 2025"
      },
      "committer": {
        "name": "Marton Balint",
        "email": "cus@passwd.hu",
        "time": "Wed May 13 19:35:33 2026"
      },
      "message": "libavcodec/hdrdec: accept \"#?RGBE\" header in addition to \"#?RADIANCE\"\n\nSome Radiance HDR image files in the wild have \"#?RGBE\" header,\nwhich other image readers accept.\n\nAlso updated hdr_probe() in libavformat/img2dec.\n"
    },
    {
      "commit": "f69aa0cc64980956d6a66e23c6a1003e7dc47653",
      "tree": "2265f29b1df45c8e5462425d65129eac229252b9",
      "parents": [
        "2d826f18fb66ba71fe63d1dec49922a3d48b5079"
      ],
      "author": {
        "name": "Vignesh Venkat",
        "email": "vigneshv@google.com",
        "time": "Fri Feb 13 18:48:41 2026"
      },
      "committer": {
        "name": "James Zern",
        "email": "jzern@google.com",
        "time": "Wed May 13 19:13:23 2026"
      },
      "message": "avcodec/aomenc: Handle Smpte2094App5 metadata\n\nIf packets contain Smpte2094App5 metadata, pass it to\nthe libaom encoder.\n\nSigned-off-by: Vignesh Venkat \u003cvigneshv@google.com\u003e\n"
    },
    {
      "commit": "2d826f18fb66ba71fe63d1dec49922a3d48b5079",
      "tree": "ad581876117d88e5c094caa0cce0ac84b66a707b",
      "parents": [
        "13aabf726b64c049d76025db25c662eb5fe269ce"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 15:39:26 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Wed May 13 17:55:53 2026"
      },
      "message": "vulkan/prores_raw: don\u0027t load the quantization matrix on every invocation\n"
    },
    {
      "commit": "13aabf726b64c049d76025db25c662eb5fe269ce",
      "tree": "e78c6d741c795edf033c4144ae905d6a4b3a5827",
      "parents": [
        "a2737497de4752813f27b4571e67a79c88c227d7"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 15:26:23 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Wed May 13 17:55:53 2026"
      },
      "message": "vulkan/prores_raw: specify format on image\n\nUnlike other decoders or encoders, prores_raw only has a single\nVulkan format to worry about.\nThis is a 20% speedup on AMD, since AMD apparently has optimizations\nfor this.\n"
    },
    {
      "commit": "a2737497de4752813f27b4571e67a79c88c227d7",
      "tree": "6d1e77496a71bd6fe349f42cba25c703a11d617a",
      "parents": [
        "5dc567a28ea9c63f473c60a33a39e53b7e3a0624"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 15:16:57 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Wed May 13 17:55:53 2026"
      },
      "message": "vulkan/prores_raw: add skip_bits_unchecked and use it\n\nshow_bits(gb, 32) is called immediately above. It guarantees that\nthe following skip_bits call will not need to reload.\n"
    },
    {
      "commit": "5dc567a28ea9c63f473c60a33a39e53b7e3a0624",
      "tree": "024694659f0ccc5f43192e126dcead52aae0df72",
      "parents": [
        "64f848890ca137b93e647701af0122235606ad53"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 15:16:25 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Wed May 13 17:55:52 2026"
      },
      "message": "vulkan/prores_raw: remove redundant fast golomb parsing path\n"
    },
    {
      "commit": "64f848890ca137b93e647701af0122235606ad53",
      "tree": "368ac9043a93092fa60b2eeb4bea2815b19ddd06",
      "parents": [
        "74e3d63fb66f138aa2a0d4b8c309ea9289a71c0a"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 15:10:38 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Wed May 13 17:55:52 2026"
      },
      "message": "vulkan/prores_raw: use 16-bit/32-bit uints where needed\n\n16-bit ints can overflow.\n"
    },
    {
      "commit": "74e3d63fb66f138aa2a0d4b8c309ea9289a71c0a",
      "tree": "bbf7a03e86d597c066c0a848c3a448eb505421ef",
      "parents": [
        "67811c2754651186b1e022ff26209d5041106fdd"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Tue May 12 15:08:19 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Wed May 13 17:55:52 2026"
      },
      "message": "vulkan/prores_raw: use get_bits shared memory cache\n\n50% speedup on AMD.\n"
    },
    {
      "commit": "67811c2754651186b1e022ff26209d5041106fdd",
      "tree": "3d9525d1825bde7079446309bf96105f3a29d091",
      "parents": [
        "8ffaead836233b1070bdfa1afeca91ff1d54f656"
      ],
      "author": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Wed May 13 17:02:47 2026"
      },
      "committer": {
        "name": "Lynne",
        "email": "dev@lynne.ee",
        "time": "Wed May 13 17:55:48 2026"
      },
      "message": "vulkan/common: fix get_bit() with SMEM caching\n\nFirst of all, it uses the wrong data pointer. Second, gb.bits wouldn\u0027t\nget set if LOAD64 was called after the start of the stream.\n"
    },
    {
      "commit": "8ffaead836233b1070bdfa1afeca91ff1d54f656",
      "tree": "d780d4d712494008f8c53c803c5fa84216796d8e",
      "parents": [
        "7e045dfbfcb20111296897583bda74eefbf55595"
      ],
      "author": {
        "name": "jiangjie",
        "email": "jiangjie@agora.io",
        "time": "Wed May 13 12:37:15 2026"
      },
      "committer": {
        "name": "jiangjie",
        "email": "jiangjie618@gmail.com",
        "time": "Wed May 13 14:09:06 2026"
      },
      "message": "fftools/ffmpeg_filter: fix frame reference leak in fg_output_step\n\nWhen clone_side_data() fails in fg_output_step(), the function returns\nwithout calling av_frame_unref(frame), leaking the frame reference.\n"
    },
    {
      "commit": "7e045dfbfcb20111296897583bda74eefbf55595",
      "tree": "a5bee6fd980e9af6b8ba6069fdf6dd7537c3acfb",
      "parents": [
        "65635453cb0c08f99db81dfeacef27ee86f8bf6d"
      ],
      "author": {
        "name": "Marvin Scholz",
        "email": "epirat07@gmail.com",
        "time": "Tue Apr 21 18:43:32 2026"
      },
      "committer": {
        "name": "Marvin Scholz",
        "email": "epirat07@gmail.com",
        "time": "Wed May 13 13:19:11 2026"
      },
      "message": "ffprobe: implement printing IAMF frame side data\n"
    },
    {
      "commit": "65635453cb0c08f99db81dfeacef27ee86f8bf6d",
      "tree": "db7c38c1fdf4623b9ca81382323791eed2c6f21c",
      "parents": [
        "99908c6e05e8433895d7856690ba95b8a2263a2f"
      ],
      "author": {
        "name": "Marvin Scholz",
        "email": "epirat07@gmail.com",
        "time": "Tue Apr 21 17:25:13 2026"
      },
      "committer": {
        "name": "Marvin Scholz",
        "email": "epirat07@gmail.com",
        "time": "Wed May 13 13:19:11 2026"
      },
      "message": "avcodec: map IAMF packet side data to frame side data\n"
    },
    {
      "commit": "99908c6e05e8433895d7856690ba95b8a2263a2f",
      "tree": "0caf2391af63c7c32fd48ef40a4618b684084605",
      "parents": [
        "22d06b39ce0545ce597f090d84f60c1a2b04fd25"
      ],
      "author": {
        "name": "Marvin Scholz",
        "email": "epirat07@gmail.com",
        "time": "Tue Apr 21 17:24:53 2026"
      },
      "committer": {
        "name": "Marvin Scholz",
        "email": "epirat07@gmail.com",
        "time": "Wed May 13 13:19:11 2026"
      },
      "message": "avutil: add IAMF frame side data types\n\nThese contain the same data as the packet side data equivalents.\n"
    },
    {
      "commit": "22d06b39ce0545ce597f090d84f60c1a2b04fd25",
      "tree": "da7ff41801e4b0d7e74a6ce1e2a6c2e0e7c06ca3",
      "parents": [
        "4851060ccd2881d2f19abda3b19ff0bd5a72f3ea"
      ],
      "author": {
        "name": "jiangjie",
        "email": "jiangjie@agora.io",
        "time": "Wed May 13 12:06:06 2026"
      },
      "committer": {
        "name": "jiangjie",
        "email": "jiangjie@agora.io",
        "time": "Wed May 13 12:11:19 2026"
      },
      "message": "avfilter/avfilter: fix memory leak of filter name in ff_filter_alloc error path\n\nWhen ff_filter_alloc fails after the name has been allocated (via\nav_strdup), the error handling code frees inputs and input_pads but\nmisses freeing ret-\u003ename, causing a memory leak.\n\nAdd av_freep(\u0026ret-\u003ename) in the error path before freeing inputs.\n"
    }
  ],
  "next": "4851060ccd2881d2f19abda3b19ff0bd5a72f3ea"
}
