Builder ffmpeg64-solaris10-sparc Build #12566
Results:
Failed shell_2 shell_3 shell_4 shell_5
SourceStamp:
Project | ffmpeg |
Repository | https://git.ffmpeg.org/ffmpeg.git |
Branch | master |
Revision | ed007ad427a659667fd3b20e6b7bfebc2844c832 |
Got Revision | ed007ad427a659667fd3b20e6b7bfebc2844c832 |
Changes | 441 changes |
BuildSlave:
unstable10sReason:
The SingleBranchScheduler scheduler named 'schedule-ffmpeg64-solaris10-sparc' triggered this build
Steps and Logfiles:
-
git update ( 1 mins, 38 secs )
-
shell 'gsed -i ...' ( 0 secs )
-
shell_1 'gsed -i ...' ( 0 secs )
-
shell_2 'gsed -i ...' failed ( 0 secs )
-
shell_3 './configure --samples="../../../ffmpeg/fate-suite" ...' failed ( 12 secs )
-
shell_4 'gmake fate-rsync' failed ( 0 secs )
-
shell_5 '../../../ffmpeg/fate.sh ../../../ffmpeg/fate_config_64.sh' failed ( 43 secs )
Build Properties:
Name | Value | Source |
---|---|---|
branch | master | Build |
builddir | /export/home/buildbot-unstable10s/slave/ffmpeg64-solaris10-sparc | slave |
buildername | ffmpeg64-solaris10-sparc | Builder |
buildnumber | 12566 | Build |
codebase | Build | |
got_revision | ed007ad427a659667fd3b20e6b7bfebc2844c832 | Git |
project | ffmpeg | Build |
repository | https://git.ffmpeg.org/ffmpeg.git | Build |
revision | ed007ad427a659667fd3b20e6b7bfebc2844c832 | Build |
scheduler | schedule-ffmpeg64-solaris10-sparc | Scheduler |
slavename | unstable10s | BuildSlave |
workdir | /export/home/buildbot-unstable10s/slave/ffmpeg64-solaris10-sparc | slave (deprecated) |
Forced Build Properties:
Name | Label | Value |
---|
Responsible Users:
- Andreas Rheinhardtandreas.rheinhardt@outlook.com
- Baptiste Coudurierbaptiste.coudurier@gmail.com
- Brad Smithbrad@comstyle.com
- Cameron Gutmanaicommander@gmail.com
- Derek Buitenhuisderek.buitenhuis@gmail.com
- Drew Dunneasdunne@google.com
- Frank Plowmanpost@frankplowman.com
- Georgii Zagoruikogeorge.zaguri@gmail.com
- Gyan Doshiffmpeg@gyani.pro
- Henrik Gramnergramner@twoorioles.com
- Jack Laujacklau1222@qq.com
- James Almerjamrial@gmail.com
- Jan Ekströmjan.ekstrom@24i.com
- Kaarle Ritvanenkaarle.ritvanen@datakunkku.fi
- Kacper Michajłowkasper93@gmail.com
- Koushik Dutta via ffmpeg-develffmpeg-devel@ffmpeg.org
- Krzysztof Pyrkoszffmpeg@szaka.eu
- Leo Izenleo.izen@gmail.com
- Lynnedev@lynne.ee
- Manuel Laussmanuel.lauss@gmail.com
- Martin Storsjömartin@martin.st
- Marton Balintcus@passwd.hu
- Marvin Scholzepirat07@gmail.com
- Michael Niedermayermichael@niedermayer.cc
- Michael Yangadmin@my4ng.dev
- Michael Yangmichaely4ng@proton.me
- Niklas Haasgit@haasn.dev
- Nikolay Aleksandrovrazor@blackwall.org
- Paul B Maholonemda@gmail.com
- Romain Beauxisromain.beauxis@gmail.com
- Rémi Denis-Courmontremi@remlab.net
- Sean McGoverngseanmcg@gmail.com
- Stadelmann, Danieldaniel.stadelmann@iis.fraunhofer.de
- Timo Rothenpielertimo@rothenpieler.org
- Tong Wuwutong1208@outlook.com
- Vittorio Palmisanovpalmisano@gmail.com
- Zhao Zhilizhilizhao@tencent.com
- asiveryasivery@protonmail.com
- rcombsrcombs@rcombs.me
- renjianguangrenjianguang@xiaomi.com
- zhanghongyuanzhanghongyuan@uniontech.com
Timing:
Start | Sat Oct 18 11:07:07 2025 |
End | Sat Oct 18 11:09:44 2025 |
Elapsed | 2 mins, 37 secs |
All Changes:
:
Change #244714
Category ffmpeg Changed by Niklas Haas <git @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
Change #244721
Category ffmpeg Changed by Krzysztof Pyrkosz <ffmpeg @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
Change #244730
Category ffmpeg Changed by Georgii Zagoruiko <george.zaguri @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
Change #244738
Category ffmpeg Changed by Marvin Scholz <epirat07 @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
Change #244746
Category ffmpeg Changed by Tong Wu <wutong1208 @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
Change #244755
Category ffmpeg Changed by Cameron Gutman <aicommander @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
Change #244765
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #244772
Category ffmpeg Changed by James Almer <jamrial @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
Change #244780
Category ffmpeg Changed by James Almer <jamrial @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
Change #244786
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244794
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244805
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244814
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244822
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244831
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244839
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244849
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244856
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #244863
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #244870
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244878
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244886
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244894
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244901
Category ffmpeg Changed by Martin Storsjö <martin @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
Change #244907
Category ffmpeg Changed by Martin Storsjö <martin @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
Change #244914
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244922
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244926
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #244931
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244938
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244941
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244945
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244950
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244955
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244963
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244968
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #244972
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #244976
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244980
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244985
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244989
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #244991
Category ffmpeg Changed by Martin Storsjö <martin @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
Change #244994
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #244998
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245002
Category ffmpeg Changed by Drew Dunne <asdunne @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
Change #245007
Category ffmpeg Changed by Marvin Scholz <epirat07 @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
Change #245011
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245015
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245020
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245023
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245026
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245030
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245034
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245038
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245043
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245047
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245051
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245055
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245059
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245063
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245067
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245071
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245075
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245079
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245083
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245087
Category ffmpeg Changed by James Almer <jamrial @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
Change #245091
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245096
Category ffmpeg Changed by renjianguang <renjianguang @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
Change #245098
Category ffmpeg Changed by Jan Ekström <jan.ekstrom @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
Change #245103
Category ffmpeg Changed by Jan Ekström <jan.ekstrom @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
Change #245107
Category ffmpeg Changed by Jan Ekström <jan.ekstrom @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
Change #245111
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245115
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245119
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245123
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245127
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245131
Category ffmpeg Changed by James Almer <jamrial @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
Change #245135
Category ffmpeg Changed by James Almer <jamrial @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
Change #245139
Category ffmpeg Changed by James Almer <jamrial @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
Change #245143
Category ffmpeg Changed by James Almer <jamrial @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
Change #245146
Category ffmpeg Changed by James Almer <jamrial @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
Change #245150
Category ffmpeg Changed by James Almer <jamrial @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
Change #245154
Category ffmpeg Changed by Cameron Gutman <aicommander @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
Change #245157
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245162
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245166
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245169
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245173
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245177
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245181
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245185
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245189
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245193
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245197
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245202
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245205
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245209
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245213
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245217
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245222
Category ffmpeg Changed by Marton Balint <cus @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
Change #245225
Category ffmpeg Changed by Marton Balint <cus @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
Change #245228
Category ffmpeg Changed by Marton Balint <cus @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
Change #245230
Category ffmpeg Changed by Marton Balint <cus @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
Change #245233
Category ffmpeg Changed by Marton Balint <cus @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
Change #245236
Category ffmpeg Changed by Marton Balint <cus @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
Change #245239
Category ffmpeg Changed by Marton Balint <cus @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
Change #245242
Category ffmpeg Changed by Marton Balint <cus @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
Change #245246
Category ffmpeg Changed by Marton Balint <cus @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
Change #245249
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245251
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245253
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245256
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245259
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245262
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245265
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245268
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245271
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245275
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245278
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245281
Category ffmpeg Changed by Henrik Gramner <gramner @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
Change #245284
Category ffmpeg Changed by Henrik Gramner <gramner @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
Change #245287
Category ffmpeg Changed by Lynne <dev @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
Change #245290
Category ffmpeg Changed by Lynne <dev @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
Change #245293
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245296
Category ffmpeg Changed by Brad Smith <brad @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
Change #245299
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245301
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245303
Category ffmpeg Changed by Niklas Haas <git @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
Change #245305
Category ffmpeg Changed by Niklas Haas <git @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
Change #245307
Category ffmpeg Changed by Niklas Haas <git @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
Change #245309
Category ffmpeg Changed by Niklas Haas <git @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
Change #245311
Category ffmpeg Changed by Niklas Haas <git @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
Change #245313
Category ffmpeg Changed by Niklas Haas <git @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
Change #245315
Category ffmpeg Changed by Niklas Haas <git @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
Change #245317
Category ffmpeg Changed by Niklas Haas <git @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
Change #245319
Category ffmpeg Changed by Niklas Haas <git @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
Change #245321
Category ffmpeg Changed by Niklas Haas <git @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
Change #245323
Category ffmpeg Changed by Krzysztof Pyrkosz <ffmpeg @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
Change #245325
Category ffmpeg Changed by zhanghongyuan <zhanghongyuan @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
Change #245327
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245329
Category ffmpeg Changed by Brad Smith <brad @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
Change #245331
Category ffmpeg Changed by Brad Smith <brad @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
Change #245333
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245336
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245338
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245340
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245342
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245344
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245346
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245348
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245350
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245352
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245354
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245356
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245358
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245360
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245362
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245364
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245366
Category ffmpeg Changed by asivery <asivery @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
Change #245368
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245370
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245372
Category ffmpeg Changed by Paul B Mahol <onemda @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
Change #245374
Category ffmpeg Changed by Krzysztof Pyrkosz <ffmpeg @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
Change #245376
Category ffmpeg Changed by Krzysztof Pyrkosz <ffmpeg @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
Change #245378
Category ffmpeg Changed by Derek Buitenhuis <derek.buitenhuis @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
Change #245380
Category ffmpeg Changed by rcombs <rcombs @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
Change #245382
Category ffmpeg Changed by Niklas Haas <git @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
Change #245384
Category ffmpeg Changed by Niklas Haas <git @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
Change #245386
Category ffmpeg Changed by Marvin Scholz <epirat07 @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
Change #245388
Category ffmpeg Changed by Marvin Scholz <epirat07 @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
Change #245390
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245392
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245394
Category ffmpeg Changed by Vittorio Palmisano <vpalmisano @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
Change #245396
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245398
Category ffmpeg Changed by rcombs <rcombs @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
Change #245400
Category ffmpeg Changed by Stadelmann, Daniel <daniel.stadelmann @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
Change #245402
Category ffmpeg Changed by Marvin Scholz <epirat07 @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
Change #245404
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245406
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245408
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245410
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245412
Category ffmpeg Changed by Lynne <dev @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
Change #245414
Category ffmpeg Changed by Lynne <dev @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
Change #245416
Category ffmpeg Changed by Niklas Haas <git @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
Change #245418
Category ffmpeg Changed by Vittorio Palmisano <vpalmisano @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
Change #245420
Category ffmpeg Changed by Leo Izen <leo.izen @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
Change #245422
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245424
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245426
Category ffmpeg Changed by James Almer <jamrial @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
Change #245428
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245430
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245432
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245434
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245436
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245437
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245439
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245441
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245443
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245445
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245447
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245449
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245451
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245453
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245455
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245457
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245459
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245461
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245463
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245465
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245466
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245468
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245470
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245472
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245474
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245476
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245479
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245481
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245483
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245485
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245486
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245489
Category ffmpeg Changed by Timo Rothenpieler <timo @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
Change #245490
Category ffmpeg Changed by Sean McGovern <gseanmcg @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
Change #245492
Category ffmpeg Changed by Sean McGovern <gseanmcg @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
Change #245494
Category ffmpeg Changed by James Almer <jamrial @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
Change #245496
Category ffmpeg Changed by James Almer <jamrial @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
Change #245498
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245500
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245502
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245504
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245506
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245508
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245510
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245512
Category ffmpeg Changed by Rémi Denis-Courmont <remi @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
Change #245514
Category ffmpeg Changed by Kaarle Ritvanen <kaarle.ritvanen @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
Change #245516
Category ffmpeg Changed by James Almer <jamrial @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
Change #245518
Category ffmpeg Changed by Gyan Doshi <ffmpeg @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
Change #245520
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245522
Category ffmpeg Changed by Koushik Dutta via ffmpeg-devel <ffmpeg-devel @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
Change #245524
Category ffmpeg Changed by Nikolay Aleksandrov <razor @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
Change #245526
Category ffmpeg Changed by Niklas Haas <git @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
Change #245528
Category ffmpeg Changed by Niklas Haas <git @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
Change #245530
Category ffmpeg Changed by Niklas Haas <git @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
Change #245532
Category ffmpeg Changed by Niklas Haas <git @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
Change #245534
Category ffmpeg Changed by Niklas Haas <git @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
Change #245536
Category ffmpeg Changed by Niklas Haas <git @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
Change #245538
Category ffmpeg Changed by Niklas Haas <git @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
Change #245540
Category ffmpeg Changed by Niklas Haas <git @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
Change #245542
Category ffmpeg Changed by Niklas Haas <git @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
Change #245544
Category ffmpeg Changed by Gyan Doshi <ffmpeg @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
Change #245546
Category ffmpeg Changed by Niklas Haas <git @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
Change #245548
Category ffmpeg Changed by Niklas Haas <git @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
Change #245550
Category ffmpeg Changed by Niklas Haas <git @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
Change #245552
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245554
Category ffmpeg Changed by Marton Balint <cus @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
Change #245556
Category ffmpeg Changed by Marton Balint <cus @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
Change #245559
Category ffmpeg Changed by Marton Balint <cus @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
Change #245561
Category ffmpeg Changed by Marton Balint <cus @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
Change #245563
Category ffmpeg Changed by Marton Balint <cus @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
Change #245565
Category ffmpeg Changed by Marton Balint <cus @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
Change #245567
Category ffmpeg Changed by Marton Balint <cus @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
Change #245569
Category ffmpeg Changed by Marton Balint <cus @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
Change #245571
Category ffmpeg Changed by Marton Balint <cus @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
Change #245573
Category ffmpeg Changed by Marton Balint <cus @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
Change #245575
Category ffmpeg Changed by James Almer <jamrial @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
Change #245577
Category ffmpeg Changed by James Almer <jamrial @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
Change #245579
Category ffmpeg Changed by James Almer <jamrial @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
Change #245581
Category ffmpeg Changed by Romain Beauxis <romain.beauxis @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
Change #245583
Category ffmpeg Changed by Romain Beauxis <romain.beauxis @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
Change #245585
Category ffmpeg Changed by Romain Beauxis <romain.beauxis @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
Change #245587
Category ffmpeg Changed by Romain Beauxis <romain.beauxis @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
Change #245589
Category ffmpeg Changed by Romain Beauxis <romain.beauxis @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
Change #245591
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245593
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245595
Category ffmpeg Changed by Marton Balint <cus @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
Change #245597
Category ffmpeg Changed by Cameron Gutman <aicommander @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
Change #245599
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245601
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245603
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245605
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245607
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245609
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245611
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245613
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245615
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245617
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245619
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245621
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245623
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245625
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245627
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245629
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245631
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245633
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245635
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245637
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245639
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245641
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245643
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245645
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245647
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245649
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245651
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245653
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245655
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245657
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245659
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245661
Category ffmpeg Changed by James Almer <jamrial @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
Change #245663
Category ffmpeg Changed by James Almer <jamrial @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
Change #245665
Category ffmpeg Changed by James Almer <jamrial @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
Change #245667
Category ffmpeg Changed by James Almer <jamrial @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
Change #245669
Category ffmpeg Changed by James Almer <jamrial @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
Change #245671
Category ffmpeg Changed by James Almer <jamrial @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
Change #245673
Category ffmpeg Changed by James Almer <jamrial @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
Change #245675
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245677
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245679
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245681
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245683
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245685
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245687
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245689
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245691
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245693
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245695
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245697
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245699
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245701
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245703
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245705
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245707
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245709
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245711
Category ffmpeg Changed by Baptiste Coudurier <baptiste.coudurier @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
Change #245713
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245715
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245717
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245719
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245721
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245723
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245725
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245727
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245729
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245731
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245733
Category ffmpeg Changed by James Almer <jamrial @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
Change #245735
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245737
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245739
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245741
Category ffmpeg Changed by Kacper Michajłow <kasper93 @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
Change #245743
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245745
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245747
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245749
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245751
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245753
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245755
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245757
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245759
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245761
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245763
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245765
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245767
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245769
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245771
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245773
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245775
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245777
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245778
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245780
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245782
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245784
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245786
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245788
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245790
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245792
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245794
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245796
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245798
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245800
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245802
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245804
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245806
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245808
Category ffmpeg Changed by Manuel Lauss <manuel.lauss @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
Change #245810
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245812
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245814
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245816
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245818
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245820
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245822
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245824
Category ffmpeg Changed by Jack Lau <jacklau1222 @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
Change #245826
Category ffmpeg Changed by James Almer <jamrial @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
Change #245828
Category ffmpeg Changed by James Almer <jamrial @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
Change #245830
Category ffmpeg Changed by James Almer <jamrial @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
Change #245832
Category ffmpeg Changed by Leo Izen <leo.izen @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
Change #245834
Category ffmpeg Changed by Niklas Haas <git @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
Change #245836
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245838
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245840
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245842
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245844
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245846
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245848
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245850
Category ffmpeg Changed by Tong Wu <wutong1208 @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
Change #245852
Category ffmpeg Changed by zhanghongyuan <zhanghongyuan @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
Change #245854
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245856
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245858
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245860
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245862
Category ffmpeg Changed by Frank Plowman <post @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
Change #245864
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245866
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245868
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245870
Category ffmpeg Changed by Michael Niedermayer <michael @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
Change #245872
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245874
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245876
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245877
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245879
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245881
Category ffmpeg Changed by James Almer <jamrial @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
Change #245883
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245885
Category ffmpeg Changed by Zhao Zhili <zhilizhao @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
Change #245887
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245889
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245891
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245893
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245895
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245897
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245899
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245901
Category ffmpeg Changed by Niklas Haas <git @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
Change #245903
Category ffmpeg Changed by Martin Storsjö <martin @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
Change #245905
Category ffmpeg Changed by Michael Yang <admin @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
Change #245907
Category ffmpeg Changed by Michael Yang <michaely4ng @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
Change #245909
Category ffmpeg Changed by Michael Yang <michaely4ng @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
Change #245911
Category ffmpeg Changed by Michael Yang <michaely4ng @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
Change #245913
Category ffmpeg Changed by Michael Yang <michaely4ng @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
Change #245915
Category ffmpeg Changed by Michael Yang <michaely4ng @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
Change #245917
Category ffmpeg Changed by Michael Yang <michaely4ng @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
Change #245919
Category ffmpeg Changed by Michael Yang <michaely4ng @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
Change #245921
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245923
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245925
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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
Change #245927
Category ffmpeg Changed by Andreas Rheinhardt <andreas.rheinhardt @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