Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3140 commits
Select commit Hold shift + click to select a range
9bf54cd
cbs_apv: Check tile component sizes
fhvwy May 3, 2025
e5640e6
libpostproc/tests: Factor ff_chksum() out
michaelni May 4, 2025
c644720
postproc/tests/.gitignore: Add temptest
michaelni May 4, 2025
2b63037
tests/fate/cbs: add tests for APV
jamrial May 5, 2025
0f751d3
avfilter/vf_setparams: Fix chroma_location being cleared
t-rapp Apr 30, 2025
d5f4a55
avutil/hwcontext_vulkan: Query the correct format
May 5, 2025
9537d91
avformat/cinedec: add support for additional Bayer CFA patterns for P…
maxrudolph May 6, 2025
8c920c4
Remove libpostproc
michaelni May 5, 2025
1b643e3
tests/fate/filter-video: Fix dependancy for codecview
michaelni May 5, 2025
244ad94
avcodec/liboapvenc: remove 4:4:4 support until it's properly handled
jamrial May 8, 2025
7f0b7b0
avcodec/sanm: ignore codec48 compression type 6
mlauss2 Apr 29, 2025
9369ebf
avcodec/sanm: recognize common FOBJ sizes
mlauss2 Apr 29, 2025
37064b2
avcodec/sanm: support "StarWars - Making Magic" video
mlauss2 May 1, 2025
aeea2de
avformat/apvdec: remove unused variable
ePirat May 5, 2025
43926e0
avcodec/mmvideo: fix palette index
michaelni May 8, 2025
ce1fd73
avformat/iff: Check nb_channels == 0 in MHDR
michaelni May 8, 2025
9230c93
avcodec/rv60dec: inter also fails with qp >= 32
michaelni May 8, 2025
4e5523c
avcodec/hevc/ps: Fix dependant layer id check
michaelni May 8, 2025
ce01c7f
avformat/wavdec: increase requested probe score for codec probe
cus May 8, 2025
4014784
fftools/ffmpeg: move elapsed time counter to the end of the status line
cus May 9, 2025
1cda5fe
avformat/hls: Return error code when read key file failed
quink-black Apr 30, 2025
8ce32a7
lavf: vvc_probe: lower probe score for invalid SPS/PPS/IRAP order to …
xiongweixiaoxxw May 11, 2025
fd5a3c5
avcodec/vorbisdec: Dont treat overread as error
michaelni Apr 6, 2025
74fd2c3
avcodec/h264_mb: Fix tmp_cr for arm
michaelni Apr 16, 2025
9980a0b
avformat/iamfdec: Check side_substream_id before use
michaelni Apr 22, 2025
a3c8fba
apv_decode: Multisymbol entropy decode
fhvwy May 5, 2025
1ad57a8
lavc: Add unit test for APV entropy decode
fhvwy May 5, 2025
1753d41
fate: Add test for APV 400-10 profile
fhvwy May 11, 2025
527d5ea
apv_decode: Discard invalid run codes earlier
fhvwy May 13, 2025
038314b
avcodec/exr: reindent after the previous change
jamrial May 14, 2025
62f3d7e
x86/vvcdec: misc, reordered functions in dsp_init for improved readab…
nuomi2021 Oct 5, 2024
dbd859a
x86/hevcdec: sao, refact out h26x macros
zackerthescar Oct 19, 2024
69f63c6
x86/hevcdec: refact, remove duplicate code in HEVC_SAO_{BAND, EDGE}_F…
zackerthescar Dec 21, 2024
bed1769
x86/vvcdec: sao, add avx2 support
zackerthescar Dec 14, 2024
45bea45
checkasm: add vvc_sao
zackerthescar Dec 14, 2024
5150d26
checkasm: hevc sao_edge, benchmarking inside the width loop is meanin…
nuomi2021 May 3, 2025
3004835
checkasm: hevc sao, use checkasm_check_padded
nuomi2021 May 3, 2025
3f94201
avformat/iamf_parse: increase PutBytes buffer when writing AAC extradata
jamrial May 10, 2025
889e7f2
compat/cuda: add device side printf function
BtbN May 14, 2025
c914fd2
avformat/av1dec: Remove redundant avio_tell()
mkver May 1, 2025
8588770
avformat/av1dec: Avoid branch for setting position
mkver May 1, 2025
b18aaf2
fftools/ffmpeg_dec: Always receive frames from decoder
mkver May 5, 2025
70fa44d
avcodec/vulkan_encode_h264: Fix memleak on error
mkver May 5, 2025
d794ecd
avcodec/vulkan_encode_hevc: Fix memleak on error
mkver May 5, 2025
f71d0f0
avcodec/apv_parser: Mark close as av_cold
mkver May 5, 2025
0d7172a
avcodec/cbs: Avoid branch
mkver May 5, 2025
6d54af6
libavformat/oggdec.h: Document packet function return value.
toots May 9, 2025
a9d39d6
libavformat/oggdec.{c, h}: Implement packet skip on packet return val…
toots May 9, 2025
1a5ed49
MAINTAINERS: Add entry for samples-request
michaelni May 11, 2025
6a47046
avformat/avidec: Ignore duplicate GAB2
michaelni May 9, 2025
76e29bb
avcodec/dnxuc_parser: Use ff_parse_close()
michaelni May 10, 2025
9fc2702
avformat/mov: reject negative ELST durations
michaelni May 10, 2025
39800d7
avformat/imf_cpl: do not continue looping forever
michaelni May 10, 2025
d28bec8
avformat/imf_cpl: fix indention after previous commit
michaelni May 10, 2025
fd0a792
avcodec/sonic: Check num_taps
michaelni May 10, 2025
c06f5b3
avcodec/svq3: Check there are bits left before decompression
michaelni May 10, 2025
8168ebd
tools/target_dec_fuzzer: Adjust threshold for WEBP
michaelni May 11, 2025
4a9d907
avcodec/4xm: Check frame_4cc before allocation
michaelni May 11, 2025
8e6db87
avcodec/takdec: Check remaining space for first predictors
michaelni May 11, 2025
05f8c8c
avformat/matroskadec: check that channels fit in signed 32bit int
michaelni May 11, 2025
23592f9
swscale/output: fix integer overflow in yuv2rgba64_full_1_c_template()
michaelni May 11, 2025
12b8535
Add tools/merge-all-source-plugins
michaelni May 14, 2025
a06b86a
tools/merge-all-source-plugins: Try merging a tag or branch matching …
michaelni May 15, 2025
f51c385
tools/merge-all-source-plugins: Check that there are no uncommited ch…
michaelni May 15, 2025
8f42d90
fftools/textformat: Apply formatting and whitespace changes
softworkz Apr 14, 2025
5f90eea
fftools/textformat: Apply quality improvements
softworkz Apr 29, 2025
4baeb9f
fftools/textformat: Remove unused print_rational() pointer from AVTex…
softworkz Apr 27, 2025
d225928
fftools/textformat: Rename name param to key for API consistency
softworkz Apr 27, 2025
4ff90f0
fftools/avtextformat: Re-use BPrint in loop
softworkz Apr 24, 2025
e4830b8
fftools/textformat: Introduce AVTextFormatOptions for avtext_context_…
softworkz Apr 23, 2025
cee7b8a
fftools/textformat: Introduce common header and deduplicate code
softworkz Apr 28, 2025
bb3a144
fftools/tf_internal: Use av_default_item_name
softworkz Apr 16, 2025
b71b444
fftools/textformat: Add flags param to function avtext_print_integer()
softworkz Apr 29, 2025
34bb7f5
fftools/ffmpeg_filter: Move some declaration to new header file
softworkz Apr 11, 2025
e2f3967
avfilter/avfilter: Add avfilter_link_get_hw_frames_ctx()
softworkz Apr 14, 2025
517a805
fftools/resources: Add resource manager files with build-time compres…
softworkz May 15, 2025
50fcc0c
fftools/ffmpeg_mux: Make ms_from_ost() inline
softworkz Apr 17, 2025
45926bc
fftools/graphprint: Add execution graph printing
softworkz May 15, 2025
1f2b8d7
fftools/graphprint: Now, make it a Killer-Feature!
softworkz May 15, 2025
3792cf5
avcodec/{x86,mips}/xvididct_init: Remove redundant checks
mkver Mar 27, 2025
476c701
avcodec/mpeg_er: Don't zero ThreadFrame* unnecessarily
mkver Mar 27, 2025
ca36689
avcodec/mpeg4videodec: Set [yd]c_scale_table during init
mkver Apr 30, 2025
6ce86c9
avcodec/mpeg4videodec: Permute quant matrices directly upon IDCT reinit
mkver May 1, 2025
728ef22
avcodec/vc1: Remove write-only qs_last
mkver Apr 30, 2025
4e2bac2
avcodec/vc1: Remove unused topleft,bottomright fields
mkver Apr 30, 2025
545724f
avcodec/mpeg4video: Pass parameters directly
mkver Mar 25, 2025
f82a753
avcodec/mpegvideo: Move [fb]_code to Mpeg4Dec and MPVEncContext
mkver Mar 25, 2025
2f971c7
avcodec/ituh263dec: Fix indentation
mkver Mar 25, 2025
1d5f660
avcodec/mpegvideo_dec: Notify users of reinit
mkver Mar 25, 2025
763b7ce
avcodec/rv34: Simplify updating thread context
mkver Mar 25, 2025
554b52b
avcodec/mpeg12dec: Remove disabled frame-threading code
mkver Apr 29, 2025
1f0af6b
avcodec/mpeg12dec: Don't reinit upon aspect ratio change
mkver Apr 30, 2025
53a0121
avcodec/mpeg12dec: Reinit upon chroma_format change
mkver Apr 30, 2025
88ce3da
avcodec/svq1enc: Remove always-false check
mkver Apr 30, 2025
6501500
avcodec/svq1enc: Allocate buffers during init
mkver Apr 30, 2025
8391553
avcodec/mpegvideo_dec: Move memcpy'ing ctx to mpeg4videodec.c
mkver Apr 29, 2025
bd6e649
avcodec/mpegvideo: Move clear_context() to mpeg4videodec.c
mkver Mar 25, 2025
dfb4477
avcodec/mpeg4videodec: Don't set chroma matrices unnecessarily
mkver Apr 30, 2025
2d4d7df
avcodec/mpeg4videodec: Keep skipped_last_frame in sync between threads
mkver May 1, 2025
c37fb99
avcodec/h263dec: Always output next, not current pic when flushing
mkver May 1, 2025
2865ebd
avcodec/mpeg4videodec,h263dec: Only set skipped_last_frame for !vop_c…
mkver May 1, 2025
bc81a79
avcodec/mpeg4videodec: Move setting has_b_frames to mpeg4video_parser.c
mkver May 1, 2025
505510a
avcodec/mpegvideo: Move parent to MPVEncContext
mkver Apr 30, 2025
79e2a84
Revert "fftools/graphprint: Now, make it a Killer-Feature!"
softworkz May 16, 2025
45daaf2
avcodec/mpeg12enc: Fix writing closed captions
mkver May 16, 2025
87b0561
build: fix windows build issue introduced by 45bea45
nuomi2021 May 15, 2025
a124c9a
Revert "fftools/textformat/avtextformat: Make close functions return …
cus May 7, 2025
0d6ef6f
fftools/textformat: correctly propagate uninit error codes
cus May 7, 2025
a6a510c
tests/fate/probe: add test for pcm misdetected as mp3 in wav
cus May 11, 2025
fe97bf8
tests/fate/probe: add test for dts in wav
cus May 11, 2025
02fe29f
avcodec/vvc/cabac: add 9.3.3.5 k-th order Exp - Golomb binarization p…
QSXW May 14, 2025
a7320ef
avcodec/vvc/cabac: add 9.3.3.7 Fixed-length binarization process
QSXW May 14, 2025
89ba1bb
avcodec/vvc/cabac: add palette support
QSXW May 14, 2025
d80041f
avcodec/vvc: add VVC_MAX_NUM_PALETTE_PREDICTOR_SIZE
QSXW May 14, 2025
cfea9b8
avcodec/vvc/ctu: refact out ff_vvc_channel_range
QSXW May 14, 2025
75e5fb6
avcodec/vvc: refact out ep_init and ep_init_wpp
QSXW May 14, 2025
d0f9151
avcodec/vvc: refact, save pf and ciip_flag in ff_vvc_set_intra_mvf
QSXW May 14, 2025
3ecf8f8
avcodec/vvc/ctu: refact out intra_data
QSXW May 14, 2025
fd85f83
avcodec/vvc/intra: add ff_vvc_palette_derive_scale
QSXW May 14, 2025
26215b8
avcodec/vvc/ctu: add palette support
QSXW May 14, 2025
95473fa
avcodec/vvc/filter: skip deblocking filter for palette
QSXW May 14, 2025
70a2d0d
avcodec/vvc/intra: add palette coding decoder
QSXW May 14, 2025
b9c5fb0
avcodec/vvc/cabac: add ff_vvc_cu_act_enabled_flag
QSXW May 14, 2025
c58357e
avcodec/vvc/ctu: read act_enabled_flag for adaptive color transform
QSXW May 14, 2025
d00a249
avcodec/vvc/ctu: fix derive_chroma_intra_pred_mode
QSXW May 14, 2025
8bdad76
avcodec/vvc/dsp: update the interface of pred_residual_joint for join…
QSXW May 14, 2025
fef573f
avcodec/vvc/dsp: add adaptive_color_transform
QSXW May 14, 2025
86e96a1
avcodec/vvc/intra: fix scaling process for transform coefficients
QSXW May 14, 2025
d2e7ca6
avcodec/vvc/intra: refact, predict jcbcr to tb->coeffs
QSXW May 14, 2025
ff1ecc7
avcodec/vvc/intra: make lmcs_scale_chroma inplace
QSXW May 14, 2025
0e4c0db
avcodec/vvc/intra: refact out lmcs_scale_chroma and add_residual
QSXW May 14, 2025
fd5d754
avcodec/vvc: add adaptive color transform support
QSXW May 14, 2025
a65d028
Changelog: VVC supports all content of SCC
QSXW May 14, 2025
88f2ccd
cbs_apv: Fix memory leak on metadata parse failure
fhvwy May 14, 2025
b5f26c4
avcodec/utvideoenc: Don't advertise unsupported option
mkver May 16, 2025
0105ff5
avcodec/libaribb24: change new lines to \n in ASS header
kasper93 May 10, 2024
597186b
avcodec/libaribcaption: change new lines to \n in ASS header
kasper93 May 10, 2024
eb6dc95
avcodec/libzvbi-teletextdec: change new lines to \n in ASS header
kasper93 May 10, 2024
f297ebf
tests/swscale: improve colorization of speedup
haasn Apr 23, 2025
51e9124
swscale/graph: expose ff_sws_graph_add_pass
haasn Feb 21, 2025
bc9696b
swscale/graph: make noop loop more robust
haasn Mar 6, 2025
d959447
swscale/graph: move vshift() and shift_img() to shared header
haasn Mar 6, 2025
6072e27
swscale/graph: prefer bools to ints
haasn Mar 6, 2025
06cee0c
doc: add swscale rewrite design document
haasn Mar 7, 2025
2070cc1
fftools/graphprint: Fix leak of graphprint object
fhvwy May 17, 2025
c18d1b6
fftools/graphprint: Fix leak of graph section header string
fhvwy May 17, 2025
20502ba
ffmpeg: Don't print graphs if there are no outputs yet
fhvwy May 17, 2025
0021484
avformat/mpegts: update stream info when PMT ES stream_type changes
pkoshevoy May 18, 2025
9fadd6d
doc: add htmlxref.cnf
jamrial May 14, 2025
95c43c6
tests/fate/pixfmt: fix definition of 16bit tests
jamrial May 18, 2025
bd2dcfa
tests/fate/matroska: Add container cropping test
mkver May 16, 2025
2fb6416
ogg/flac: implement header packet skip in chained ogg bitstreams.
toots May 6, 2025
9c5ed57
ogg/opus: implement header packet skip in chained ogg bitstreams.
toots May 6, 2025
c55d65a
configure: correct liboapv feature support
GyanD May 18, 2025
b6803bf
aarch64: increase default alignment for functions and constants
ramiropolla May 15, 2025
fd18ae8
avcodec/x86/vp9: Add AVX-512ICL for 16x16 and 32x32 8bpc inverse tran…
gramner-twoorioles May 16, 2025
ebbc7ff
ffv1enc_vulkan: merge all encoder variants into one file
cyanreg May 1, 2025
a4078ab
vulkan/ffv1: synchronize get_pred implementations between encoder and…
cyanreg May 1, 2025
69f83ba
ffv1enc_vulkan: get rid of temporary data for the setup shader
cyanreg May 2, 2025
7c0a8c0
ffv1enc_vulkan: unify EC code between setup and encode
cyanreg May 2, 2025
5259502
ffv1enc_vulkan: minor EC optimizations
cyanreg May 2, 2025
bd41838
ffv1enc_vulkan: switch to 2-line cache, unify prediction code
cyanreg May 1, 2025
8a2d921
ffv1_common: minor RGB optimization
cyanreg May 2, 2025
f69db91
ffv1enc_vulkan: use ff_get_encode_buffer
cyanreg May 3, 2025
a24ea37
vulkan_ffv1: fix PCM + cached symbol reader
cyanreg May 3, 2025
0156680
ffv1enc_vulkan: implement the cached EC writer from the decoder
cyanreg May 3, 2025
7576410
ffv1enc_vulkan: implement RCT search for level >= 4
cyanreg Nov 20, 2024
cb8f4b6
vulkan/ffv1: unify encode and decode get/put primitives
cyanreg May 6, 2025
7b45d9c
vulkan_ffv1: pipe through slice decoding status
cyanreg May 6, 2025
435db9b
vulkan: enable VK_KHR_shader_subgroup_rotate
cyanreg May 6, 2025
7c3c5c8
hwcontext_vulkan: correct image transfer usage flags
cyanreg May 12, 2025
eabb628
hwcontext_vulkan: only try exporting DMABUF memory on !WIN32 and only…
cyanreg May 12, 2025
4f7bc62
avformat/allformats: Move avisynth and dvdvideo under external librar…
quink-black May 12, 2025
1249776
Makefile: Remove postproc from ALLFFLIBS
quink-black May 12, 2025
f414038
configure: identify loong64 for loongarch
yinshiyou May 13, 2025
842fa19
hwcontext_vulkan: fix build with old Vulkan header versions
cyanreg May 20, 2025
431e2ca
avcodec/cuviddec: print error when queueing frames fails
BtbN May 20, 2025
d5a9f7b
avcodec/cuviddec: only flush cuvid when output queue is empty
BtbN May 20, 2025
66f5323
avcodec/rv60dec: Avoid branch when decoding cbp16
mkver May 18, 2025
bd63c37
avformat/avformat: Remove outdated io_close2 documentation
mkver May 17, 2025
36af32f
avcodec/tests/.gitignore: Add apv test tool
mkver May 17, 2025
a6f7b32
avcodec/ratecontrol: Fix wrong sizeof expression
mkver May 6, 2025
e12cbf6
avcodec/tests/avcodec: Check only frame-mt decoders set update_thread…
mkver May 16, 2025
a1e4be5
avcodec/mpegvideo_dec: Move ff_mpv_report_decode_progress() to h263dec.c
mkver May 16, 2025
5649767
avcodec/mpeg12dec: Set save_chroma_format also for VCR2
mkver May 16, 2025
562192e
avcodec/mpeg12dec: Remove redundant save_width/height
mkver May 16, 2025
f5f890f
avcodec/mpeg12dec: Remove nonsense comment
mkver May 17, 2025
0b3dae6
avcodec/mpeg12enc: Combine put_bits()
mkver May 17, 2025
0468b86
avcodec/svq3: Factor out decoding extradata
mkver May 15, 2025
cb54eca
avcodec/svq3: Improve returned error codes
mkver May 15, 2025
eacde6e
avcodec/svq3: Deduplicate allocating dummy frame
mkver May 15, 2025
b8ec4f7
avcodec/svq3: Allocate motion_val jointly
mkver May 15, 2025
f362a19
avcodec/svq3: Allocate picture buffers during init
mkver May 15, 2025
b981288
tests/fate/qt: Use passthrough fps_mode for svq3-watermark
mkver May 15, 2025
b6f84cd
avcodec/svq3: Improve returning last picture
mkver May 15, 2025
004cc60
avutil/avassert: Add av_unreachable() and av_assume() macros
mkver Oct 3, 2021
fc9e2a9
avcodec/amrwbdec: Mark default switch as unreachable
mkver Oct 3, 2021
b5824a6
avcodec/proresenc_anatoliy: Mark impossible case as unreachable
mkver Oct 3, 2021
7a27357
avcodec/mpeg4videodec: Mark impossible switch case as unreachable
mkver Oct 3, 2021
fc520cc
avcodec/pcm-dvdenc: Mark unreachable default cases as unreachable
mkver Oct 3, 2021
d7d1379
avcodec/vlc: Make code more readable with av_unreachable()
mkver Oct 3, 2021
22e6e4e
avcodec/utvideoenc: Remove always-false pixel format check
mkver Oct 3, 2021
988e319
avcodec/dolby_e_parse: Use av_unreachable instead of av_assert0(0)
mkver Oct 3, 2021
4484e9b
avcodec/put_bits: Allow to mark places where PutBitContext is flushed
mkver May 24, 2024
2df9c8d
avcodec/e?ac3enc: Inform compiler about PutBitContext being blank
mkver May 24, 2024
831a0d0
avcodec/speedhqenc: Use av_unreachable() for unreachable condition
mkver May 24, 2024
57696f7
avcodec/wmaenc: Use av_unreachable() instead of av_assert0(0)
mkver May 24, 2024
ef58de7
avcodec/mpegvideo_{dec,motion}: Mark unreachable code as unreachable
mkver May 24, 2024
5d0e8fa
avcodec/vlc: Make assert check more strict
mkver Oct 3, 2021
a359172
avcodec/mpegvideo encs: Add put_bits_assume_flushed() to encode_header
mkver May 6, 2025
2282a37
avcodec/rv20enc: Use av_assert1() instead of av_assert0()
mkver May 6, 2025
0bdb691
avcodec/vp9: Replace av_assert(0) by av_unreachable()
mkver May 6, 2025
85fb345
avcodec/adpcm: Use av_unreachable() instead of av_assert0()
mkver May 6, 2025
5653e0b
avcodec/mjpegenc_common: Use av_unreachable() instead of av_assert0(0)
mkver May 6, 2025
328ba54
avcodec/4xm: Use av_unreachable() instead of av_assert0(0)
mkver May 6, 2025
2a5ee83
avcodec/atrac3: Use av_unreachable() instead of av_assert1(0)
mkver May 6, 2025
f1b3e51
avcodec/amfenc_h264: improve B-frame usability and simplify options
OvchinnikovDmitrii May 16, 2025
4099d53
avfilter/vf_interlace_vulkan: fix FPS and PTS calculation
haasn May 21, 2025
c8b09fb
avutil/refstruct: Remove redundant check
mkver May 19, 2025
36ec921
avformat/dhav: fix backward scanning for get_duration and optimize se…
justinruggles Mar 21, 2025
2a180c7
libavformat/rtpdec_opus: Set duration field on Opus AVPacket
jbaudanza May 12, 2025
f566392
libavformat/rtpdec_opus: add fmtp parsing of sprop-maxcapturerate
Sep 26, 2022
b9b44e1
rtpdec: Set bitrate for pcm-mulaw audio
Sep 27, 2022
977d1a2
vulkan/ffv1: fix sync issue in cached bitstream reader/writer
cyanreg May 22, 2025
e93a43b
doc/examples/filter_audio: use av_err2str
tmatth May 22, 2025
9b9a287
doc/examples/qsv_decode: use av_err2str
tmatth May 22, 2025
db5e0e2
build: remove unused SLIBOBJS variable
ramiropolla May 16, 2025
a16c053
swscale/swscale_unscaled: fix planarCopyWrapper() for yuv444p => yuva…
ramiropolla May 18, 2025
0c1d87d
swscale/swscale_unscaled: fix packed30togbra10() for formats with bpc…
ramiropolla May 18, 2025
748e960
swscale/swscale_unscaled: fix packed16togbra16() for formats with bpc…
ramiropolla May 18, 2025
d028cf0
swscale/swscale_unscaled: fix planarRgbToplanarRgbWrapper() for forma…
ramiropolla May 18, 2025
8eae65d
avcodec/lcevcdec: don't try to write to output frames directly
jamrial May 16, 2025
1b3f484
avfilter/avfiltergraph: fix regression in picking channel layout
richardpl May 22, 2025
622a72b
tests/fate/ac3: add a second ac3_fixed encoder test
jamrial May 22, 2025
9c6c653
avformat/imfdec: inherit opaque from parent AVFormatContext
kasper93 May 17, 2025
a79720e
avformat/matroskadec: Accept WebVTT subtitles with empty cues
May 20, 2025
4f623b4
avfilter/vf_libplacebo: implement rotation option
haasn May 16, 2025
559317c
avfilter/vf_libplacebo: add shader_cache option
haasn May 14, 2025
8c509ba
tests/fate/ac3: Make ac3-fixed-encode-2 bitexact across arches
mkver May 23, 2025
56b85b6
aacdec_ac: fix signed overflow in ff_aac_ac_update_context()
cyanreg May 22, 2025
cbdb5e2
ffv1enc_vulkan: fix array overflow
g-maxime May 23, 2025
363a7a3
lavc/vvc/plt: validate run and signalled_entries
nuomi2021 May 17, 2025
a18b2c2
lavc/vvc: Detect subpic overlaps at CTU level
frankplow May 18, 2025
488edb9
add github workflow
nuomi2021 Feb 7, 2024
e572035
Add fuzz regression test
frankplow Apr 21, 2024
0fc5f37
Fix fuzz test path
frankplow Apr 21, 2024
f6ba5b7
workflow: remove yasm build, since it's disabled by ffmpeg upstream
nuomi2021 Nov 17, 2024
b82e00f
add fuzz failed test
nuomi2021 Nov 17, 2024
5e0eea8
workflow: add dvb 40 frames tests
nuomi2021 Mar 25, 2025
2f0267a
workflow: use fuzz flag for fuzz clips
nuomi2021 Mar 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
*.pnm -diff -text
Changelog merge=union
111 changes: 111 additions & 0 deletions .github/workflows/makefile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: test
run-name: ${{ github.workflow }} - ${{ github.sha }}
on:
push:
branches: [ main, up ]
pull_request:
branches: [ main, up ]
workflow_dispatch:


jobs:
ffvvc-test:
name: ffvvc-test / ${{ matrix.os.name }}/${{ matrix.compiler.name }}/${{ matrix.assembler.name }}
env:
configure_flags: --enable-ffmpeg --disable-everything --enable-decoder=vvc --enable-parser=vvc --enable-demuxer=vvc,mpegts --enable-protocol=file,pipe --enable-encoder=rawvideo,wrapped_avframe --enable-muxer=rawvideo,md5,null
strategy:
fail-fast: false
matrix:
os:
- { name: linux, runner: ubuntu-latest, shell: bash, runner_threads: 4 }
- { name: windows, runner: windows-latest, shell: 'msys2 {0}', runner_threads: 1 }
compiler:
- { name: gcc, flags: --cc=gcc }
- { name: clang, flags: --cc=clang }
- { name: msvc, flags: --toolchain=msvc }
- { name: clang-usan, flags: '--toolchain=clang-usan' }
- { name: clang-asan, flags: '--toolchain=clang-asan' }
assembler:
- { name: no asm, flags: --disable-asm }
- { name: nasm, flags: --as=nasm }
exclude:
# GitHub's Actions runners do not support AVX2.
- os: { name: linux, runner: ubuntu-latest, shell: bash, runner_threads: 4}
compiler: { name: msvc, flags: --toolchain=msvc }
- os: { name: linux, runner: ubuntu-latest, shell: bash, runner_threads: 4 }
assembler: { name: nasm, flags: --as=nasm }
# Address sanitizer cannot be run with handwritten assembly.
- compiler: { name: clang-asan, flags: '--toolchain=clang-asan' }
assembler: { name: nasm, flags: --as=nasm }
# Windows only supports MSVC.
- os: { name: windows, runner: windows-latest, shell: 'msys2 {0}', runner_threads: 1 }
compiler: { name: gcc, flags: --cc=gcc }
- os: { name: windows, runner: windows-latest, shell: 'msys2 {0}', runner_threads: 1 }
compiler: { name: clang, flags: --cc=clang }
- os: { name: windows, runner: windows-latest, shell: 'msys2 {0}', runner_threads: 1 }
compiler: { name: clang-usan, flags: '--toolchain=clang-usan' }
- os: { name: windows, runner: windows-latest, shell: 'msys2 {0}', runner_threads: 1 }
compiler: { name: clang-asan, flags: '--toolchain=clang-asan' }

runs-on: ${{ matrix.os.runner }}
defaults:
run:
shell: ${{ matrix.os.shell }}

steps:
- name: Get MSVC
if: ${{ matrix.compiler.name == 'msvc' && matrix.os.name == 'windows' }}
uses: ilammy/msvc-dev-cmd@v1

- name: Set up MSYS2
if: ${{ matrix.os.shell == 'msys2 {0}' }}
uses: msys2/setup-msys2@v2
with:
release: false
msystem: UCRT64
path-type: inherit
install: >-
make
diffutils

- name: Setup python package
run: python3 -m pip install tqdm pyyaml

- name: Get assembler
if: ${{ matrix.os.shell == 'msys2 {0}' && matrix.assembler.name != 'no asm' }}
run: pacman --noconfirm -S ${{ matrix.assembler.name }}

- name: Get source
uses: actions/checkout@v3
with:
path: FFmpeg

- name: Configure
run: cd FFmpeg && ./configure ${{ matrix.compiler.flags }} ${{ matrix.assembler.flags }} ${{ env.configure_flags }} || (tail ffbuild/config.log; false)

- name: Build
run: cd FFmpeg && make -j8

- name: Get tests
uses: actions/checkout@v3
with:
repository: ffvvc/tests
path: tests

- name: Unit test
run: python3 tests/tools/ffmpeg.py --threads ${{ matrix.os.runner_threads }} --ffmpeg-path=./FFmpeg/ffmpeg tests/conformance/passed

- name: DVB 40 frames test
run: python3 tests/tools/ffmpeg.py --threads 1 --ffmpeg-path=./FFmpeg/ffmpeg tests/conformance/dvb/40frames

- name: Check ASM
run: cd FFmpeg && make checkasm -j && ./tests/checkasm/checkasm

- name: Negative test
run: python3 tests/tools/ffmpeg.py --threads ${{ matrix.os.runner_threads }} --ffmpeg-path=./FFmpeg/ffmpeg tests/conformance/failed || true

- name: Check for fuzz regressions
run: python3 tests/tools/ffmpeg.py --threads ${{ matrix.os.runner_threads }} --ffmpeg-path=./FFmpeg/ffmpeg --fuzz tests/fuzz/passed

- name: Fuzz negative test
run: python3 tests/tools/ffmpeg.py --threads ${{ matrix.os.runner_threads }} --ffmpeg-path=./FFmpeg/ffmpeg --fuzz tests/fuzz/failed || tree
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
*.a
*.o
*.objs
*.o.*
*.d
*.def
Expand Down Expand Up @@ -41,3 +42,6 @@
/src
/mapfile
/tools/python/__pycache__/
/libavcodec/vulkan/*.c
/libavfilter/vulkan/*.c
/.*/
42 changes: 42 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@ Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.

version <next>:
- yasm support dropped, users need to use nasm
- VVC VAAPI decoder
- RealVideo 6.0 decoder
- OpenMAX encoders deprecated
- libx265 alpha layer encoding
- ADPCM IMA Xbox decoder
- Enhanced FLV v2: Multitrack audio/video, modern codec support
- Animated JPEG XL encoding (via libjxl)
- VVC in Matroska
- CENC AV1 support in MP4 muxer
- pngenc: set default prediction method to PAETH
- APV decoder and APV raw bitstream muxing and demuxing
- APV parser
- APV encoding support through a libopenapv wrapper
- VVC decoder supports all content of SCC (Screen Content Coding):
IBC (Inter Block Copy), Palette Mode and ACT (Adaptive Color Transform


version 7.1:
- Raw Captions with Time (RCWT) closed caption demuxer
- LC3/LC3plus decoding/encoding using external library liblc3
- ffmpeg CLI filtergraph chaining
Expand All @@ -18,6 +37,29 @@ version <next>:
- D3D12VA HEVC encoder
- Cropping metadata parsing and writing in Matroska and MP4/MOV de/muxers
- Intel QSV-accelerated VVC decoding
- MediaCodec AAC/AMR-NB/AMR-WB/MP3 decoding
- YUV colorspace negotiation for codecs and filters, obsoleting the
YUVJ pixel format
- Vulkan H.264 encoder
- Vulkan H.265 encoder
- stream specifiers in fftools can now match by stream disposition
- LCEVC enhancement data exporting in H.26x and MP4/ISOBMFF
- LCEVC filter
- MV-HEVC decoding
- minor stream specifier syntax changes:
- when matching by metadata (:m:<key>:<val>), the colon character
in keys or values now has to be backslash-escaped
- in optional maps (-map ....?) with a metadata-matching stream specifier,
the value has to be separated from the question mark by a colon, i.e.
-map ....:m:<key>:<val>:? (otherwise it would be ambiguous whether the
question mark is a part of <val> or not)
- multiple stream types in a single specifier (e.g. :s:s:0) now cause an
error, as such a specifier makes no sense
- Mastering Display and Content Light Level metadata support in hevc_nvenc
and av1_nvenc encoders
- libswresample now accepts custom order channel layouts as input, with some
constrains
- FFV1 parser


version 7.0:
Expand Down
11 changes: 11 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
## Installing FFmpeg

0. If you like to include source plugins, merge them before configure
for example run tools/merge-all-source-plugins

1. Type `./configure` to create the configuration. A list of configure
options is printed by running `configure --help`.

Expand All @@ -15,3 +18,11 @@ NOTICE
------

- Non system dependencies (e.g. libx264, libvpx) are disabled by default.

NOTICE for Package Maintainers
------------------------------

- It is recommended to build FFmpeg twice, first with minimal external dependencies so
that 3rd party packages, which depend on FFmpegs libavutil/libavfilter/libavcodec/libavformat
can then be built. And last build FFmpeg with full dependancies (which may in turn depend on
some of these 3rd party packages). This avoids circular dependencies during build.
2 changes: 0 additions & 2 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ configure to activate them. In this case, FFmpeg's license changes to GPL v2+.

Specifically, the GPL parts of FFmpeg are:

- libpostproc
- optional x86 optimization in the files
- `libavcodec/x86/flac_dsp_gpl.asm`
- `libavcodec/x86/idct_mmx.c`
Expand Down Expand Up @@ -45,7 +44,6 @@ Specifically, the GPL parts of FFmpeg are:
- `vf_owdenoise.c`
- `vf_perspective.c`
- `vf_phase.c`
- `vf_pp.c`
- `vf_pp7.c`
- `vf_pullup.c`
- `vf_repeatfields.c`
Expand Down
Loading
Loading