Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Builder ffmpeg-solaris10-i386 Build #12652

Results:

Failed shell_2 shell_3 shell_4 shell_5

SourceStamp:

Projectffmpeg
Repositoryhttps://git.ffmpeg.org/ffmpeg.git
Branchmaster
Revisioned007ad427a659667fd3b20e6b7bfebc2844c832
Got Revisioned007ad427a659667fd3b20e6b7bfebc2844c832
Changes441 changes

BuildSlave:

unstable10x

Reason:

The SingleBranchScheduler scheduler named 'schedule-ffmpeg-solaris10-i386' triggered this build

Steps and Logfiles:

  1. git update ( 23 secs )
    1. stdio
  2. shell 'gsed -i ...' ( 0 secs )
    1. stdio
  3. shell_1 'gsed -i ...' ( 0 secs )
    1. stdio
  4. shell_2 'gsed -i ...' failed ( 0 secs )
    1. stdio
  5. shell_3 './configure --samples="../../../ffmpeg/fate-suite" ...' failed ( 35 secs )
    1. stdio
    2. config.log
  6. shell_4 'gmake fate-rsync' failed ( 0 secs )
    1. stdio
  7. shell_5 '../../../ffmpeg/fate.sh ../../../ffmpeg/fate_config.sh' failed ( 1 secs )
    1. stdio
    2. configure.log
    3. compile.log
    4. test.log

Build Properties:

NameValueSource
branch master Build
builddir /export/home/buildbot/slave/ffmpeg-solaris10-i386 slave
buildername ffmpeg-solaris10-i386 Builder
buildnumber 12652 Build
codebase Build
got_revision ed007ad427a659667fd3b20e6b7bfebc2844c832 Git
project ffmpeg Build
repository https://git.ffmpeg.org/ffmpeg.git Build
revision ed007ad427a659667fd3b20e6b7bfebc2844c832 Build
scheduler schedule-ffmpeg-solaris10-i386 Scheduler
slavename unstable10x BuildSlave
workdir /export/home/buildbot/slave/ffmpeg-solaris10-i386 slave (deprecated)

Forced Build Properties:

NameLabelValue

Responsible Users:

  1. Andreas Rheinhardt
  2. Baptiste Coudurier
  3. Brad Smith
  4. Cameron Gutman
  5. Derek Buitenhuis
  6. Drew Dunne
  7. Frank Plowman
  8. Georgii Zagoruiko
  9. Gyan Doshi
  10. Henrik Gramner
  11. Jack Lau
  12. James Almer
  13. Jan Ekström
  14. Kaarle Ritvanen
  15. Kacper Michajłow
  16. Koushik Dutta via ffmpeg-devel
  17. Krzysztof Pyrkosz
  18. Leo Izen
  19. Lynne
  20. Manuel Lauss
  21. Martin Storsjö
  22. Marton Balint
  23. Marvin Scholz
  24. Michael Niedermayer
  25. Michael Yang
  26. Michael Yang
  27. Niklas Haas
  28. Nikolay Aleksandrov
  29. Paul B Mahol
  30. Romain Beauxis
  31. Rémi Denis-Courmont
  32. Sean McGovern
  33. Stadelmann, Daniel
  34. Timo Rothenpieler
  35. Tong Wu
  36. Vittorio Palmisano
  37. Zhao Zhili
  38. asivery
  39. rcombs
  40. renjianguang
  41. zhanghongyuan

Timing:

StartSat Oct 18 11:07:09 2025
EndSat Oct 18 11:08:11 2025
Elapsed1 mins, 1 secs

All Changes:

:

  1. Change #244714

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 09 Sep 2025 14:52:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5f39965dd6e6769e339dd684db3be5a667f4bc69

    Comments

    avfilter/buffersink: remove unneeded parameter
    This is a newly added field, so there's no point to try and keep backwards
    compatibility with an older API - newer clients should just use the new
    fields.

    Changed files

    • libavfilter/buffersink.c
  2. Change #244721

    Category ffmpeg
    Changed by Krzysztof Pyrkosz <ffmpegohnoyoudont@szaka.eu>
    Changed at Tue 09 Sep 2025 18:37:28
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision de25cb4603f938aafc1a182b76a6216de170e7ac

    Comments

    avcodec/aarch64/vvc: Optimize vvc_apply_bdof_block_8x
    Before and after:
    A53:
    apply_bdof_8_8x16_neon:                               3320.5 ( 4.02x)
    apply_bdof_10_8x16_neon:                              3317.8 ( 3.90x)
    apply_bdof_12_8x16_neon:                              3303.6 ( 3.91x)
    
    apply_bdof_8_8x16_neon:                               3168.1 ( 4.23x)
    apply_bdof_10_8x16_neon:                              3127.8 ( 4.13x)
    apply_bdof_12_8x16_neon:                              3119.3 ( 4.18x)
    
    A72:
    apply_bdof_8_8x16_neon:                               1827.4 ( 5.02x)
    apply_bdof_10_8x16_neon:                              1838.5 ( 4.89x)
    apply_bdof_12_8x16_neon:                              1841.1 ( 4.83x)
    
    apply_bdof_8_8x16_neon:                               1691.6 ( 5.46x)
    apply_bdof_10_8x16_neon:                              1695.9 ( 5.23x)
    apply_bdof_12_8x16_neon:                              1695.4 ( 5.29x)
    
    A78
    apply_bdof_8_8x16_neon:                                648.9 ( 7.43x)
    apply_bdof_10_8x16_neon:                               646.1 ( 7.04x)
    apply_bdof_12_8x16_neon:                               643.8 ( 7.04x)
    
    apply_bdof_8_8x16_neon:                                603.2 ( 7.97x)
    apply_bdof_10_8x16_neon:                               604.1 ( 7.52x)
    apply_bdof_12_8x16_neon:                               604.5 ( 7.52x)

    Changed files

    • libavcodec/aarch64/vvc/inter.S
  3. Change #244730

    Category ffmpeg
    Changed by Georgii Zagoruiko <george.zaguriohnoyoudont@gmail.com>
    Changed at Tue 09 Sep 2025 23:13:04
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4fbacb39440f9951904b2ebc5ad76bf8019d478a

    Comments

    avcodec/aarch64/vvc: Optimised version of classify function.
        Macbook Air (M2):
        vvc_alf_classify_8x8_8_c:                                2.6 ( 1.00x)
        vvc_alf_classify_8x8_8_neon:                             1.0 ( 2.47x)
        vvc_alf_classify_8x8_10_c:                               2.7 ( 1.00x)
        vvc_alf_classify_8x8_10_neon:                            0.9 ( 2.98x)
        vvc_alf_classify_8x8_12_c:                               2.7 ( 1.00x)
        vvc_alf_classify_8x8_12_neon:                            0.9 ( 2.97x)
        vvc_alf_classify_16x16_8_c:                              7.3 ( 1.00x)
        vvc_alf_classify_16x16_8_neon:                           3.4 ( 2.12x)
        vvc_alf_classify_16x16_10_c:                             4.3 ( 1.00x)
        vvc_alf_classify_16x16_10_neon:                          2.9 ( 1.47x)
        vvc_alf_classify_16x16_12_c:                             4.3 ( 1.00x)
        vvc_alf_classify_16x16_12_neon:                          3.0 ( 1.44x)
        vvc_alf_classify_32x32_8_c:                             13.7 ( 1.00x)
        vvc_alf_classify_32x32_8_neon:                          10.7 ( 1.29x)
        vvc_alf_classify_32x32_10_c:                            12.3 ( 1.00x)
        vvc_alf_classify_32x32_10_neon:                          8.7 ( 1.42x)
        vvc_alf_classify_32x32_12_c:                            12.2 ( 1.00x)
        vvc_alf_classify_32x32_12_neon:                          8.7 ( 1.40x)
        vvc_alf_classify_64x64_8_c:                             45.8 ( 1.00x)
        vvc_alf_classify_64x64_8_neon:                          37.1 ( 1.23x)
        vvc_alf_classify_64x64_10_c:                            41.3 ( 1.00x)
        vvc_alf_classify_64x64_10_neon:                         32.8 ( 1.26x)
        vvc_alf_classify_64x64_12_c:                            41.4 ( 1.00x)
        vvc_alf_classify_64x64_12_neon:                         32.4 ( 1.28x)
        vvc_alf_classify_128x128_8_c:                          163.7 ( 1.00x)
        vvc_alf_classify_128x128_8_neon:                       138.3 ( 1.18x)
        vvc_alf_classify_128x128_10_c:                         149.1 ( 1.00x)
        vvc_alf_classify_128x128_10_neon:                      120.3 ( 1.24x)
        vvc_alf_classify_128x128_12_c:                         148.7 ( 1.00x)
        vvc_alf_classify_128x128_12_neon:                      119.4 ( 1.25x)
    
        RPi4 (Cortex-A72):
        vvc_alf_classify_8x8_8_c:                             1251.6 ( 1.00x)
        vvc_alf_classify_8x8_8_neon:                           700.7 ( 1.79x)
        vvc_alf_classify_8x8_10_c:                            1141.9 ( 1.00x)
        vvc_alf_classify_8x8_10_neon:                          659.7 ( 1.73x)
        vvc_alf_classify_8x8_12_c:                            1075.8 ( 1.00x)
        vvc_alf_classify_8x8_12_neon:                          658.7 ( 1.63x)
        vvc_alf_classify_16x16_8_c:                           3574.1 ( 1.00x)
        vvc_alf_classify_16x16_8_neon:                        1849.8 ( 1.93x)
        vvc_alf_classify_16x16_10_c:                          3270.0 ( 1.00x)
        vvc_alf_classify_16x16_10_neon:                       1786.1 ( 1.83x)
        vvc_alf_classify_16x16_12_c:                          3271.7 ( 1.00x)
        vvc_alf_classify_16x16_12_neon:                       1785.5 ( 1.83x)
        vvc_alf_classify_32x32_8_c:                          12451.9 ( 1.00x)
        vvc_alf_classify_32x32_8_neon:                        5984.3 ( 2.08x)
        vvc_alf_classify_32x32_10_c:                         11428.9 ( 1.00x)
        vvc_alf_classify_32x32_10_neon:                       5756.3 ( 1.99x)
        vvc_alf_classify_32x32_12_c:                         11252.8 ( 1.00x)
        vvc_alf_classify_32x32_12_neon:                       5755.7 ( 1.96x)
        vvc_alf_classify_64x64_8_c:                          47625.5 ( 1.00x)
        vvc_alf_classify_64x64_8_neon:                       21071.9 ( 2.26x)
        vvc_alf_classify_64x64_10_c:                         44576.3 ( 1.00x)
        vvc_alf_classify_64x64_10_neon:                      21544.7 ( 2.07x)
        vvc_alf_classify_64x64_12_c:                         44600.5 ( 1.00x)
        vvc_alf_classify_64x64_12_neon:                      21491.2 ( 2.08x)
        vvc_alf_classify_128x128_8_c:                       192143.3 ( 1.00x)
        vvc_alf_classify_128x128_8_neon:                     82387.6 ( 2.33x)
        vvc_alf_classify_128x128_10_c:                      177583.1 ( 1.00x)
        vvc_alf_classify_128x128_10_neon:                    81628.8 ( 2.18x)
        vvc_alf_classify_128x128_12_c:                      177582.2 ( 1.00x)
        vvc_alf_classify_128x128_12_neon:                    81625.1 ( 2.18x)

    Changed files

    • libavcodec/aarch64/vvc/alf.S
    • libavcodec/aarch64/vvc/alf_template.c
    • libavcodec/aarch64/vvc/dsp_init.c
  4. Change #244738

    Category ffmpeg
    Changed by Marvin Scholz <epirat07ohnoyoudont@gmail.com>
    Changed at Wed 10 Sep 2025 13:38:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2a1d5dd720fcaecd9272b5dafdf40a301868f85d

    Comments

    fftools: use fopen_utf8 to open FFREPORT
    Should fix #11240

    Changed files

    • fftools/opt_common.c
  5. Change #244746

    Category ffmpeg
    Changed by Tong Wu <wutong1208ohnoyoudont@outlook.com>
    Changed at Wed 10 Sep 2025 13:39:17
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4691c5623854760b1327a9fac8ba8c51e7c0d4d2

    Comments

    forgejo/CODEOWNERS: add myself to d3d12va related files
    Signed-off-by: Tong Wu <wutong1208@outlook.com>

    Changed files

    • .forgejo/CODEOWNERS
  6. Change #244755

    Category ffmpeg
    Changed by Cameron Gutman <aicommanderohnoyoudont@gmail.com>
    Changed at Wed 10 Sep 2025 13:55:18
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d87210745e09f6d55a7e43f70bf9d8f81b5f739a

    Comments

    avcodec/videotoolboxenc: allow low latency RC with HEVC
    It is supported only for H.264 on Intel Macs, but it can be used with
    both H.264 and HEVC on Apple Silicon.
    
    Signed-off-by: Cameron Gutman <aicommander@gmail.com>

    Changed files

    • libavcodec/videotoolboxenc.c
  7. Change #244765

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Wed 10 Sep 2025 14:33:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c1dc2e2b7cc8df8a40b616793d1204be0e71103c

    Comments

    avcodec/videotoolboxenc: ensure bitrate is set in low_delay mode
    VideoToolbox doesn't support automatic bitrate in low delay mode.
    Check bitrate and show error message so user knows what's going
    wrong.

    Changed files

    • libavcodec/videotoolboxenc.c
  8. Change #244772

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Thu 11 Sep 2025 23:32:23
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 335ba4a649044cd613c74df57e6f1144455aaf19

    Comments

    avutil/aes_ctr: reintroduce the block offset state
    Wrongly removed in fe73b84879a560d69affca88ce21e61108e7c38d, it's required for
    calls with a payload smaller than a full block.
    
    Fixes issue #20474.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavutil/aes_ctr.c
  9. Change #244780

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Thu 11 Sep 2025 23:32:24
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 799c133273a8c8455b21bbd9e2ab9e716f5e9bb1

    Comments

    avutil/tests/aes_ctr: extend the test to cover payloads smaller than a block
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavutil/tests/aes_ctr.c
  10. Change #244786

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 12 Sep 2025 17:11:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f49de7018af3e41805ad600ce99b79163861ff59

    Comments

    avcodec/Makefile: Add adpcm_vima->adpcm.o dependency
    Forgotten in 9141fe9653dc078d81bff8308ffdd2aaaf35495c.
    
    Reviewed-by: Peter Ross <pross@xvid.org>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/Makefile
  11. Change #244794

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 12 Sep 2025 21:37:42
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 87cb7c871b6b25e537a7b19e47bf2779ad8d31b4

    Comments

    avcodec/pcm_tablegen: Fix hardcoded-tables if alaw,mulaw,vidc codecs disabled
    Since ae448e00afb43d7f72dfa9c82a4c45994e4fea6a the various
    tableinit functions are not compiled unconditionally any more,
    so that pcm_tablegen.c (which creates the hardcoded tables)
    needs to be updated.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/pcm_tablegen.c
  12. Change #244805

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 12 Sep 2025 21:38:48
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 84f4b9fc1fdb9dd48b258e26cdc0edfa383b857c

    Comments

    avcodec/mpegaudiodec_template: Don't modify AVCodecContext.priv_data
    Reviewed-by: Peter Ross <pross@xvid.org>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mpegaudiodec_template.c
  13. Change #244814

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 12 Sep 2025 21:39:16
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f611459e6f9ca4f1d27128402ea8defd0820cb8e

    Comments

    avcodec/mpegaudiodec_template: Allocate sub-contexts jointly
    Reviewed-by: Peter Ross <pross@xvid.org>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mpegaudiodec_template.c
  14. Change #244822

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 12 Sep 2025 21:39:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 87282710975c11f423a26f4e4df86daf12a34485

    Comments

    avcodec/mpegaudiodec_template: Mark flush functions as av_cold
    Reviewed-by: Peter Ross <pross@xvid.org>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mpegaudiodec_template.c
  15. Change #244831

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 12 Sep 2025 21:39:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6384254db203bea90b57b0f4dd8f32726a22a249

    Comments

    avcodec/mpegaudiodec_template: Avoid write-only stores
    Reviewed-by: Peter Ross <pross@xvid.org>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mpegaudiodec_template.c
  16. Change #244839

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 12 Sep 2025 22:41:24
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c74ee4ceffe2bfb5ac65852903d72720a79dda18

    Comments

    swscale/ops_chain: Free correct pointer on error
    Reviewed-by: Niklas Haas <ffmpeg@haasn.dev>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libswscale/ops_chain.c
  17. Change #244849

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 12 Sep 2025 22:42:30
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a4fd3f27f4d911e807f9c45931a5fd5d3ae95c87

    Comments

    swscale/x86/ops: Fix leak
    Reviewed-by: Niklas Haas <ffmpeg@haasn.dev>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libswscale/x86/ops.c
  18. Change #244856

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Sat 13 Sep 2025 18:14:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 66faef3dbe74bdae40c852caa0ab28ca8cb7a8f7

    Comments

    swscale/ops_chain: add type removed ff_sws_op_chain_free_cb
    to avoid pointer casting and UB of calling function with different
    pointer type.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • libswscale/ops_backend.c
    • libswscale/ops_chain.c
    • libswscale/ops_chain.h
    • libswscale/x86/ops.c
  19. Change #244863

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Sat 13 Sep 2025 19:12:44
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1294ab5db1b029b05e27ddefe1dd583087644b3c

    Comments

    swscale/ops_tmpl_int: remove unused arguments from wrap read decl
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • libswscale/ops_backend.h
    • libswscale/ops_tmpl_int.c
  20. Change #244870

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 13 Sep 2025 21:27:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision bc545bae3be34e71980f93259dfca1b8bb28bd92

    Comments

    tests/checkasm/sw_ops: Avoid 1 << 32
    It is UB.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • tests/checkasm/sw_ops.c
  21. Change #244878

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 13 Sep 2025 22:37:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1df63acdc486d08fccbd0f3d19eb0398486c8e00

    Comments

    avcodec: Add av_cold to flush,init,close functions missing it
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/acelp_filters.c
    • libavcodec/acelp_vectors.c
    • libavcodec/adpcm.c
    • libavcodec/adxdec.c
    • libavcodec/agm.c
    • libavcodec/apedec.c
    • libavcodec/apv_decode.c
    • libavcodec/arbc.c
    • libavcodec/argo.c
    • libavcodec/ass.c
    • libavcodec/ass_split.c
    • libavcodec/atrac9dec.c
    • libavcodec/audio_frame_queue.c
    • libavcodec/av1_parser.c
    • libavcodec/av1dec.c
    • libavcodec/avdct.c
    • libavcodec/bink.c
    • libavcodec/binkaudio.c
    • libavcodec/cavsdec.c
    • libavcodec/cbs_av1.c
    • libavcodec/cbs_bsf.c
    • libavcodec/cbs_h2645.c
    • libavcodec/cbs_vp9.c
    • libavcodec/ccaption_dec.c
    • libavcodec/cdgraphics.c
    • libavcodec/cdtoons.c
    • libavcodec/celp_filters.c
    • libavcodec/cngdec.c
    • libavcodec/dirac_parser.c
    • libavcodec/dovi_rpu.c
    • libavcodec/dpcm.c
    • libavcodec/dvdsubdec.c
    • libavcodec/evc_parser.c
    • libavcodec/executor.c
    • libavcodec/ffv1_parser.c
    • libavcodec/flac_parser.c
    • libavcodec/ftr.c
    • libavcodec/gif.c
    • libavcodec/gsmdec.c
    • libavcodec/h264_parser.c
    • libavcodec/h264dec.c
    • libavcodec/hevc/hevcdec.c
    • libavcodec/imm4.c
    • libavcodec/imm5.c
    • libavcodec/imx.c
    • libavcodec/j2kenc.c
    • libavcodec/lossless_videodsp.c
    • libavcodec/midivid.c
    • libavcodec/mjpegdec.c
    • libavcodec/mlpdec.c
    • libavcodec/mobiclip.c
    • libavcodec/movtextenc.c
    • libavcodec/mpc7.c
    • libavcodec/mpegvideo_parser.c
    • libavcodec/msrle.c
    • libavcodec/msrleenc.c
    • libavcodec/mv30.c
    • libavcodec/osq.c
    • libavcodec/parser.c
    • libavcodec/pdvdec.c
    • libavcodec/qpeg.c
    • libavcodec/qtrle.c
    • libavcodec/ralf.c
    • libavcodec/rtjpeg.c
    • libavcodec/rv60dec.c
    • libavcodec/samidec.c
    • libavcodec/srtenc.c
    • libavcodec/svq1dec.c
    • libavcodec/textdec.c
    • libavcodec/v4l2_m2m.c
    • libavcodec/vc1dec.c
    • libavcodec/vorbis_parser.c
    • libavcodec/vp3.c
    • libavcodec/vp9.c
    • libavcodec/vvc/thread.c
    • libavcodec/wavpack.c
    • libavcodec/webvttenc.c
    • libavcodec/wmalosslessdec.c
    • libavcodec/wmaprodec.c
    • libavcodec/xbm_parser.c
    • libavcodec/zerocodec.c
  22. Change #244886

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 13 Sep 2025 22:37:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9ae42d42e6d488e05ed19f50d3fa627723d3ce66

    Comments

    avcodec/dvdsubdec: Don't return value != 0 on init success
    Currently, any nonnegative return value from an init function
    is just treated as success and otherwise ignored; while it is
    not explicitly forbidden to return something else than 0 (there
    is no documentation whatsoever), the assumption is that
    they return zero on success. So change dvdsubdec.c accordingly.
    
    Also change dvdsub_parse_extradata() to return zero on success.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/dvdsubdec.c
  23. Change #244894

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 13 Sep 2025 22:45:42
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0ba0cf94dbb038daeafc608fb2216a5d1ce9a806

    Comments

    avcodec/bsf/noise: Avoid allocation for string
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/bsf/noise.c
  24. Change #244901

    Category ffmpeg
    Changed by Martin Storsjö <martinohnoyoudont@martin.st>
    Changed at Sat 13 Sep 2025 22:58:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a3ce337926d097c23464b55d69d37adc9913d3c5

    Comments

    tools: Add scripts for indenting and checking aarch64 assembly
    The same also applies for arm assembly, but there are more known
    deviations within that.
    
    Add a script which checks all files, except for a few known files
    that deviate, for various reasons.

    Changed files

    • tools/check_arm_indent.sh
    • tools/indent_arm_assembly.pl
  25. Change #244907

    Category ffmpeg
    Changed by Martin Storsjö <martinohnoyoudont@martin.st>
    Changed at Sat 13 Sep 2025 22:58:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision edd1b93e5316612e5020a14fdf9e62f94f615826

    Comments

    forgejo: Check the aarch64 assembly indentation as part of the lint job
    Alternatively, this could be a separate job, potentially keyed
    to only run on PRs that touch files matching */aarch64/*. But
    as this runs very quickly, it's probably less clutter to just
    bundle it here.

    Changed files

    • .forgejo/workflows/lint.yml
  26. Change #244914

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sat 13 Sep 2025 22:58:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4c80cda08ab41a37bea430b5803d84298a145b2c

    Comments

    forgejo: make aarch64 asm linter part of pre-commit
    Needed some minor semantical changes to the shell wrapper, since
    pre-commit expects it to exit with an error when applying fixes.

    Changed files

    • .forgejo/pre-commit/config.yaml
    • .forgejo/workflows/lint.yml
    • tools/check_arm_indent.sh
  27. Change #244922

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 13 Sep 2025 23:25:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b02f1129ebbaaef1c4dc79cd1d68004cab433323

    Comments

    swresample/resample, soxr_resample: Use designated initializers
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libswresample/resample.c
    • libswresample/soxr_resample.c
  28. Change #244926

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sun 14 Sep 2025 12:47:57
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision bdb81d93474ecfc575a88b4028151940b6c8e3c8

    Comments

    avcodec/rkmppdec: Close decoder generically on init failure
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/rkmppdec.c
  29. Change #244931

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 13:45:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0362cb38062b2a8cead50840aaefb7257570e3f0

    Comments

    build: link with CXX when -lstdc++ on linker commandline

    Changed files

    • Makefile
    • ffbuild/common.mak
    • ffbuild/library.mak
    • tests/api/Makefile
    • tests/checkasm/Makefile
  30. Change #244938

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 13:45:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0ce413af9cc8040095a6b714600d6a8dceaca514

    Comments

    configure: properly split C/CXX and CPP flags
    Right now, CFLAGS like -std=c17 leak onto the C++ compilers commandline,
    leading to tons of warnings and even some errors.
    
    Undefining __STRICT_ANSI__ causes strong warnings from the stdlib
    headers. So only set it for C.

    Changed files

    • configure
    • ffbuild/common.mak
  31. Change #244941

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 13:45:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9c8a6ac85c3e56f8168a7813e4c825aff7044939

    Comments

    configure: fix naming of some C++/cxx functions being mislabeled as cpp

    Changed files

    • configure
  32. Change #244945

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 13:45:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5146b2fb8b700c5376244859dcd1731e4470e3b7

    Comments

    configure: don't use MinGW ANSI stdio when using UCRT
    MinGWs ANSI stdio is quite slow, and when using UCRT, its extra features
    are not needed.
    The only troublesome part with ucrt printf is that is disagrees about
    the size of "long double", but FFmpeg does not use that anywhere, let
    alone prints it.

    Changed files

    • configure
  33. Change #244950

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 13:45:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7856f57533b14c18e888e275770a0ca26685d6e4

    Comments

    compat/w32pthreads: fix compatibility with C++

    Changed files

    • compat/w32pthreads.h
  34. Change #244955

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 13:45:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 36e374efb05a2ad81369980de98a0d78381ec81f

    Comments

    avfilter: add gfxcapture, Windows.Graphics.Capture based window/monitor capture

    Changed files

    • Changelog
    • configure
    • doc/filters.texi
    • libavfilter/Makefile
    • libavfilter/allfilters.c
    • libavfilter/version.h
    • libavfilter/vsrc_gfxcapture.c
    • libavfilter/vsrc_gfxcapture.h
    • libavfilter/vsrc_gfxcapture_shader.h
    • libavfilter/vsrc_gfxcapture_winrt.cpp
    • libavfilter/vsrc_gfxcapture_winrt.h
  35. Change #244963

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 15:33:31
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6e63b978d32ea3449a7dbb47e9eb7c8ad00af30d

    Comments

    doc/filters: fix missed reference to outdated option name

    Changed files

    • doc/filters.texi
  36. Change #244968

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Sun 14 Sep 2025 15:35:54
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0773343ed769d4b14d58803cf2957223f93e1b4f

    Comments

    avcodec/rkmppdec: fix input queue overflow
    The strategy to count free slots isn't reliable. The value of
    INPUT_MAX_PACKETS is a hardcoded value, and MPP_DEC_GET_STREAM_COUNT
    doesn't always work as expected. When freeslots is nonzero, the mpp
    decoder still returns MPP_ERR_BUFFER_FULL. Before this patch, all
    packets are dropped once went into MPP_ERR_BUFFER_FULL state.
    
    Don't drop packet and return error in MPP_ERR_BUFFER_FULL state.
    Receive frame to allow the decoder's state machine to resume.
    
    Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>

    Changed files

    • libavcodec/rkmppdec.c
  37. Change #244972

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Sun 14 Sep 2025 15:35:54
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9e3c07f2dfaaf55690a83b173778487ce5c9a484

    Comments

    avcodec/rkmppdec: fix return EAGAIN during flushing
    Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>

    Changed files

    • libavcodec/rkmppdec.c
  38. Change #244976

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 20:33:24
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d74d3080ffdd358c595cf363f4053860d8fbb17d

    Comments

    avfilter/vsrc_gfxcapture: make checkheaders happy

    Changed files

    • libavfilter/vsrc_gfxcapture.h
    • libavfilter/vsrc_gfxcapture_winrt.cpp
    • libavfilter/vsrc_gfxcapture_winrt.h
    • libavfilter/vsrc_gfxcapture_winrt.hpp
  39. Change #244980

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 20:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 570949822b0fdfee96b055a8d4cce345a5334203

    Comments

    avfilter/vsrc_gfxcapture: MapWindowPoints can return 0 and still succeed

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  40. Change #244985

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Sun 14 Sep 2025 21:46:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision faba1501d5dd1234f760f6501c25ab64866cfe48

    Comments

    avfilter/vsrc_gfxcapture: switch to std::thread
    Combining C++ with our w32pthreads does not work out.
    The C++ standard lib headers might include pthread.h, which will then
    define clashing types with our w32pthread header.
    
    To solve this, switch to using C++ native std::thread.

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  41. Change #244989

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Mon 15 Sep 2025 08:40:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 16b8a7805b3c3895e53be5dd976f7649d0a86993

    Comments

    avformat/whip: enable RTCP NACK for whip
    Refer to RFC 4585 4.2,
    Add SDP "a=rtcp-fb" so the peer can request rtx
    through sending NACKs.
    
    Add basic parsing for NACK packet.
    Decrypt into a newly allocated buffer (do not
    overwrite whip->buf) so multiple NACKs in a
    bundled packet can be parsed in a loop while
    keeping whip->buf available for sending rtx
    
    Broken or wrong NACk are logged and skipped.
    
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/whip.c
  42. Change #244991

    Category ffmpeg
    Changed by Martin Storsjö <martinohnoyoudont@martin.st>
    Changed at Mon 15 Sep 2025 13:17:52
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 424d844534756c4c497675798412f73973ba9819

    Comments

    configure: Make -Werror=partial-availability apply to all languages
    This was missed in 0ce413af9cc8040095a6b714600d6a8dceaca514.
    
    This fixes proper detection of Objective C APIs (that are missing)
    if targeting older macOS versions, such as the check for
    AVCaptureSession.

    Changed files

    • configure
  43. Change #244994

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Mon 15 Sep 2025 14:17:49
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f85da32e3a841742fda6e869afa6ce21a84e8550

    Comments

    configure: make --extra-objcflags show the right default flags

    Changed files

    • configure
  44. Change #244998

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Mon 15 Sep 2025 14:37:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 189d0b83b20bd701bf7f8e171d3bb8e9c6077dd7

    Comments

    configure: pass CFLAGS to ObjC tests again
    It was mistakenly removed in 0ce413af9cc8040095a6b714600d6a8dceaca514.
    
    This matches how the Makefiles actually compile ObjC code, and
    unlike C++, this seems to actually be benign and various existing
    setups rely on that behaviour.

    Changed files

    • configure
  45. Change #245002

    Category ffmpeg
    Changed by Drew Dunne <asdunneohnoyoudont@google.com>
    Changed at Mon 15 Sep 2025 16:39:09
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 76471fb1439486db07b7e70c9a20a022458576b1

    Comments

    vf_colorspace: Add an option to clamp trc LUT output
    Add a new flag to the vf_colorspace filter which provides the user an
    option to clamp the linear and delinear transfer characteristics LUT
    values to the [0, 1] represented range. This helps constrain the
    potential value range when converting between colorspaces.
    
    Certain colors when going through the conversion can result in out of
    gamut colors after the rotation. The colorspace filter allows that with
    the extended range. The added clamping just keeps the colors within the
    [0, 1) range rather than using that extended range. I'm not enough of a
    color scientist to say which is correct, but there are certain
    situations where we would prefer to keep the colors in gamut.
    
    The example I have is:
    
    A solid color image of 8-bit YUV: Y=157, U=164, V=98.
    
    Specify the input as:
    
    Input range: MPEG
    In color matrix: BT470BG
    In color primaries: BT470M
    In color transfer characteristics: Gamma 28
    
    Output as:
    Out color range: JPEG
    Out color matrix: BT.709
    Out color primaries: BT.709
    Out color transfer characteristics: BT.709
    
    During the calculation you get:
    
    Input YUV:                             y=157,      u=164,      v-98
    Post-yuv2rgb BT.470BG:                 r=0.456055, g=0.684152, b=0.928606
    Post-apply gamma28 linear LUT:         r=0.110979, g=0.345494, b=0.812709
    Post-color rotation BT.470M to BT.709: r=-0.04161, g=0.384626, b=0.852400
    Post-apply Rec.709 delinear LUT:       r=-0.16382, g=0.615932, b=0.923793
    Post-rgb2yuv Rec.709 matrix:           y=120,      u=190,      v=25
    
    Where with this change, the delinear LUT output would be clamped to 0,
    so the result would be:
    r=0.000000, g=0.612390, b=0.918807 and a final output of
    y=129, u=185, v=46
    
    As for the long and av_clip64, this was just because lrint returned a
    long, so I left it as that and then used av_clip64 to the [0,1) range to
    avoid overflow. But re-reading, it looks like av_clip_int16 would
    downcast that long to int anyway so the possibility of overflow already
    existed there. I've put it back to int just to match the existing
    behavior.

    Changed files

    • doc/filters.texi
    • libavfilter/vf_colorspace.c
  46. Change #245007

    Category ffmpeg
    Changed by Marvin Scholz <epirat07ohnoyoudont@gmail.com>
    Changed at Mon 15 Sep 2025 17:50:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 994bc08325897a7bc86cbb4f8975e1c09272f5d2

    Comments

    configure: also initialize objcflags_filter early
    Fixes an issue uncovered since 0ce413af9cc8040095a6b714600d6a8dceaca514
    where flags were properly separated but without the objcflags_filter
    being initialized, if add_objcflags is called early as part of
    add_allcflags, it would lead to the append() function using an empty
    filter and trying to call the flag instead, leading to errors like:
    
    ./configure: line 976: -fsanitize=address: command not found
    ./configure: line 976: -fno-omit-frame-pointer: command not found

    Changed files

    • configure
  47. Change #245011

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 987c955cd7e972d9940284fa6ae7187ac858ebb1

    Comments

    avformat/aviobuf: Keep checksum_ptr consistent in avio_seek()
    Otherwise it might be > buf_ptr in which case ffio_get_checksum()
    could segfault (s->buf_ptr - s->checksum_ptr would be negative
    which would be converted to something very big when converted
    to unsigned for the update_checksum callback).
    
    Fixes ticket #11233.
    
    Reported-by: Du4t
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/aviobuf.c
  48. Change #245015

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision bd80640caeb07dfc3656a6b680fde2da2e46af5b

    Comments

    avformat/oggdec: Don't skip over data whose checksum is used
    The behavior of the ffio_*_checksum feature is not well defined
    when using avio_skip(). The code in oggdec.c relied on the skipped
    data (four bytes) to be checksummed, which is mostly true
    because short_seek_threshold is 32768 by default, so that
    avio_seek() will normally read data instead of calling the
    underlying seek function. Yet this has two problems:
    
    a) It relies on implementation details of avio_seek().
    b) There is an exception, namely if the AVIO_FLAG_DIRECT is set.
    In this case the underlying seek function (if set) is always
    called and the data is skipped, leading to CRC errors.
    
    So don't skip the data.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/oggdec.c
  49. Change #245020

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 057afba13d3758f85ffbe636d16c29c0b5101bb5

    Comments

    avformat/tta: Avoid seek when reading header
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/tta.c
  50. Change #245023

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8872c0c39d654fc2b2bbb9c3d19ddd344a8f9e4e

    Comments

    avformat/takdec: Don't truncate return value
    This is unlikely to matter for real files.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/takdec.c
  51. Change #245026

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ed9c8e98cce7a6a4433f2b56b526a0ed1e57237b

    Comments

    avcodec/av1dec,libdav1d,wbmpdec: Avoid direct access to GetByteContext
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/av1dec.c
    • libavcodec/libdav1d.c
    • libavcodec/wbmpdec.c
  52. Change #245030

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b3ac02eb83d47b87e023e700d72a431a856cebb2

    Comments

    avcodec/encode: Simplify pixel format validity check
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/encode.c
  53. Change #245034

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9a130a57cd86afbd4272798e14b84312ccc6f206

    Comments

    avcodec/encode: Ignore coded_{width,height}
    It is supposed to be unused by encoders.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/encode.c
  54. Change #245038

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a2e4ba4df6e4d18b9a23ce735b42659ee1cf22e3

    Comments

    avcodec/encode: Remove dead code
    Can be readded if needed (likely never).
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/encode.c
  55. Change #245043

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ac64c52b96e2545c5f51d79eb2da9f12bb5168e0

    Comments

    avcodec/encode: Remove redundant av_image_check_size2()
    The dimensions have already been checked during init.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/encode.c
  56. Change #245047

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a6c899bc6bd0320edeffa0a277e3e3dfa8f64b93

    Comments

    avcodec/mjpegdec: Remove pointless information from logmessage
    There is no reason to add the address of an element of
    MJpegDecodeContext (which makes logmessage nonreproducible).
    Also avoid always printing a zero.
    
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mjpegdec.c
  57. Change #245051

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3b1673db6ae272080df6bfe2ab41f90afd7994d5

    Comments

    avcodec/mjpegdec: Avoid superfluous secondary error message
    Up until now, a DC error in decode_block() or decode_dc_progressive()
    would lead to a warning from mjpeg_decode_dc() and a (less verbose)
    error from the caller. Upgrade the former to an error status (all
    callers treat is an error) and remove the latter.
    
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mjpegdec.c
  58. Change #245055

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b11c8b76dff84bf86f2bc07ee32fccced746a570

    Comments

    avcodec/mjpegdec: Avoid mixing return value and error code, avoid branch
    mjpeg_decode_dc() currently has a special return value (0xfffff)
    for the case of invalid data; this value does not overlap with
    the ordinary return values, yet the compiler can't prove this
    (at least on x86 where an asm version of NEG_USR32 is used
    inside get_xbits()), so the non-error return value has to be checked
    for being the special value even if mjpeg_decode_dc() is inlined.
    
    This commit avoids this by separating error code and ordinary return
    value. It also means that the ljpeg functions return the proper
    error code and not -1 in case of invalid data.
    
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mjpegdec.c
  59. Change #245059

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 124c856d389af4ca1f6ac914271a892762df269d

    Comments

    avcodec/mjpegdec: Move initializing HpelDSPContext to mxpegdec.c
    Only the mxpeg decoder uses it (and the reference/bitmask feature
    of ff_mjpeg_decode_sos()). So only initialize it for mxpeg which
    allows to remove the mjpeg->hpeldsp dependency.
    
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • configure
    • libavcodec/mjpegdec.c
    • libavcodec/mxpegdec.c
  60. Change #245063

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b5cfabf0f54e315df5c7dd229bc569f118e7cae7

    Comments

    avcodec/mjpegdec: Avoid using HpelDSPContext
    It is quite big and we only need one function from it.
    
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mjpegdec.c
    • libavcodec/mjpegdec.h
    • libavcodec/mxpegdec.c
  61. Change #245067

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f33e62a8b440bc9b56b316b0ea9e157c5ea95747

    Comments

    avcodec/mjpegdec: Move reference dimension check to mxpegdec.c
    Only the mxpeg sets reference at all.
    
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mjpegdec.c
    • libavcodec/mxpegdec.c
  62. Change #245071

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c48add609aa4715ba20b168ab98125d0fea93618

    Comments

    swresample/swresample_internal: Use union for float, int matrix
    Saves 16KiB from SwrContext.
    (FATE would also pass if one made the double matrix part of
    the union, too, but I don't know whether this is truely correct,
    because swri_rematrix() accesses the double matrix (to check whether
    it is equal to 1.0) even when one of the other matrices is in use.)
    
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libswresample/rematrix.c
    • libswresample/swresample_internal.h
  63. Change #245075

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 853229d1401498f87fd06e5c1481336754daf401

    Comments

    swresample/rematrix: Avoid allocation for native_one
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libswresample/rematrix.c
    • libswresample/swresample.c
    • libswresample/swresample_internal.h
    • libswresample/x86/rematrix_init.c
  64. Change #245079

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision fe06d5533f8085d685456c99cb1872c64c19f02e

    Comments

    swresample/x86/rematrix_init: Avoid allocation for native_simd_one
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libswresample/rematrix.c
    • libswresample/swresample.c
    • libswresample/swresample_internal.h
    • libswresample/x86/rematrix_init.c
  65. Change #245083

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 15 Sep 2025 17:52:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 162e5a1121609ed62a1af4fcf261b749925945b1

    Comments

    swresample/rematrix_template: Constify get_mix_any_func
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libswresample/rematrix_template.c
  66. Change #245087

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Tue 16 Sep 2025 03:18:52
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 57a29f2e7dd2374a1df27316c6cf7c0225e86758

    Comments

    avcodec/x86/pngdsp: add missing emms at the end of add_png_paeth_prediction
    Fixes unpredictable behavior with floats.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/x86/pngdsp.asm
  67. Change #245091

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 16 Sep 2025 04:52:20
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 07ea3b1787b88481823c850e92c8828fc270b25b

    Comments

    avformat/flvenc: fix event_flags check
    AVFormatContext.event_flags is checked against AVSTREAM_EVENT_FLAG,
    which belongs to AVStream.event_flags. There is no real issue since
    these two flags have the same value.

    Changed files

    • libavformat/flvenc.c
  68. Change #245096

    Category ffmpeg
    Changed by renjianguang <renjianguangohnoyoudont@xiaomi.com>
    Changed at Tue 16 Sep 2025 13:27:39
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9e4ff4732c0d389a6b67f47c47b7823a1992cd40

    Comments

    swresample/swresample: Delete unused code
    The uch option has been removed
    
    Signed-off-by: renjianguang <renjianguang@xiaomi.com>

    Changed files

    • libswresample/swresample.c
  69. Change #245098

    Category ffmpeg
    Changed by Jan Ekström <jan.ekstromohnoyoudont@24i.com>
    Changed at Tue 16 Sep 2025 14:17:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5c222d7adef3cb08af0561112787193a75f26cec

    Comments

    tests/fate-run: add support for specifying the final encode muxer in `transcode`
    This allows for direct dumping of the packets' contents (useful for
    text based formats), while getting the timestamps/sizes etc from
    ffprobe.
    
    If used via TRANSCODE, the actually utilized muxer should be added
    within the last argument as an additional dependency, as that is not
    done automatically.
    
    Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>

    Changed files

    • tests/fate-run.sh
  70. Change #245103

    Category ffmpeg
    Changed by Jan Ekström <jan.ekstromohnoyoudont@24i.com>
    Changed at Tue 16 Sep 2025 15:28:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8dcc65a0fc18a4741d82c2c11c3e064580c27b30

    Comments

    avcodec/packet: add functionality to prepend to AVPacketLists
    Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>

    Changed files

    • libavcodec/packet.c
    • libavcodec/packet_internal.h
  71. Change #245107

    Category ffmpeg
    Changed by Jan Ekström <jan.ekstromohnoyoudont@24i.com>
    Changed at Tue 16 Sep 2025 15:29:48
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision af35a13f6d269a2400fd36ecc70b74ea2da1f1a8

    Comments

    avformat/movenc: add support for fragmented TTML muxing
    Attempts to base the fragmentation timing on other streams
    as most receivers expect media fragments to be more or less
    aligned.
    
    Currently does not support fragmentation on subtitle track
    only, as the subtitle packet queue timings would have to be
    checked in addition to the current fragmentation timing logic.
    
    Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>

    Changed files

    • libavformat/movenc.c
    • libavformat/movenc_ttml.c
    • libavformat/version.h
    • tests/fate/mov.mak
    • tests/ref/fate/mov-mp4-fragmented-ttml-dfxp
    • tests/ref/fate/mov-mp4-fragmented-ttml-stpp
  72. Change #245111

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Tue 16 Sep 2025 17:52:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 61378d6b911d30ef7ec095bcbb25b243ea07673c

    Comments

    avfilter/vsrc_gfxcapture: fix possible missed wakeup race in capture loop

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  73. Change #245115

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Tue 16 Sep 2025 17:52:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b8256b82f5341d9ae5774f77779507db09f97b96

    Comments

    avfilter/vsrc_gfxcapture: remove needless use of atomics

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  74. Change #245119

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 16 Sep 2025 18:22:24
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a35c91dc14e5b4d3e724a5d9656f46b6b5298fef

    Comments

    avfilter/vf_colordetect: Rename header to vf_colordetectdsp.h
    It is more in line with our naming conventions.
    
    Reviewed-by: Martin Storsjö <martin@martin.st>
    Reviewed-by: Niklas Haas <ffmpeg@haasn.dev>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/aarch64/vf_colordetect_init.c
    • libavfilter/vf_colordetect.c
    • libavfilter/vf_colordetect.h
    • libavfilter/vf_colordetectdsp.h
    • libavfilter/x86/vf_colordetect_init.c
    • tests/checkasm/vf_colordetect.c
  75. Change #245123

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 16 Sep 2025 18:23:45
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision fe0a31329931e0771814b5dbc093f0604986adae

    Comments

    avfilter/vf_colordetect: Avoid sequentially consistent atomics
    Reviewed-by: Martin Storsjö <martin@martin.st>
    Reviewed-by: Niklas Haas <ffmpeg@haasn.dev>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_colordetect.c
  76. Change #245127

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 16 Sep 2025 18:23:52
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f47b270b415d988437ae9eec56a761a8caf73d03

    Comments

    avfilter/vf_colordetect: Move ff_color_detect_dsp_init() out of .c file
    Otherwise checkasm pulls in vf_colordetect.o and then all of
    libavfilter.
    
    Reviewed-by: Martin Storsjö <martin@martin.st>
    Reviewed-by: Niklas Haas <ffmpeg@haasn.dev>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_colordetect.c
    • libavfilter/vf_colordetectdsp.h
  77. Change #245131

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Tue 16 Sep 2025 20:41:50
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 26f4230082dad1a6a0f2384694037562f73bb2fd

    Comments

    avcodec/decode: sync initial_pict_type and intra_only_flag with thread worker's avctx
    Regression since 5acbdd2264d3b90dc11369f9e031e762f260882e, which removed
    setting both values from PerThreadContext.
    Given the pthread code calls ff_decode_receive_frame_internal() on the frame,
    any value set before it will be overwritten, so instead sync each thread's
    DecodeContext and let ff_decode_receive_frame_internal() handle these values.
    
    Fixes issue #20534.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/decode.c
    • libavcodec/pthread_frame.c
  78. Change #245135

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Tue 16 Sep 2025 20:42:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision fdb5f709b77bd1ee0136d8afa354cd8c683ae494

    Comments

    avcodec/h2645_sei: add missing ambient_viewing_environment copy in ff_h2645_sei_ctx_replace()
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/h2645_sei.c
  79. Change #245139

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Tue 16 Sep 2025 20:42:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e0ddb4ac828e065f4bd77c7bdb9e28c56bee952b

    Comments

    tests/fate-run: pass threads argument to ffprobe
    Ensures it honors the THREADS variable if set to anything other than 1, which will be
    useful to detect bugs.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • tests/fate-run.sh
  80. Change #245143

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Tue 16 Sep 2025 20:42:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 796b3ba63ba8eb0deba0248b30b10727920448ad

    Comments

    tests/fate/prores: add a probe test
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • tests/fate/prores.mak
    • tests/ref/fate/prores-probe
  81. Change #245146

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Wed 17 Sep 2025 04:17:09
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ca72b2d7123315c30296385871149bd1c78c2e9b

    Comments

    avcodec/tiffenc: support writing Orientation tag
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/tiff.h
    • libavcodec/tiffenc.c
  82. Change #245150

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Wed 17 Sep 2025 04:17:09
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c6297b689f1a0ec28d45a9991bc02127e7a2abbd

    Comments

    tests/fate/image: add Exif rotation metadata tests
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • tests/fate/image.mak
    • tests/ref/fate/jpg-exif-autorotate
    • tests/ref/fate/jpg-exif-noautorotate
    • tests/ref/fate/jpg-exif-rotation-override
  83. Change #245154

    Category ffmpeg
    Changed by Cameron Gutman <aicommanderohnoyoudont@gmail.com>
    Changed at Wed 17 Sep 2025 08:40:16
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a0936b9769718f13662812eb9ea4ae377916c6a8

    Comments

    avcodec/vaapi_encode: skip AVBR if HRD parameters are set
    AVBR does not use VAEncMiscParameterTypeHRD, so attempting to set
    rc_buffer_size and bit_rate together will cause the rc_buffer_size
    to be ignored if the VAAPI driver supports AVBR. We should prefer
    regular VBR for that case.
    
    Signed-off-by: Cameron Gutman <aicommander@gmail.com>

    Changed files

    • libavcodec/vaapi_encode.c
  84. Change #245157

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Wed 17 Sep 2025 16:50:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 00ddb408c53c39b8462931a06b28f56bd64bf8af

    Comments

    avfilter/vsrc_ddagrab: support rendering mouse cursor onto array textures

    Changed files

    • libavfilter/vsrc_ddagrab.c
  85. Change #245162

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Wed 17 Sep 2025 16:50:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision efd484cb2dc3e3aa0eaf1855535186ccde3dc97c

    Comments

    avutil/hwcontext_d3d11va: remove D3D11_BIND_RENDER_TARGET restriction for array textures
    This was added in 4f78711f9c28b11dae4e4b96be46b6b4925eb8c6, with the
    commit message claiming that it's a Microsoft restriction that array
    textures with ArraySize > 2 cannot be created with
    D3D11_BIND_RENDER_TARGET.
    
    I was unable to find any documentation or other references on that, and
    a quick test also found it to not be the case. So this patch removes
    that restriction.
    
    This enables frame sources, like the d3d11 capture filters, to output
    frames in an array texture, which is neccesary to pass those frames as
    input to some hardware encoders.

    Changed files

    • libavutil/hwcontext_d3d11va.c
  86. Change #245166

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 17 Sep 2025 22:48:39
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8accbbdf9a99a1999e7e0c19f6cc91085b3b1905

    Comments

    avcodec/vvc/data: Mark tables as hidden
    This allows compilers to optimize accesses like
    ff_vvc_diag_scan_x[2][2][x] by baking the offset derived
    from [2][2] into the relocation (so that it is performed
    at link-time).
    
    Reviewed-by: Wu Jianhua <toqsxw@outlook.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/vvc/data.h
  87. Change #245169

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Thu 18 Sep 2025 03:04:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 983fed34f8172228c2e5490882531668d9d35105

    Comments

    avfilter/vsrc_gfxcapture: don't pass pointer to ComPtr
    While it does appear to work fine, with all the operator overloads, it
    at least has potential for surprises, so pass it by reference instead.

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  88. Change #245173

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Thu 18 Sep 2025 03:04:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 23d9412ff9598b8989072e53d5474a41d2f14042

    Comments

    avfilter/vsrc_gfxcapture: fix re-using ret variable from outside of lambda scope

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  89. Change #245177

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Thu 18 Sep 2025 03:04:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4879c9f4e2f2afc269d305d941cf70d18f3883a8

    Comments

    avfilter/vsrc_gfxcapture: stop capture session before initializing capture thread shutdown
    It might have things going on in the background that still need cleaned
    up, and this gives it a chance to enqueue them on the dispatch queue.

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  90. Change #245181

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Thu 18 Sep 2025 03:04:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1849068c657c23e979e804cf90e63ae2f7381ec5

    Comments

    avfilter/vsrc_gfxcapture: use free threaded capture frame pool
    Apparently, using a normal frame pool in a multithreaded environment
    leads to strange resource leaks on shutdown, which vanish when using a
    free threaded pool.

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  91. Change #245185

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Thu 18 Sep 2025 03:04:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c4e537793b5939262cabb708ff798a732b8aba33

    Comments

    avfilter/vsrc_gfxcapture: fix leaking all callback handlers
    Fixes #20537

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.hpp
  92. Change #245189

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Thu 18 Sep 2025 03:04:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 61835e1d8be9ace611e82b64f136a50f191a6e25

    Comments

    avfilter/vsrc_gfxcapture: keep cbdata object alive
    Depending on the threading backend the stdlib uses, creating a
    mutex/condvar can be quite expensive.
    So keep this object alive in the ctx, on which we synchronize via the
    uninit mutex anyway.

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  93. Change #245193

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Thu 18 Sep 2025 03:55:54
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c373636f554579340c7b1f46c42cc3a6989a7da6

    Comments

    avfilter/vsrc_gfxcapture: fix string format specifier
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • libavfilter/vsrc_gfxcapture_winrt.cpp
  94. Change #245197

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Thu 18 Sep 2025 13:06:16
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 742b0d4675a977c0cf67c306df95b4ef9aff7e36

    Comments

    avcodec/exif: Use av_fast_mallocz() in av_exif_clone_ifd()
    using fast realloc leaves the entries uninitialized and frees garbage pointers on
    errors
    
    Fixes: bug_triggering_file
    
    Found-by: *2ourc3, 5pider
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavcodec/exif.c
  95. Change #245202

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Thu 18 Sep 2025 13:06:16
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 88e04205b39ebc2fb6d5c78733e490aa5f5e69bb

    Comments

    avcodec/exif: Do not leave uninitialized pointers on errors in exif_clone_entry()
    No testcase, but this looks like it could free garbage pointers
    
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavcodec/exif.c
  96. Change #245205

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Thu 18 Sep 2025 13:06:16
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 647138334abd6ea001a16a768eb12cc4156db5f9

    Comments

    avcodec/exif: check count in exif_decode_tag()
    Fixes: out of array access
    Fixes: integer overflow
    Fixes: poc_heap_bof
    
    Found-by: *2ourc3 (Salim LARGO)
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavcodec/exif.c
  97. Change #245209

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 18 Sep 2025 14:34:15
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision df7532b21d9cafd2b3527128eab252e81a81f21a

    Comments

    avformat/tls_gnutls: add initial dtls support
    Set GNUTLS_DATAGRAM flag when is_dtls is true.
    Set mtu when it's specified.
    Modify the read/write function could use udp socket.
    
    There are more patches to make dtls really work.
    
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/tls_gnutls.c
  98. Change #245213

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 18 Sep 2025 14:34:15
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c74181a04b5f4e650eae662231e56518daef64d4

    Comments

    avformat/tls_gnutls: add av_assert0() for tls_shared
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/tls_gnutls.c
  99. Change #245217

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Thu 18 Sep 2025 18:53:05
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1ce3f9fdabf0c769e86b585d9da197e869e1a44e

    Comments

    forgejo/workflows: run fate-build
    It's not included in make fate target.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • .forgejo/workflows/test.yml
  100. Change #245222

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Fri 19 Sep 2025 09:59:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3e7314fe30ecf356b71bf6e40223f82e4e8c138e

    Comments

    avformat/udp: add DSCP as a normal AVOption
    Previously this was an URL-only option.
    
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/udp.c
  101. Change #245225

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Fri 19 Sep 2025 09:59:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ca8cba4eac89577e281515ee51d583650d15cfa3

    Comments

    avformat/udp: factorize warning unsupported options for builds without PTHREAD_CANCEL
    Also fix 'circular_buffer_size' parameter name in the message and the
    'fifo_size' option description.
    
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/udp.c
  102. Change #245228

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Fri 19 Sep 2025 09:59:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7d1e22b7eacd2142b23c19782d032d1f56de9f4b

    Comments

    avformat/tls: add some URL options as AVOption aliases
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/tls.h
  103. Change #245230

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Fri 19 Sep 2025 09:59:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b2184a97413c8b1c1794528f7112d31ec95e1db4

    Comments

    avformat/tls: use AV_OPT_TYPE_BOOL for some AVOptions
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/tls.h
  104. Change #245233

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Fri 19 Sep 2025 09:59:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f2be0e68eff7fc748a65f91ed4f28c5bffedd4e5

    Comments

    avformat/tls: move AVClass to TLSShared
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/tls.h
    • libavformat/tls_gnutls.c
    • libavformat/tls_libtls.c
    • libavformat/tls_mbedtls.c
    • libavformat/tls_openssl.c
    • libavformat/tls_schannel.c
    • libavformat/tls_securetransport.c
  105. Change #245236

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Fri 19 Sep 2025 09:59:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3a29702cb6b8f9dcb1aa66bb65d04b392f9de98d

    Comments

    avformat/rtpproto: add some URL options as AVOption aliases
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/rtpproto.c
  106. Change #245239

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Fri 19 Sep 2025 09:59:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b0314dc76e8ebebc627606313c3a6b5a4a9bd4af

    Comments

    avformat/rtpproto: use proper return error codes in rtp_open
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/rtpproto.c
  107. Change #245242

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Fri 19 Sep 2025 09:59:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 23cf2c5f01d3465a139c7b6ea7b3abb26e3ae080

    Comments

    avformat/urldecode: fix decoding last char if it was percent encoded
    The length check was too strict and if the end of the string was a percent
    encoded sequence it did not decode correctly.
    
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/urldecode.c
  108. Change #245246

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Fri 19 Sep 2025 09:59:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 82a09aef05e5b738d6dec16a0e0080543ff30c87

    Comments

    avformat/urldecode: factorize core url decoding from ff_urldecode
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/urldecode.c
  109. Change #245249

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:29:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a34a85ed54089682fdab4ee4ff93999d4a7b3776

    Comments

    avformat/mccenc: Remove redundant check
    This has already been checked in init.
    
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccenc.c
  110. Change #245251

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:30:17
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0cd78bddc40f95a770700d2bec098cabdcbd51f1

    Comments

    avformat/mccenc: Fix assert check
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccenc.c
  111. Change #245253

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:30:20
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 62dd3e1e7db374400cf7d9f8be1cac11d95916c5

    Comments

    avformat/mccenc: Remove redundant setting of time base
    It has already been done in init.
    
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccenc.c
  112. Change #245256

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:30:24
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d81a971b3503ec636fcb15655975e2ceb0e9a1ef

    Comments

    avformat/mccenc: Constify read-only data
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccenc.c
  113. Change #245259

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:30:28
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 159330016c26d0a56ac3bf7b1a6b3aca3287511f

    Comments

    avformat/mccenc: Deduplicate strings
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccenc.c
  114. Change #245262

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:30:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3c79219e93a37d671271d934e206ad5e8f63405b

    Comments

    avformat/mccenc: Check version-timecode compatibility earlier
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccenc.c
  115. Change #245265

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:30:53
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 28f0b7a237f24b16d09d292d39aa190fed39077f

    Comments

    avformat/mccenc: Add newlines to logmessages
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccenc.c
  116. Change #245268

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:30:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e965fe9057ff4436fe0778c8c5c396793f3f331c

    Comments

    avformat/mccenc: Avoid relocations
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccenc.c
  117. Change #245271

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:31:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f65875c0825ec9900836fec37c75e6f106c43f7f

    Comments

    avformat/mccdec: Avoid relocations
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccdec.c
  118. Change #245275

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:31:05
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cce1af54132ff7044a89388064490f53e6e80579

    Comments

    avformat/mccenc: Hardcode codec names
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccenc.c
  119. Change #245278

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 20 Sep 2025 00:31:10
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 49b5c17e0924df1de72db44c5f49a1b65422d202

    Comments

    avformat/mccdec: Constify data
    Reviewed-by: Jacob Lifshay <programmerjake@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/mccdec.c
  120. Change #245281

    Category ffmpeg
    Changed by Henrik Gramner <gramnerohnoyoudont@twoorioles.com>
    Changed at Sat 20 Sep 2025 01:12:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0b5d46ee1c568d616385abaa79708250d3d49c77

    Comments

    vp9: Add 8bpc AVX2 asm for inverse transforms

    Changed files

    • libavcodec/x86/Makefile
    • libavcodec/x86/vp9dsp_init.c
    • libavcodec/x86/vp9itxfm.asm
    • libavcodec/x86/vp9itxfm_avx2.asm
  121. Change #245284

    Category ffmpeg
    Changed by Henrik Gramner <gramnerohnoyoudont@twoorioles.com>
    Changed at Sat 20 Sep 2025 01:12:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 82b5a0faba9ce558682de728586929bc19d106e2

    Comments

    vp9: Remove 8bpc AVX asm for inverse transforms
    There's very little performance difference vs SSE2/SSSE3 and most
    systems will use the AVX2 implementations anyway.
    
    This reduces code size and compilation time by a significant amount.

    Changed files

    • libavcodec/x86/vp9dsp_init.c
    • libavcodec/x86/vp9itxfm.asm
  122. Change #245287

    Category ffmpeg
    Changed by Lynne <devohnoyoudont@lynne.ee>
    Changed at Sat 20 Sep 2025 15:46:35
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 99285cba210399447bc9893dcc30e4882b3b7c30

    Comments

    lavf/id3v2: report incorrect BOM value on error

    Changed files

    • libavformat/id3v2.c
  123. Change #245290

    Category ffmpeg
    Changed by Lynne <devohnoyoudont@lynne.ee>
    Changed at Sat 20 Sep 2025 15:46:39
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8d65da767b2b727a80672969f3120286ee478290

    Comments

    lavf: fix demuxing of FLAC files with id3v2 tags
    Due to the recent id3v2 refactor, FLAC was left out due to
    earlier code not checking for id3v2 presence on FLAC.
    Without the id3v2 data parsed, detection of FLAC and therefore
    demuxing fails.
    
    Fixes 9d037c54f209958d47ac376d2a9561608f98dfae

    Changed files

    • libavformat/flacdec.c
  124. Change #245293

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Sun 21 Sep 2025 02:49:44
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 55e71768cf7d9cb395187be0cf38e97b9c454ea1

    Comments

    avformat/dhav: Fix off by length of read element error
    Fixes: out of array read
    Fixes: BIGSLEEP-445383648
    Fixes: crash_input_1/2/3.dhav
    
    Found-by: Google Big Sleep
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavformat/dhav.c
  125. Change #245296

    Category ffmpeg
    Changed by Brad Smith <bradohnoyoudont@comstyle.com>
    Changed at Sun 21 Sep 2025 04:59:50
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision db0b86a4adf3ffe592ea70e756d615e89138eee0

    Comments

    avformat/udp: fix warning about unused varible
    libavformat/udp.c:283:9: warning: unused variable 'i' [-Wunused-variable]
    
    Signed-off-by: Brad Smith <brad@comstyle.com>

    Changed files

    • libavformat/udp.c
  126. Change #245299

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Sun 21 Sep 2025 11:42:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision dcddb2bf08f5fa6af655938a3a0d3cd2200fd8c9

    Comments

    avformat: add hxvs demuxer

    Changed files

    • Changelog
    • configure
    • libavformat/Makefile
    • libavformat/allformats.c
    • libavformat/hxvs.c
    • libavformat/version.h
  127. Change #245301

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Sun 21 Sep 2025 11:42:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e02e6d54b04aaed3a500e55fd53da6dd411074d8

    Comments

    tests/fate/demux: add hxvs test case

    Changed files

    • tests/fate/demux.mak
    • tests/ref/fate/hxvs-demux
  128. Change #245303

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:02:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 367febc491bceaf9aa95ba5fb9c2ca9b38f9208d

    Comments

    avfilter/vf_idet: expose DSP init function internally
    For checkasm.

    Changed files

    • libavfilter/vf_idet.c
    • libavfilter/vf_idet.h
  129. Change #245305

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:02:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5830743363490d39d9f9b4acd4c4aceb73c14d0c

    Comments

    avfilter/vf_idet: separate DSP parts
    To avoid pulling in the entire libavfilter when using the DSP functions
    from checkasm.
    
    The rest of the struct is not needed outside vf_idet.c and was moved there.

    Changed files

    • libavfilter/Makefile
    • libavfilter/vf_idet.c
    • libavfilter/vf_idet.h
    • libavfilter/vf_idetdsp.c
    • libavfilter/vf_idetdsp.h
    • libavfilter/x86/Makefile
    • libavfilter/x86/vf_idet.asm
    • libavfilter/x86/vf_idet_init.c
    • libavfilter/x86/vf_idetdsp.asm
    • libavfilter/x86/vf_idetdsp_init.c
  130. Change #245307

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:02:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2b67137daa488b2de4c86fd025ab9db576a1fb9a

    Comments

    avfilter/vf_idet: correctly reset pixdesc on format change

    Changed files

    • libavfilter/vf_idet.c
  131. Change #245309

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:02:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 56bb187ca915642358b8527029139628771837cb

    Comments

    avfilter/vf_idet: correctly update dsp function on format change
    Currently, this never updates on change from high bit depth to low bit depth.

    Changed files

    • libavfilter/vf_idet.c
  132. Change #245311

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:02:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 60dbcc5321feace40d80550fde1465788b416df2

    Comments

    avfilter/vf_idetdsp: pass actual bit depth
    More informative and IMO cleaner; some implementations may want to
    differentiate by exact bit depth or support 32 bit down the line.

    Changed files

    • libavfilter/vf_idet.c
    • libavfilter/vf_idetdsp.c
    • libavfilter/vf_idetdsp.h
    • libavfilter/x86/vf_idetdsp_init.c
  133. Change #245313

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:02:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 326abf359f72c0daf74c332bc05c65d7b3a5da0b

    Comments

    avfilter/vf_idetdsp: use consistent uint8_t pointer type
    Even for 16-bit DSP functions. Instead, cast the pointer inside the
    function.

    Changed files

    • libavfilter/vf_idetdsp.c
    • libavfilter/vf_idetdsp.h
    • libavfilter/x86/vf_idetdsp_init.c
  134. Change #245315

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:02:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 00e05bcd681a21637b1eed4cd13ff3797d9df97a

    Comments

    tests/checkasm: add vf_idet checkasm

    Changed files

    • tests/checkasm/Makefile
    • tests/checkasm/checkasm.c
    • tests/checkasm/checkasm.h
    • tests/checkasm/vf_idet.c
  135. Change #245317

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:02:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4c067d0778c932ab85f35cc4c07ace9d612e1905

    Comments

    avfilter/x86/vf_idetdsp: generalize 8-bit macro
    This is mostly compatible with AVX as well, so turn it into a macro.

    Changed files

    • libavfilter/x86/vf_idetdsp.asm
  136. Change #245319

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:02:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 843920d5d6bdcecbfd4eeac66cd175348bf99496

    Comments

    avfilter/x86/vf_idetdsp: add AVX2 and AVX512 implementations
    The only thing that changes slightly is the horizontal sum at the end.

    Changed files

    • libavfilter/x86/vf_idetdsp.asm
    • libavfilter/x86/vf_idetdsp_init.c
  137. Change #245321

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Sun 21 Sep 2025 13:28:58
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0bd5a7d3719456f049f4d29abb313968ccacb28c

    Comments

    avfilter/vf_colordetect: only report detected properties on EOF
    Instead of reporting them also when the filtergraph is suddenly destroyed
    mid-stream, e.g. during the `ffmpeg` tool's early init.

    Changed files

    • libavfilter/vf_colordetect.c
  138. Change #245323

    Category ffmpeg
    Changed by Krzysztof Pyrkosz <ffmpegohnoyoudont@szaka.eu>
    Changed at Sun 21 Sep 2025 21:39:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f1a155d9754f2f38da121b8935ea1a5483021a5a

    Comments

    avcodec/aarch64/vvc: Optimize dmvr_hv_10
    Before and after on A53:
    dmvr_hv_10_12x20_neon:                                1838.2 ( 3.02x)
    dmvr_hv_10_20x12_neon:                                1330.2 ( 1.83x)
    dmvr_hv_10_20x20_neon:                                2148.2 ( 1.85x)
    dmvr_hv_12_12x20_neon:                                1839.2 ( 3.02x)
    dmvr_hv_12_20x12_neon:                                1330.6 ( 1.83x)
    dmvr_hv_12_20x20_neon:                                2147.2 ( 1.85x)
    
    dmvr_hv_10_12x20_neon:                                1755.0 ( 3.17x)
    dmvr_hv_10_20x12_neon:                                1165.8 ( 2.09x)
    dmvr_hv_10_20x20_neon:                                1876.1 ( 2.12x)
    dmvr_hv_12_12x20_neon:                                1754.4 ( 3.17x)
    dmvr_hv_12_20x12_neon:                                1167.8 ( 2.09x)
    dmvr_hv_12_20x20_neon:                                1878.8 ( 2.12x)

    Changed files

    • libavcodec/aarch64/vvc/inter.S
  139. Change #245325

    Category ffmpeg
    Changed by zhanghongyuan <zhanghongyuanohnoyoudont@uniontech.com>
    Changed at Mon 22 Sep 2025 04:47:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b5e0d9f648712198e83566ea8a49498127f370d2

    Comments

    fftools/opt_common: add separator line to show_filters output
    Add a separator line to show_filters() function output to maintain
    consistent formatting with other show functions like show_codecs,
    show_formats_devices, etc. This provides uniform formatting across
    all command-line output functions for better readability and
    parsing by external tools.

    Changed files

    • fftools/opt_common.c
  140. Change #245327

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 22 Sep 2025 04:54:22
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c9168717bf4c7d6f72d5cb02064ce832f4af9c89

    Comments

    avcodec/h274: Make H274FilmGrainDatabase a shared object
    Right now, the private contexts of every decoder supporting
    H.274 film grain synthesis (namely H.264, HEVC and VVC)
    contain a H274FilmGrainDatabase; said structure is very large
    700442B before this commit) and takes up the overwhelming
    majority of said contexts: Removing it reduces sizeof(H264Context)
    by 92.88%, sizeof(HEVCContext) by 97.78% and sizeof(VVCContext)
    by 99.86%. This is especially important for H.264 and HEVC
    when using frame-threading.
    
    The content of said film grain database does not depend on
    any input parameter; it is shareable between all its users and
    could be hardcoded in the binary (but isn't, because it is so huge).
    
    This commit adds a database with static storage duration to h274.c
    and uses it instead of the elements in the private contexts above.
    It is still lazily initialized as-needed; a mutex is used
    for the necessary synchronization. An alternative would be to use
    an AV_ONCE to initialize the whole database either in the decoders'
    init function (which would be wasteful given that most videos
    don't use film grain synthesis) or in ff_h274_apply_film_grain().
    
    Reviewed-by: Niklas Haas <ffmpeg@haasn.dev>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/h264_picture.c
    • libavcodec/h264dec.h
    • libavcodec/h274.c
    • libavcodec/h274.h
    • libavcodec/hevc/hevcdec.c
    • libavcodec/hevc/hevcdec.h
    • libavcodec/vvc/dec.c
    • libavcodec/vvc/dec.h
  141. Change #245329

    Category ffmpeg
    Changed by Brad Smith <bradohnoyoudont@comstyle.com>
    Changed at Mon 22 Sep 2025 13:16:24
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cdae5c3639f4adcd289e643a203d43d4e01d87f5

    Comments

    libavutil/arm: Make use of elf_aux_info() on FreeBSD/OpenBSD
    - FreBSD/OpenBSD have elf_aux_info() on arm
    - Wrap AT_HWCAP as the value is different for BSD vs Linux (16 vs 25)
    
    Signed-off-by: Brad Smith <brad@comstyle.com>

    Changed files

    • libavutil/arm/cpu.c
  142. Change #245331

    Category ffmpeg
    Changed by Brad Smith <bradohnoyoudont@comstyle.com>
    Changed at Mon 22 Sep 2025 13:28:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ced4a6ebc9e7cd92d0ca9b9fb8f9d1013d23cbfa

    Comments

    libavutil/arm: Rename the HWCAP defines
    Rename the HWCAP defines to use the same naming scheme as AArch64 and PPC.
    
    Signed-off-by: Brad Smith <brad@comstyle.com>

    Changed files

    • libavutil/arm/cpu.c
  143. Change #245333

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 22 Sep 2025 21:58:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision db6cd6c6bfe6f306dd8d9de2a0086586cbd27ec1

    Comments

    avformat/tls_openssl: Don't call functions inside FFMIN
    It may call the function multiple times.
    
    Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
    Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/tls_openssl.c
  144. Change #245336

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 22 Sep 2025 22:02:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b815431126c8feb7557f61bb16bf6b572993089a

    Comments

    Revert "avformat/tls_openssl: add av_assert0() for tls_shared"
    This reverts commits fd55c4b5f72a157fbb128d0ef203e9922b53552b
    (for tls_openssl.c) and c74181a04b5f4e650eae662231e56518daef64d4
    (for tls_gnutls.c).
    
    It is impossible for a pointer to a member of a structure
    to be NULL: If the containing structure exists, the member
    exists and can't have a NULL address; if the containing
    structure does not exist, then getting a pointer to the
    substructure via &c->tls_shared would already be undefined
    behavior.
    
    Reviewed-by: Kacper Michajłow <kasper93@gmail.com>
    Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavformat/tls_gnutls.c
    • libavformat/tls_openssl.c
  145. Change #245338

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Mon 22 Sep 2025 23:41:42
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b1cbc7c8ff515159130bc4290ef6ab204e7101e8

    Comments

    configure: strip non numeric trailer from gcc version
    Fixes: ../configure: 7820: [: Illegal number: 13-win32
    
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • configure
  146. Change #245340

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b2e821310b9c78b866306ad2b01ce63c1481382a

    Comments

    avcodec: add AHX decoder
    (cherry picked from commit 039dc23d185214b8b0ef2bbccae197ceb5ad42a2)

    Changed files

    • libavcodec/Makefile
    • libavcodec/allcodecs.c
    • libavcodec/bitstream_filters.c
    • libavcodec/bsf/Makefile
    • libavcodec/bsf/ahx_to_mp2.c
    • libavcodec/codec_desc.c
    • libavcodec/codec_id.h
    • libavcodec/mpegaudiodec_float.c
    • libavcodec/mpegaudiodec_template.c
  147. Change #245342

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e95171fbffd8bafcab42f9a22e257dce733c5b97

    Comments

    avcodec: add AHX parser
    (cherry picked from commit ddcb47c4c512bf49b22cc6b2d07fade0f96377e3)

    Changed files

    • libavcodec/Makefile
    • libavcodec/ahx_parser.c
    • libavcodec/parsers.c
  148. Change #245344

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 424dbb03ae2870a1edc9c43890b174f27ffc0746

    Comments

    avcodec: add ADPCM IMA HVQM4 decoder
    Signed-off-by: Paul B Mahol <onemda@gmail.com>
    (cherry picked from commit bae3cecfa6f1fbc765d95d84ef4a377aedbca8bb)

    Changed files

    • libavcodec/Makefile
    • libavcodec/adpcm.c
    • libavcodec/allcodecs.c
    • libavcodec/codec_desc.c
    • libavcodec/codec_id.h
  149. Change #245346

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 648b5d017d0478a0cd30f3753ab556b7721ff2b6

    Comments

    avcodec: add ADPCM IMA PDA decoder
    (cherry picked from commit ab9f7513d55cfd87d1a1ce22d02abffbfb9bb296)

    Changed files

    • libavcodec/Makefile
    • libavcodec/adpcm.c
    • libavcodec/allcodecs.c
    • libavcodec/codec_desc.c
    • libavcodec/codec_id.h
    • libavcodec/utils.c
  150. Change #245348

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5fc9c79f53d799f76a8f69e5821ad0a5867512b0

    Comments

    avcodec: add ADPCM Silicon Graphics N64 decoder
    (cherry picked from commit 13484237fdf19c9d927b8a64b81d00100a4178c3)

    Changed files

    • libavcodec/Makefile
    • libavcodec/adpcm.c
    • libavcodec/allcodecs.c
    • libavcodec/codec_desc.c
    • libavcodec/codec_id.h
    • libavcodec/utils.c
  151. Change #245350

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1943b31cdd179c3fc998430c40cde0e28257b692

    Comments

    avcodec/adpcm: fix overflow in mono ADPCM IMA HVQM4
    (cherry picked from commit 6a9b0f7272a0725abbe6f887f766fb5f1f119a66)

    Changed files

    • libavcodec/adpcm.c
  152. Change #245352

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 58c0711fca17cb5231506c63f63a2aa5568a4997

    Comments

    avcodec: add ADPCM IMA HVQM2 decoder
    (cherry picked from commit 480e36592d5fc27a47e378d62570824613f26b7b)

    Changed files

    • libavcodec/Makefile
    • libavcodec/adpcm.c
    • libavcodec/allcodecs.c
    • libavcodec/codec_desc.c
    • libavcodec/codec_id.h
  153. Change #245354

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 30fc5b1baaa0823f134768823ab6695211d0fe21

    Comments

    avcodec: add ADPCM IMA Magix decoder
    (cherry picked from commit 2ec3ad2122484ce2c84f6ba055c5ebc1661c5b14)

    Changed files

    • libavcodec/Makefile
    • libavcodec/adpcm.c
    • libavcodec/allcodecs.c
    • libavcodec/codec_desc.c
    • libavcodec/codec_id.h
    • libavcodec/utils.c
  154. Change #245356

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a4f778890bbdc351d1abc5da2516fd2ee5e6ba85

    Comments

    avcodec/adpcm: fix non-4bit adpcm ima wav decoding
    (cherry picked from commit f4e05abeded46515bd7b4248fc7d65df82d9af2a)

    Changed files

    • libavcodec/adpcm.c
  155. Change #245358

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f6dfb20302ec56dd89bc0ef6fcd98f7e14db90bf

    Comments

    avcodec: add ADPCM PSXC audio decoder
    (cherry picked from commit a4055b5cc6d77c26867948e24de6bdfd5c0e6a3b)

    Changed files

    • libavcodec/Makefile
    • libavcodec/adpcm.c
    • libavcodec/allcodecs.c
    • libavcodec/codec_desc.c
    • libavcodec/codec_id.h
    • libavcodec/utils.c
  156. Change #245360

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5d6c9a15eb147feb90140e90d04a9340bf8454e2

    Comments

    avcodec: add ADPCM Circus decoder
    (cherry picked from commit cdd3d794c7e01e4d6f485e7b975a4b9107d3f2fd)

    Changed files

    • libavcodec/Makefile
    • libavcodec/adpcm.c
    • libavcodec/allcodecs.c
    • libavcodec/codec_desc.c
    • libavcodec/codec_id.h
    • libavcodec/utils.c
  157. Change #245362

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 066432ebcf94a753d44be8b60b9dd725a14e704f

    Comments

    avcodec: add ADPCM IMA Escape audio decoder
    (cherry picked from commit 4a663e78c4421da226e7d480d6767de803ee2122)

    Changed files

    • libavcodec/Makefile
    • libavcodec/adpcm.c
    • libavcodec/allcodecs.c
    • libavcodec/codec_desc.c
    • libavcodec/codec_id.h
    • libavformat/rpl.c
  158. Change #245364

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e0638cee0aa1bdd94af0e0898f24afa5e5b54e14

    Comments

    avcodec/adpcm: improve decooding output for 4-bit ADPCM IMA WAV
    (cherry picked from commit f11422f1a6251e2b3c42b4044efbc722b863778d)

    Changed files

    • libavcodec/adpcm.c
    • tests/ref/acodec/adpcm-ima_wav
    • tests/ref/acodec/adpcm-ima_wav-trellis
    • tests/ref/fate/adpcm-ima_wav-stereo
  159. Change #245366

    Category ffmpeg
    Changed by asivery <asiveryohnoyoudont@protonmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 97bfb606e33f7457ccf405f755ca01424a7aa0d1

    Comments

    avformat/aeadec, avcodec/atrac1: Fix 8 and 4-channel ATRAC1 support
    Signed-off-by: asivery <asivery@protonmail.com>
    (cherry picked from commit 81cdf42222961c2959f1ede2d86fea0d1dcbbfcb)

    Changed files

    • libavcodec/atrac1.c
    • libavformat/aeadec.c
  160. Change #245368

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 745cb6f8c7ffb957c598d12e83791c9f480a157e

    Comments

    configure: Put modules added from almpeg under --enable-gpl as suggested by several members of the GA
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • configure
  161. Change #245370

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 00eef7433641a0af7741eee2b5f6b1c1870c2a15

    Comments

    avformat/adxdec: add AHX support
    (cherry picked from commit b40bb6ad1e5739dd7927f3be5c2a06fb8aeef0cb)
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavformat/Makefile
    • libavformat/adxdec.c
  162. Change #245372

    Category ffmpeg
    Changed by Paul B Mahol <onemdaohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 01:46:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e5ac70042e91d19110a04a52b7e6fa4703f61200

    Comments

    avformat/aiff: add support for ADPCM N64 decoder
    (cherry picked from commit 0fdf549a890f276243ba62f194e0ec08b10df60f)
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavformat/aiff.c
    • libavformat/aiffdec.c
  163. Change #245374

    Category ffmpeg
    Changed by Krzysztof Pyrkosz <ffmpegohnoyoudont@szaka.eu>
    Changed at Tue 23 Sep 2025 13:20:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 56a638d8365370b287c53768f2c8a34a4cf3e417

    Comments

    avcodec/aarch64/vvc: Unroll vvc_bdof_grad_filter_8x_neon
    Before and after:
    A53:
    apply_bdof_8_16x8_neon:                               2733.1 ( 4.88x)
    apply_bdof_8_16x16_neon:                              5458.6 ( 4.86x)
    apply_bdof_10_16x8_neon:                              2789.8 ( 4.64x)
    apply_bdof_10_16x16_neon:                             5523.8 ( 4.68x)
    apply_bdof_12_16x8_neon:                              2792.8 ( 4.58x)
    apply_bdof_12_16x16_neon:                             5519.5 ( 4.63x)
    
    apply_bdof_8_16x8_neon:                               2571.8 ( 5.12x)
    apply_bdof_8_16x16_neon:                              5173.3 ( 5.12x)
    apply_bdof_10_16x8_neon:                              2635.1 ( 4.87x)
    apply_bdof_10_16x16_neon:                             5243.0 ( 4.89x)
    apply_bdof_12_16x8_neon:                              2613.0 ( 4.89x)
    apply_bdof_12_16x16_neon:                             5231.7 ( 4.90x)
    
    A78:
    apply_bdof_8_16x8_neon:                                565.3 ( 8.43x)
    apply_bdof_8_16x16_neon:                              1109.5 ( 8.60x)
    apply_bdof_10_16x8_neon:                               568.2 ( 7.92x)
    apply_bdof_10_16x16_neon:                             1114.1 ( 8.08x)
    apply_bdof_12_16x8_neon:                               570.2 ( 7.87x)
    apply_bdof_12_16x16_neon:                             1116.3 ( 8.03x)
    
    apply_bdof_8_16x8_neon:                                541.4 ( 8.81x)
    apply_bdof_8_16x16_neon:                              1065.9 ( 8.97x)
    apply_bdof_10_16x8_neon:                               543.2 ( 8.32x)
    apply_bdof_10_16x16_neon:                             1071.5 ( 8.39x)
    apply_bdof_12_16x8_neon:                               544.2 ( 8.25x)
    apply_bdof_12_16x16_neon:                             1074.1 ( 8.37x)

    Changed files

    • libavcodec/aarch64/vvc/inter.S
  164. Change #245376

    Category ffmpeg
    Changed by Krzysztof Pyrkosz <ffmpegohnoyoudont@szaka.eu>
    Changed at Tue 23 Sep 2025 13:20:20
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 03c054d43c594211b89d5b2931430dccd7424d58

    Comments

    avcodec/aarch64/vvc: Implement dmvr_v_8
    A72
    dmvr_v_8_12x20_neon:                                   207.0 ( 4.15x)
    dmvr_v_8_20x12_neon:                                   170.4 ( 4.37x)
    dmvr_v_8_20x20_neon:                                   273.4 ( 4.58x)
    
    A53
    dmvr_v_8_12x20_neon:                                   450.6 ( 4.21x)
    dmvr_v_8_20x12_neon:                                   342.8 ( 3.70x)
    dmvr_v_8_20x20_neon:                                   550.9 ( 3.79x)

    Changed files

    • libavcodec/aarch64/vvc/dsp_init.c
    • libavcodec/aarch64/vvc/inter.S
  165. Change #245378

    Category ffmpeg
    Changed by Derek Buitenhuis <derek.buitenhuisohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 15:39:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ae03b629db116a8a5b6b40ede912fbb8b1ca0175

    Comments

    avformat/mov: Merge tts after building index for old-style uncompressed PCM
    This was a regression introduced in 292c1df7c159c8a1a7afe52613d164ff417e81ce.
    
    Since we don't know the length of the stts data until after building the
    index, since we're generating it, we need to merge any ctts data after,
    since otherwise tts_count is set to 0, and no packets will be output.
    
    We can't remove the merge entirely, because uncompressed PCM with
    a ctts atom is technically valid (e.g. a constant CTS offset).
    
    This fixes old-style uncompressed PCM demuxing.
    
    Fixes #11490.
    
    Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>

    Changed files

    • libavformat/mov.c
  166. Change #245380

    Category ffmpeg
    Changed by rcombs <rcombsohnoyoudont@rcombs.me>
    Changed at Tue 23 Sep 2025 16:32:47
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5c9b2027bc48ae5d39b0d82696895f0834788242

    Comments

    lavc/libsvtav1: set packet durations

    Changed files

    • libavcodec/libsvtav1.c
  167. Change #245382

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Sep 2025 20:50:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6f08ab6c4c2e5eeef3e0704b21c338c512cf97f6

    Comments

    avfilter/vf_libplacebo: use temporary params struct for per-pass params
    Instead of directly mutating `opts->params`. Avoids any possible leak of
    overriden params between invocations of this function, as well as the later
    `pl_render_image` during the linear output pass.

    Changed files

    • libavfilter/vf_libplacebo.c
  168. Change #245384

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 23 Sep 2025 20:50:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 899e497122f793c3d97f5aac7bee62567f23fe29

    Comments

    avfilter/vf_libplacebo: force premultiplied blending for linear texture
    Blending onto independent alpha framebuffers is not possible under the
    constraints of the supported blend operators. While we could handle
    blending premul-onto-premul, this would break if the base layer is YUV,
    since premultiplied alpha does not survive the (nonlinear) YUV conversion.
    
    Fortunately, blending independent-onto-premul is just as easy, and works in
    all cases. So just force this mode when using a linear intermediate blend
    texture, which is always RGBA.

    Changed files

    • libavfilter/vf_libplacebo.c
  169. Change #245386

    Category ffmpeg
    Changed by Marvin Scholz <epirat07ohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 23:33:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2ed47ab72509bbee60288d245a0aebb7eb05e41a

    Comments

    avformat/rtsp: do not log invalid values
    When reading fails the first time, ch would be uninitialized and
    printed in the log message. Instead check for an error early and
    log it properly.

    Changed files

    • libavformat/rtsp.c
  170. Change #245388

    Category ffmpeg
    Changed by Marvin Scholz <epirat07ohnoyoudont@gmail.com>
    Changed at Tue 23 Sep 2025 23:33:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e63e040f0cef2d6af2fb57aefa6250fc450fa049

    Comments

    avformat/rtsp: fix leading space in RTSP reason
    When parsing the RTSP message reason, the whole remainder
    after parsing the status code was used, which would lead to
    a leading space in the parsed reason string.

    Changed files

    • libavformat/rtsp.c
  171. Change #245390

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 24 Sep 2025 00:16:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cf30a3757fc7459ece7e83d8e6fcce7f80546817

    Comments

    configure: Add missing dependencies for AHX decoder
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • configure
  172. Change #245392

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 24 Sep 2025 00:16:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7c78a63476da6360063d45f74cb1d9fc94047278

    Comments

    avcodec/mpegaudiodec_float: Don't set AVCodec.sample_fmts directly
    It is deprecated and doing so gives warnings from Clang.
    Use CODEC_SAMPLEFMTS instead.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mpegaudiodec_float.c
  173. Change #245394

    Category ffmpeg
    Changed by Vittorio Palmisano <vpalmisanoohnoyoudont@gmail.com>
    Changed at Wed 24 Sep 2025 01:35:58
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f18b1e23890c1179d41c07f2c195c56fb90ea072

    Comments

    avfilter/af_whisper: fix int64 printf format
    Use PRId64 for printing int64_t values in the SRT output.

    Changed files

    • libavfilter/af_whisper.c
  174. Change #245396

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 24 Sep 2025 03:21:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 17d5759bd99ab304c497ec149d493bc6ba1c6b52

    Comments

    avcodec/x86/apv_dsp: Don't export arrays unnecessarily
    The const here is unnecessary, because everything inside
    SECTION_RODATA is automatically const and using it exports
    these objects from the object file because const is a macro
    in x86inc.asm.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/apv_dsp.asm
  175. Change #245398

    Category ffmpeg
    Changed by rcombs <rcombsohnoyoudont@rcombs.me>
    Changed at Wed 24 Sep 2025 05:22:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e5f82ab8686b3c6193a3f718f53dbef9436b4318

    Comments

    Revert "lavc/libsvtav1: set packet durations"
    This reverts commit 5c9b2027bc48ae5d39b0d82696895f0834788242.
    
    This doesn't actually work the way it'd appeared to in testing;
    the output was based on frame *encode latency*.

    Changed files

    • libavcodec/libsvtav1.c
  176. Change #245400

    Category ffmpeg
    Changed by Stadelmann, Daniel <daniel.stadelmannohnoyoudont@iis.fraunhofer.de>
    Changed at Wed 24 Sep 2025 08:25:42
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 56c14f231159d9a0dfa0a46661886c9baad870a6

    Comments

    avcodec/libmpeghdec: add MPEG-H 3DA Fraunhofer IIS mpeghdec decoder
    Adds a wrapper around the Fraunhofer IIS MPEG-H 3D Audio mpeghdec [1]
    decoder shared library.
    
    [1] https://github.com/Fraunhofer-IIS/mpeghdec
    
    Signed-off-by: Stadelmann, Daniel <daniel.stadelmann@iis.fraunhofer.de>

    Changed files

    • Changelog
    • configure
    • doc/decoders.texi
    • doc/general_contents.texi
    • libavcodec/Makefile
    • libavcodec/allcodecs.c
    • libavcodec/libmpeghdec.c
    • libavcodec/version.h
  177. Change #245402

    Category ffmpeg
    Changed by Marvin Scholz <epirat07ohnoyoudont@gmail.com>
    Changed at Wed 24 Sep 2025 14:03:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5cb6d2221a6d4c07453b6c301ecfcaed48402680

    Comments

    avformat/http: Handle IPv6 Zone ID in hostname
    When using a literal IPv6 address as hostname, it can contain a Zone ID
    especially in the case of link-local addresses. Sending this to the
    server in the Host header is not useful to the server and in some cases
    servers refuse such requests.
    
    To prevent any such issues, strip the Zone ID from the address if it's
    an IPv6 address. This also removes it for the Cookies lookup.
    
    Based on a patch by: Daniel N Pettersson <danielnp@axis.com>

    Changed files

    • libavformat/http.c
  178. Change #245404

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 25 Sep 2025 05:28:16
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 320133aafc4103e1f8c85a2589d1818af9507b06

    Comments

    avcodec/ohdec: Release decoder on allocation failure
    Normally, the OH_AVCodec is wrapped inside an AVBuffer
    to be freed in its free callback; yet when creating
    the AVBuffer fails, the decoder is never destroyed.
    
    Reviewed-by: Zhao Zhili <quinkblack@foxmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/ohdec.c
  179. Change #245406

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 25 Sep 2025 05:29:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 748fa0a9bbd807cb6b3b7964f3793caf68bb5ed0

    Comments

    avcodec/ohdec: Switch to RefStruct API for internal refcounting
    It avoids allocations and corresponding error conditions.
    
    Reviewed-by: Zhao Zhili <quinkblack@foxmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/ohdec.c
  180. Change #245408

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 25 Sep 2025 05:29:58
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 371931250a2b8d9cf2a726d4992f9107af3df782

    Comments

    avcodec/ohdec: Check mutex/conditions initialization
    Reviewed-by: Zhao Zhili <quinkblack@foxmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/ohdec.c
  181. Change #245410

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 25 Sep 2025 06:47:30
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cb5dbb30caeb9b44897251892350f0e8297b9437

    Comments

    avcodec/tiff_common: Remove unused ff_tadd_*_metadata() funcs
    Unused since ad77345a5d14862f4701e5ad422b03b14934a5b9.
    
    Reviewed-by: Leo Izen <leo.izen@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/tiff_common.c
    • libavcodec/tiff_common.h
  182. Change #245412

    Category ffmpeg
    Changed by Lynne <devohnoyoudont@lynne.ee>
    Changed at Thu 25 Sep 2025 12:14:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision bc4d03c530cf6f6e2a052a0b2de22b0f15a71a34

    Comments

    prores_raw: set profile based on the codec tag
    This is the same as what the parser does.

    Changed files

    • libavcodec/prores_raw.c
  183. Change #245414

    Category ffmpeg
    Changed by Lynne <devohnoyoudont@lynne.ee>
    Changed at Thu 25 Sep 2025 12:14:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0599d508c90b49bdead385edcec429e2dd50526e

    Comments

    prores_raw: use MKBETAG for the frame header tag
    Equivalent, but more explicit. All values in the header are big endian.

    Changed files

    • libavcodec/prores_raw.c
    • libavcodec/prores_raw_parser.c
  184. Change #245416

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 25 Sep 2025 13:08:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 96065d12612180a57fceee58256de47077f6ec9a

    Comments

    avcodec/aom_film_grain: fix AVCOL_*_NB range check
    These should also exclude the _NB values themselves.

    Changed files

    • libavcodec/aom_film_grain.c
  185. Change #245418

    Category ffmpeg
    Changed by Vittorio Palmisano <vpalmisanoohnoyoudont@gmail.com>
    Changed at Thu 25 Sep 2025 13:34:10
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9970dc32bf85628e53ed0952d87d384080d8976e

    Comments

    avfilter/af_whisper: fix srt index
    The srt index should be incremented for each segment.

    Changed files

    • libavfilter/af_whisper.c
  186. Change #245420

    Category ffmpeg
    Changed by Leo Izen <leo.izenohnoyoudont@gmail.com>
    Changed at Thu 25 Sep 2025 18:40:57
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2c8835dd72d70ef3e61f85695d8cf4e404779991

    Comments

    avcodec/libjxldec: submit frame after file is complete
    This commit causes the libjxl decoder wrapper to hold onto the decoded
    frame until the trailing metadata after the frame is possibly complete
    before it submits the frame. This allows EXIF and other metadata boxes
    that occur after the frame is fully rendered to be attached to it as
    side data.
    
    Signed-off-by: Leo Izen <leo.izen@gmail.com>

    Changed files

    • libavcodec/libjxldec.c
  187. Change #245422

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Thu 25 Sep 2025 20:02:44
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f40766da45642cfe2783c188dacac3f81898ec23

    Comments

    configure: suppress C4267 warnings from MSVC
    Suppresses implicit integer conversion narrowing warnings:
    warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
    
    Those implicit conversions are abundant in ffmpeg's code base.
    Additionally equivalent warnings are not enabled for GCC/Clang by
    default, so they are mostly left unfixed.
    
    Suppress reports about them to reduce noise in MSVC build log.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • configure
  188. Change #245424

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Thu 25 Sep 2025 21:51:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision fa72f9a2921556923fa598317db4fcdc3c85ac24

    Comments

    forgejo/workflows: include size and mtime in cache hash
    In case some file has been updated. Generally fate samples shouldn't be
    replaced to preserve compatibility with older revisions, but before
    merge it may happen that files is replaced.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • .forgejo/workflows/test.yml
  189. Change #245426

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Fri 26 Sep 2025 04:18:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6d8732f397bfb07f2292e15a61904665abe13ce3

    Comments

    avformat/movenc: clear subsample information on fragment flush
    Don't keep around information from a previous traf atom.
    
    Fixes issue #20492.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavformat/movenc.c
    • libavformat/movenccenc.c
    • libavformat/movenccenc.h
  190. Change #245428

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 05:36:42
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b8f341ff058d78df201c04f1725727024e31c16e

    Comments

    avcodec/libmpeghdec: Remove redundant manual close calls
    This decoder has the INIT_CLEANUP flag set.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/libmpeghdec.c
  191. Change #245430

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 05:37:24
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 839042b0c0fce43c96ca1d09bdb78e40b1a3b1d4

    Comments

    avcodec/libmpeghdec: Remove private class
    This decoder doesn't have any options.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/libmpeghdec.c
  192. Change #245432

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 05:37:30
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a98f75d22c37e20f55f0b4566e4b436cbc515a91

    Comments

    avcodec/libmpeghdec: Don't set AVCodec.sample_fmts
    It is mostly pointless for decoders (only useful for those
    codecs for which a floating-point and a fixed-point decoder
    exist).
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/libmpeghdec.c
  193. Change #245434

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 05:37:51
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 60b88e75e42941d7142e4ed5e94a6886d5dd6e08

    Comments

    avcodec/libmpeghdec: Inline constant
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/libmpeghdec.c
  194. Change #245436

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 05:37:55
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f46bd4add2ed0129ad71d654c85f2cc84bc1a4d4

    Comments

    avcodec/libmpeghdec: Don't use too big buffer
    The channel count is fixed, so we don't need to allocate
    space to hold samples for nonexisting channels. This also
    means that the maximum channel count is no longer hardcoded
    in the macro.
    Also switch to decoder_buffer_size to be samples-based.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/libmpeghdec.c
  195. Change #245437

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 05:38:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0ec21ea8d09d991d3e7f767f0dfadc2e0af75655

    Comments

    avcodec/libmpeghdec: Remove always-false check
    The pointer to the decoder is always set after init has been
    called successfully.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/libmpeghdec.c
  196. Change #245439

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 05:38:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7cd0641a9912e5c3cdf718faf26404285dc1ff2a

    Comments

    avcodec/libmpeghdec: Align FFCodec initializers
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/libmpeghdec.c
  197. Change #245441

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 05:38:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ca7679c82f8aa5fe3c7d00455e79b576bc72e3fe

    Comments

    avcodec/libmpeghdec: Don't set AVCodecContext.frame_size
    It indicates a constant frame size (in samples); yet the documentation
    of the MPEGH_DECODER_OUTPUT_INFO structure says that it
    "gives information about the currently decoded audio data"
    and makes no guarantees about it being constant.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/libmpeghdec.c
  198. Change #245443

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 05:38:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 188440929d3fdc7ae40b119acbc151054afce53f

    Comments

    avcodec/libmpeghdec: Check channel layouts generically
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/libmpeghdec.c
  199. Change #245445

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:00:14
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f0586ffa95127b3370850e3981f48c7057bd2ab8

    Comments

    avfilter/vf_colorspace: Make array smaller
    Also makes it more independent of AVCOL_TRC_NB.
    
    Reviewed-by: Niklas Haas <ffmpeg@haasn.dev>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_colorspace.c
  200. Change #245447

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:00:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision baace56169a8cea7b44d727bdf656110aace011d

    Comments

    avfilter/vf_tonemap_opencl: Make array smaller
    Also makes the code more independent of AVCOL_TRC_NB.
    
    Reviewed-by: Niklas Haas <ffmpeg@haasn.dev>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_tonemap_opencl.c
  201. Change #245449

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:20:30
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b316a1bdd122ca1bcb43b20dbd6bc9c244f98cfe

    Comments

    avcodec/hpeldsp: Fix documentation
    This commit fixes two issues in the documentation:
    a) The documentation for {put,avg}_pixels_tab only mentions
    widths 16 and 8, although it explicitly mentions that there
    are four horizontal blocksizes. This part of the patch
    basically reverts e5771f4f37b67951485205e110f4da5e7e32ea74.
    b) The restrictions on height don't match the reality. While
    most users abide by it, some do not:
    i) vp56.c copies a 16x12 block.
    ii) indeo3 can copy an arbitrary multiple of four lines
    for block widths 4, 8 and 16.
    iii) SVQ3 can use block sizes luma block sizes 16x16, 8x16,
    16x8, 8x8, 4x8, 8x4 and 4x4 and the corresponding
    8x8, 4x8, 8x4, 4x4, 2x4, 4x2 and 2x2 chroma block sizes.
    
    This implies that for widths 2 and 4 height can be two
    and is guaranteed to be at least even. For all other widths,
    height can be a multiple of four.
    
    Furthermore, a comment for the SVQ3 blocksizes has been added.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/hpeldsp.h
    • libavcodec/svq3.c
  202. Change #245451

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:20:52
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 89f2016ece77868cc1982ae104d56b25aaf519c3

    Comments

    avcodec/hpel_template: Fix unintentional usage of unsigned offsets
    The value of sizeof() is of type size_t which means that
    an expression like
    src1[i * src_stride1 + 4 * (int)sizeof(pixel)]
    will use a very large offset if src_stride1 is sufficiently negative.
    It works in practice (because it is correct modulo SIZE_MAX),
    but UBSan treats it as error:
    libavcodec/hpel_template.c:104:1: runtime error: addition of unsigned offset to 0x7ffdfa0391d8 overflowed to 0x7ffdfa0391cc
    Fix this by casting sizeof(pixel) to int.
    
    (This has been uncovered by a checkasm test for the hpeldsp
    which will be added in a later commit.)
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/hpel_template.c
  203. Change #245453

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:20:56
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision fcb9e0b5f019ec46dffb6d769793ccb7d884fb14

    Comments

    avcodec/hpel{dsp,_template}: Use ptrdiff_t for strides
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/hpel_template.c
    • libavcodec/hpeldsp.c
  204. Change #245455

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4e2ef29cbaa258cb73f06e62435198736e493a10

    Comments

    tests/checkasm: Add hpeldsp checkasm
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • tests/checkasm/Makefile
    • tests/checkasm/checkasm.c
    • tests/checkasm/checkasm.h
    • tests/checkasm/hpeldsp.c
    • tests/fate/checkasm.mak
  205. Change #245457

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:04
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4d691da5edb360fa043df8ce267a382cfcdaf07a

    Comments

    avcodec/x86/hpeldsp_init: Remove MMX functions overridden by MMXEXT
    Forgotten in a51279bbdea0d6db920d71980262bccd0ce78226 because
    I only looked for MMX(EXT) functions overridden by SSE2.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp_init.c
  206. Change #245459

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8a7858dacf50797c7b81aad119e8811a849d0552

    Comments

    avcodec/x86/hpeldsp_init: Remove MMX(EXT) functions overridden by SSE2FAST
    CPUs which support SSE2, but not in a fast way (so that
    they get the additional AV_CPU_FLAG_SSE2SLOW) are ancient
    nowadays (2007 and older), so ignore the distinction between
    the two and remove MMX and MMXEXT functions that are now
    overridden by SSE2 functions.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp.asm
    • libavcodec/x86/hpeldsp_init.c
  207. Change #245461

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:12
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1f9ef6a8dc6e57b360cf53dd644fde1936ad3047

    Comments

    avcodec/x86/h264_qpel: Remove MMX(EXT) functions overridden by SSE2FAST
    CPUs which support SSE2, but not in a fast way (so that
    they get the additional AV_CPU_FLAG_SSE2SLOW) are ancient
    nowadays (2007 and older), so ignore the distinction between
    the two and remove MMX and MMXEXT functions that are now
    overridden by SSE2 functions.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
  208. Change #245463

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:16
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2cf9e733c6a666600423a0967f23341d9f09e3c8

    Comments

    avcodec/x86/qpeldsp_init: Use SSE2 versions where possible
    The mc00 versions (i.e. the qdsp functions with no subpixel
    interpolation) are just wrappers around their fpel versions.
    There are SSE2 versions of these, yet the qpel code only
    uses the MMX(EXT) versions. This commit changes this and
    also removes the MMX(EXT) versions.
    
    This also allowed to remove ff_avg_pixels16_mmxext,
    ff_put_pixels16_mmx.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/fpel.asm
    • libavcodec/x86/fpel.h
    • libavcodec/x86/qpeldsp_init.c
  209. Change #245465

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e86f137514fb8a69cf145f26c83b1b053c727b52

    Comments

    avcodec/x86/hpeldsp_init: Remove MMX(EXT) funcs overridden by SSSE3
    SSSE3 is already quite old (introduced 2006 for Intel, 2011 for AMD),
    so that the overwhelming majority of our users (particularly those
    that actually update their FFmpeg) will be using the SSSE3 versions.
    This commit therefore removes the MMX(EXT) functions overridden
    by them (which don't abide by the ABI) to get closer to a removal
    of emms_c.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp.asm
    • libavcodec/x86/hpeldsp_init.c
  210. Change #245466

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:23
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 918d37d9d156f15b63952a22bfba0541dd087129

    Comments

    avcodec/x86/rv40dsp_init: Remove MMX(EXT) funcs overridden by SSSE3
    SSSE3 is already quite old (introduced 2006 for Intel, 2011 for AMD),
    so that the overwhelming majority of our users (particularly those
    that actually update their FFmpeg) will be using the SSSE3 versions.
    This commit therefore removes the MMX(EXT) functions overridden
    by them (which don't abide by the ABI) to get closer to a removal
    of emms_c.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp.asm
    • libavcodec/x86/hpeldsp.h
    • libavcodec/x86/hpeldsp_init.c
    • libavcodec/x86/rv40dsp_init.c
  211. Change #245468

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:26
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6a47ea5f9fdaedd6aa4bc8723c86a0c7a30d8ed1

    Comments

    avcodec/x86/vvc/sao_10bit: Remove unused functions
    Saves 65280B here.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/vvc/sao_10bit.asm
  212. Change #245470

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:31
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5ef613bcb0508f16bd5b190168183326391de9b0

    Comments

    avcodec/x86/mpegvideoencdsp_init: Remove MMX, 3DNOw funcs overridden by SSSE3
    SSSE3 is already quite old (introduced 2006 for Intel, 2011 for AMD),
    so that the overwhelming majority of our users (particularly those
    that actually update their FFmpeg) will be using the SSSE3 versions.
    This commit therefore removes the MMX and 3DNOW functions overridden
    by them (which don't abide by the ABI) to get closer to a removal
    of emms_c.
    
    Also merge the mpegvideoenc_qns_template.c file into the main file.
    
    The 3DNOW functions removed in this commit were the last in the
    codebase.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/mpegvideoenc_qns_template.c
    • libavcodec/x86/mpegvideoencdsp_init.c
  213. Change #245472

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:35
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4fc05c28f426d6073e6e15db334b0c88ff925f1d

    Comments

    avfilter/x86/vf_gradfun: Remove MMXEXT func overridden by SSSE3
    SSSE3 is already quite old (introduced 2006 for Intel, 2011 for AMD),
    so that the overwhelming majority of our users (particularly those
    that actually update their FFmpeg) will be using the SSSE3 version
    of filter_line.
    This commit therefore removes the overridden MMXEXT version
    (which didn't abide by the ABI) which allows us to remove
    an emms_c() from vf_gradfun.c, so that users with SSSE3 no longer
    pay a price for the mere existence of an MMXEXT version.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_gradfun.c
    • libavfilter/x86/vf_gradfun.asm
    • libavfilter/x86/vf_gradfun_init.c
  214. Change #245474

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:39
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c7161befb4ae7d0f40e35676f52507e7de1c8b01

    Comments

    avcodec/x86/h264_qpel: Remove MMX(EXT) funcs overridden by SSSE3
    SSSE3 is already quite old (introduced 2006 for Intel, 2011 for AMD),
    so that the overwhelming majority of our users (particularly those
    that actually update their FFmpeg) will be using the SSSE3 versions.
    This commit therefore removes the MMX(EXT) functions overridden
    by them (which don't abide by the ABI) to get closer to a removal
    of emms_c.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  215. Change #245476

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 262791b8d8c7a5e3df44c8784de192857e67d52f

    Comments

    avcodec/hpeldsp: Make put_no_rnd_pixels_tab smaller
    Only the blocksizes 16 and 8 are implemented, yet the motion estimation
    code touches the blocksize 4 entries. But really nothing touches
    the blocksize 2 entries, so that we can reduce the put_no_rnd_pixels_tab
    array size to [3][4].
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/hpeldsp.h
  216. Change #245479

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1e677e696488d52068e83c669ae871caa7c34583

    Comments

    avcodec/x86/hpeldsp: Add SSE2 put_no_rnd size 16 versions
    These currently only exist as MMX and (not bitexact) MMXEXT versions.
    The added functions occupy 288B here. So far, they are only for
    the x2 and y2 (i.e. right and down, not down-right) directions.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp.asm
    • libavcodec/x86/hpeldsp_init.c
  217. Change #245481

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:49
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 30c4007c65e1f73de5ce1b5eb459c71e0b21389a

    Comments

    avcodec/x86/hpeldsp: Add SSE2 avg_no_rnd size 16 versions
    These currently only exist as MMX versions.
    The added functions occupy 320B here. So far, they are only for
    the x2 and y2 (i.e. right and down, not down-right) directions.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp.asm
    • libavcodec/x86/hpeldsp_init.c
  218. Change #245483

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:53
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 00e046df132fd1751c50798334b985beec89661f

    Comments

    avcodec/x86/hpeldsp_init: Remove MMX(EXT) funcs overridden by SSE2
    This affects the {avg,put}_no_rnd_pixels16_{x,y}2 MMX and
    (put-only) MMXEXT versions. Removing these functions saved
    1184B here.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp_init.c
  219. Change #245485

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:55
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 43fe9554cc7998fbe0bae455c7b374e76a4d253f

    Comments

    avcodec/x86/hpeldsp_init: Avoid complicating macro
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp_init.c
  220. Change #245486

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 06:21:58
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a54d6b1d91ba17f6e1316997dd5f0ced4cee8ee5

    Comments

    avcodec/x86/rnd_template: Merge into hpeldsp_init.c
    It is now only included exactly once.
    
    Reviewed-by: Lynne <dev@lynne.ee>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp_init.c
    • libavcodec/x86/rnd_template.c
  221. Change #245489

    Category ffmpeg
    Changed by Timo Rothenpieler <timoohnoyoudont@rothenpieler.org>
    Changed at Fri 26 Sep 2025 14:31:39
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 994a368451b37b97ed2ff76354fd97d5c6a0fff2

    Comments

    configure: deprecate support for libnpp

    Changed files

    • configure
    • libavfilter/version_major.h
    • libavfilter/vf_scale_npp.c
    • libavfilter/vf_sharpen_npp.c
    • libavfilter/vf_transpose_npp.c
  222. Change #245490

    Category ffmpeg
    Changed by Sean McGovern <gseanmcgohnoyoudont@gmail.com>
    Changed at Fri 26 Sep 2025 15:16:53
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9ed6503b62c3a36243a7c17768b4ee5d6cfd4c46

    Comments

    MAINTAINERS: add my OpenPGP key
    My key is available at:
    
    https://keys.openpgp.org/vks/v1/by-fingerprint/6D03BC603A33E6156E2E06AD8C0681756F598684
    
    and
    
    https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x6d03bc603a33e6156e2e06ad8c0681756f598684

    Changed files

    • MAINTAINERS
  223. Change #245492

    Category ffmpeg
    Changed by Sean McGovern <gseanmcgohnoyoudont@gmail.com>
    Changed at Fri 26 Sep 2025 15:16:53
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c605d2a7aefb8bb35237c63143151c7e11b1e7c4

    Comments

    MAINTAINERS: add me for Linux / PowerPC architecture

    Changed files

    • MAINTAINERS
  224. Change #245494

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Fri 26 Sep 2025 17:24:04
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5614672d1bed49557f234639f7eeaf3b9c0385fe

    Comments

    avfilter/framesync: don't attempt to rescale AV_NOPTS_VALUE
    Part of a fix for issue #20589.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavfilter/framesync.c
  225. Change #245496

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Fri 26 Sep 2025 17:24:04
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b9cc8e32109bba3daec1cfb6a834e45f72266b46

    Comments

    avfilter/vf_scale: don't attempt to rescale AV_NOPTS_VALUE
    Finishes fixing issue #20589.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavfilter/vf_scale.c
  226. Change #245498

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Fri 26 Sep 2025 18:15:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d6cb0d2c2bb8469f17d59dd82c8221b98e169d1a

    Comments

    ALL: move av_unused to conform with standard requirement
    This is required placement by standard [[maybe_unused]] attribute, works
    the same for __attribute__((unused)).
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • compat/w32pthreads.h
    • fftools/opt_common.c
    • libavcodec/aacpsy.c
    • libavcodec/cabac_functions.h
    • libavcodec/cbs_av1.c
    • libavcodec/dvbsubdec.c
    • libavcodec/flacenc.c
    • libavcodec/get_bits.h
    • libavcodec/h264_mvpred.h
    • libavcodec/h264pred_template.c
    • libavcodec/h264qpel_template.c
    • libavcodec/hqxvlc.h
    • libavcodec/jpeg2000dec.c
    • libavcodec/libaomenc.c
    • libavcodec/libsvtav1.c
    • libavcodec/mips/vp8dsp_mmi.c
    • libavcodec/motion_est_template.c
    • libavcodec/pcm.c
    • libavcodec/put_bits.h
    • libavcodec/v210dec_init.h
    • libavcodec/v210enc_init.h
    • libavcodec/vp56.h
    • libavcodec/vp89_rac.h
    • libavcodec/vp8dsp.c
    • libavcodec/wmalosslessdec.c
    • libavcodec/x86/h264_qpel.c
    • libavfilter/af_afirdsp.h
    • libavfilter/vf_blend_init.h
    • libavfilter/vf_curves.c
    • libavfilter/vf_dnn_detect.c
    • libavfilter/vf_eq.h
    • libavfilter/vf_gblur_init.h
    • libavfilter/vf_hflip_init.h
    • libavfilter/vf_nlmeans_init.h
    • libavfilter/vf_threshold_init.h
    • libavfilter/vsrc_testsrc.c
    • libavformat/asfdec_f.c
    • libavformat/asfdec_o.c
    • libavformat/flacdec.c
    • libavformat/flvdec.c
    • libavformat/framecrcenc.c
    • libavformat/id3v2.c
    • libavformat/matroskadec.c
    • libavformat/matroskaenc.c
    • libavformat/mp3enc.c
    • libavformat/mpegts.c
    • libavformat/nsvdec.c
    • libavformat/r3d.c
    • libavformat/rtpdec.c
    • libavformat/rtspcodes.h
    • libavutil/eval.c
    • libavutil/hwcontext_opencl.c
    • libavutil/ripemd.c
    • libavutil/softfloat.h
    • libswresample/swresample.c
    • libswresample/x86/resample_init.c
    • libswscale/loongarch/yuv2rgb_lasx.c
    • libswscale/loongarch/yuv2rgb_lsx.c
    • libswscale/ppc/swscale_ppc_template.c
    • libswscale/x86/swscale.c
    • libswscale/yuv2rgb.c
    • tests/checkasm/checkasm.h
  227. Change #245500

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Fri 26 Sep 2025 18:15:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a7f0377a3df6e9a28dc02f21273ef4462049bb35

    Comments

    avutil/attributes: add AV_HAS_STD_ATTRIBUTE
    For testing language standard attributes, for both C++ and C.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • libavutil/attributes.h
  228. Change #245502

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Fri 26 Sep 2025 18:15:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b7ab357db43525542a6519a9438d9a0ae228d9a5

    Comments

    avutil/attributes: use standard attributes when they are available
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • libavutil/attributes.h
  229. Change #245504

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Fri 26 Sep 2025 18:15:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 941eae01b1c4ed5d50eb5934e7df8a8a110e1699

    Comments

    avutil/attributes: prefer clang attributes even in non-gnu builds
    In MSVC mode Clang doesn't define __GNUC__, but we can still attributes.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • libavutil/attributes.h
  230. Change #245506

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 18:30:53
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0f1f345c3724ad3608ce5675f2a863ce56b23837

    Comments

    avcodec/x86/qpeldsp_init: Fix compilation without external assembly
    Broken in 2cf9e733c6a666600423a0967f23341d9f09e3c8.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/qpeldsp_init.c
  231. Change #245508

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 26 Sep 2025 22:38:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8a34faa250fad7dc05aa9a554b4aaafd9e7425e7

    Comments

    swscale/ppc/swscale_ppc_template: Fix av_unused placement
    Forgotten in d6cb0d2c2bb8469f17d59dd82c8221b98e169d1a.
    
    Reviewed-by: Sean McGovern <gseanmcg@gmail.com>
    Reviewed-by: Niklas Haas <ffmpeg@haasn.dev>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libswscale/ppc/swscale_ppc_template.c
  232. Change #245510

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 27 Sep 2025 17:57:15
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 635cb4543f1bb08b645740406077dad845d5d7d4

    Comments

    avcodec/bsf/ahx_to_mp2: Don't output uninitialized data
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/bsf/ahx_to_mp2.c
  233. Change #245512

    Category ffmpeg
    Changed by Rémi Denis-Courmont <remiohnoyoudont@remlab.net>
    Changed at Sun 28 Sep 2025 14:35:14
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision dd977adcfe4d74b4240f1122a7c900966a0d0bc3

    Comments

    Add myself to CODEOWNERS

    Changed files

    • .forgejo/CODEOWNERS
  234. Change #245514

    Category ffmpeg
    Changed by Kaarle Ritvanen <kaarle.ritvanenohnoyoudont@datakunkku.fi>
    Changed at Sun 28 Sep 2025 15:37:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0fdb5829e38dabea9cbe4073a35b6c6315e7508e

    Comments

    avformat/rtsp: set AVFMTCTX_UNSEEKABLE flag
    for live RTP streams. Some external applications, such as Qt Multimedia,
    depend on this flag being set correctly.
    
    Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>

    Changed files

    • libavformat/rtsp.c
  235. Change #245516

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Mon 29 Sep 2025 04:53:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d975dbd7b70e0b2f3f3b2950e5513c299b838810

    Comments

    avcodec/libdav1d: bump minimum supported version to 1.0.0
    This allows us to remove old deprecated options.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • configure
    • doc/decoders.texi
    • libavcodec/libdav1d.c
  236. Change #245518

    Category ffmpeg
    Changed by Gyan Doshi <ffmpegohnoyoudont@gyani.pro>
    Changed at Tue 30 Sep 2025 06:26:18
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f1e9032a2000b8b885cffd6fed8eacd47b37673f

    Comments

    configure: unbreak glslang build
    Don't unconditionally link to libSPVRemapper which was removed in 16.0 in 3a7f787

    Changed files

    • configure
  237. Change #245520

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Tue 30 Sep 2025 07:42:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision bc561013c9a809a90c0d1b84413814ba612f7c44

    Comments

    avformat/whip: add RTX initial support
    Refer to RFC 4588.
    
    Add and set the basic param of RTX like
    ssrc, payload_type, srtp.
    
    Modify the SDP to add RTX info so that
    the peer be able to parse the RTX packet.
    
    There are more pateches to make RTX really
    work.
    
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/whip.c
  238. Change #245522

    Category ffmpeg
    Changed by Koushik Dutta via ffmpeg-devel <ffmpeg-develohnoyoudont@ffmpeg.org>
    Changed at Tue 30 Sep 2025 12:36:56
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision fd136a4d826d9eb2509dbb8d2869575ff8e74434

    Comments

    ffv1enc_vulkan: fix empty struct build error on msvc
    Signed-off-by: Koushik Dutta <koushd@gmail.com>

    Changed files

    • libavcodec/ffv1enc_vulkan.c
  239. Change #245524

    Category ffmpeg
    Changed by Nikolay Aleksandrov <razorohnoyoudont@blackwall.org>
    Changed at Tue 30 Sep 2025 13:14:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1608aa38a2ca9bd49debc5577ee38e2726303eda

    Comments

    doc/infra: More details about hosting and security
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
    
    I have redacted the exact location of the FFmpeg server as writing
    that in public seems just a bad idea

    Changed files

    • doc/infra.txt
  240. Change #245526

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 13:16:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 15407cf90bb4fd9f47f85f078e5689b2593ccbc3

    Comments

    fftools/ffmpeg_sched: relax queue size assertion
    The code in the decoder just cares about allocating enough extra hw frames
    to cover the size of the queue; but there's no reason we actually *have* to
    use this many. We can safely relax the assertion to a <= check.

    Changed files

    • fftools/ffmpeg_sched.c
  241. Change #245528

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 13:16:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision fd4b5b24cedac1f7bae6792cbe4216f3e30a2cae

    Comments

    fftools/ffmpeg_sched: lower default frame queue size
    I tested this extensively under different conditions and could not come up
    with any scenario where using a larger queue size was actually beneficial.
    Moreover, having such a large default queue is very wasteful especially
    for larger frame sizes; and can in the worst case lead to an extra ~50% memory
    footprint per input (with the default 16 threads), regardless of whether that
    input is currently in use or not.
    
    My methodology was to add logging in the event of a queue underrun/overrun,
    and then observe and then observe the frequency of such events in practice,
    as well as the impact on performance. I came up with an example filter graph
    involving decoding, filtering and encoding with several input files and
    various changes to move the bottleneck around.
    
    I found that, in all configurations I tested, with all thread counts and
    bottlenecks, using a queue size of 2 frames yielded practically identical
    performance to a queue size of 8 frames. I was only able to consistently
    measure a slowdown when restricting the queue to a single frame, where the
    underruns ended up making up almost 1.1% of frame events in the worst case.
    
    A summary of my test log follows:
    
    = Bottleneck in decoder =
    
    ffmpeg -i A -i B -i C -filter_complex "concat=n=3" -f null -
    
    == 16 threads ==
    
    === Queue statistics (dec -> filtergraph) ===
    - 8 frames = 91355 underruns, 1 overrun
    - 4 frames = 91381 underruns, 2 overruns
    - 2 frames = 91326 underruns, 21 overruns
    - 1 frame  = 91284 underruns, 102 overruns
    
    === Time elapsed ===
    - 8 frames = 14.37s
    - 4 frames = 14.28s
    - 2 frames = 14.27s
    - 1 frame  = 14.35s
    
    == 1 thread ==
    
    === Queue statistics (dec -> filtergraph) ===
    - 8 frames = 91801 underruns, 0 overruns
    - 4 frames = 91929 underruns, 1 overrun
    - 2 frames = 91854 underruns, 7 overruns
    - 1 frame  = 91745 underrons, 83 overruns
    
    === Time elapsed ===
    - 8 frames = 39.51s
    - 4 frames = 39.94s
    - 2 frames = 39.91s
    - 1 frame  = 41.69s
    
    = Bottleneck in filter graph: =
    
    ffmpeg -i A -i B -i C -filter_complex "concat=n=3,scale=3840x2160" -f null -
    
    == 16 threads ==
    
    === Queue statistics (dec -> filtergraph) ===
    - 8 frames =  277 underruns, 84673 overruns
    - 4 frames =  640 underruns, 86523 overruns
    - 2 frames =  850 underruns, 88751 overruns
    - 1 frame  = 1028 underruns, 89957 overruns
    
    === Time elapsed ===
    - 8 frames = 26.35s
    - 4 frames = 26.31s
    - 2 frames = 26.38s
    - 1 frame  = 26.55s
    
    == 1 thread ==
    
    === Queue statistics (dec -> filtergraph) ===
    - 8 frames = 29746 underruns, 57033 overruns
    - 4 frames = 29940 underruns, 58948 overruns
    - 2 frames = 30160 underruns, 60185 overruns
    - 1 frame  = 30259 underruns, 61126 overruns
    
    === Time elapsed ===
    - 8 frames = 52.08s
    - 4 frames = 52.49s
    - 2 frames = 52.25s
    - 1 frame  = 52.69s
    
    = Bottleneck in encoder: =
    
    ffmpeg -i A -i B -i C -filter_complex "concat=n=3" -c:v libx264 -preset veryfast -f null -
    
    == 1 thread ==
    
    == Queue statistics (filtergraph -> enc) ==
    - 8 frames = 26763 underruns, 63535 overruns
    - 4 frames = 26863 underruns, 63810 overruns
    - 2 frames = 27243 underruns, 63839 overruns
    - 1 frame  = 27670 underruns, 63953 overruns
    
    == Time elapsed ==
    - 8 frames = 89.45s
    - 4 frames = 89.04s
    - 2 frames = 89.24s
    - 1 frame  = 90.26s

    Changed files

    • fftools/ffmpeg_sched.h
  242. Change #245530

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 13:16:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 23f1f094f854bdeaae4225c1876fd2b985e977f4

    Comments

    fftools/ffmpeg_sched: get rid of src_sched
    This field is just saving (typically) a single pointer indirection; and IMO
    makes the logic and graph relations unnecessarily complicated. I am also
    considering adding choking logic to decoders and encoders as well, which this
    field would get in the way of.
    
    Apart from the unchoking logic in unchoke_for_input(), the only other place
    that uses this field is the (cold) function check_acyclic(), which can be
    served just as well with a simple function to do the graph traversal there.

    Changed files

    • fftools/ffmpeg_sched.c
  243. Change #245532

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 13:16:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5f4cbb5617ba52fb0b5bce36eb36e4cd7bdaec70

    Comments

    fftools/ffmpeg_sched: choke inputs during filtergraph configuration
    Currently, while the filter graph is being initially created, the scheduler
    continues demuxing frames on the last input that happened to be active before
    the filter graph was complete.
    
    This can lead to an excess number of decoded frames "piling" up on this input,
    regardless of whether or not it will actually be requested by the configured
    filter graph. Suspending the filter graph during this initialization phase
    reduces the amount of wasted memory.

    Changed files

    • fftools/ffmpeg_filter.c
    • fftools/ffmpeg_sched.c
    • fftools/ffmpeg_sched.h
  244. Change #245534

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 13:16:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 59a847a23718a87a2bd1e2eae893d9784ed34b0f

    Comments

    fftools/thread_queue: allow choking thread queues directly
    Currently, when a demuxer thread is choked, it will avoid queuing more
    packets, but any packets already present on the thread queue will still be
    processed.
    
    This can be quite wasteful if the choke is due to e.g. decoder not being
    needed yet, such as in a filter graph involving concatenation-style filters.
    Adding the ability to propagate the choke status to the thread queue directly
    allows downstream decoders and filter graphs to avoid unnecessary work and
    buffering.
    
    Reduces the effective latency between scheduler updates and changes in the
    thread workfload.

    Changed files

    • fftools/thread_queue.c
    • fftools/thread_queue.h
  245. Change #245536

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 13:16:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9d0b88feb17dabfebcb10b801045c1285fa5e4bc

    Comments

    fftools/ffmpeg_sched: forward demuxer choke status to dst queues
    Cut off a choked demuxer's output codec/filter queues, effectively preventing
    them from processing packets while the demuxer is choked. Avoids downstream
    nodes from piling up extra input that a demuxer shouldn't currently be
    sending.
    
    The main benefit of this is to avoid queuing up excess packets that don't want
    to be decoded yet, reducing memory consumption for idle inputs by preventing
    them from being read earlier than needed.

    Changed files

    • fftools/ffmpeg_sched.c
  246. Change #245538

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 13:16:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 56d9ca69d7f229dccee6ad47c67a37f558196fb7

    Comments

    fftools/ffmpeg_dec: free decoder ctx after EOF
    The codec context is no longer used after the decoder thread exits, but
    still idly sticks around until program exit, wasting memory.

    Changed files

    • fftools/ffmpeg_dec.c
  247. Change #245540

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 13:16:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d43fd5b3321cc1ece25835e2b44936880ee05328

    Comments

    fftools/ffmpeg_sched: close stream when sch_filter_send receives EOF
    THis is currently done by sch_demux_send() (via demux_stream_send_to_dst()),
    sch_enc_send() (via enc_send_to_dst()), and sch_dec_send() (via
    dec_send_to_dst()), but not by sch_filter_send().
    
    Implement the same queue-closing logic for them. The main benefit here is that
    this will allow them to mark downstream inputs as send-done (in addition
    to received-done), which is useful for a following commit.

    Changed files

    • fftools/ffmpeg_sched.c
  248. Change #245542

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 13:16:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision fd1fd5850de4f3beb240422b67889bb776b26c77

    Comments

    fftools/ffmpeg_sched: unchoke upstream nodes on recv-closed filter inputs
    This allows upstream filters to observe EOF on their corresponding outputs
    and terminate early, which is particularly useful for decoders and demuxers
    that may then gracefully release their resources.
    
    Prevents "leaking" memory for previously used, but now unused, filter inputs.

    Changed files

    • fftools/ffmpeg_sched.c
  249. Change #245544

    Category ffmpeg
    Changed by Gyan Doshi <ffmpegohnoyoudont@gyani.pro>
    Changed at Tue 30 Sep 2025 13:55:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 74115b017c3038b717162bb56346afb4ad937be3

    Comments

    doc: indicate libmpeghdec is non-free

    Changed files

    • doc/decoders.texi
    • doc/general_contents.texi
  250. Change #245546

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 17:39:39
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6ad839ff2e1ac36b6ab9ad6f687208a57731df7e

    Comments

    avfilter/vf_scale_*: add enum names for force_oar magic values

    Changed files

    • libavfilter/scale_eval.c
    • libavfilter/scale_eval.h
    • libavfilter/vf_libplacebo.c
    • libavfilter/vf_scale.c
    • libavfilter/vf_scale_cuda.c
    • libavfilter/vf_scale_npp.c
    • libavfilter/vf_scale_vaapi.c
    • libavfilter/vf_scale_vt.c
    • libavfilter/vf_scale_vulkan.c
    • libavfilter/vf_vpp_amf.c
  251. Change #245548

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 17:39:39
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 12d696cff4eeaccb8610c02056fd5f7342d51ac3

    Comments

    avfilter/vf_libplacebo: introduce `fit_mode` option
    The semantics of these keywords are well-defined by the CSS 'object-fit'
    property. This is arguably more user-friendly and less obtuse than the
    existing `normalize_sar` and `pad_crop_ratio` options. Additionally, this
    comes with two new (useful) behaviors, `none` and `scale_down`, neither of
    which map elegantly to the existing options.
    
    One additional benefit of this option is that, unlike `normalize_sar`, it
    does *not* also imply `reset_sar`; meaning that users can now choose to
    have an anamorphic base layer and still have the overlay images scaled to fit
    on top of it according to the chosen strategy.
    
    See-Also: https://drafts.csswg.org/css-images/#the-object-fit

    Changed files

    • doc/filters.texi
    • libavfilter/vf_libplacebo.c
  252. Change #245550

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Tue 30 Sep 2025 17:39:39
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b80f28fcbcedbf48b760921e85c5f2ae4f2f802a

    Comments

    avfilter/vf_libplacebo: introduce `fit_sense` option
    This allows choosing whether the `fit_mode` merely controls the placement
    of the image within the output resolution, or whether the output resolution
    is also adjusted according to the given `fit_mode`.

    Changed files

    • doc/filters.texi
    • libavfilter/vf_libplacebo.c
  253. Change #245552

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Tue 30 Sep 2025 23:13:56
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8cb1ff78ac62ff0f652b0cb06369ba50d5e946c6

    Comments

    avformat/dhav: Factorize some code in get_duration()
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavformat/dhav.c
  254. Change #245554

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Tue 30 Sep 2025 23:48:14
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6f17053e6c75e5c44eaee9d4da0a4c80470274d0

    Comments

    avformat/urldecode: add ff_urldecode_len function
    This will be used later to decode partial strings.
    
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/urldecode.c
    • libavformat/urldecode.h
  255. Change #245556

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Tue 30 Sep 2025 23:48:14
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c5be4b70754d276e7370dd90e807e883c4bec627

    Comments

    avformat: compile urldecode unconditionally
    It will be used by the generic helper function to set options from URLs.
    
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/Makefile
  256. Change #245559

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Wed 01 Oct 2025 00:34:18
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 70e0e3e2572447c559aac5179578be5a584e942b

    Comments

    avformat/utils: add helper function to set opts from query string
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/internal.h
    • libavformat/utils.c
  257. Change #245561

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Wed 01 Oct 2025 00:34:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2d06ed9308ebaa785d8b3389ad8da033b8839c89

    Comments

    avformat/libsrt: use ff_parse_opts_from_query_string() to set URL parameters
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/libsrt.c
  258. Change #245563

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Wed 01 Oct 2025 00:34:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7e58fff9d0b9b05f118917b5eb5704bb3514c6bd

    Comments

    avformat/udp: use ff_parse_opts_from_query_string() to set URL parameters
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/udp.c
  259. Change #245565

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Wed 01 Oct 2025 00:34:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 49c6e6cc44f011ea43a3cab1b965510569bd229d

    Comments

    avformat/tcp: use ff_parse_opts_from_query_string() to set URL parameters
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/tcp.c
  260. Change #245567

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Wed 01 Oct 2025 00:34:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f231439ee747f2e72bacc9fe7af30bd117eb46a9

    Comments

    avformat/sctp: use ff_parse_opts_from_query_string() to set URL parameters
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/sctp.c
  261. Change #245569

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Wed 01 Oct 2025 00:34:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3166e3b5394540dd827691773f499e98d7c0c69b

    Comments

    avformat/rtpproto: use ff_parse_opts_from_query_string() to set URL parameters
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/rtpproto.c
  262. Change #245571

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Wed 01 Oct 2025 00:34:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2762ae74c53b058345660019ecce4ba41a85a050

    Comments

    avformat/tls: use ff_parse_opts_from_query_string() to set URL parameters
    Note that this changes the code to work the same way as other protocols where
    an URL parameter can override an AVOption.
    
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/tls.c
    • libavformat/tls_mbedtls.c
  263. Change #245573

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Wed 01 Oct 2025 00:34:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8e11e2cdb82299e7f0b6d8884bf2bc65c1c3f5e8

    Comments

    avformat/tls_openssl: initialize underlying protocol early for dtls_start()
    The same way we do with TLS, so all tls URL options will be properly supported.
    
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • doc/protocols.texi
    • libavformat/tls_openssl.c
  264. Change #245575

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Wed 01 Oct 2025 03:26:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 776ee0799017e3c926cfbaa47aab6ba412babf48

    Comments

    avcodec/aom_film_grain: use av_zero_extend()
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/aom_film_grain.c
  265. Change #245577

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Wed 01 Oct 2025 03:26:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7ce3a1449637fda17a2e3ce6623ea3b23b5127d8

    Comments

    avcodec/apv_entropy: use av_zero_extend()
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/apv_entropy.c
  266. Change #245579

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Wed 01 Oct 2025 03:26:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5511641365b83afa6449ae0b89d01b78556d941d

    Comments

    avcodec/atrac9dec: use av_zero_extend()
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/atrac9dec.c
  267. Change #245581

    Category ffmpeg
    Changed by Romain Beauxis <romain.beauxisohnoyoudont@gmail.com>
    Changed at Wed 01 Oct 2025 16:20:55
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision de8d57e4c576e7ef31c199caf12cbbe755634933

    Comments

    ogg/vorbis: implement header packet skip in chained ogg bitstreams.

    Changed files

    • doc/APIchanges
    • libavformat/oggparsevorbis.c
    • tests/ref/fate/ogg-vorbis-chained-meta.txt
  268. Change #245583

    Category ffmpeg
    Changed by Romain Beauxis <romain.beauxisohnoyoudont@gmail.com>
    Changed at Wed 01 Oct 2025 16:20:55
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cebbb6ae8a096d93dc6f09e3cbd1bde551a5291a

    Comments

    libavformat/oggdec.h, libavformat/oggparsevorbis.c: Factor out vorbis metadata update mechanism.

    Changed files

    • libavformat/oggdec.h
    • libavformat/oggparsevorbis.c
  269. Change #245585

    Category ffmpeg
    Changed by Romain Beauxis <romain.beauxisohnoyoudont@gmail.com>
    Changed at Wed 01 Oct 2025 16:20:55
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7dbf7d2a4571c6f88c7ac441ec259609951c519e

    Comments

    libavformat/oggdec.c: Use AV_PKT_DATA_STRINGS_METADATA to pass metadata updates.

    Changed files

    • libavformat/oggdec.c
    • libavformat/oggdec.h
    • tests/ref/fate/ogg-vorbis-chained-meta.txt
  270. Change #245587

    Category ffmpeg
    Changed by Romain Beauxis <romain.beauxisohnoyoudont@gmail.com>
    Changed at Wed 01 Oct 2025 16:20:55
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 45d7d5d3e2aa260785432736bcc394e4f3eb2c82

    Comments

    libavformat/oggparseflac.c: Parse ogg/flac comments in new ogg packets, add them to ogg stream new_metadata.

    Changed files

    • libavformat/oggparseflac.c
    • tests/ref/fate/ogg-flac-chained-meta.txt
  271. Change #245589

    Category ffmpeg
    Changed by Romain Beauxis <romain.beauxisohnoyoudont@gmail.com>
    Changed at Wed 01 Oct 2025 16:20:55
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cb4052beae1e347e0c357a5b7ab860328aa01dd4

    Comments

    libavformat/oggparseopus.c: Parse comments from secondary chained streams header packet.

    Changed files

    • libavformat/oggparseopus.c
    • tests/ref/fate/ogg-opus-chained-meta.txt
  272. Change #245591

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Wed 01 Oct 2025 16:31:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1a02412170144f07711428ddc2d1051c4284ee0a

    Comments

    avformat/movenc_ttml: fix memleaks
    Memory leaks can happen on normal case when break from while loop
    early, and it can happen on error path with goto cleanup.
    
    Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>

    Changed files

    • libavformat/movenc_ttml.c
  273. Change #245593

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Thu 02 Oct 2025 14:52:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 61b6877637041a1f817ad9811c839b0feae2b8af

    Comments

    avcodec/mjpegdec: Explain buf_size/width/height check
    Suggested-by: Ramiro
    
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavcodec/mjpegdec.c
  274. Change #245595

    Category ffmpeg
    Changed by Marton Balint <cusohnoyoudont@passwd.hu>
    Changed at Thu 02 Oct 2025 18:41:47
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f1d5114103a8164869a279326043645e7bacdc86

    Comments

    avformat/tls_openssl: do not cleanup tls after a successful dtls_start()
    Regression since 8e11e2cdb82299e7f0b6d8884bf2bc65c1c3f5e8.
    
    Signed-off-by: Marton Balint <cus@passwd.hu>

    Changed files

    • libavformat/tls_openssl.c
  275. Change #245597

    Category ffmpeg
    Changed by Cameron Gutman <aicommanderohnoyoudont@gmail.com>
    Changed at Fri 03 Oct 2025 13:05:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision df4587789f1f4337ed778752010d7176a9e90241

    Comments

    avcodec/amfenc: avoid unnecessary output delay in low delay mode
    The code optimizes throughput by letting the encoder work on frame N
    until frame N+1 is ready for submission, but this hurts low-delay uses
    by delaying output by one frame. Don't delay output beyond what is
    necessary when AV_CODEC_FLAG_LOW_DELAY is used.
    
    Signed-off-by: Cameron Gutman <aicommander@gmail.com>

    Changed files

    • libavcodec/amfenc.c
  276. Change #245599

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 03 Oct 2025 19:05:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a8a16c15c8dbf2231d439fa46587d0a15c1778ce

    Comments

    tests/checkasm/llviddsp: Use the same width for each cpuflag
    Otherwise the benchmark numbers would be incomparable nonsense.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • tests/checkasm/llviddsp.c
  277. Change #245601

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 03 Oct 2025 19:05:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ab7d1c64c9aa9186acb1d988d020e59f2d3defce

    Comments

    avcodec/x86/h263_loopfilter: Port loop filter to SSE2
    Old benchmarks:
    h263dsp.h_loop_filter_c:                                41.2 ( 1.00x)
    h263dsp.h_loop_filter_mmx:                              39.5 ( 1.04x)
    h263dsp.v_loop_filter_c:                                43.5 ( 1.00x)
    h263dsp.v_loop_filter_mmx:                              16.9 ( 2.57x)
    
    New benchmarks:
    h263dsp.h_loop_filter_c:                                41.6 ( 1.00x)
    h263dsp.h_loop_filter_sse2:                             28.2 ( 1.48x)
    h263dsp.v_loop_filter_c:                                42.4 ( 1.00x)
    h263dsp.v_loop_filter_sse2:                             15.1 ( 2.81x)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/constants.c
    • libavcodec/x86/constants.h
    • libavcodec/x86/h263_loopfilter.asm
    • libavcodec/x86/h263dsp_init.c
    • tests/checkasm/h263dsp.c
  278. Change #245603

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 06:07:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 15a9c8dea32048d9746329430313f5700ba74ff3

    Comments

    avcodec/liblc3enc: Avoid allocating buffer to send a zero frame
    liblc3 supports arbitrary strides, so one can simply use a stride
    of zero to make it read the same zero value again and again.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/liblc3enc.c
  279. Change #245605

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9a0581fca0521596f3a072bad894927ac1483acf

    Comments

    tests/checkasm: Add qpeldsp checkasm
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • tests/checkasm/Makefile
    • tests/checkasm/checkasm.c
    • tests/checkasm/checkasm.h
    • tests/checkasm/qpeldsp.c
    • tests/fate/checkasm.mak
  280. Change #245607

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8820e2205cbd927bb7544d1bdad52db5346fb687

    Comments

    tests/checkasm/hpeldsp: Use instruction-set independent height
    Otherwise the benchmark numbers are incomparable.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • tests/checkasm/hpeldsp.c
  281. Change #245609

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cacf854fe7ad20a4eff5b2e9ef4e5a37f59d6e56

    Comments

    avcodec/x86/qpel: Remove always-false branches
    The ff_avg_pixels{4,8,16}_l2_mmxext() functions are only ever
    used in the last step (the one that actually writes to the dst buffer)
    where the number of lines to process is always equal to the
    dimensions of the block, whereas ff_put_pixels{8,16}_mmxext()
    are also used in intermediate calculations where the number of
    lines can be 9 or 17.
    
    The code in qpel.asm uses common macros for both and processes
    more than one line per loop iteration; it therefore checks
    for whether the number of lines is odd and treats this line separately;
    yet this special handling is only needed for the put functions,
    not the avg functions. It has therefore been %if'ed away for these.
    
    The check is also not needed for ff_put_pixels4_l2_mmxext() which
    is only used by H.264 which always processes four lines. Because
    ff_{avg,put}_pixels4_l2_mmxext() processes four lines in a single loop
    iteration, not only the odd-height handling, but the whole loop
    could be removed.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/qpel.asm
  282. Change #245611

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 52a77128fde66b4d3d9ecd5c72cb4cf8e8f0eed4

    Comments

    avcodec/x86/qpel{dsp,dsp_init}: Use ptrdiff_t for stride
    This is more correct given that qpel_mc_func already uses ptrdiff_t;
    it also allows to avoid movsxdifnidn.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/qpel.asm
    • libavcodec/x86/qpeldsp.asm
    • libavcodec/x86/qpeldsp_init.c
  283. Change #245613

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 1e11fdff520ef0df6baf557ae0436b4fe7e8765b

    Comments

    avcodec/x86/qpel{,dsp_init}: Remove constant function parameters
    ff_avg_pixels{4,8,16}_l2_mmxext() are always called with height
    equal to their blocksize. And ff_{put,avg}_pixels4_l2_mmxext()
    are furthermore always called with both strides being equal.
    So remove these redundant function parameters.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/qpel.asm
    • libavcodec/x86/qpeldsp_init.c
  284. Change #245615

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c4c616db53f02c590158e143f6a497bbfaf93f1d

    Comments

    avcodec/x86/qpel: Move ff_{put,avg}_pixels4_l2_mmxext to h264_qpel
    Only used there.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel_8bit.asm
    • libavcodec/x86/qpel.asm
  285. Change #245617

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 770f78b24a7d1784e650c79699d60016012f18a3

    Comments

    configure: Remove mss2->qpeldsp dependency
    Forgotten in 9cc38cc636badb675b2757fc665d9b8d2f28870f.
    (mss2 still has an implicit dependency on qpeldsp
    via the VC-1 decoder.)
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • configure
  286. Change #245619

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0035d99c6139a47acdc2cc6cd0d55864c809f87a

    Comments

    configure: Avoid mpeg4video_parser->{h263,qpel}dsp dependency
    This can be easily achieved by moving code only used by the MPEG-4
    decoder behind #if CONFIG_MPEG4_DECODER.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • configure
    • libavcodec/Makefile
    • libavcodec/mpeg4videodec.c
  287. Change #245621

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d09f4f3c78402e3f828a068120741830af18b973

    Comments

    configure: Remove h263_decoder->h263_parser,qpeldsp dependency
    The former is unnecessary since
    3ceffe783965767e62d59e8e68ecd265c98460ec. The latter is since
    ff_mpeg4_workaround_bugs() (and thereby setting the "old" qpeldsp
    functions) has been moved inside #if CONFIG_MPEG4_DECODER.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • configure
  288. Change #245623

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 16d5e074dc8eec79a3c4e071142a2ff5d22e6fde

    Comments

    avcodec/mips/Makefile: Fix VC1DSP build rules
    Affected standalone builds of the VC-1 parser.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mips/Makefile
  289. Change #245625

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:32
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 92ae9d1ffc5b38fbff07744149bc65679c3ef587

    Comments

    configure: Remove vc1dsp->qpeldsp dependency
    It only needs it for some x86 fpel functions; instead
    add a direct dependency for that.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • configure
    • libavcodec/x86/Makefile
  290. Change #245627

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6eb8bc42176f73c1d7c2e9f4bc1ab988f7149de5

    Comments

    avcodec/h264qpel: Don't build unused 2x2 size funcs for bitdepths > 8
    The 2x2 put functions are only used by Snow and Snow uses
    only the eight bit versions. The rest is dead code. Disabling
    it saved 41277B here.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/h264qpel.c
    • libavcodec/h264qpel_template.c
    • tests/checkasm/h264qpel.c
  291. Change #245629

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b0c91c2fba82f98dfe7a70f2591ec7a2126820c0

    Comments

    avcodec/h264qpel: Make avg_h264_qpel_pixels_tab smaller
    avg_h264_qpel only supports 16x16,8x8 and 4x4 blocksizes,
    so it is currently unnecessarily large.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/h264qpel.h
  292. Change #245631

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e340f31b898e51d12ec1ced52fcbf03fb4635533

    Comments

    avcodec/x86/fpel: Remove redundant repetition
    The repetition count is always one since
    2cf9e733c6a666600423a0967f23341d9f09e3c8.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/fpel.asm
  293. Change #245633

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 279b6f3cf56dbfcfb3980a1d955d66628e80aa24

    Comments

    avcodec/fpel: Avoid loop in ff_avg_pixels4_mmxext()
    It is only used by h264_qpel.c and only with height four
    (which is unrolled) and uses a loop in order to handle
    multiples of four as height. Remove the loop and the height
    parameter and move the function to h264_qpel_8bit.asm.
    This leads to a bit of code duplication, but this is simpler
    than all the %if checks necessary to achieve the same outcome
    in fpel.asm.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/fpel.asm
    • libavcodec/x86/fpel.h
    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  294. Change #245635

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 810bd3e62a4935683f2299dc4ebce2fb05c0d764

    Comments

    avcodec/x86/h264_qpel: Add ff_{avg,put}_pixels16_l2_shift5_sse2
    Up until now this function was emulated via two calls
    to ff_{avg,pull}_pixels8_l2_shift5_mmxext(). Adding a dedicated
    function proved beneficial both size wise and performance wise:
    The new functions take 192B, yet the simplified calls save
    256B with GCC and 320B with Clang here.
    
    This change will also allow further optimizations.
    
    Old benchmarks:
    avg_h264_qpel_16_mc12_8_c:                            1735.8 ( 1.00x)
    avg_h264_qpel_16_mc12_8_sse2:                          300.8 ( 5.77x)
    avg_h264_qpel_16_mc12_8_ssse3:                         233.3 ( 7.44x)
    avg_h264_qpel_16_mc32_8_c:                            1777.9 ( 1.00x)
    avg_h264_qpel_16_mc32_8_sse2:                          275.6 ( 6.45x)
    avg_h264_qpel_16_mc32_8_ssse3:                         235.7 ( 7.54x)
    put_h264_qpel_16_mc12_8_c:                            1808.2 ( 1.00x)
    put_h264_qpel_16_mc12_8_sse2:                          267.2 ( 6.77x)
    put_h264_qpel_16_mc12_8_ssse3:                         231.9 ( 7.80x)
    put_h264_qpel_16_mc32_8_c:                            1766.9 ( 1.00x)
    put_h264_qpel_16_mc32_8_sse2:                          272.9 ( 6.47x)
    put_h264_qpel_16_mc32_8_ssse3:                         229.5 ( 7.70x)
    
    New benchmarks:
    avg_h264_qpel_16_mc12_8_c:                            1742.3 ( 1.00x)
    avg_h264_qpel_16_mc12_8_sse2:                          240.3 ( 7.25x)
    avg_h264_qpel_16_mc12_8_ssse3:                         214.8 ( 8.11x)
    avg_h264_qpel_16_mc32_8_c:                            1748.0 ( 1.00x)
    avg_h264_qpel_16_mc32_8_sse2:                          238.0 ( 7.35x)
    avg_h264_qpel_16_mc32_8_ssse3:                         209.2 ( 8.35x)
    put_h264_qpel_16_mc12_8_c:                            2014.4 ( 1.00x)
    put_h264_qpel_16_mc12_8_sse2:                          243.7 ( 8.27x)
    put_h264_qpel_16_mc12_8_ssse3:                         211.5 ( 9.52x)
    put_h264_qpel_16_mc32_8_c:                            1800.0 ( 1.00x)
    put_h264_qpel_16_mc32_8_sse2:                          238.8 ( 7.54x)
    put_h264_qpel_16_mc32_8_ssse3:                         206.7 ( 8.71x)
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  295. Change #245637

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b84c818c835f15710c21fd52f15c795ba8dc2afe

    Comments

    avcodec/x86/h264_qpel: Remove constant parameters from shift5 funcs
    They are constant since the size 16 version is no longer emulated
    via the size 8 version.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  296. Change #245639

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 400203c00c3b5c766d2c3f79c72d644d3d38ee55

    Comments

    avcodec/x86/h264_qpel: Remove unused parameter from hv2_lowpass funcs
    tmpstride is unused. This also allows to remove said parameter
    from lots of functions in h264_qpel.c.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  297. Change #245641

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision fa9ea5113b48904daef9df6a282bd9c04c32258d

    Comments

    avcodec/x86/h264_qpel_8bit: Optimize branch away
    ff_{avg,put}_h264_qpel8or16_hv2_lowpass_ssse3()
    currently is almost the disjoint union of the codepaths
    for sizes 8 and 16. This size is a compile-time constant
    at every callsite. So split the function and avoid
    the runtime branch.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  298. Change #245643

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 35aaf697e9c8c238ea2a1e0abf39e19833bd0652

    Comments

    avcodec/x86/h264_qpel_8bit: Replace qpel8_h_lowpass_l2 MMXEXT by SSE2
    Using xmm registers here is very natural, as it allows to
    operate on eight words at a time. It also saves 48B here
    and does not clobber the MMX state.
    
    Old benchmarks (only tests affected by the modified function are shown):
    avg_h264_qpel_8_mc11_8_c:                              352.2 ( 1.00x)
    avg_h264_qpel_8_mc11_8_sse2:                            70.4 ( 5.00x)
    avg_h264_qpel_8_mc11_8_ssse3:                           53.9 ( 6.53x)
    avg_h264_qpel_8_mc13_8_c:                              353.3 ( 1.00x)
    avg_h264_qpel_8_mc13_8_sse2:                            72.8 ( 4.86x)
    avg_h264_qpel_8_mc13_8_ssse3:                           53.8 ( 6.57x)
    avg_h264_qpel_8_mc21_8_c:                              404.0 ( 1.00x)
    avg_h264_qpel_8_mc21_8_sse2:                           116.1 ( 3.48x)
    avg_h264_qpel_8_mc21_8_ssse3:                           94.3 ( 4.28x)
    avg_h264_qpel_8_mc23_8_c:                              398.9 ( 1.00x)
    avg_h264_qpel_8_mc23_8_sse2:                           118.6 ( 3.36x)
    avg_h264_qpel_8_mc23_8_ssse3:                           94.8 ( 4.21x)
    avg_h264_qpel_8_mc31_8_c:                              352.7 ( 1.00x)
    avg_h264_qpel_8_mc31_8_sse2:                            71.4 ( 4.94x)
    avg_h264_qpel_8_mc31_8_ssse3:                           53.8 ( 6.56x)
    avg_h264_qpel_8_mc33_8_c:                              354.0 ( 1.00x)
    avg_h264_qpel_8_mc33_8_sse2:                            70.6 ( 5.01x)
    avg_h264_qpel_8_mc33_8_ssse3:                           53.7 ( 6.59x)
    avg_h264_qpel_16_mc11_8_c:                            1417.0 ( 1.00x)
    avg_h264_qpel_16_mc11_8_sse2:                          276.9 ( 5.12x)
    avg_h264_qpel_16_mc11_8_ssse3:                         178.8 ( 7.92x)
    avg_h264_qpel_16_mc13_8_c:                            1427.3 ( 1.00x)
    avg_h264_qpel_16_mc13_8_sse2:                          277.4 ( 5.14x)
    avg_h264_qpel_16_mc13_8_ssse3:                         179.7 ( 7.94x)
    avg_h264_qpel_16_mc21_8_c:                            1634.1 ( 1.00x)
    avg_h264_qpel_16_mc21_8_sse2:                          421.3 ( 3.88x)
    avg_h264_qpel_16_mc21_8_ssse3:                         291.2 ( 5.61x)
    avg_h264_qpel_16_mc23_8_c:                            1627.0 ( 1.00x)
    avg_h264_qpel_16_mc23_8_sse2:                          420.8 ( 3.87x)
    avg_h264_qpel_16_mc23_8_ssse3:                         291.0 ( 5.59x)
    avg_h264_qpel_16_mc31_8_c:                            1418.4 ( 1.00x)
    avg_h264_qpel_16_mc31_8_sse2:                          278.5 ( 5.09x)
    avg_h264_qpel_16_mc31_8_ssse3:                         178.6 ( 7.94x)
    avg_h264_qpel_16_mc33_8_c:                            1407.3 ( 1.00x)
    avg_h264_qpel_16_mc33_8_sse2:                          277.6 ( 5.07x)
    avg_h264_qpel_16_mc33_8_ssse3:                         179.9 ( 7.82x)
    put_h264_qpel_8_mc11_8_c:                              348.1 ( 1.00x)
    put_h264_qpel_8_mc11_8_sse2:                            69.1 ( 5.04x)
    put_h264_qpel_8_mc11_8_ssse3:                           53.8 ( 6.47x)
    put_h264_qpel_8_mc13_8_c:                              349.3 ( 1.00x)
    put_h264_qpel_8_mc13_8_sse2:                            69.7 ( 5.01x)
    put_h264_qpel_8_mc13_8_ssse3:                           53.7 ( 6.51x)
    put_h264_qpel_8_mc21_8_c:                              398.5 ( 1.00x)
    put_h264_qpel_8_mc21_8_sse2:                           115.0 ( 3.46x)
    put_h264_qpel_8_mc21_8_ssse3:                           95.3 ( 4.18x)
    put_h264_qpel_8_mc23_8_c:                              399.9 ( 1.00x)
    put_h264_qpel_8_mc23_8_sse2:                           120.8 ( 3.31x)
    put_h264_qpel_8_mc23_8_ssse3:                           95.4 ( 4.19x)
    put_h264_qpel_8_mc31_8_c:                              350.4 ( 1.00x)
    put_h264_qpel_8_mc31_8_sse2:                            69.6 ( 5.03x)
    put_h264_qpel_8_mc31_8_ssse3:                           54.2 ( 6.47x)
    put_h264_qpel_8_mc33_8_c:                              353.1 ( 1.00x)
    put_h264_qpel_8_mc33_8_sse2:                            71.0 ( 4.97x)
    put_h264_qpel_8_mc33_8_ssse3:                           54.2 ( 6.51x)
    put_h264_qpel_16_mc11_8_c:                            1384.2 ( 1.00x)
    put_h264_qpel_16_mc11_8_sse2:                          272.9 ( 5.07x)
    put_h264_qpel_16_mc11_8_ssse3:                         178.3 ( 7.76x)
    put_h264_qpel_16_mc13_8_c:                            1393.6 ( 1.00x)
    put_h264_qpel_16_mc13_8_sse2:                          271.1 ( 5.14x)
    put_h264_qpel_16_mc13_8_ssse3:                         178.3 ( 7.82x)
    put_h264_qpel_16_mc21_8_c:                            1612.6 ( 1.00x)
    put_h264_qpel_16_mc21_8_sse2:                          416.5 ( 3.87x)
    put_h264_qpel_16_mc21_8_ssse3:                         289.1 ( 5.58x)
    put_h264_qpel_16_mc23_8_c:                            1621.3 ( 1.00x)
    put_h264_qpel_16_mc23_8_sse2:                          416.9 ( 3.89x)
    put_h264_qpel_16_mc23_8_ssse3:                         289.4 ( 5.60x)
    put_h264_qpel_16_mc31_8_c:                            1408.4 ( 1.00x)
    put_h264_qpel_16_mc31_8_sse2:                          273.5 ( 5.15x)
    put_h264_qpel_16_mc31_8_ssse3:                         176.9 ( 7.96x)
    put_h264_qpel_16_mc33_8_c:                            1396.4 ( 1.00x)
    put_h264_qpel_16_mc33_8_sse2:                          276.3 ( 5.05x)
    put_h264_qpel_16_mc33_8_ssse3:                         176.4 ( 7.92x)
    
    New benchmarks:
    avg_h264_qpel_8_mc11_8_c:                              352.1 ( 1.00x)
    avg_h264_qpel_8_mc11_8_sse2:                            52.5 ( 6.71x)
    avg_h264_qpel_8_mc11_8_ssse3:                           53.9 ( 6.54x)
    avg_h264_qpel_8_mc13_8_c:                              350.8 ( 1.00x)
    avg_h264_qpel_8_mc13_8_sse2:                            54.7 ( 6.42x)
    avg_h264_qpel_8_mc13_8_ssse3:                           54.3 ( 6.46x)
    avg_h264_qpel_8_mc21_8_c:                              400.1 ( 1.00x)
    avg_h264_qpel_8_mc21_8_sse2:                            98.6 ( 4.06x)
    avg_h264_qpel_8_mc21_8_ssse3:                           95.5 ( 4.19x)
    avg_h264_qpel_8_mc23_8_c:                              400.4 ( 1.00x)
    avg_h264_qpel_8_mc23_8_sse2:                           101.4 ( 3.95x)
    avg_h264_qpel_8_mc23_8_ssse3:                           95.9 ( 4.18x)
    avg_h264_qpel_8_mc31_8_c:                              352.4 ( 1.00x)
    avg_h264_qpel_8_mc31_8_sse2:                            52.9 ( 6.67x)
    avg_h264_qpel_8_mc31_8_ssse3:                           54.4 ( 6.48x)
    avg_h264_qpel_8_mc33_8_c:                              354.5 ( 1.00x)
    avg_h264_qpel_8_mc33_8_sse2:                            52.9 ( 6.70x)
    avg_h264_qpel_8_mc33_8_ssse3:                           54.4 ( 6.52x)
    avg_h264_qpel_16_mc11_8_c:                            1420.4 ( 1.00x)
    avg_h264_qpel_16_mc11_8_sse2:                          204.8 ( 6.93x)
    avg_h264_qpel_16_mc11_8_ssse3:                         177.9 ( 7.98x)
    avg_h264_qpel_16_mc13_8_c:                            1409.8 ( 1.00x)
    avg_h264_qpel_16_mc13_8_sse2:                          206.4 ( 6.83x)
    avg_h264_qpel_16_mc13_8_ssse3:                         178.0 ( 7.92x)
    avg_h264_qpel_16_mc21_8_c:                            1634.1 ( 1.00x)
    avg_h264_qpel_16_mc21_8_sse2:                          349.6 ( 4.67x)
    avg_h264_qpel_16_mc21_8_ssse3:                         290.0 ( 5.63x)
    avg_h264_qpel_16_mc23_8_c:                            1624.1 ( 1.00x)
    avg_h264_qpel_16_mc23_8_sse2:                          350.0 ( 4.64x)
    avg_h264_qpel_16_mc23_8_ssse3:                         291.9 ( 5.56x)
    avg_h264_qpel_16_mc31_8_c:                            1407.2 ( 1.00x)
    avg_h264_qpel_16_mc31_8_sse2:                          205.8 ( 6.84x)
    avg_h264_qpel_16_mc31_8_ssse3:                         178.2 ( 7.90x)
    avg_h264_qpel_16_mc33_8_c:                            1400.5 ( 1.00x)
    avg_h264_qpel_16_mc33_8_sse2:                          206.3 ( 6.79x)
    avg_h264_qpel_16_mc33_8_ssse3:                         179.4 ( 7.81x)
    put_h264_qpel_8_mc11_8_c:                              349.7 ( 1.00x)
    put_h264_qpel_8_mc11_8_sse2:                            50.2 ( 6.96x)
    put_h264_qpel_8_mc11_8_ssse3:                           51.3 ( 6.82x)
    put_h264_qpel_8_mc13_8_c:                              349.8 ( 1.00x)
    put_h264_qpel_8_mc13_8_sse2:                            50.7 ( 6.90x)
    put_h264_qpel_8_mc13_8_ssse3:                           51.7 ( 6.76x)
    put_h264_qpel_8_mc21_8_c:                              398.0 ( 1.00x)
    put_h264_qpel_8_mc21_8_sse2:                            96.5 ( 4.13x)
    put_h264_qpel_8_mc21_8_ssse3:                           92.3 ( 4.31x)
    put_h264_qpel_8_mc23_8_c:                              401.4 ( 1.00x)
    put_h264_qpel_8_mc23_8_sse2:                           102.3 ( 3.92x)
    put_h264_qpel_8_mc23_8_ssse3:                           92.8 ( 4.32x)
    put_h264_qpel_8_mc31_8_c:                              349.4 ( 1.00x)
    put_h264_qpel_8_mc31_8_sse2:                            50.8 ( 6.88x)
    put_h264_qpel_8_mc31_8_ssse3:                           51.8 ( 6.75x)
    put_h264_qpel_8_mc33_8_c:                              351.1 ( 1.00x)
    put_h264_qpel_8_mc33_8_sse2:                            52.2 ( 6.73x)
    put_h264_qpel_8_mc33_8_ssse3:                           51.7 ( 6.79x)
    put_h264_qpel_16_mc11_8_c:                            1391.1 ( 1.00x)
    put_h264_qpel_16_mc11_8_sse2:                          196.6 ( 7.07x)
    put_h264_qpel_16_mc11_8_ssse3:                         178.2 ( 7.81x)
    put_h264_qpel_16_mc13_8_c:                            1385.2 ( 1.00x)
    put_h264_qpel_16_mc13_8_sse2:                          195.6 ( 7.08x)
    put_h264_qpel_16_mc13_8_ssse3:                         176.6 ( 7.84x)
    put_h264_qpel_16_mc21_8_c:                            1607.5 ( 1.00x)
    put_h264_qpel_16_mc21_8_sse2:                          341.0 ( 4.71x)
    put_h264_qpel_16_mc21_8_ssse3:                         289.1 ( 5.56x)
    put_h264_qpel_16_mc23_8_c:                            1616.7 ( 1.00x)
    put_h264_qpel_16_mc23_8_sse2:                          340.8 ( 4.74x)
    put_h264_qpel_16_mc23_8_ssse3:                         288.6 ( 5.60x)
    put_h264_qpel_16_mc31_8_c:                            1397.6 ( 1.00x)
    put_h264_qpel_16_mc31_8_sse2:                          197.3 ( 7.08x)
    put_h264_qpel_16_mc31_8_ssse3:                         175.4 ( 7.97x)
    put_h264_qpel_16_mc33_8_c:                            1394.3 ( 1.00x)
    put_h264_qpel_16_mc33_8_sse2:                          197.7 ( 7.05x)
    put_h264_qpel_16_mc33_8_ssse3:                         175.2 ( 7.96x)
    
    As can be seen, the SSE2 version is often neck-to-neck with the SSSE3
    version (which also benefits from a better hv2_lowpass SSSE3
    implementation for mc21 and mc23) for eight byte block sizes.
    Unsurprisingly, SSSE3 beats SSE2 for 16x16 blocks: For SSE2,
    these blocks are processed by calling the 8x8 function four times
    whereas SSSE3 has a dedicated function (on x64).
    This implementation should also be extendable to an AVX version
    for 16x16 blocks.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  299. Change #245645

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4880fa4dcaa8e38f6b99aaf4f771fd91b78de732

    Comments

    avcodec/x86/h264_qpel_8bit: Remove dead macro
    Forgotten in 4011a76494a5ff6844312813bc753aae8e54c2f0.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel_8bit.asm
  300. Change #245647

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cd077e88d1ba20418a81187159f14ee74f4a6f64

    Comments

    avcodec/x86/h264_qpel: Add ff_{avg,put}_h264_qpel16_h_lowpass_l2_sse2()
    These functions are currently emulated via four calls to the versions
    for 8x8 blocks. In fact, the size savings from the simplified calls
    in h264_qpel.c (GCC 1344B, Clang 1280B) more than outweigh the size
    of the added functions (512B) here.
    
    It is also beneficial performance-wise. Old benchmarks:
    avg_h264_qpel_16_mc11_8_c:                            1414.1 ( 1.00x)
    avg_h264_qpel_16_mc11_8_sse2:                          206.2 ( 6.86x)
    avg_h264_qpel_16_mc11_8_ssse3:                         177.7 ( 7.96x)
    avg_h264_qpel_16_mc13_8_c:                            1417.0 ( 1.00x)
    avg_h264_qpel_16_mc13_8_sse2:                          207.4 ( 6.83x)
    avg_h264_qpel_16_mc13_8_ssse3:                         178.2 ( 7.95x)
    avg_h264_qpel_16_mc21_8_c:                            1632.8 ( 1.00x)
    avg_h264_qpel_16_mc21_8_sse2:                          349.3 ( 4.67x)
    avg_h264_qpel_16_mc21_8_ssse3:                         291.3 ( 5.60x)
    avg_h264_qpel_16_mc23_8_c:                            1640.2 ( 1.00x)
    avg_h264_qpel_16_mc23_8_sse2:                          351.3 ( 4.67x)
    avg_h264_qpel_16_mc23_8_ssse3:                         290.8 ( 5.64x)
    avg_h264_qpel_16_mc31_8_c:                            1411.7 ( 1.00x)
    avg_h264_qpel_16_mc31_8_sse2:                          203.4 ( 6.94x)
    avg_h264_qpel_16_mc31_8_ssse3:                         178.9 ( 7.89x)
    avg_h264_qpel_16_mc33_8_c:                            1409.7 ( 1.00x)
    avg_h264_qpel_16_mc33_8_sse2:                          204.6 ( 6.89x)
    avg_h264_qpel_16_mc33_8_ssse3:                         178.1 ( 7.92x)
    put_h264_qpel_16_mc11_8_c:                            1391.0 ( 1.00x)
    put_h264_qpel_16_mc11_8_sse2:                          197.4 ( 7.05x)
    put_h264_qpel_16_mc11_8_ssse3:                         176.1 ( 7.90x)
    put_h264_qpel_16_mc13_8_c:                            1395.9 ( 1.00x)
    put_h264_qpel_16_mc13_8_sse2:                          196.7 ( 7.10x)
    put_h264_qpel_16_mc13_8_ssse3:                         177.7 ( 7.85x)
    put_h264_qpel_16_mc21_8_c:                            1609.5 ( 1.00x)
    put_h264_qpel_16_mc21_8_sse2:                          341.1 ( 4.72x)
    put_h264_qpel_16_mc21_8_ssse3:                         289.2 ( 5.57x)
    put_h264_qpel_16_mc23_8_c:                            1604.0 ( 1.00x)
    put_h264_qpel_16_mc23_8_sse2:                          340.9 ( 4.71x)
    put_h264_qpel_16_mc23_8_ssse3:                         289.6 ( 5.54x)
    put_h264_qpel_16_mc31_8_c:                            1390.2 ( 1.00x)
    put_h264_qpel_16_mc31_8_sse2:                          194.6 ( 7.14x)
    put_h264_qpel_16_mc31_8_ssse3:                         176.4 ( 7.88x)
    put_h264_qpel_16_mc33_8_c:                            1400.4 ( 1.00x)
    put_h264_qpel_16_mc33_8_sse2:                          198.5 ( 7.06x)
    put_h264_qpel_16_mc33_8_ssse3:                         176.2 ( 7.95x)
    
    New benchmarks:
    avg_h264_qpel_16_mc11_8_c:                            1413.3 ( 1.00x)
    avg_h264_qpel_16_mc11_8_sse2:                          171.8 ( 8.23x)
    avg_h264_qpel_16_mc11_8_ssse3:                         173.0 ( 8.17x)
    avg_h264_qpel_16_mc13_8_c:                            1423.2 ( 1.00x)
    avg_h264_qpel_16_mc13_8_sse2:                          172.0 ( 8.27x)
    avg_h264_qpel_16_mc13_8_ssse3:                         173.4 ( 8.21x)
    avg_h264_qpel_16_mc21_8_c:                            1641.3 ( 1.00x)
    avg_h264_qpel_16_mc21_8_sse2:                          322.1 ( 5.10x)
    avg_h264_qpel_16_mc21_8_ssse3:                         291.3 ( 5.63x)
    avg_h264_qpel_16_mc23_8_c:                            1629.1 ( 1.00x)
    avg_h264_qpel_16_mc23_8_sse2:                          323.0 ( 5.04x)
    avg_h264_qpel_16_mc23_8_ssse3:                         293.3 ( 5.55x)
    avg_h264_qpel_16_mc31_8_c:                            1409.2 ( 1.00x)
    avg_h264_qpel_16_mc31_8_sse2:                          172.0 ( 8.19x)
    avg_h264_qpel_16_mc31_8_ssse3:                         173.7 ( 8.11x)
    avg_h264_qpel_16_mc33_8_c:                            1402.5 ( 1.00x)
    avg_h264_qpel_16_mc33_8_sse2:                          172.5 ( 8.13x)
    avg_h264_qpel_16_mc33_8_ssse3:                         173.6 ( 8.08x)
    put_h264_qpel_16_mc11_8_c:                            1393.7 ( 1.00x)
    put_h264_qpel_16_mc11_8_sse2:                          170.4 ( 8.18x)
    put_h264_qpel_16_mc11_8_ssse3:                         178.2 ( 7.82x)
    put_h264_qpel_16_mc13_8_c:                            1398.0 ( 1.00x)
    put_h264_qpel_16_mc13_8_sse2:                          170.2 ( 8.21x)
    put_h264_qpel_16_mc13_8_ssse3:                         178.6 ( 7.83x)
    put_h264_qpel_16_mc21_8_c:                            1619.6 ( 1.00x)
    put_h264_qpel_16_mc21_8_sse2:                          320.6 ( 5.05x)
    put_h264_qpel_16_mc21_8_ssse3:                         297.2 ( 5.45x)
    put_h264_qpel_16_mc23_8_c:                            1617.4 ( 1.00x)
    put_h264_qpel_16_mc23_8_sse2:                          320.0 ( 5.05x)
    put_h264_qpel_16_mc23_8_ssse3:                         297.4 ( 5.44x)
    put_h264_qpel_16_mc31_8_c:                            1389.7 ( 1.00x)
    put_h264_qpel_16_mc31_8_sse2:                          169.9 ( 8.18x)
    put_h264_qpel_16_mc31_8_ssse3:                         178.1 ( 7.80x)
    put_h264_qpel_16_mc33_8_c:                            1394.0 ( 1.00x)
    put_h264_qpel_16_mc33_8_sse2:                          170.9 ( 8.16x)
    put_h264_qpel_16_mc33_8_ssse3:                         176.9 ( 7.88x)
    
    Notice that the SSSE3 versions of mc21 and mc23 benefit from
    an optimized version of hv2_lowpass.
    
    Also notice that there is no SSE2 version of the purely horizontal
    motion compensation. This means that src2 is currently always aligned
    when calling the SSE2 functions (and that srcStride is always equal
    to the block width). Yet this has not been exploited (yet).
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  301. Change #245649

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4ac9162bebd153651e78dcffe1a87fbecd18495d

    Comments

    avcodec/x86/h264_qpel: Don't use ff_ prefix for static functions
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
  302. Change #245651

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 697da64c8eb208d33cd529d0d46bcabe25249759

    Comments

    avcodec/x86/h264_qpel: Port pixel8_l2_shift5 from MMXEXT to SSE2
    This abides by the ABI (no missing emms) and yields a tiny
    performance improvement here.
    
    Old benchmarks:
    avg_h264_qpel_8_mc12_8_c:                              419.9 ( 1.00x)
    avg_h264_qpel_8_mc12_8_sse2:                            78.9 ( 5.32x)
    avg_h264_qpel_8_mc12_8_ssse3:                           71.7 ( 5.86x)
    avg_h264_qpel_8_mc32_8_c:                              429.1 ( 1.00x)
    avg_h264_qpel_8_mc32_8_sse2:                            76.9 ( 5.58x)
    avg_h264_qpel_8_mc32_8_ssse3:                           73.4 ( 5.84x)
    put_h264_qpel_8_mc12_8_c:                              424.0 ( 1.00x)
    put_h264_qpel_8_mc12_8_sse2:                            78.6 ( 5.40x)
    put_h264_qpel_8_mc12_8_ssse3:                           70.6 ( 6.00x)
    put_h264_qpel_8_mc32_8_c:                              425.7 ( 1.00x)
    put_h264_qpel_8_mc32_8_sse2:                            75.2 ( 5.66x)
    put_h264_qpel_8_mc32_8_ssse3:                           70.4 ( 6.05x)
    
    New benchmarks:
    avg_h264_qpel_8_mc12_8_c:                              425.7 ( 1.00x)
    avg_h264_qpel_8_mc12_8_sse2:                            77.5 ( 5.49x)
    avg_h264_qpel_8_mc12_8_ssse3:                           69.8 ( 6.10x)
    avg_h264_qpel_8_mc32_8_c:                              423.7 ( 1.00x)
    avg_h264_qpel_8_mc32_8_sse2:                            74.6 ( 5.68x)
    avg_h264_qpel_8_mc32_8_ssse3:                           71.9 ( 5.89x)
    put_h264_qpel_8_mc12_8_c:                              422.2 ( 1.00x)
    put_h264_qpel_8_mc12_8_sse2:                            75.8 ( 5.57x)
    put_h264_qpel_8_mc12_8_ssse3:                           67.9 ( 6.22x)
    put_h264_qpel_8_mc32_8_c:                              421.8 ( 1.00x)
    put_h264_qpel_8_mc32_8_sse2:                            72.6 ( 5.81x)
    put_h264_qpel_8_mc32_8_ssse3:                           67.7 ( 6.23x)
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  303. Change #245653

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 495c3d03ae7f72dc71f374b0ca91effcd747268e

    Comments

    avcodec/x86/h264_qpel_10bit: Remove SSE2 "cache64" duplicates
    The horizontal 10bit MC SSE2 functions are currently duplicated:
    They exist both in ordinary form as well as with a "sse2_cache64"
    suffix. A comment in ff_h264qpel_init_x86() indicates that this
    is due to older processors not liking accesses that cross cache
    lines, yet these functions are identical to the non-cache64
    functions (apart from the unavoidable changes in the rip-offset).
    
    The only difference between these functions and the ordinary ones
    are that the cache64 ones are created via a special form of the
    INIT_XMM macro: "INIT_XMM sse2, cache64". This affects the name
    and apparently defines cpuflags_cache64, yet nothing checks for
    this, so both versions are identical. So remove the cache64 ones
    and treat the remaining ones like ordinary SSE2 functions.
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_10bit.asm
  304. Change #245655

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 07:06:33
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8fad52bd57d5bcedce8dc4ae3166c1a50f895690

    Comments

    avcodec/x86/h264_qpel: Use ptrdiff_t for strides
    Avoids having to sign-extend the strides in the assembly
    (it also is more correct given that the qpel_mc_func
    already uses ptrdiff_t).
    
    Reviewed-by: James Almer <jamrial@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  305. Change #245657

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 17:49:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ea346a23de428930fcd9cc0666150f35e04cb902

    Comments

    avfilter/blend_modes: Use stride in bytes
    The blend functions currently convert strides from bytes to elements
    of the type by using the stride /= sizeof(pixel) idiom. Yet this has
    several drawbacks:
    1. It invokes undefined behavior that happens to work when stride is
    negative: size_t is typically the unsigned type of ptrdiff_t and
    therefore the division will be performed as size_t, i.e. use logical
    right shifts, making stride very big when sizeof(pixel) is > 1. This
    works, because pointer to pixel for accesses entails an implicit
    factor of sizeof(pixel) so that everything is correct modulo SIZE_MAX.
    Yet this is UB and UBSan complains about it.
    2. It makes the compiler emit actual shifts/ands to discard the low bits
    shifted away.
    3. There may be systems where alignof(uint16_t) or alignof(float) is
    strictly smaller than their sizeof, so that the stride (in bytes) is
    not guaranteed to be multiple of these sizeofs. In this case, dividing
    by sizeof(pixel) is simply wrong.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/blend_modes.c
    • libavfilter/vf_blend_init.h
  306. Change #245659

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 04 Oct 2025 17:49:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e05f8acabff468c1382277c1f31fa8e9d90c3202

    Comments

    avfilter/blend_modes: Don't build duplicate functions
    Some of the blend mode functions only depend on the underlying type
    and therefore need only one version for 9, 10, 12, 14, 16 bits.
    This saved 35104B with GCC and 26880B with Clang.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/blend_modes.c
    • libavfilter/vf_blend_init.h
  307. Change #245661

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Sat 04 Oct 2025 19:18:30
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 99034b581f5608c1bb4edd52864b1bc973ad2dfb

    Comments

    avcodec/dcadsp: constify lfe_samples parameter
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/dcadsp.c
    • libavcodec/dcadsp.h
    • libavcodec/x86/dcadsp_init.c
  308. Change #245663

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Sun 05 Oct 2025 15:09:04
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 95850f339e96ac4ea82dd32cecc2c8795edcb47e

    Comments

    tests/checkasm: add a test for dcadsp
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • tests/checkasm/Makefile
    • tests/checkasm/checkasm.c
    • tests/checkasm/checkasm.h
    • tests/checkasm/dcadsp.c
    • tests/fate/checkasm.mak
  309. Change #245665

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Sun 05 Oct 2025 18:22:17
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9b709532d599fec8d322caba2217a5649c6204e9

    Comments

    avformat/demux: don't overwrite container level color information if set
    If the information is coded at the container level, then that's what should be
    exported. The user will still have access to values coded at the bitstream
    level by firing a decoder.
    
    Fixes issue #20121
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavformat/demux.c
    • libavformat/version.h
    • tests/ref/fate/enhanced-flv-multitrack
  310. Change #245667

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Sun 05 Oct 2025 18:22:23
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 009e4a1c209236605275e283af3aed3db28e6be2

    Comments

    avcodec/libdav1d: also consider user defined color information when selectiog pix_fmt
    Fixes issue #20624.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/libdav1d.c
  311. Change #245669

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Sun 05 Oct 2025 18:22:23
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 78a16e42bdb7faa6d5180b7ecf34c8f8ad0dc2c5

    Comments

    avcodec/av1dec: don't overwrite container level color information if none is coded in the bitstream
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/av1dec.c
  312. Change #245671

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Mon 06 Oct 2025 03:23:51
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6231fa7fb7c196d374420feb19854f661c5e9b85

    Comments

    avcodec/av1dec: don't emit a warning when parsing isobmff style extradata
    No OBUs may be present and it's a valid scenario, so only warn when parsing raw
    extradata.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/av1dec.c
  313. Change #245673

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Mon 06 Oct 2025 16:51:50
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 660983b7f3f699cd982a0688352604cc9ce3c8c6

    Comments

    avformat/mccenc: use Lavf version string instead of FFmpeg
    The muxed subtitle is created by libavformat, and as such that's what should be
    reported. This is in line with the string we write for every other muxer.
    After this change, the muxer will no longer be recompiled every time a commit
    is made.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavformat/mccenc.c
    • tests/fate/subtitles.mak
    • tests/ref/fate/sub-mcc-remux
    • tests/ref/fate/sub-mcc-remux-eia608
    • tests/ref/fate/sub-mcc-remux-eia608-bsf
    • tests/ref/fate/sub-mcc-remux-eia608-recode
  314. Change #245675

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 07 Oct 2025 17:36:25
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision dcfef80bd93cb4b30b97229a994d682d988dc5d9

    Comments

    avcodec/pngenc: Mark unreachable default switch cases as such
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/pngenc.c
  315. Change #245677

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 07 Oct 2025 18:00:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2749f5f91edc66d1c6dd7ce5e28a714ade0f8169

    Comments

    avfilter/vf_bilateral_cuda: remove write only variable

    Changed files

    • libavfilter/vf_bilateral_cuda.c
  316. Change #245679

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 07 Oct 2025 18:00:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a91cf4f38f133e6bc4049b2460573e1c70a03175

    Comments

    avfilter/vf_bilateral_cuda: simplify the checking of window_size

    Changed files

    • libavfilter/vf_bilateral_cuda.c
  317. Change #245681

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 07 Oct 2025 18:00:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision adf51312eee5be4d4b80cf96b79d783f0b3dd4c7

    Comments

    avfilter/vf_bilateral_cuda: simplify frame management

    Changed files

    • libavfilter/vf_bilateral_cuda.c
  318. Change #245683

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 07 Oct 2025 18:00:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d5f0c55f3f824b7a1a65d818d8fa755eb0db031a

    Comments

    avfilter/vf_bilateral_cuda: don't create a new hwframe_ctx
    There is no change on properties, so just reference the input
    link's hwframe ctx.

    Changed files

    • libavfilter/vf_bilateral_cuda.c
  319. Change #245685

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 07 Oct 2025 18:00:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4e27a4ba03d2aa9358e8780843bffe678844520d

    Comments

    avfilter/vf_bilateral_cuda: remove some variables and redundant operations
    Since output format is equal to input format, there is no point to
    save two groups of fmt and desc.

    Changed files

    • libavfilter/vf_bilateral_cuda.c
  320. Change #245687

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 07 Oct 2025 18:00:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision bb3a4de5a7be2f71099371c59abc670210f47641

    Comments

    avfilter/vf_bilateral_cuda: remove a goto which has no effect

    Changed files

    • libavfilter/vf_bilateral_cuda.c
  321. Change #245689

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 07 Oct 2025 18:00:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 027497891b7f453147446e774b748703aee53ae9

    Comments

    avfilter/vf_chromakey_cuda: simplify frame management

    Changed files

    • libavfilter/vf_chromakey_cuda.c
  322. Change #245691

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 07 Oct 2025 18:00:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ba9c63578440209b9e20d3b3cf09cbb6cb8f86a5

    Comments

    avfilter/vf_chromakey_cuda: specify alpha_mode of output
    Fix assert failure with:
    
    ffmpeg -init_hw_device cuda=gpu -filter_hw_device gpu \
    	-i input.mp4 -an \
    	-vf hwupload,format=cuda,chromakey_cuda=color=black,hwdownload,format=yuva420p,alphaextract \
    	-f null -
    
    Assertion frame->alpha_mode == link->alpha_mode failed at src/libavfilter/avfilter.c:1085

    Changed files

    • libavfilter/vf_chromakey_cuda.c
  323. Change #245693

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 07 Oct 2025 18:00:27
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c7815a4b707b7ae685e5809179094a275885759e

    Comments

    avfilter/vf_chromakey: specify alphamode of chromakey filter
    Fix assert failure with:
    ffmpeg -i input.mp4 \
    	-vf chromakey=similarity=0.1,format=yuva420p,alphaextract \
    	-f null -
    
    Assertion frame->alpha_mode == link->alpha_mode failed at src/libavfilter/avfilter.c:1085

    Changed files

    • libavfilter/vf_chromakey.c
  324. Change #245695

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 07 Oct 2025 18:06:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 15a4289b79d8c2e2453921544f7983248ef498bd

    Comments

    avcodec/x86/h264_qpel_8bit: Improve register allocation
    None of the other registers need to be preserved at this time,
    so six XMM registers are always enough. Forgotten in
    fa9ea5113b48904daef9df6a282bd9c04c32258d.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel_8bit.asm
  325. Change #245697

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 07 Oct 2025 18:06:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3e2d9b73c13292a324d8846dc49d807b59224612

    Comments

    avcodec/h264qpel: Move Snow-only code to snow.c
    Blocksize 2 is Snow-only, so move all the code pertaining
    to it to snow.c. Also make the put array in H264QpelContext
    smaller -- it only needs three sets of 16 function pointers.
    This continues 6eb8bc42176f73c1d7c2e9f4bc1ab988f7149de5
    and b0c91c2fba82f98dfe7a70f2591ec7a2126820c0.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/h264qpel.c
    • libavcodec/h264qpel.h
    • libavcodec/h264qpel_template.c
    • libavcodec/pel_template.c
    • libavcodec/snow.c
    • libavcodec/snow.h
    • tests/checkasm/h264qpel.c
  326. Change #245699

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 07 Oct 2025 18:06:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4539f7e4d4953fbf2086cac0e54575627f7df1e8

    Comments

    avcodec/x86/h264_qpel_8bit: Don't duplicate qpel4_hv_lowpass_v_mmxext
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  327. Change #245701

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 07 Oct 2025 18:06:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 29f439077a1b7a0a93832fdaefddcc0b7577c5e7

    Comments

    avcodec/h264_qpel: Move loop into qpel4_hv_lowpass_v_mmxext()
    Every caller calls it three times in a loop, with slightly
    modified arguments. So it makes sense to move the loop
    into the callee.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  328. Change #245703

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 07 Oct 2025 18:06:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 617c042093129758a53b01e6fc400356d8f4e566

    Comments

    avcodec/x86/h264_qpel_8bit: Avoid doing unnecessary work
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel_8bit.asm
  329. Change #245705

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 07 Oct 2025 18:06:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3ed590c7b9fb0663903a2927f713bec8ad0232b6

    Comments

    avcodec/x86/h264_qpel: Port qpel8or16_hv2_lowpass_op_mmxext to SSE2
    This means that only blocksize 4 still uses mmx(ext).
    
    Old benchmarks:
    avg_h264_qpel_8_mc12_8_c:                              428.4 ( 1.00x)
    avg_h264_qpel_8_mc12_8_sse2:                            74.3 ( 5.77x)
    avg_h264_qpel_8_mc12_8_ssse3:                           69.3 ( 6.18x)
    avg_h264_qpel_8_mc21_8_c:                              401.4 ( 1.00x)
    avg_h264_qpel_8_mc21_8_sse2:                            97.8 ( 4.10x)
    avg_h264_qpel_8_mc21_8_ssse3:                           93.7 ( 4.28x)
    avg_h264_qpel_8_mc22_8_c:                              281.8 ( 1.00x)
    avg_h264_qpel_8_mc22_8_sse2:                            66.7 ( 4.23x)
    avg_h264_qpel_8_mc22_8_ssse3:                           62.6 ( 4.50x)
    avg_h264_qpel_8_mc23_8_c:                              397.2 ( 1.00x)
    avg_h264_qpel_8_mc23_8_sse2:                            97.9 ( 4.06x)
    avg_h264_qpel_8_mc23_8_ssse3:                           93.7 ( 4.24x)
    avg_h264_qpel_8_mc32_8_c:                              432.4 ( 1.00x)
    avg_h264_qpel_8_mc32_8_sse2:                            73.9 ( 5.85x)
    avg_h264_qpel_8_mc32_8_ssse3:                           69.5 ( 6.22x)
    avg_h264_qpel_16_mc12_8_c:                            1756.4 ( 1.00x)
    avg_h264_qpel_16_mc12_8_sse2:                          240.0 ( 7.32x)
    avg_h264_qpel_16_mc12_8_ssse3:                         204.5 ( 8.59x)
    avg_h264_qpel_16_mc21_8_c:                            1635.3 ( 1.00x)
    avg_h264_qpel_16_mc21_8_sse2:                          321.2 ( 5.09x)
    avg_h264_qpel_16_mc21_8_ssse3:                         288.5 ( 5.67x)
    avg_h264_qpel_16_mc22_8_c:                            1130.8 ( 1.00x)
    avg_h264_qpel_16_mc22_8_sse2:                          219.4 ( 5.15x)
    avg_h264_qpel_16_mc22_8_ssse3:                         182.2 ( 6.21x)
    avg_h264_qpel_16_mc23_8_c:                            1622.5 ( 1.00x)
    avg_h264_qpel_16_mc23_8_sse2:                          321.3 ( 5.05x)
    avg_h264_qpel_16_mc23_8_ssse3:                         289.5 ( 5.60x)
    avg_h264_qpel_16_mc32_8_c:                            1762.5 ( 1.00x)
    avg_h264_qpel_16_mc32_8_sse2:                          236.1 ( 7.46x)
    avg_h264_qpel_16_mc32_8_ssse3:                         205.2 ( 8.59x)
    put_h264_qpel_8_mc12_8_c:                              427.2 ( 1.00x)
    put_h264_qpel_8_mc12_8_sse2:                            72.1 ( 5.93x)
    put_h264_qpel_8_mc12_8_ssse3:                           67.0 ( 6.38x)
    put_h264_qpel_8_mc21_8_c:                              402.9 ( 1.00x)
    put_h264_qpel_8_mc21_8_sse2:                            95.9 ( 4.20x)
    put_h264_qpel_8_mc21_8_ssse3:                           91.9 ( 4.38x)
    put_h264_qpel_8_mc22_8_c:                              235.0 ( 1.00x)
    put_h264_qpel_8_mc22_8_sse2:                            64.6 ( 3.64x)
    put_h264_qpel_8_mc22_8_ssse3:                           60.0 ( 3.92x)
    put_h264_qpel_8_mc23_8_c:                              403.6 ( 1.00x)
    put_h264_qpel_8_mc23_8_sse2:                            95.9 ( 4.21x)
    put_h264_qpel_8_mc23_8_ssse3:                           91.7 ( 4.40x)
    put_h264_qpel_8_mc32_8_c:                              430.7 ( 1.00x)
    put_h264_qpel_8_mc32_8_sse2:                            72.1 ( 5.97x)
    put_h264_qpel_8_mc32_8_ssse3:                           67.0 ( 6.43x)
    put_h264_qpel_16_mc12_8_c:                            1724.2 ( 1.00x)
    put_h264_qpel_16_mc12_8_sse2:                          230.7 ( 7.47x)
    put_h264_qpel_16_mc12_8_ssse3:                         199.8 ( 8.63x)
    put_h264_qpel_16_mc21_8_c:                            1613.3 ( 1.00x)
    put_h264_qpel_16_mc21_8_sse2:                          327.5 ( 4.93x)
    put_h264_qpel_16_mc21_8_ssse3:                         297.2 ( 5.43x)
    put_h264_qpel_16_mc22_8_c:                             959.2 ( 1.00x)
    put_h264_qpel_16_mc22_8_sse2:                          211.9 ( 4.53x)
    put_h264_qpel_16_mc22_8_ssse3:                         186.1 ( 5.15x)
    put_h264_qpel_16_mc23_8_c:                            1619.0 ( 1.00x)
    put_h264_qpel_16_mc23_8_sse2:                          319.7 ( 5.06x)
    put_h264_qpel_16_mc23_8_ssse3:                         299.2 ( 5.41x)
    put_h264_qpel_16_mc32_8_c:                            1741.7 ( 1.00x)
    put_h264_qpel_16_mc32_8_sse2:                          230.9 ( 7.54x)
    put_h264_qpel_16_mc32_8_ssse3:                         199.4 ( 8.74x)
    
    New benchmarks:
    avg_h264_qpel_8_mc12_8_c:                              427.2 ( 1.00x)
    avg_h264_qpel_8_mc12_8_sse2:                            63.9 ( 6.69x)
    avg_h264_qpel_8_mc12_8_ssse3:                           69.2 ( 6.18x)
    avg_h264_qpel_8_mc21_8_c:                              399.2 ( 1.00x)
    avg_h264_qpel_8_mc21_8_sse2:                            87.7 ( 4.55x)
    avg_h264_qpel_8_mc21_8_ssse3:                           93.9 ( 4.25x)
    avg_h264_qpel_8_mc22_8_c:                              285.7 ( 1.00x)
    avg_h264_qpel_8_mc22_8_sse2:                            56.4 ( 5.07x)
    avg_h264_qpel_8_mc22_8_ssse3:                           62.6 ( 4.56x)
    avg_h264_qpel_8_mc23_8_c:                              398.6 ( 1.00x)
    avg_h264_qpel_8_mc23_8_sse2:                            87.6 ( 4.55x)
    avg_h264_qpel_8_mc23_8_ssse3:                           93.8 ( 4.25x)
    avg_h264_qpel_8_mc32_8_c:                              425.8 ( 1.00x)
    avg_h264_qpel_8_mc32_8_sse2:                            63.8 ( 6.67x)
    avg_h264_qpel_8_mc32_8_ssse3:                           69.0 ( 6.17x)
    avg_h264_qpel_16_mc12_8_c:                            1748.2 ( 1.00x)
    avg_h264_qpel_16_mc12_8_sse2:                          198.5 ( 8.81x)
    avg_h264_qpel_16_mc12_8_ssse3:                         203.2 ( 8.60x)
    avg_h264_qpel_16_mc21_8_c:                            1638.1 ( 1.00x)
    avg_h264_qpel_16_mc21_8_sse2:                          277.4 ( 5.91x)
    avg_h264_qpel_16_mc21_8_ssse3:                         291.1 ( 5.63x)
    avg_h264_qpel_16_mc22_8_c:                            1140.7 ( 1.00x)
    avg_h264_qpel_16_mc22_8_sse2:                          180.3 ( 6.33x)
    avg_h264_qpel_16_mc22_8_ssse3:                         181.9 ( 6.27x)
    avg_h264_qpel_16_mc23_8_c:                            1629.9 ( 1.00x)
    avg_h264_qpel_16_mc23_8_sse2:                          278.0 ( 5.86x)
    avg_h264_qpel_16_mc23_8_ssse3:                         291.0 ( 5.60x)
    avg_h264_qpel_16_mc32_8_c:                            1752.1 ( 1.00x)
    avg_h264_qpel_16_mc32_8_sse2:                          193.7 ( 9.05x)
    avg_h264_qpel_16_mc32_8_ssse3:                         203.4 ( 8.61x)
    put_h264_qpel_8_mc12_8_c:                              421.8 ( 1.00x)
    put_h264_qpel_8_mc12_8_sse2:                            61.7 ( 6.83x)
    put_h264_qpel_8_mc12_8_ssse3:                           67.2 ( 6.28x)
    put_h264_qpel_8_mc21_8_c:                              396.8 ( 1.00x)
    put_h264_qpel_8_mc21_8_sse2:                            85.4 ( 4.65x)
    put_h264_qpel_8_mc21_8_ssse3:                           91.6 ( 4.33x)
    put_h264_qpel_8_mc22_8_c:                              234.1 ( 1.00x)
    put_h264_qpel_8_mc22_8_sse2:                            54.4 ( 4.30x)
    put_h264_qpel_8_mc22_8_ssse3:                           60.2 ( 3.89x)
    put_h264_qpel_8_mc23_8_c:                              399.2 ( 1.00x)
    put_h264_qpel_8_mc23_8_sse2:                            85.5 ( 4.67x)
    put_h264_qpel_8_mc23_8_ssse3:                           91.8 ( 4.35x)
    put_h264_qpel_8_mc32_8_c:                              422.2 ( 1.00x)
    put_h264_qpel_8_mc32_8_sse2:                            61.8 ( 6.83x)
    put_h264_qpel_8_mc32_8_ssse3:                           67.0 ( 6.30x)
    put_h264_qpel_16_mc12_8_c:                            1720.3 ( 1.00x)
    put_h264_qpel_16_mc12_8_sse2:                          189.9 ( 9.06x)
    put_h264_qpel_16_mc12_8_ssse3:                         199.9 ( 8.61x)
    put_h264_qpel_16_mc21_8_c:                            1624.5 ( 1.00x)
    put_h264_qpel_16_mc21_8_sse2:                          285.4 ( 5.69x)
    put_h264_qpel_16_mc21_8_ssse3:                         296.4 ( 5.48x)
    put_h264_qpel_16_mc22_8_c:                             963.9 ( 1.00x)
    put_h264_qpel_16_mc22_8_sse2:                          170.1 ( 5.67x)
    put_h264_qpel_16_mc22_8_ssse3:                         186.4 ( 5.17x)
    put_h264_qpel_16_mc23_8_c:                            1613.5 ( 1.00x)
    put_h264_qpel_16_mc23_8_sse2:                          274.6 ( 5.88x)
    put_h264_qpel_16_mc23_8_ssse3:                         300.4 ( 5.37x)
    put_h264_qpel_16_mc32_8_c:                            1735.9 ( 1.00x)
    put_h264_qpel_16_mc32_8_sse2:                          189.6 ( 9.15x)
    put_h264_qpel_16_mc32_8_ssse3:                         199.5 ( 8.70x)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  330. Change #245707

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 07 Oct 2025 18:06:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3049694e9f51d883c54c2c5500c8fd9d388536f9

    Comments

    avcodec/x86/h264_qpel: Split hv2_lowpass_sse2 into size 8,16 funcs
    This is beneficial size-wise: 384B of new asm functions are more
    than outweighted by 416B savings from simpler calls here (for size 16,
    the size 8 function had been called twice).
    It also makes the code more readable, as it allowed to remove
    several wrappers in h264_qpel.c.
    
    It is also beneficial performance-wise. Old benchmarks:
    avg_h264_qpel_16_mc12_8_c:                            1757.7 ( 1.00x)
    avg_h264_qpel_16_mc12_8_sse2:                          197.7 ( 8.89x)
    avg_h264_qpel_16_mc12_8_ssse3:                         204.6 ( 8.59x)
    avg_h264_qpel_16_mc21_8_c:                            1631.6 ( 1.00x)
    avg_h264_qpel_16_mc21_8_sse2:                          276.4 ( 5.90x)
    avg_h264_qpel_16_mc21_8_ssse3:                         290.7 ( 5.61x)
    avg_h264_qpel_16_mc22_8_c:                            1122.7 ( 1.00x)
    avg_h264_qpel_16_mc22_8_sse2:                          179.5 ( 6.25x)
    avg_h264_qpel_16_mc22_8_ssse3:                         181.8 ( 6.17x)
    avg_h264_qpel_16_mc23_8_c:                            1626.7 ( 1.00x)
    avg_h264_qpel_16_mc23_8_sse2:                          276.8 ( 5.88x)
    avg_h264_qpel_16_mc23_8_ssse3:                         290.9 ( 5.59x)
    avg_h264_qpel_16_mc32_8_c:                            1754.1 ( 1.00x)
    avg_h264_qpel_16_mc32_8_sse2:                          193.8 ( 9.05x)
    avg_h264_qpel_16_mc32_8_ssse3:                         203.6 ( 8.62x)
    put_h264_qpel_16_mc12_8_c:                            1733.6 ( 1.00x)
    put_h264_qpel_16_mc12_8_sse2:                          189.6 ( 9.14x)
    put_h264_qpel_16_mc12_8_ssse3:                         199.6 ( 8.69x)
    put_h264_qpel_16_mc21_8_c:                            1616.0 ( 1.00x)
    put_h264_qpel_16_mc21_8_sse2:                          284.3 ( 5.69x)
    put_h264_qpel_16_mc21_8_ssse3:                         296.5 ( 5.45x)
    put_h264_qpel_16_mc22_8_c:                             963.7 ( 1.00x)
    put_h264_qpel_16_mc22_8_sse2:                          169.9 ( 5.67x)
    put_h264_qpel_16_mc22_8_ssse3:                         186.1 ( 5.18x)
    put_h264_qpel_16_mc23_8_c:                            1607.2 ( 1.00x)
    put_h264_qpel_16_mc23_8_sse2:                          275.0 ( 5.84x)
    put_h264_qpel_16_mc23_8_ssse3:                         297.8 ( 5.40x)
    put_h264_qpel_16_mc32_8_c:                            1734.7 ( 1.00x)
    put_h264_qpel_16_mc32_8_sse2:                          189.4 ( 9.16x)
    put_h264_qpel_16_mc32_8_ssse3:                         199.4 ( 8.70x)
    
    New benchmarks:
    avg_h264_qpel_16_mc12_8_c:                            1743.7 ( 1.00x)
    avg_h264_qpel_16_mc12_8_sse2:                          189.7 ( 9.19x)
    avg_h264_qpel_16_mc12_8_ssse3:                         204.4 ( 8.53x)
    avg_h264_qpel_16_mc21_8_c:                            1637.7 ( 1.00x)
    avg_h264_qpel_16_mc21_8_sse2:                          267.7 ( 6.12x)
    avg_h264_qpel_16_mc21_8_ssse3:                         291.5 ( 5.62x)
    avg_h264_qpel_16_mc22_8_c:                            1150.3 ( 1.00x)
    avg_h264_qpel_16_mc22_8_sse2:                          164.6 ( 6.99x)
    avg_h264_qpel_16_mc22_8_ssse3:                         182.1 ( 6.32x)
    avg_h264_qpel_16_mc23_8_c:                            1635.3 ( 1.00x)
    avg_h264_qpel_16_mc23_8_sse2:                          268.5 ( 6.09x)
    avg_h264_qpel_16_mc23_8_ssse3:                         298.5 ( 5.48x)
    avg_h264_qpel_16_mc32_8_c:                            1740.6 ( 1.00x)
    avg_h264_qpel_16_mc32_8_sse2:                          182.6 ( 9.53x)
    avg_h264_qpel_16_mc32_8_ssse3:                         201.9 ( 8.62x)
    put_h264_qpel_16_mc12_8_c:                            1727.4 ( 1.00x)
    put_h264_qpel_16_mc12_8_sse2:                          188.1 ( 9.18x)
    put_h264_qpel_16_mc12_8_ssse3:                         199.6 ( 8.65x)
    put_h264_qpel_16_mc21_8_c:                            1623.5 ( 1.00x)
    put_h264_qpel_16_mc21_8_sse2:                          265.9 ( 6.11x)
    put_h264_qpel_16_mc21_8_ssse3:                         299.4 ( 5.42x)
    put_h264_qpel_16_mc22_8_c:                             954.0 ( 1.00x)
    put_h264_qpel_16_mc22_8_sse2:                          161.8 ( 5.89x)
    put_h264_qpel_16_mc22_8_ssse3:                         180.4 ( 5.29x)
    put_h264_qpel_16_mc23_8_c:                            1611.2 ( 1.00x)
    put_h264_qpel_16_mc23_8_sse2:                          265.8 ( 6.06x)
    put_h264_qpel_16_mc23_8_ssse3:                         300.3 ( 5.37x)
    put_h264_qpel_16_mc32_8_c:                            1734.5 ( 1.00x)
    put_h264_qpel_16_mc32_8_sse2:                          180.0 ( 9.63x)
    put_h264_qpel_16_mc32_8_ssse3:                         199.7 ( 8.69x)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/h264_qpel_8bit.asm
  331. Change #245709

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 07 Oct 2025 18:06:40
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 00225e9ebc943fdec451f826e342c821489a81f3

    Comments

    avcodec/x86/h264_qpel: Simplify macros
    1. Remove the OP parameter from the QPEL_H264* macros. These are
    a remnant of inline assembly and were forgotten in
    610e00b3594bf0f2a75713f20e9c4edf0d03a818.
    2. Pass the instruction set extension for the shift5 function
    explicitly in the macro instead of using magic #defines.
    3. Likewise, avoid magic #defines for (8|16)_v_lowpass_ssse3.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
  332. Change #245711

    Category ffmpeg
    Changed by Baptiste Coudurier <baptiste.coudurierohnoyoudont@gmail.com>
    Changed at Tue 07 Oct 2025 23:51:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ef60d5ac32a71d62e09630acc73b56f09a7d5ef2

    Comments

    general: fix warning 'av_malloc_array' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Wcalloc-transposed-args]
    Fixes trac ticket #11620

    Changed files

    • libavcodec/dsddec.c
    • libavcodec/vaapi_encode.c
    • libavcodec/vorbisenc.c
    • libavfilter/af_arnndn.c
    • libavfilter/af_astats.c
    • libavfilter/af_silencedetect.c
    • libavfilter/formats.c
    • libavfilter/vf_libopencv.c
    • libavfilter/vf_pixdesctest.c
    • libavutil/hwcontext_vulkan.c
    • libavutil/side_data.c
  333. Change #245713

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Wed 08 Oct 2025 02:27:49
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8e078826da6f2a1dffa25162121b43b272f5e5fa

    Comments

    avcodec/exr: check ac_size
    Fixes: out of array read
    Fixes: dwa_uncompress.py.crash.exr
    
    The code will read from the ac data even if ac_size is 0, thus that case
    is not implemented and we ask for a sample and error out cleanly
    
    Found-by: Google Big Sleep
    
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavcodec/exr.c
  334. Change #245715

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Wed 08 Oct 2025 02:27:49
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c911e0001115bbda904ad103b12c27b9a3c0c265

    Comments

    avcodec/exr: Round dc_w/h up
    Without rounding them up there are too few dc coeffs for the blocks.
    We do not know if this way of handling odd dimensions is correct, as we have
    no such DWA sample.
    thus we ask the user for a sample if she encounters such a file
    
    Fixes: out of array access
    Fixes: BIGSLEEP-445392027-crash.exr
    
    Found-by: Google Big Sleep
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavcodec/exr.c
  335. Change #245717

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Wed 08 Oct 2025 02:27:49
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7896cc67c13037abba8941e39a74c56d26b775a7

    Comments

    avcodec/exr: Check that DWA has 3 channels
    The implementation hardcodes access to 3 channels, so we need to check that
    Fixes: out of array access
    Fixes: BIGSLEEP-445394503-crash.exr
    
    Found-by: Google Big Sleep
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libavcodec/exr.c
  336. Change #245719

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 08 Oct 2025 20:40:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ec2fe94b3f0ebe90a9c9eeb8d40d8d8d1c42034c

    Comments

    avcodec/cavs: Remove unused parameter
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/cavs.c
  337. Change #245721

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 08 Oct 2025 20:40:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cc2e2f12cafe142779458d5a43f71def5c9ea4d8

    Comments

    avcodec/x86/cavsdsp: Fix vertical qpel motion compensation
    The prediction involves terms of the form
    (-1 * s0 - 2 * s1 + 96 * s2 + 42 * s3 - 7 * s4 + 64) >> 7,
    where the s values are in the range of 0..255.
    The sum can have values in the range -2550..35190, which
    does not fit into a signed 16bit integer. The code uses
    an arithmetic right shift, which does not yield the correct
    result for values >= 2^15; such values should be clipped
    to 255, yet are clipped to 0 instead.
    
    Fix this by shifting the values by 4096, so that the range
    is positive, use a logical right shift and subtract 32.
    
    bunny.mp4 from the FATE suite can be used to reproduce the problem.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/cavsdsp.c
  338. Change #245723

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 08 Oct 2025 20:40:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 54598238e42e4e4521d9676ccba93594c511aa17

    Comments

    tests/checkasm: Add CAVS qpel test
    This test already uncovered a bug in the vertical qpel motion
    compensation code.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • tests/checkasm/Makefile
    • tests/checkasm/cavsdsp.c
    • tests/checkasm/checkasm.c
    • tests/checkasm/checkasm.h
    • tests/fate/checkasm.mak
  339. Change #245725

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 08 Oct 2025 20:40:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 74a88c0c110fb4285b335629cf166a44d6dab9ea

    Comments

    avcodec/x86/cavsdsp: Add SSE2 mc20 horizontal motion compensation
    Basically a direct port of the MMXEXT one. The main difference
    is of course that one can process eight pixels (unpacked to words)
    at a time, leading to speedups.
    
    avg_cavs_qpel_pixels_tab[0][2]_c:                      700.1 ( 1.00x)
    avg_cavs_qpel_pixels_tab[0][2]_mmxext:                 158.1 ( 4.43x)
    avg_cavs_qpel_pixels_tab[0][2]_sse2:                    86.0 ( 8.14x)
    avg_cavs_qpel_pixels_tab[1][2]_c:                      171.9 ( 1.00x)
    avg_cavs_qpel_pixels_tab[1][2]_mmxext:                  39.4 ( 4.36x)
    avg_cavs_qpel_pixels_tab[1][2]_sse2:                    21.7 ( 7.92x)
    put_cavs_qpel_pixels_tab[0][2]_c:                      525.7 ( 1.00x)
    put_cavs_qpel_pixels_tab[0][2]_mmxext:                 148.5 ( 3.54x)
    put_cavs_qpel_pixels_tab[0][2]_sse2:                    75.2 ( 6.99x)
    put_cavs_qpel_pixels_tab[1][2]_c:                      129.5 ( 1.00x)
    put_cavs_qpel_pixels_tab[1][2]_mmxext:                  36.7 ( 3.53x)
    put_cavs_qpel_pixels_tab[1][2]_sse2:                    19.0 ( 6.81x)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/Makefile
    • libavcodec/x86/cavs_qpel.asm
    • libavcodec/x86/cavsdsp.c
  340. Change #245727

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 08 Oct 2025 20:40:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 650098955eb775f91e309941acf40ba8ffa253be

    Comments

    avcodec/x86/cavs_qpel: Add SSE2 vertical motion compensation
    This is not based on the MMXEXT one, because the latter is quite
    suboptimal: Motion vector types mc01 and mc03 (vertical motion vectors
    with remainder of one quarter or three quarter) use different neighboring
    lines for interpolation: mc01 uses two lines above and two lines below,
    mc03 one line above and three lines below. The MMXEXT code uses
    a common macro for all of them and therefore reads six lines
    before it processes them (even reading lines which are not used
    at all), leading to severe register pressure.
    
    Another difference to the old code is that the positive and negative
    parts of the sum to calculate are accumulated separately and
    the subtraction is performed with unsigned saturation, so
    that one can avoid biasing the sum.
    
    The fact that the mc01 and mc03 filter coefficients are mirrors
    of each other has been exploited to reduce mc01 to mc03.
    
    But of course the most important different difference between
    this code and the MMXEXT one is that XMM registers allow to
    process eight words at a time, ideal for 8x8 subblocks,
    whereas the MMXEXT code processes them in 4x8 or 4x16 blocks.
    
    Benchmarks:
    avg_cavs_qpel_pixels_tab[0][4]_c:                      917.0 ( 1.00x)
    avg_cavs_qpel_pixels_tab[0][4]_mmxext:                 222.0 ( 4.13x)
    avg_cavs_qpel_pixels_tab[0][4]_sse2:                    89.0 (10.31x)
    avg_cavs_qpel_pixels_tab[0][12]_c:                     885.7 ( 1.00x)
    avg_cavs_qpel_pixels_tab[0][12]_mmxext:                223.2 ( 3.97x)
    avg_cavs_qpel_pixels_tab[0][12]_sse2:                   88.5 (10.01x)
    avg_cavs_qpel_pixels_tab[1][4]_c:                      222.4 ( 1.00x)
    avg_cavs_qpel_pixels_tab[1][4]_mmxext:                  57.2 ( 3.89x)
    avg_cavs_qpel_pixels_tab[1][4]_sse2:                    23.3 ( 9.55x)
    avg_cavs_qpel_pixels_tab[1][12]_c:                     216.0 ( 1.00x)
    avg_cavs_qpel_pixels_tab[1][12]_mmxext:                 57.4 ( 3.76x)
    avg_cavs_qpel_pixels_tab[1][12]_sse2:                   22.6 ( 9.56x)
    put_cavs_qpel_pixels_tab[0][4]_c:                      750.9 ( 1.00x)
    put_cavs_qpel_pixels_tab[0][4]_mmxext:                 210.4 ( 3.57x)
    put_cavs_qpel_pixels_tab[0][4]_sse2:                    84.2 ( 8.92x)
    put_cavs_qpel_pixels_tab[0][12]_c:                     731.6 ( 1.00x)
    put_cavs_qpel_pixels_tab[0][12]_mmxext:                210.7 ( 3.47x)
    put_cavs_qpel_pixels_tab[0][12]_sse2:                   84.1 ( 8.70x)
    put_cavs_qpel_pixels_tab[1][4]_c:                      191.7 ( 1.00x)
    put_cavs_qpel_pixels_tab[1][4]_mmxext:                  53.8 ( 3.56x)
    put_cavs_qpel_pixels_tab[1][4]_sse2:                    24.5 ( 7.83x)
    put_cavs_qpel_pixels_tab[1][12]_c:                     179.1 ( 1.00x)
    put_cavs_qpel_pixels_tab[1][12]_mmxext:                 53.9 ( 3.32x)
    put_cavs_qpel_pixels_tab[1][12]_sse2:                   24.0 ( 7.47x)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/cavs_qpel.asm
    • libavcodec/x86/cavsdsp.c
    • libavcodec/x86/constants.c
    • libavcodec/x86/constants.h
    • libavcodec/x86/diracdsp.asm
  341. Change #245729

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 08 Oct 2025 20:40:08
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ad498f975980e18213a46e81fe146ef16da8ae9d

    Comments

    avcodec/x86/cavsdsp: Remove MMXEXT Qpeldsp
    Superseded by SSE2. Saves about 11630B here.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/cavsdsp.c
  342. Change #245731

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 08 Oct 2025 20:40:53
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 378d5bb08a460a3c34a3ea89cd442424e1d035df

    Comments

    avcodec/x86/fpel: Add blocksize x blocksize avg/put functions
    This commit deduplicates the wrappers around the fpel functions
    for copying whole blocks (i.e. height equaling width). It does
    this in a manner which avoids having push/pop function arguments
    when the calling convention forces one to pass them on the stack
    (as in 32bit systems).
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/cavsdsp.c
    • libavcodec/x86/fpel.asm
    • libavcodec/x86/fpel.h
    • libavcodec/x86/h264_qpel.c
    • libavcodec/x86/qpeldsp_init.c
  343. Change #245733

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 04:52:46
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4377affc28d92f759d1de15ac68ce07b1aa48810

    Comments

    avcodec/hevc/refs: don't unconditionally discard non-IRAP frames if no IRAP frame was seen before
    Should fix issue #20661
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/hevc/refs.c
  344. Change #245735

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 05:35:16
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 086597adae360a831a70346d6f733faea2ec5e26

    Comments

    avutil/attributes: don't force format checking to __gnu_printf__ on mingw build
    Use __MINGW_{PRINTF,SCANF}_FORMAT which matches the format check for
    implementation that is actually used.
    
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • configure
    • libavutil/attributes.h
  345. Change #245737

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 05:35:16
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision afad332d77278232662e6d8c95c2fc80cb44c8dd

    Comments

    avutil/attributes: use __has_attribute to test for format attribute
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • libavutil/attributes.h
  346. Change #245739

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Thu 09 Oct 2025 05:41:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9034ca30effd6ba00977bbcbe61e7e4852e4ef2e

    Comments

    avformat/flacdec: fix self assign warning

    Changed files

    • libavformat/flacdec.c
  347. Change #245741

    Category ffmpeg
    Changed by Kacper Michajłow <kasper93ohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 06:25:06
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3a8ea78b88d14ac2a3d6dddbf22a3f00ba1ee8d4

    Comments

    avutil/attributes: add AV_HAS_ATTRIBUTE
    Maybe useful and to fix MSVC preprocessor warnings.
    
    Fixes: afad332d77278232662e6d8c95c2fc80cb44c8dd
    Signed-off-by: Kacper Michajłow <kasper93@gmail.com>

    Changed files

    • libavutil/attributes.h
  348. Change #245743

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:28:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 67b28acba38e84a8140ec7bb1a8b1e1860476dd4

    Comments

    avcodec/sanm: codec23 improvements
    - don't draw outside the buffers
    - don't wrap around when coordinates go over the edge
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  349. Change #245745

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:28:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d18c25f1a9ccbc8ab9cd3193f31df546d8b4cbe2

    Comments

    avcodec/sanm: codec21 improvements
    - don't draw outside the buffers
    - don't wrap around when coordinates go over the edge
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  350. Change #245747

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:28:59
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision da4b88494cd1c7dbf03a54f3c9bce585b9bc12f2

    Comments

    avcodec/sanm: codec1 improvements
    - don't draw outside the buffers
    - don't wrap around when coordinates go over the edge
      this is especially noticeable in the e.g. O1OPEN.ANM, C1C3PO.ANM
      RA1 files with planets wrapping around.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  351. Change #245749

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision dfe4a0626fda3e12cb7dc2b41a33d9b3f92f6651

    Comments

    avcodec/sanm: codec31 improvements
    - don't draw outside the buffers
    - don't wrap around when coordinates go over the edge
      this is especially noticeable in the e.g. O1OPEN.ANM, C1C3PO.ANM
      RA1 files with planets wrapping around.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  352. Change #245751

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 24ce42b40628dd9f3f80cbe41383f63f58cc6d1f

    Comments

    avcodec/sanm: codec4 improvements
    - don't draw outside the buffers
    - don't wrap around when coordinates go over the edge
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  353. Change #245753

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 72e6206c88e41ac183b9765fd2ce14e47fe8ba03

    Comments

    avcodec/sanm: partially fix codec48
    The mv check introduced with d5bdb0b705ce broke MotS videos:
    - their height (300 lines) is 37,5 blocks; unfortunately the videos try to
      access up to 1 block more.
      Extend the mv check to the aligned_height, which fixes most artifacts.
    - don't return an error when an mv is invalid; rather skip the (subblock).
      Gets rid of almost all artifacts.
    
    Some artifacts still remain, esp in space scenes where the original
    encoder apparently fetched black pixels from outside of the aligned
    height.  An increase of the buffer size by 8 lines will fix that later.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  354. Change #245755

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f98cd66b4bc70f19b3053b445b5be71f2497940b

    Comments

    avcodec/sanm: codec47: read the small codebook
    codec47 carries a 4-byte small codebook in its header. Read those
    4 bytes into context member instead of awkwardly redirecting the
    bytestream pointer every time it needs to be accessed.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  355. Change #245757

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 043dafc4c2435ff9ceb37c70a0159fc6be43c97c

    Comments

    avcodec/sanm: codec37/47/48 size checks
    Add more size checks to old_codec37/47/48, esp. the headers.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  356. Change #245759

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision de7db62accc5bb1a5a8ee6da1ade9b38ba3d8c17

    Comments

    avcodec/sanm: rename process_block to codec47_block
    the new name better indicates where it belongs to.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  357. Change #245761

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 75b6937527b23456677ff454eb51cdf7c8794453

    Comments

    avcodec/sanm: reset rotate_code every iteration
    and eliminate the explicit reset in the other decoders that
    don't need it.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  358. Change #245763

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4d5e87eaa45749ba5c56b62d0cf50af81cb34930

    Comments

    Revert "avcodec/sanm: Check w,h,left,top"
    This reverts commit 134fbfd1dcb59441e38d870ddd231772f4e8e127.
    
    As it breaks valid uses of this in Rebel Assault 1 videos.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  359. Change #245765

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 49c552d066b4832cfdb21ff38a407dbc0d45b782

    Comments

    avcodec/sanm: restructure SANM like the other block codecs
    Restructe the SANM (or BL16 as LucasArts calls it) decoder to make it
    look like the others, as it is basically a development of old_codec47
    for rgb565 values.
    
    No functional changes.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  360. Change #245767

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b1a7f8b7cff4ad01236499a4a68c57c1b7c1a2e1

    Comments

    avcodec/sanm: factor out the ANIM decoding into separate function
    Mainly for readability. No functional changes.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  361. Change #245769

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2ef26c30ebd35ff8254a438bf316a047271acb8f

    Comments

    avcodec/sanm: implement BL16 subcodecs 1 and 7
    Both of these encode a quarter-sized keyframe, with missing pixels
    interpolated from the immediate neighbours.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  362. Change #245771

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3945d100efba0fd03df098f91c112b505cb343e2

    Comments

    avcodec/sanm: remove unused SANMFrameHeader
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  363. Change #245773

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:00
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7c205b53975ba56c02a4abc25867d3f19f25fd52

    Comments

    avcodec/sanm: rename motion_vectors[] table to c47_mv[]
    Rename the generic motion_vectors to c47_mv, as this vector table
    was initially introduced with codec47 which predates bl16 by 1-2 years,
    and bl16 is a development of codec47 (with a bit of c48 thrown in).
    
    No functional change.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  364. Change #245775

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a0c4dfc63bccb8c7d93b09e8e24daa406544c591

    Comments

    avcodec/sanm: handle FTCH on video start
    some videos have a FTCH at the start of the video, to restore the
    last image produced by the previous game file.  This leads to
    ugly messages like these:
    
    [sanm @ 0x7f18cc001980] [IMGUTILS @ 0x7f18d7ffe8e0] Picture size 0x0 is invalid
    [sanm @ 0x7f18cc001980] video_get_buffer: image parameters invalid
    [sanm @ 0x7f18cc001980] get_buffer() failed
    
    Fix this by not setting the got_frame_ptr when there is nothing to
    restore/fetch.  Seen with a lot of RA1 and the RA2 Level 11/12 videos.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  365. Change #245777

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b7e55ef8a168f794bb3fbd310423cbbaa206aa08

    Comments

    avcodec/sanm: per-fobj GetByteContext
    Create a separate GetByteContext from the general one, to be able
    to limit the size of the FOBJ to the size described in the tag size.
    Otherwise each fobj could theoretically use all the remaining data
    in the FRME (which also contains audio, subtitles, ...).
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  366. Change #245778

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision dd875f56b7fe0f04cf7c1c40faee5f7bad9db021

    Comments

    avcodec/sanm: invalidate STOR data when subversion changes
    since the STOR data is a different format.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  367. Change #245780

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d618577747e20c3aa179bd4b429910c77ec12b60

    Comments

    avcodec/sanm: check codec48 subblock mv index
    Codec48 opcodes F9 and FC take per-subblock indices into the motion vector
    table from the source stream, however the table has only 255 entries.
    Luckily, index 255 is index 0 of the following table, which means no
    motion vector, the same as index 0 of the current table.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  368. Change #245782

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b99b7a6f901c9e277998a1f409683a6678379a45

    Comments

    avcodec/sanm: change codec37 opcode FE to 4 2x2 blocks
    It was initially implemented as 4 4x1 blocks, reimplement it as 4 2x2 blocks.
    Fixes a few The Dig videos, esp. black dots on the asteroid in the
    intro scene.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  369. Change #245784

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0802044d81c0ab08f600d286a391e536021f6100

    Comments

    avcodec/sanm: codec48: reimplement block scaling
    Reimplement opcodes 0xFF and 0xFD the same way the c48 decoder
    in the "Mysteries of the Sith" game engine does it:
    The source pixel(s) and various pixels from inside the same and above
    block of the second to last image rendered to the destination buffer
    are used together with the interpolation table to generate a 4x4 pattern,
    which is then expanded by doubling each pixel horizontally and vertically
    to produce the final 8x8 block.
    
    This fixes visible artifacts in frames 25-50 of the S1L1OCS.SAN
    video of Mysteries of the Sith.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  370. Change #245786

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 70b04717d045f2bdd4e2145bb4c8c4a1c81fe90a

    Comments

    avcodec/sanm: distrust dimensions for ANIM in decode_init
    When decode_init() is called for ANIM content, zero the dimensions
    set in avctx width/height. Only SANM files have image dimensions in
    their header, while ANIM do not.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  371. Change #245788

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 556cef27d905d31f8299e124bbcb9f2931830eae

    Comments

    avcodec/sanm: enforce SANM min and max sizes at decode_init()
    Enforce at least 8x8 and at max 800x600 for SANM/BL16.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  372. Change #245790

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5f1f5dd2d404bc4d83078844652e04d5c6641c66

    Comments

    avcodec/sanm: guard against image area growing larger than buffer
    When checking for oversized frames, check not only for the width
    and height being larger, but also the area not outgrowing the
    allocated buffer.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  373. Change #245792

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4316914b393269fdfab675f1b1c5e75f78fe173d

    Comments

    avcodec/sanm: codec37: comp1: guard against invalid mv index
    the c37 mvtable has only 255 pairs, change index 255 to zero to
    avoid reading outside the table boundaries.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  374. Change #245794

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b6a9c4671a0412e90f2afa215672eb9115e7f69f

    Comments

    avcodec/sanm: reimplement XPAL algorithm identical to DOS smush engine
    This implements XPAL the same way the DOS/Windows players do, with an
    additional 768-entry table holding the palette left-shifted by 7 bits,
    and adding the deltapal values to this.
    
    This results in a perfectly smooth day-to-night transition in the last
    30 seconds of the Outlaws RAE.SAN (ending) video, while before there
    were visible brightness "pulses" when a new palette was loaded.
    It also fixes color banding in the The Dig Intro (sq1.san), in the
    scene showing the shuttle launch pad and the night sky.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  375. Change #245796

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a108be2ba3732abe6976787754a50bcbee9ffba0

    Comments

    avcodec/sanm: for ANIM codecs with own buffers, really check dimensions
    Codec37/47/48 have their own buffers; left/top are applied after
    the decoding is done when copying to the main buffer.  Don't add left/top
    to their width/height when doing checks against the established buffer sizes.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  376. Change #245798

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0eb58e40cbf0f18339994ce6a00408364d9b851b

    Comments

    avcodec/sanm: codec20 left/top offset support
    Add left/top offsets and clipping to codec20 (raw images),
    use it for the copying of codec37/47/48 images to main buffer.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  377. Change #245800

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 9e72b2f2d0a44f39181d70cee2fa31a15863ba40

    Comments

    avcodec/sanm: codec37/47/48 updates
    - align the incoming widths to 4(c37) / 8(c47/78) pixels. LucasArts
       game videos have these aligned.
    - since these codecs use their 2/3 buffers for themselves, adjust the
      stride to the aligned width, keeping it even, which gets rid of
      an unaligned store in c48_4to8() found by the fuzzer with an
      odd stride.
    - clear the whole diff buffer, not just the area described by w/h.
    - adjust the RLE "decoded_size" to the product of the aligned width
       and reported height.
    
    These changes are the result of various fuzzer-found issues; all my
    test videos still work fine.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  378. Change #245802

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d7d97ea32c46cf2a7073df411d492532060f56a1

    Comments

    avcodec/sanm: partially fix codec48 for Making Magic
    Making Magic makes use of codec48 flag bit 0, which, when set,
    means NOT to swap both buffers on even sequence numbers.
    
    This fixes most of the artifacts in the Making Magic videos.
    It's not complete though, bits 1 and 4 still need to be handled.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  379. Change #245804

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 72df8f271d6ee55e4db958e259c6b2642795443b

    Comments

    avcodec/sanm: implement 3 blits for codec37/47/48
    The various game engines implement the following blit types, from the decoded
    result to the main canvas:
    - normal (opaque) blit (c37/c47/c48)
    - masked blit (c37/c48)
    - interpolated-frame blit (c48)
      Here an artificial frame is generated by looking up the pixels
      from both buffers and picking a color from the interpolation table
      for the artificial frame.
      This is only supported in the decoder of "Making Magic".
    
    Implement and hook up these 3 schemes for each of the 3 compresstion types,
    and switch codec20 to a call to the opaque blit function.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  380. Change #245806

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision c46c1cb0dbb1a757be073afbe03a861eba00aecf

    Comments

    avcodec/sanm: remove rotate_code context member
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  381. Change #245808

    Category ffmpeg
    Changed by Manuel Lauss <manuel.laussohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 10:29:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision aa91ae25b88e195e6af4248e0ab30605735ca1cd

    Comments

    avcodec/sanm: minor comment and size detection changes
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>

    Changed files

    • libavcodec/sanm.c
  382. Change #245810

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 09 Oct 2025 11:29:25
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision aba84db96fb440403c162177d82e3f259db7432a

    Comments

    avformat/whip: add WHIP_US_PER_MS macro to replace 1000
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/whip.c
  383. Change #245812

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 09 Oct 2025 11:29:25
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 469aad38977e47574f019c8d69715dc7be74f92d

    Comments

    avformat/whip: add ICE consent freshness support
    Refer to RFC 9725 4.2,
    "Once a session is set up, consent freshness as per
    [RFC7675] SHALL be used to detect non-graceful
    disconnection by full ICE implementations and DTLS
    teardown for session termination by either side"
    
    Refer to RFC 7675,
    send STUN Binding request every 5s,
    expire consent after 30s without response,
    terminate session when the consent expired.
    
    TODO:
    Random consent check interval (4-6s) will be
    added later.
    
    Co-authored-by: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/whip.c
  384. Change #245814

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 09 Oct 2025 11:55:18
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b3793d9941516ea8c3511ca2b7db339148e3f122

    Comments

    avformat/whip: pass through buffer_size option to udp
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • doc/muxers.texi
    • libavformat/whip.c
  385. Change #245816

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 09 Oct 2025 11:55:18
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ec0a04de0d46b6104a4d92570b2412df5fafb483

    Comments

    avformat/whip: remind user increase -buffer_size
    The udp buffer size might be too small to easily
    be full temporarily and return WSAEWOULDBLOCK.
    The udp code will handle the windows error code
    and convert it to AVERROR(EAGAIN).
    
    This issue just can be reproduced on windows.
    
    If sleep a interval and retry to send pkt when hit
    EAGAIN, it will increase latency, and appropriate
    interval is hard to define.
    
    So this patch just remind user increase the buffer
    size via -buffer_size to avoid this issue.
    
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/whip.c
  386. Change #245818

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 09 Oct 2025 16:32:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 76b13ca0a6e53dd22f9b9a7be932bb41ec4ff887

    Comments

    avformat/whip: check the peer whether is ice lite
    See RFC 5245 Section 4.3
    If an agent is a lite implementation, it MUST include an "a=ice-lite"
    session-level attribute in its SDP.  If an agent is a full
    implementation, it MUST NOT include this attribute.
    
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/whip.c
  387. Change #245820

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 09 Oct 2025 16:32:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision bc6164eb6fa721322ef39040a559807b5e1f6c52

    Comments

    avformat/whip: remove WHIP_STATE_DTLS_CONNECTING
    This value is only useful when dtls handshake is NONBLOCK mode,
    dtls handshake just need to call ffurl_handshake once since it
    force block mode.
    
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/whip.c
  388. Change #245822

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 09 Oct 2025 16:32:03
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b43f8dec18608adce142f8a0e95714c40bc88802

    Comments

    avformat/whip: add macros to replace magic number
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • libavformat/whip.c
  389. Change #245824

    Category ffmpeg
    Changed by Jack Lau <jacklau1222ohnoyoudont@qq.com>
    Changed at Thu 09 Oct 2025 16:33:02
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a934d48440dbeca60b1ca701ce46cd7f3653021c

    Comments

    doc/muxers: correct default pkt_size value of whip
    Signed-off-by: Jack Lau <jacklau1222@qq.com>

    Changed files

    • doc/muxers.texi
  390. Change #245826

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 17:09:35
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d448d6d1a0a4cdc76499c137742fdd8b30b9e7de

    Comments

    avcodec/hevc/sei: prevent storing a potentially bogus num_ref_displays value in HEVCSEITDRDI
    Fixes: 439711052/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-4956250308935680
    Fixes: out of array access
    
    Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/hevc/sei.c
  391. Change #245828

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 17:09:35
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 8e01bff774aeacdeb8cc9fb5a6fe8c958bdfa704

    Comments

    avcodec/hevc/sei: don't attempt to use stale values in HEVCSEITDRDI
    Invalidate the whole struct on SEI reset.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/hevc/hevcdec.c
    • libavcodec/hevc/sei.c
    • libavcodec/hevc/sei.h
  392. Change #245830

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 17:09:35
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 41c168444e6a62aeef1e2f08378064316006e822

    Comments

    avcodec/hevc/sei: don't attempt to use stale values in HEVCSEITimeCode
    Invalidate the whole struct on SEI reset.
    
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavcodec/hevc/sei.h
  393. Change #245832

    Category ffmpeg
    Changed by Leo Izen <leo.izenohnoyoudont@gmail.com>
    Changed at Thu 09 Oct 2025 18:40:41
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision eab3b68237bb9b76425fbd75bda4dd69327d2928

    Comments

    avcodec/exif: avoid printing errors for makernote non-IFD parsing
    When we parse a MakerNote, we first try to parse it as an IFD and if
    that fails, we try to re-parse it as a binary blob. This is because
    MakerNote is not well-documented in its nature.
    
    However, if we fail to parse it the first time, we should not av_log
    error messages about the parse failure, so instead we log these as
    AV_LOG_DEBUG.
    
    Signed-off-by: Leo Izen <leo.izen@gmail.com>
    Reported-by: Ramiro Polla <ramiro.polla@gmail.com>

    Changed files

    • libavcodec/exif.c
  394. Change #245834

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 09 Oct 2025 22:45:09
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6f1ab828d3da168d28c65c03b80ad89a61c19d06

    Comments

    libavfilter/vf_libplacebo: add `temperature` option

    Changed files

    • doc/filters.texi
    • libavfilter/vf_libplacebo.c
  395. Change #245836

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 10 Oct 2025 16:27:57
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d96f8d32adfd4ea08c276cd2b6f10e7a3caf06fc

    Comments

    avcodec/x86/h264_qpel: Don't instantiate unused functions
    The v_lowpass wrappers (which are instantiated by this macro)
    are only used in the put (and not the avg) form for SSSE3
    (the avg form is only used for mc02, which doesn't exist
    for SSSE3). Clang warns about the unused functions.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/h264_qpel.c
  396. Change #245838

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 11 Oct 2025 07:51:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 10d3479da083bb86fdb149ba317a754279e884a0

    Comments

    avcodec/h263dec: Avoid redundant branch
    Only the MPEG-4 decoder can have partitioned frames here.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/h263dec.c
  397. Change #245840

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 11 Oct 2025 07:51:01
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision dad06a445f9aa3c19c01d9d4f0e98e00fefcd05b

    Comments

    avcodec/Makefile: Remove h263 decoder->mpeg4videodec.o dependency
    Also prefer using #if CONFIG_MPEG4_DECODER checks in order not
    to rely on DCE.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/Makefile
    • libavcodec/h263dec.c
    • libavcodec/ituh263dec.c
  398. Change #245842

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sat 11 Oct 2025 08:20:42
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ce9d1814449d6ff6323dd1030fb4c8d1093c6744

    Comments

    avcodec/mjpegdec: Remove unnecessary reloads
    Hint: The parts of this patch in decode_block_progressive()
    and decode_block_refinement() rely on the fact that GET_VLC
    returns -1 on error, so that it enters the codepaths for
    actually coded block coefficients.
    
    Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mjpegdec.c
  399. Change #245844

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sun 12 Oct 2025 02:43:29
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f84e06026ac4546fcc5242813de506f997d2b6fa

    Comments

    avcodec/x86/hpeldsp: Add SSE2 of {avg,put} no_rnd xy2 with blocksize 16
    Also remove the now superseded MMX versions (the new functions have the
    exact same codesize as the removed ones).
    
    Old benchmarks:
    avg_no_rnd_pixels_tab[0][3]_c:                         233.7 ( 1.00x)
    avg_no_rnd_pixels_tab[0][3]_mmx:                       121.5 ( 1.92x)
    put_no_rnd_pixels_tab[0][3]_c:                         171.4 ( 1.00x)
    put_no_rnd_pixels_tab[0][3]_mmx:                        82.6 ( 2.08x)
    
    New benchmarks:
    avg_no_rnd_pixels_tab[0][3]_c:                         233.3 ( 1.00x)
    avg_no_rnd_pixels_tab[0][3]_sse2:                       45.0 ( 5.18x)
    put_no_rnd_pixels_tab[0][3]_c:                         172.1 ( 1.00x)
    put_no_rnd_pixels_tab[0][3]_sse2:                       40.9 ( 4.21x)
    
    Reviewed-by: Kieran Kunhya <kieran@kunhya.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp.asm
    • libavcodec/x86/hpeldsp_init.c
  400. Change #245846

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sun 12 Oct 2025 02:45:25
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 4c55724da86ddc5ef10966f287a3d50fe1a1cbbe

    Comments

    avcodec/x86/hpeldsp: Add ff_put_no_rnd_pixels8_xy2_ssse3()
    Given that one has to deal with 16 byte intermediates it is
    unsurprising that SSE2 wins against MMX; the MMX version has
    therefore been removed (as well as the now unused inline_asm.h).
    The new function is even 32B smaller than the old MMX one.
    
    Old benchmarks:
    put_no_rnd_pixels_tab[1][3]_c:                          84.1 ( 1.00x)
    put_no_rnd_pixels_tab[1][3]_mmx:                        41.1 ( 2.05x)
    
    New benchmarks:
    put_no_rnd_pixels_tab[1][3]_c:                          84.0 ( 1.00x)
    put_no_rnd_pixels_tab[1][3]_ssse3:                      22.1 ( 3.80x)
    
    Reviewed-by: Kieran Kunhya <kieran@kunhya.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp.asm
    • libavcodec/x86/hpeldsp_init.c
    • libavcodec/x86/inline_asm.h
  401. Change #245848

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Sun 12 Oct 2025 02:45:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 36f92206bb90d6f0268749bd6fe6aa57974442db

    Comments

    avcodec/x86/hpeldsp: Improve ff_{avg,put}_pixels8_xy2_ssse3()
    This SSSE3 function uses MMX registers (of course without emms
    at the end) and processes eight bytes of input by unpacking
    it into two MMX registers. This is very suboptimal given
    that one can just use XMM registers to process eight words.
    This commit switches them to using XMM registers.
    
    Old benchmarks:
    avg_pixels_tab[1][3]_c:                                114.5 ( 1.00x)
    avg_pixels_tab[1][3]_ssse3:                             43.6 ( 2.62x)
    put_pixels_tab[1][3]_c:                                 83.6 ( 1.00x)
    put_pixels_tab[1][3]_ssse3:                             34.0 ( 2.46x)
    
    New benchmarks:
    avg_pixels_tab[1][3]_c:                                115.3 ( 1.00x)
    avg_pixels_tab[1][3]_ssse3:                             24.6 ( 4.69x)
    put_pixels_tab[1][3]_c:                                 83.8 ( 1.00x)
    put_pixels_tab[1][3]_ssse3:                             19.7 ( 4.24x)
    
    Reviewed-by: Kieran Kunhya <kieran@kunhya.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp.asm
  402. Change #245850

    Category ffmpeg
    Changed by Tong Wu <wutong1208ohnoyoudont@outlook.com>
    Changed at Sun 12 Oct 2025 03:50:57
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 10e9672a8caca79f0e2f097513d22128787f9ad2

    Comments

    avcodec/d3d12va_encode: use macros to set QP range and max frame size
    Signed-off-by: Tong Wu <wutong1208@outlook.com>

    Changed files

    • libavcodec/d3d12va_encode.c
  403. Change #245852

    Category ffmpeg
    Changed by zhanghongyuan <zhanghongyuanohnoyoudont@uniontech.com>
    Changed at Sun 12 Oct 2025 05:26:21
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0bc54cddb1050c3c55bc65adbd3c8aa90d7eb457

    Comments

    fftools/opt_common: add long-form license option
    Add "license" as a long-form command line option alongside the existing
    "L" short option for showing license information. This maintains
    consistent option naming patterns with other commands that provide both
    short and long forms (help/?/help, etc.) and improves command line
    usability by providing more descriptive option names.

    Changed files

    • doc/fftools-common-opts.texi
    • fftools/opt_common.h
  404. Change #245854

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 13 Oct 2025 18:58:50
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5d9a392bce7d9ad28f3ac5caa6c0d1fafaad89d5

    Comments

    tests/checkasm: Add VP3 loop filter test
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • tests/checkasm/Makefile
    • tests/checkasm/checkasm.c
    • tests/checkasm/checkasm.h
    • tests/checkasm/vp3dsp.c
    • tests/fate/checkasm.mak
  405. Change #245856

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 13 Oct 2025 18:58:50
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e3ca57ae8f21da56b1fe86dd575bc17c58bc6dc9

    Comments

    avcodec/x86/vp3dsp: Port loop filters to SSE2
    The old code operated on bytes and did lots of tricks
    due to their limited range; it did not completely succeed,
    which is why the old versions were not used when bitexact
    output was requested.
    
    In contrast, the new version is much simpler: It operates
    on signed 16 bit words whose range is more than sufficient.
    This means that these functions don't need a check for bitexactness
    (and can be used in FATE).
    
    Old benchmarks (for this, the AV_CODEC_FLAG_BITEXACT check has been
    removed from checkasm):
    h_loop_filter_c:                                        29.8 ( 1.00x)
    h_loop_filter_mmxext:                                   32.2 ( 0.93x)
    h_loop_filter_unaligned_c:                              29.9 ( 1.00x)
    h_loop_filter_unaligned_mmxext:                         31.4 ( 0.95x)
    v_loop_filter_c:                                        39.3 ( 1.00x)
    v_loop_filter_mmxext:                                   14.2 ( 2.78x)
    v_loop_filter_unaligned_c:                              38.9 ( 1.00x)
    v_loop_filter_unaligned_mmxext:                         14.3 ( 2.72x)
    
    New benchmarks:
    h_loop_filter_c:                                        29.2 ( 1.00x)
    h_loop_filter_sse2:                                     28.6 ( 1.02x)
    h_loop_filter_unaligned_c:                              29.0 ( 1.00x)
    h_loop_filter_unaligned_sse2:                           26.9 ( 1.08x)
    v_loop_filter_c:                                        38.3 ( 1.00x)
    v_loop_filter_sse2:                                     11.0 ( 3.47x)
    v_loop_filter_unaligned_c:                              35.5 ( 1.00x)
    v_loop_filter_unaligned_sse2:                           11.2 ( 3.18x)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/vp3.c
    • libavcodec/vp3dsp.c
    • libavcodec/x86/vp3dsp.asm
    • libavcodec/x86/vp3dsp_init.c
    • tests/checkasm/vp3dsp.c
  406. Change #245858

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 13 Oct 2025 18:59:24
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 5823ab347af64d7d6c4a1f223d38841bda076f77

    Comments

    avcodec/vp3dsp: Remove unused flags parameter from ff_vp3dsp_init()
    No longer necessary now that the x86 loop filter functions are
    bitexact.
    
    Reviewed-by: Sean McGovern <gseanmcg@gmail.com>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/arm/vp3dsp_init_arm.c
    • libavcodec/mips/vp3dsp_init_mips.c
    • libavcodec/ppc/vp3dsp_altivec.c
    • libavcodec/vp3.c
    • libavcodec/vp3dsp.c
    • libavcodec/vp3dsp.h
    • libavcodec/vp56.c
    • libavcodec/x86/vp3dsp_init.c
    • tests/checkasm/vp3dsp.c
  407. Change #245860

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Mon 13 Oct 2025 18:59:49
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 31f0749cd44dfbf9f970df412e7fac596c133dfb

    Comments

    avcodec/vp3: Optimize alignment check away when possible
    Check only on arches that need said check.
    
    (Btw: I do not see how h_loop_filter benefits from alignment
    at all and why h_loop_filter_unaligned exists.)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/vp3.c
    • libavcodec/vp3dsp.h
    • tests/checkasm/vp3dsp.c
  408. Change #245862

    Category ffmpeg
    Changed by Frank Plowman <postohnoyoudont@frankplowman.com>
    Changed at Mon 13 Oct 2025 20:05:36
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b0c77e5a126b00a02a63359ed279d6e8e966a963

    Comments

    lavc/vvc: Store RefStruct references to referenced PSs/headers in slice
    This loosens the coupling between CBS and the decoder by no longer using
    CodedBitstreamH266Context (containing the most recently parsed PSs & PH)
    to retrieve the PSs & PH in the decoder. Doing so is beneficial in two
    ways:
    1. It improves robustness to the case in which an AVPacket doesn't
       contain precisely one PU.
    2. It allows the decoder parameter set manager to properly handle the
       case in which a single PU (erroneously) contains conflicting
       parameter sets.
    
    Signed-off-by: Frank Plowman <post@frankplowman.com>

    Changed files

    • libavcodec/cbs_h2645.c
    • libavcodec/cbs_h266.h
    • libavcodec/vvc/dec.c
    • libavcodec/vvc/ps.c
    • libavcodec/vvc/ps.h
  409. Change #245864

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Tue 14 Oct 2025 12:31:15
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a24e0f536dc1056756ad56775a3d1564a2cb0a3f

    Comments

    avcodec/x86/hpeldsp_init: Remove check for inline mmx
    Forgotten in 4c55724da86ddc5ef10966f287a3d50fe1a1cbbe.
    
    Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/hpeldsp_init.c
  410. Change #245866

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Tue 14 Oct 2025 14:05:55
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6b961f5963d8e362137702d38a744b45fba8ba3a

    Comments

    avformat/mov: fix missing video size when some decoders are disabled
    Fix #20667
    
    Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>

    Changed files

    • libavformat/mov.c
  411. Change #245868

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Tue 14 Oct 2025 20:55:53
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0c6b7f9483a38657c9be824572b4c0c45d4d9fef

    Comments

    swscale/output: Fix integer overflow in yuv2ya16_X_c_template()
    Found-by: colod colod <colodcolod7@gmail.com>
    
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libswscale/output.c
  412. Change #245870

    Category ffmpeg
    Changed by Michael Niedermayer <michaelohnoyoudont@niedermayer.cc>
    Changed at Tue 14 Oct 2025 20:55:54
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 566e9032b1dee8ed4b8bf5faae0b1f9aa873197f

    Comments

    swscale/output: Fix unsigned cast position in  yuv2*
    Fixes: signed overflow
    
    Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>

    Changed files

    • libswscale/output.c
  413. Change #245872

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 15 Oct 2025 08:55:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ce499ebf96a6725aa1e00300e951b5036e0356e4

    Comments

    tests/checkasm/mpegvideoencdsp: Add test for add_8x8basis
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • tests/checkasm/mpegvideoencdsp.c
  414. Change #245874

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 15 Oct 2025 08:55:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cffd029e98cef5d102bdd32af1bd860b6821df4a

    Comments

    avcodec/x86/mpegvideoencdsp_init: Don't use slow path unnecessarily
    The only requirement of this code (and essentially the pmulhrsw
    instruction) is that the scaled scale fits into an int16_t.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/mpegvideoencdsp_init.c
  415. Change #245876

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 15 Oct 2025 08:55:13
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision f4a87d8ca4118b5130ff6ef332a5f20feb4bb9a7

    Comments

    avcodec/x86/mpegvideoencdsp_init: Use xmm registers in SSSE3 functions
    Improves performance and no longer breaks the ABI (by forgetting
    to call emms).
    
    Old benchmarks:
    add_8x8basis_c:                                         43.6 ( 1.00x)
    add_8x8basis_ssse3:                                     12.3 ( 3.55x)
    
    New benchmarks:
    add_8x8basis_c:                                         43.0 ( 1.00x)
    add_8x8basis_ssse3:                                      6.3 ( 6.79x)
    
    Notice that the output of try_8x8basis_ssse3 changes a bit:
    Before this commit, it computes certain values and adds the values
    for i,i+1,i+4 and i+5 before right shifting them; now it adds
    the values for i,i+1,i+8,i+9. The second pair in these lists
    could be avoided (by shifting xmm0 and xmm1 before adding both together
    instead of only shifting xmm0 after adding them), but the former
    i,i+1 is inherent in using pmaddwd. This is the reason that this
    function is not bitexact.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/mpegvideo_enc.c
    • libavcodec/x86/mpegvideoencdsp_init.c
    • tests/checkasm/mpegvideoencdsp.c
  416. Change #245877

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 15 Oct 2025 19:43:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision dcb28ed860166c9715afb7c71c70889e6b9b8c8d

    Comments

    avfilter/x86/vf_spp: Port store_slice to SSE2
    This allows to remove an emms_c from the filter. It also gives
    25% speedup here (when timing the calls to store_slice using
    START/STOP_TIMER).
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_spp.c
    • libavfilter/x86/vf_spp.c
  417. Change #245879

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Wed 15 Oct 2025 19:43:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 74a3c1ddb6f7aee90575697975b480d78dd78f4f

    Comments

    avfilter/x86/vf_pullup: Port pullup functions to SSE2, SSSE3
    The diff and var functions benefit from psadbw, comb from wider
    registers which allows to avoid reloading values, reducing the number
    of loads from 48 to 10. Performance increased by 117% (the loop
    in compute_metric() has been timed); codesize decreased by 144B.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_pullup.c
    • libavfilter/x86/vf_pullup.asm
    • libavfilter/x86/vf_pullup_init.c
  418. Change #245881

    Category ffmpeg
    Changed by James Almer <jamrialohnoyoudont@gmail.com>
    Changed at Wed 15 Oct 2025 22:49:11
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2e1d702cfc5c530c213361e6a1b77dca847a30e7

    Comments

    avformat/dump: fix log level passed to av_log when printing stream group side data
    Signed-off-by: James Almer <jamrial@gmail.com>

    Changed files

    • libavformat/dump.c
  419. Change #245883

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Thu 16 Oct 2025 05:22:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 0de3b1f3588e1fc9e292098902ac79d8dd9792bc

    Comments

    avformat/mov: don't shift sidx_pts
    sidx_pts is already in presentation time, so it shouldn't be shift
    by sc->time_offset again.
    
    Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>

    Changed files

    • libavformat/mov.c
  420. Change #245885

    Category ffmpeg
    Changed by Zhao Zhili <zhilizhaoohnoyoudont@tencent.com>
    Changed at Thu 16 Oct 2025 05:22:37
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision cd4b01707dd8275fb6f77e9a4d5ddd6fb02eaeef

    Comments

    Revert "avformat/movenc: sidx earliest_presentation_time is applied after editlist"
    This reverts commit 301141b57636c4430e7440e8ff4956daf9cb0fb3.
    
    cluster[0].dts, pts and frag_info[0].time are already in presentation
    timeline, so they shouldn't be shift by start_pts.
    
    Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>

    Changed files

    • libavformat/movenc.c
    • tests/ref/fate/movenc
  421. Change #245887

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 16 Oct 2025 18:41:18
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 94948bd6b95f2a39daa23477f06c12a828c1e562

    Comments

    avfilter/vf_noise: Make private context smaller
    "all" only exists to set options; it does not need the big arrays
    contained in FilterParams.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_noise.h
  422. Change #245889

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 16 Oct 2025 18:41:18
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 6a53a4e3417e80b6a5e575788f7ce0e6a6a2cff1

    Comments

    avfilter/vf_noise: Don't write beyond end-of-array
    This is not only UB, but also leads to races and nondeterministic
    output, because the write one last the end of the buffer actually
    conflicts with accesses by the thread that actually owns it.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_noise.c
  423. Change #245891

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 16 Oct 2025 18:41:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ece623b1b32f619116088b0ad203146544423788

    Comments

    avfilter/vf_noise: Fix race with very tall images
    When using averaged noise with height > MAX_RES (i.e. 4096),
    multiple threads would access the same prev_shift slot,
    leading to races. Fix this by disabling slice threading
    in such scenarios.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_noise.c
    • libavfilter/vf_noise.h
  424. Change #245893

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 16 Oct 2025 18:41:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 214b52df4341c610e0159618c08d96e823f26de8

    Comments

    avfilter/vf_noise: Avoid cast
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_noise.c
    • libavfilter/vf_noise.h
  425. Change #245895

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 16 Oct 2025 18:41:19
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision adfec0f52e689e9ff47863e7f36297a33d03dd3d

    Comments

    avfilter/x86/vf_noise: Make line_noise_avg_mmx() match C function
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/x86/vf_noise.c
  426. Change #245897

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 16 Oct 2025 19:09:45
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3ba570de8b666f5ae274b99d33cf4d4628cc385b

    Comments

    avfilter/x86/vf_noise: Port line_noise funcs to SSE2
    This avoids having to fix up ABI violations via emms_c and
    also leads to a 73% speedup for the line noise average version
    here.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_noise.c
    • libavfilter/x86/vf_noise.c
  427. Change #245899

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Thu 16 Oct 2025 19:10:51
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision b1f2eea1cd72f6ba01d2a3303462b9717a0d043a

    Comments

    avfilter/vf_noise: Deduplicate option flags
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavfilter/vf_noise.c
  428. Change #245901

    Category ffmpeg
    Changed by Niklas Haas <gitohnoyoudont@haasn.dev>
    Changed at Thu 16 Oct 2025 19:40:25
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision a45d30a67579f00926525ffd23c7a6b5470d77a0

    Comments

    avutil/hwcontext_vulkan: always enable baseline usage flags
    The documentation states that this field is for enabling "extra" usage
    flags. This conflicts with the implementation, and the rest of the comment,
    though.
    
    In resolving this ambiguity, I think it's better to lean towards the first
    sentence and treat this field purely as specifying *extra* usage flags to
    enable. Otherwise, this may break vulkan encoding or subsequent hwdownload
    if the upstream filter did not specifically advertise this.
    
    Change the default behavior and update the documentation slightly to more
    clearly document the semantics.

    Changed files

    • libavutil/hwcontext_vulkan.c
    • libavutil/hwcontext_vulkan.h
  429. Change #245903

    Category ffmpeg
    Changed by Martin Storsjö <martinohnoyoudont@martin.st>
    Changed at Thu 16 Oct 2025 20:58:54
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 36896af64a9ecf6835758186e7161a2e954c364d

    Comments

    movenc: Make the hybrid_fragmented mode more robust
    Write the moov tag at the end first, before overwriting the mdat size
    at the start of the file.
    
    In case writing the final moov box fails (e.g. due to being out
    of disk), we haven't broken the initial moov box yet.
    
    Thus if writing stops between these steps, we could end up with
    a file with two moov boxes - which arguably is more feasible to
    recover from, than from a file with no moov boxes at all.

    Changed files

    • libavformat/movenc.c
  430. Change #245905

    Category ffmpeg
    Changed by Michael Yang <adminohnoyoudont@my4ng.dev>
    Changed at Thu 16 Oct 2025 23:32:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 3fac2d85933c75b936884d6b7d3e14354ed65244

    Comments

    avfilter/vf_nlmeans_vulkan: rewrite filter
    This is a major rewrite of the exising nlmeans vulkan code, with bug
    fixes and major performance improvement.
    
    Fix visual artifacts found in ticket #10661, #10733. Add OOB checks for
    image loading and patch sized area around the border. Correct chroma
    plane height, strength and buffer barrier index.
    
    Improve parallelism with component workgroup axis and more but smaller
    workgroups. Split weights pass into vertical/horizontal (integral) and
    weights passes. Remove h/v order logic to always calculate sum on
    vertical pass. Remove atomic float requirement, which causes high memory
    locking contentions, at the cost of higher memory usage of w/s buffer.
    Use cache blocking in h pass to reduce memory bandwidth usage.

    Changed files

    • libavfilter/vf_nlmeans_vulkan.c
  431. Change #245907

    Category ffmpeg
    Changed by Michael Yang <michaely4ngohnoyoudont@proton.me>
    Changed at Thu 16 Oct 2025 23:32:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 2e12b3251d555e809b2cb3a61dc9a2e4adc44b80

    Comments

    libavfilter/vf_nlmeans_vulkan: clean up naming
    Add `nb_components` to push data.
    
    Rename `ws_total_*`` to `ws_*`.

    Changed files

    • libavfilter/vf_nlmeans_vulkan.c
  432. Change #245909

    Category ffmpeg
    Changed by Michael Yang <michaely4ngohnoyoudont@proton.me>
    Changed at Thu 16 Oct 2025 23:32:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 71ff349cc1a01484e638dd682dfe3a6aafeacd51

    Comments

    libavfilter/vf_nlmeans_vulkan: lower strength min
    Lower (per-component) strength minimum from 1.0 to 0.0, with 0.0 skipping
    integral and weights calculations.

    Changed files

    • libavfilter/vf_nlmeans_vulkan.c
  433. Change #245911

    Category ffmpeg
    Changed by Michael Yang <michaely4ngohnoyoudont@proton.me>
    Changed at Thu 16 Oct 2025 23:32:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 26dee5b43ee4831263e37eaea9e51a9ec8f3a34c

    Comments

    libavfilter/vf_nlmeans_vulkan: reverse img_bar

    Changed files

    • libavfilter/vf_nlmeans_vulkan.c
  434. Change #245913

    Category ffmpeg
    Changed by Michael Yang <michaely4ngohnoyoudont@proton.me>
    Changed at Thu 16 Oct 2025 23:32:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 7d65ce776311a75fc0f370143de04a70fa6eff71

    Comments

    libavfilter/vf_nlmeans_vulkan: clean up defaults
    Change per-plane strength defaults to -1.0.

    Changed files

    • libavfilter/vf_nlmeans_vulkan.c
  435. Change #245915

    Category ffmpeg
    Changed by Michael Yang <michaely4ngohnoyoudont@proton.me>
    Changed at Thu 16 Oct 2025 23:32:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision e8213f766f7dfadb258081b2fc8a6a6207e6cd02

    Comments

    libavfilter/vf_nlmeans_vulkan: amend doc

    Changed files

    • doc/filters.texi
    • libavfilter/vf_nlmeans_vulkan.c
  436. Change #245917

    Category ffmpeg
    Changed by Michael Yang <michaely4ngohnoyoudont@proton.me>
    Changed at Thu 16 Oct 2025 23:32:43
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 62d43ba2e3c5832cd70c2e852e0e416c7c74fb02

    Comments

    libavfilter/vf_nlmeans_vulkan: fix str defaults
    Revert back to NAN as -1.0 was erroneously to 0.0 to fit in the options
    range.
    
    Add special handling of str per requested.

    Changed files

    • libavfilter/vf_nlmeans_vulkan.c
  437. Change #245919

    Category ffmpeg
    Changed by Michael Yang <michaely4ngohnoyoudont@proton.me>
    Changed at Thu 16 Oct 2025 23:59:24
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 20051ed3af4c8c355b8749d7b59593fc9a56bf80

    Comments

    avcodec/vulkan_encode_av1: fix level index

    Changed files

    • libavcodec/vulkan_encode_av1.c
  438. Change #245921

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 17 Oct 2025 13:05:07
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 20c4608af84f96692fe6e912eea22a2f6ee92297

    Comments

    avcodec/x86/me_cmp: Add SSE2 sad 8,16 xy2 functions
    The new functions are faster than the existing exact
    functions, yet get beaten by the nonexact functions
    (they can avoid unpacking to words and back).
    The exact (slow) MMX functions have therefore been
    removed, which was actually beneficial size-wise
    (416B of new functions, 619B of functions removed).
    
    pix_abs_0_3_c:                                         216.8 ( 1.00x)
    pix_abs_0_3_mmx:                                        71.8 ( 3.02x)
    pix_abs_0_3_mmxext (approximative):                     17.6 (12.34x)
    pix_abs_0_3_sse2:                                       23.5 ( 9.23x)
    pix_abs_0_3_sse2 (approximative):                        9.9 (21.94x)
    
    pix_abs_1_3_c:                                          98.4 ( 1.00x)
    pix_abs_1_3_mmx:                                        36.9 ( 2.66x)
    pix_abs_1_3_mmxext (approximative):                      9.2 (10.73x)
    pix_abs_1_3_sse2:                                       14.8 ( 6.63x)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/me_cmp.asm
    • libavcodec/x86/me_cmp_init.c
  439. Change #245923

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 17 Oct 2025 13:05:07
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision 69a700043d79517b3b1896e2a737d07801150cdf

    Comments

    avcodec/x86/me_cmp: Remove MMXEXT functions overridden by SSE2
    The SSE2 function overriding them are currently only set
    if the SSE2SLOW flag is not set and if the codec is not Snow.
    The former affects only outdated processors (AMDs from
    before Barcelona (i.e. before 2007)) and is therefore irrelevant.
    Snow does not use the pix_abs function pointers at all,
    so this is also no obstacle.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/x86/me_cmp.asm
    • libavcodec/x86/me_cmp_init.c
  440. Change #245925

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 17 Oct 2025 13:05:07
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision d91b1559e0f61b7ee486c46854013d6c9ddb3e84

    Comments

    avcodec/x86/me_cmp: Replace MMXEXT size 16 funcs by unaligned SSE2 funcs
    Snow calls some of the me_cmp_funcs with insufficient alignment
    for the first pointer (see get_block_rd() in snowenc.c);
    therefore SSE2 functions which really need this alignment
    don't get set for Snow and 542765ce3eccbca587d54262a512cbdb1407230d
    consequently didn't remove MMXEXT functions which are overridden
    by these SSE2 functions for normal codecs.
    
    For reference, here is a command line which would segfault
    if one simply used the ordinary SSE2 functions for Snow:
    
    ./ffmpeg -i mm-short.mpg -an -vcodec snow -t 0.2 -pix_fmt yuv444p \
    -vstrict -2 -qscale 2 -flags +qpel -motion_est iter 444iter.avi
    
    This commit adds unaligned SSE2 versions of these functions
    and removes the MMXEXT ones. This in particular implies that
    sad 16x16 now never uses MMX which allows to remove an emms_c
    from ac3enc.c.
    
    Benchmarks (u means unaligned version):
    sad_0_c:                                                 8.2 ( 1.00x)
    sad_0_mmxext:                                           10.8 ( 0.76x)
    sad_0_sse2:                                              6.2 ( 1.33x)
    sad_0_sse2u:                                             6.7 ( 1.23x)
    
    vsad_0_c:                                               44.7 ( 1.00x)
    vsad_0_mmxext (approx):                                 12.2 ( 3.68x)
    vsad_0_sse2 (approx):                                    7.8 ( 5.75x)
    
    vsad_4_c:                                               88.4 ( 1.00x)
    vsad_4_mmxext:                                           7.1 (12.46x)
    vsad_4_sse2:                                             4.2 (21.15x)
    vsad_4_sse2u:                                            5.5 (15.96x)
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/ac3enc.c
    • libavcodec/x86/me_cmp.asm
    • libavcodec/x86/me_cmp_init.c
  441. Change #245927

    Category ffmpeg
    Changed by Andreas Rheinhardt <andreas.rheinhardtohnoyoudont@outlook.com>
    Changed at Fri 17 Oct 2025 13:27:56
    Repository https://git.ffmpeg.org/ffmpeg.git
    Project ffmpeg
    Branch master
    Revision ed007ad427a659667fd3b20e6b7bfebc2844c832

    Comments

    avcodec/x86/fpel: Port ff_put_pixels8_mmx() to SSE2
    This has the advantage of not violating the ABI by using
    MMX registers without issuing emms; it e.g. allows
    to remove an emms_c from bink.c.
    
    This commit uses GP registers on Unix64 (there are not
    enough volatile registers to do likewise on Win64) which
    reduces codesize and is faster on some CPUs.
    
    Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    Changed files

    • libavcodec/bink.c
    • libavcodec/x86/cavsdsp.c
    • libavcodec/x86/fpel.asm
    • libavcodec/x86/fpel.h
    • libavcodec/x86/hpeldsp_init.c
    • libavcodec/x86/qpeldsp_init.c
    • libavcodec/x86/vc1dsp_init.c