Skip to content

Commit a9f8c0b

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 2fbe1f7 + efdc6e8 commit a9f8c0b

File tree

919 files changed

+28108
-18864
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

919 files changed

+28108
-18864
lines changed

CREDITS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
See the Git history of the project (git://source.ffmpeg.org/ffmpeg) to
1+
See the Git history of the project (https://git.ffmpeg.org/ffmpeg) to
22
get the names of people who have contributed to FFmpeg.
33

44
To check the log, you can type the command "git log" in the FFmpeg
55
source directory, or browse the online repository at
6-
http://source.ffmpeg.org.
6+
https://git.ffmpeg.org/ffmpeg

Changelog

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@ Entries are sorted chronologically from oldest to youngest within each release,
22
releases are sorted from youngest to oldest.
33

44
version <next>:
5+
- libaribcaption decoder
6+
- Playdate video decoder and demuxer
7+
- Extend VAAPI support for libva-win32 on Windows
8+
- afireqsrc audio source filter
9+
- arls filter
10+
- ffmpeg CLI new option: -readrate_initial_burst
11+
- zoneplate video source filter
12+
- command support in the setpts and asetpts filters
13+
14+
version 6.0:
515
- Radiance HDR image support
616
- ddagrab (Desktop Duplication) video capture filter
717
- ffmpeg -shortest_buf_duration option

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,7 @@ LoongArch Shiyou Yin
543543
Mac OS X / PowerPC Romain Dolbeau, Guillaume Poirier
544544
Amiga / PowerPC Colin Ward
545545
Linux / PowerPC Lauri Kasanen
546+
RISC-V Rémi Denis-Courmont
546547
Windows MinGW Alex Beregszaszi, Ramiro Polla
547548
Windows Cygwin Victor Paesa
548549
Windows MSVC Matthew Oliver, Hendrik Leppkes

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ tools/target_io_dem_fuzzer$(EXESUF): tools/target_io_dem_fuzzer.o $(FF_DEP_LIBS)
6767

6868
tools/enum_options$(EXESUF): ELIBS = $(FF_EXTRALIBS)
6969
tools/enum_options$(EXESUF): $(FF_DEP_LIBS)
70+
tools/enc_recon_frame_test$(EXESUF): $(FF_DEP_LIBS)
71+
tools/enc_recon_frame_test$(EXESUF): ELIBS = $(FF_EXTRALIBS)
7072
tools/scale_slice_test$(EXESUF): $(FF_DEP_LIBS)
7173
tools/scale_slice_test$(EXESUF): ELIBS = $(FF_EXTRALIBS)
7274
tools/sofa2wavs$(EXESUF): ELIBS = $(FF_EXTRALIBS)

configure

Lines changed: 48 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ External library support:
218218
--enable-lcms2 enable ICC profile support via LittleCMS 2 [no]
219219
--enable-libaom enable AV1 video encoding/decoding via libaom [no]
220220
--enable-libaribb24 enable ARIB text and caption decoding via libaribb24 [no]
221+
--enable-libaribcaption enable ARIB text and caption decoding via libaribcaption [no]
221222
--enable-libass enable libass subtitles rendering,
222223
needed for subtitles and ass filter [no]
223224
--enable-libbluray enable BluRay reading using libbluray [no]
@@ -412,7 +413,7 @@ Toolchain options:
412413
--build-suffix=SUFFIX library name suffix []
413414
--enable-pic build position-independent code
414415
--enable-thumb compile for Thumb instruction set
415-
--enable-lto use link-time optimization
416+
--enable-lto[=arg] use link-time optimization
416417
--env="ENV=override" override the environment variables
417418
418419
Advanced options (experts only):
@@ -1805,6 +1806,7 @@ EXTERNAL_LIBRARY_LIST="
18051806
ladspa
18061807
lcms2
18071808
libaom
1809+
libaribcaption
18081810
libass
18091811
libbluray
18101812
libbs2b
@@ -2314,6 +2316,7 @@ SYSTEM_LIBRARIES="
23142316
bcrypt
23152317
vaapi_drm
23162318
vaapi_x11
2319+
vaapi_win32
23172320
vdpau_x11
23182321
"
23192322

@@ -2524,7 +2527,6 @@ CMDLINE_SELECT="
25242527
debug
25252528
extra_warnings
25262529
logging
2527-
lto
25282530
optimizations
25292531
rpath
25302532
stripping
@@ -2774,7 +2776,7 @@ asv1_encoder_select="aandcttables bswapdsp fdctdsp pixblockdsp"
27742776
asv2_decoder_select="blockdsp bswapdsp idctdsp"
27752777
asv2_encoder_select="aandcttables bswapdsp fdctdsp pixblockdsp"
27762778
atrac1_decoder_select="sinewin"
2777-
av1_decoder_select="av1_frame_split_bsf cbs_av1"
2779+
av1_decoder_select="av1_frame_split_bsf cbs_av1 atsc_a53"
27782780
bink_decoder_select="blockdsp hpeldsp"
27792781
binkaudio_dct_decoder_select="wma_freqs"
27802782
binkaudio_rdft_decoder_select="wma_freqs"
@@ -2898,6 +2900,7 @@ notchlc_decoder_select="lzf"
28982900
nuv_decoder_select="idctdsp"
28992901
opus_decoder_deps="swresample"
29002902
opus_encoder_select="audio_frame_queue"
2903+
pdv_decoder_deps="zlib"
29012904
png_decoder_select="inflate_wrapper"
29022905
png_encoder_select="deflate_wrapper llvidencdsp"
29032906
prores_decoder_select="blockdsp idctdsp"
@@ -2998,6 +3001,7 @@ cuvid_deps="ffnvcodec"
29983001
d3d11va_deps="dxva_h ID3D11VideoDecoder ID3D11VideoContext"
29993002
dxva2_deps="dxva2api_h DXVA2_ConfigPictureDecode ole32 user32"
30003003
ffnvcodec_deps_any="libdl LoadLibrary"
3004+
mediacodec_deps="android"
30013005
nvdec_deps="ffnvcodec"
30023006
vaapi_x11_deps="xlib_x11"
30033007
videotoolbox_hwaccel_deps="videotoolbox pthreads"
@@ -3158,7 +3162,7 @@ aac_mf_encoder_deps="mediafoundation"
31583162
ac3_mf_encoder_deps="mediafoundation"
31593163
av1_cuvid_decoder_deps="cuvid CUVIDAV1PICPARAMS"
31603164
av1_mediacodec_decoder_deps="mediacodec"
3161-
av1_mediacodec_decoder_extralibs="-landroid"
3165+
av1_mediacodec_encoder_deps="mediacodec"
31623166
av1_nvenc_encoder_deps="nvenc NV_ENC_PIC_PARAMS_AV1"
31633167
av1_nvenc_encoder_select="atsc_a53"
31643168
h263_v4l2m2m_decoder_deps="v4l2_m2m h263_v4l2_m2m"
@@ -3168,10 +3172,8 @@ h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser"
31683172
h264_cuvid_decoder_deps="cuvid"
31693173
h264_cuvid_decoder_select="h264_mp4toannexb_bsf"
31703174
h264_mediacodec_decoder_deps="mediacodec"
3171-
h264_mediacodec_decoder_extralibs="-landroid"
31723175
h264_mediacodec_decoder_select="h264_mp4toannexb_bsf h264_parser"
31733176
h264_mediacodec_encoder_deps="mediacodec"
3174-
h264_mediacodec_encoder_extralibs="-landroid"
31753177
h264_mediacodec_encoder_select="h264_metadata"
31763178
h264_mf_encoder_deps="mediafoundation"
31773179
h264_mmal_decoder_deps="mmal"
@@ -3190,10 +3192,8 @@ hevc_amf_encoder_deps="amf"
31903192
hevc_cuvid_decoder_deps="cuvid"
31913193
hevc_cuvid_decoder_select="hevc_mp4toannexb_bsf"
31923194
hevc_mediacodec_decoder_deps="mediacodec"
3193-
hevc_mediacodec_decoder_extralibs="-landroid"
31943195
hevc_mediacodec_decoder_select="hevc_mp4toannexb_bsf hevc_parser"
31953196
hevc_mediacodec_encoder_deps="mediacodec"
3196-
hevc_mediacodec_encoder_extralibs="-landroid"
31973197
hevc_mediacodec_encoder_select="hevc_metadata"
31983198
hevc_mf_encoder_deps="mediafoundation"
31993199
hevc_nvenc_encoder_deps="nvenc"
@@ -3227,6 +3227,7 @@ mpeg2_v4l2m2m_decoder_deps="v4l2_m2m mpeg2_v4l2_m2m"
32273227
mpeg4_crystalhd_decoder_select="crystalhd"
32283228
mpeg4_cuvid_decoder_deps="cuvid"
32293229
mpeg4_mediacodec_decoder_deps="mediacodec"
3230+
mpeg4_mediacodec_encoder_deps="mediacodec"
32303231
mpeg4_mmal_decoder_deps="mmal"
32313232
mpeg4_omx_encoder_deps="omx"
32323233
mpeg4_v4l2m2m_decoder_deps="v4l2_m2m mpeg4_v4l2_m2m"
@@ -3239,6 +3240,7 @@ vc1_qsv_decoder_select="qsvdec"
32393240
vc1_v4l2m2m_decoder_deps="v4l2_m2m vc1_v4l2_m2m"
32403241
vp8_cuvid_decoder_deps="cuvid"
32413242
vp8_mediacodec_decoder_deps="mediacodec"
3243+
vp8_mediacodec_encoder_deps="mediacodec"
32423244
vp8_qsv_decoder_select="qsvdec"
32433245
vp8_rkmpp_decoder_deps="rkmpp"
32443246
vp8_vaapi_encoder_deps="VAEncPictureParameterBufferVP8"
@@ -3247,6 +3249,7 @@ vp8_v4l2m2m_decoder_deps="v4l2_m2m vp8_v4l2_m2m"
32473249
vp8_v4l2m2m_encoder_deps="v4l2_m2m vp8_v4l2_m2m"
32483250
vp9_cuvid_decoder_deps="cuvid"
32493251
vp9_mediacodec_decoder_deps="mediacodec"
3252+
vp9_mediacodec_encoder_deps="mediacodec"
32503253
vp9_qsv_decoder_select="qsvdec"
32513254
vp9_rkmpp_decoder_deps="rkmpp"
32523255
vp9_vaapi_encoder_deps="VAEncPictureParameterBufferVP9"
@@ -3332,6 +3335,7 @@ libaom_av1_decoder_deps="libaom"
33323335
libaom_av1_encoder_deps="libaom"
33333336
libaom_av1_encoder_select="extract_extradata_bsf"
33343337
libaribb24_decoder_deps="libaribb24"
3338+
libaribcaption_decoder_deps="libaribcaption"
33353339
libcelt_decoder_deps="libcelt"
33363340
libcodec2_decoder_deps="libcodec2"
33373341
libcodec2_encoder_deps="libcodec2"
@@ -3362,7 +3366,6 @@ libopencore_amrwb_decoder_deps="libopencore_amrwb"
33623366
libopenh264_decoder_deps="libopenh264"
33633367
libopenh264_decoder_select="h264_mp4toannexb_bsf"
33643368
libopenh264_encoder_deps="libopenh264"
3365-
libopenjpeg_decoder_deps="libopenjpeg"
33663369
libopenjpeg_encoder_deps="libopenjpeg"
33673370
libopenmpt_demuxer_deps="libopenmpt"
33683371
libopus_decoder_deps="libopus"
@@ -3505,7 +3508,6 @@ xwma_demuxer_select="riffdec"
35053508

35063509
# indevs / outdevs
35073510
android_camera_indev_deps="android camera2ndk mediandk pthreads"
3508-
android_camera_indev_extralibs="-landroid -lcamera2ndk -lmediandk"
35093511
alsa_indev_deps="alsa"
35103512
alsa_outdev_deps="alsa"
35113513
avfoundation_indev_deps="avfoundation corevideo coremedia pthreads"
@@ -3828,15 +3830,15 @@ swscale_suggest="libm stdatomic"
38283830

38293831
avcodec_extralibs="pthreads_extralibs iconv_extralibs dxva2_extralibs lcms2_extralibs"
38303832
avfilter_extralibs="pthreads_extralibs"
3831-
avutil_extralibs="d3d11va_extralibs nanosleep_extralibs pthreads_extralibs vaapi_drm_extralibs vaapi_x11_extralibs vdpau_x11_extralibs"
3833+
avutil_extralibs="d3d11va_extralibs mediacodec_extralibs nanosleep_extralibs pthreads_extralibs vaapi_drm_extralibs vaapi_x11_extralibs vaapi_win32_extralibs vdpau_x11_extralibs"
38323834

38333835
# programs
38343836
ffmpeg_deps="avcodec avfilter avformat threads"
38353837
ffmpeg_select="aformat_filter anull_filter atrim_filter format_filter
38363838
hflip_filter null_filter
38373839
transpose_filter trim_filter vflip_filter"
38383840
ffmpeg_suggest="ole32 psapi shell32"
3839-
ffplay_deps="avcodec avformat swscale swresample sdl2"
3841+
ffplay_deps="avcodec avformat avfilter swscale swresample sdl2"
38403842
ffplay_select="rdft crop_filter transpose_filter hflip_filter vflip_filter rotate_filter"
38413843
ffplay_suggest="shell32"
38423844
ffprobe_deps="avcodec avformat"
@@ -4170,6 +4172,9 @@ for opt do
41704172
--enable-sdl)
41714173
enable sdl2
41724174
;;
4175+
--enable-lto*)
4176+
lto=-f${opt#--enable-}
4177+
;;
41734178
--enable-*=*|--disable-*=*)
41744179
eval $(echo "${opt%%=*}" | sed 's/--/action=/;s/-/ thing=/')
41754180
is_in "${thing}s" $COMPONENT_LIST || die_unknown "$opt"
@@ -4639,15 +4644,15 @@ icl_flags(){
46394644
# on Windows, does enable remarks so disable them here.
46404645
-Wall) echo $flag -Qdiag-disable:remark ;;
46414646
-std=c99) echo -Qstd=c99 ;;
4642-
-flto) echo -ipo ;;
4647+
-flto*) echo -ipo ;;
46434648
esac
46444649
done
46454650
}
46464651

46474652
icc_flags(){
46484653
for flag; do
46494654
case $flag in
4650-
-flto) echo -ipo ;;
4655+
-flto*) echo -ipo ;;
46514656
*) echo $flag ;;
46524657
esac
46534658
done
@@ -6567,6 +6572,7 @@ enabled libaom && require_pkg_config libaom "aom >= 1.0.0" aom/aom_co
65676572
enabled libaribb24 && { check_pkg_config libaribb24 "aribb24 > 1.0.3" "aribb24/aribb24.h" arib_instance_new ||
65686573
{ enabled gpl && require_pkg_config libaribb24 aribb24 "aribb24/aribb24.h" arib_instance_new; } ||
65696574
die "ERROR: libaribb24 requires version higher than 1.0.3 or --enable-gpl."; }
6575+
enabled libaribcaption && require_pkg_config libaribcaption "libaribcaption >= 0.1.0" "aribcaption/aribcaption.h" aribcc_context_alloc
65706576
enabled lv2 && require_pkg_config lv2 lilv-0 "lilv/lilv.h" lilv_world_new
65716577
enabled libiec61883 && require libiec61883 libiec61883/iec61883.h iec61883_cmp_connect -lraw1394 -lavc1394 -lrom1394 -liec61883
65726578
enabled libass && require_pkg_config libass "libass >= 0.11.0" ass/ass.h ass_library_init
@@ -6945,6 +6951,21 @@ test_cpp <<EOF && enable uwp && d3d11va_extralibs="-ldxgi -ld3d11"
69456951
#endif
69466952
EOF
69476953

6954+
# vaapi_win32 requires linking directly to dxgi if not building for
6955+
# the desktop api partition
6956+
test_cpp <<EOF && enable uwp && vaapi_win32_extralibs="-ldxgi"
6957+
#ifdef WINAPI_FAMILY
6958+
#include <winapifamily.h>
6959+
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
6960+
#error desktop, not uwp
6961+
#else
6962+
// WINAPI_FAMILY_APP, WINAPI_FAMILY_PHONE_APP => UWP
6963+
#endif
6964+
#else
6965+
#error no family set
6966+
#endif
6967+
EOF
6968+
69486969
# mediafoundation requires linking directly to mfplat if building for uwp target
69496970
enabled uwp && mediafoundation_extralibs="-lmfplat -lmfuuid -lole32 -lstrmiids" || mediafoundation_extralibs="-lmfuuid -lole32 -lstrmiids"
69506971

@@ -6955,7 +6976,14 @@ enabled vaapi &&
69556976
check_pkg_config vaapi "libva >= 0.35.0" "va/va.h" vaInitialize
69566977

69576978
if enabled vaapi; then
6958-
check_pkg_config vaapi_drm "libva-drm" "va/va_drm.h" vaGetDisplayDRM
6979+
case $target_os in
6980+
mingw32*|mingw64*|win32|win64)
6981+
check_pkg_config vaapi_win32 "libva-win32" "va/va_win32.h" vaGetDisplayWin32
6982+
;;
6983+
*)
6984+
check_pkg_config vaapi_drm "libva-drm" "va/va_drm.h" vaGetDisplayDRM
6985+
;;
6986+
esac
69596987

69606988
if enabled xlib_x11; then
69616989
check_pkg_config vaapi_x11 "libva-x11" "va/va_x11.h" vaGetDisplay
@@ -7182,17 +7210,17 @@ fi
71827210

71837211
check_optflags(){
71847212
check_cflags "$@"
7185-
enabled lto && check_ldflags "$@"
7213+
[ -n "$lto" ] && check_ldflags "$@"
71867214
}
71877215

71887216
check_optflags $optflags
71897217
check_optflags -fno-math-errno
71907218
check_optflags -fno-signed-zeros
71917219

7192-
if enabled lto; then
7220+
if [ -n "$lto" ]; then
71937221
test "$cc_type" != "$ld_type" && die "LTO requires same compiler and linker"
7194-
check_cflags -flto
7195-
check_ldflags -flto $cpuflags
7222+
check_cflags $lto
7223+
check_ldflags $lto $cpuflags
71967224
disable inline_asm_direct_symbol_refs
71977225
fi
71987226

@@ -7223,7 +7251,7 @@ if enabled icc; then
72237251
# icc 11.0 and 11.1 work with ebp_available, but don't pass the test
72247252
enable ebp_available
72257253
# The test above does not test linking
7226-
enabled lto && disable symver_asm_label
7254+
[ -n "$lto" ] && disable symver_asm_label
72277255
if enabled x86_32; then
72287256
icc_version=$($cc -dumpversion)
72297257
test ${icc_version%%.*} -ge 11 &&
@@ -7355,12 +7383,6 @@ esac
73557383

73567384
enable frame_thread_encoder
73577385

7358-
# these filters depend on removed avcodec APIs
7359-
# they are kept disabled for now, but will be removed if
7360-
# nobody updates and re-enables them
7361-
disable mcdeint_filter
7362-
disable uspp_filter
7363-
73647386
enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; }
73657387

73667388
check_deps $CONFIG_LIST \

0 commit comments

Comments
 (0)