Skip to content

Commit 18d8be0

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents fe58691 + 9f7e51e commit 18d8be0

File tree

720 files changed

+21677
-12393
lines changed

Some content is hidden

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

720 files changed

+21677
-12393
lines changed

Changelog

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,27 @@ version <next>:
2828
- showcwt multimedia filter
2929
- corr video filter
3030
- adrc audio filter
31+
- afdelaysrc audio filter
32+
- WADY DPCM decoder and demuxer
33+
- CBD2 DPCM decoder
34+
- ssim360 video filter
35+
- ffmpeg CLI new options: -stats_enc_pre[_fmt], -stats_enc_post[_fmt],
36+
-stats_mux_pre[_fmt]
37+
- hstack_vaapi, vstack_vaapi and xstack_vaapi filters
38+
- XMD ADPCM decoder and demuxer
39+
- media100 to mjpegb bsf
40+
- ffmpeg CLI new option: -fix_sub_duration_heartbeat
41+
- WavArc decoder and demuxer
42+
- CrystalHD decoders deprecated
43+
- SDNS demuxer
44+
- RKA decoder and demuxer
45+
- filtergraph syntax in ffmpeg CLI now supports passing file contents
46+
as option values, by prefixing option name with '/'
47+
- hstack_qsv, vstack_qsv and xstack_qsv filters
3148

3249

3350
version 5.1:
34-
- add ipfs/ipns protocol support
51+
- add ipfs/ipns gateway support
3552
- dialogue enhance audio filter
3653
- dropped obsolete XvMC hwaccel
3754
- pcm-bluray encoder

MAINTAINERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,6 @@ Codecs:
151151
ccaption_dec.c Anshul Maheshwari, Aman Gupta
152152
cljr Alex Beregszaszi
153153
cpia.c Stephan Hilb
154-
crystalhd.c Philip Langdale
155154
cscd.c Reimar Doeffinger
156155
cuviddec.c Timo Rothenpieler
157156
dca* foo86
@@ -265,7 +264,6 @@ Codecs:
265264
xwd* Paul B Mahol
266265

267266
Hardware acceleration:
268-
crystalhd.c Philip Langdale
269267
dxva2* Hendrik Leppkes, Laurent Aimar, Steve Lhomme
270268
d3d11va* Steve Lhomme
271269
mediacodec* Matthieu Bouron, Aman Gupta
@@ -429,6 +427,7 @@ Muxers/Demuxers:
429427
idcin.c Mike Melanson
430428
idroqdec.c Mike Melanson
431429
iff.c Jaikrishnan Menon
430+
imf* Pierre-Anthony Lemieux
432431
img2*.c Michael Niedermayer
433432
ipmovie.c Mike Melanson
434433
ircam* Paul B Mahol
@@ -626,6 +625,7 @@ Nikolay Aleksandrov 8978 1D8C FB71 588E 4B27 EAA8 C4F0 B5FC E011 13B1
626625
Panagiotis Issaris 6571 13A3 33D9 3726 F728 AA98 F643 B12E ECF3 E029
627626
Peter Ross A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B
628627
Philip Langdale 5DC5 8D66 5FBA 3A43 18EC 045E F8D6 B194 6A75 682E
628+
Pierre-Anthony Lemieux (pal) F4B3 9492 E6F2 E4AF AEC8 46CB 698F A1F0 F8D4 EED4
629629
Ramiro Polla 7859 C65B 751B 1179 792E DAE8 8E95 8B2F 9B6C 5700
630630
Reimar Doeffinger C61D 16E5 9E2C D10C 8958 38A4 0899 A2B9 06D4 D9C7
631631
Reinhard Tartler 9300 5DC2 7E87 6C37 ED7B CA9A 9808 3544 9453 48A4

compat/windows/mswindres

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22

33
if [ "$1" = "--version" ]; then
4-
rc.exe /?
4+
rc.exe -?
55
exit $?
66
fi
77

@@ -10,12 +10,12 @@ if [ $# -lt 2 ]; then
1010
exit 0
1111
fi
1212

13-
EXTRA_OPTS="/nologo"
13+
EXTRA_OPTS="-nologo"
1414

1515
while [ $# -gt 2 ]; do
1616
case $1 in
17-
-D*) EXTRA_OPTS="$EXTRA_OPTS /d$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
18-
-I*) EXTRA_OPTS="$EXTRA_OPTS /i$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
17+
-D*) EXTRA_OPTS="$EXTRA_OPTS -d$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
18+
-I*) EXTRA_OPTS="$EXTRA_OPTS -i$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
1919
-o) OPT_OUT="$2"; shift ;;
2020
esac
2121
shift
@@ -29,4 +29,4 @@ else
2929
fi
3030

3131
eval set -- $EXTRA_OPTS
32-
rc.exe "$@" /fo "$OUT" "$IN"
32+
rc.exe "$@" -fo "$OUT" "$IN"

configure

Lines changed: 55 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1710,27 +1710,27 @@ COMPONENT_LIST="
17101710
"
17111711

17121712
EXAMPLE_LIST="
1713+
avio_http_serve_files_example
17131714
avio_list_dir_example
1714-
avio_reading_example
1715+
avio_read_callback_example
17151716
decode_audio_example
1717+
decode_filter_audio_example
1718+
decode_filter_video_example
17161719
decode_video_example
1717-
demuxing_decoding_example
1720+
demux_decode_example
17181721
encode_audio_example
17191722
encode_video_example
17201723
extract_mvs_example
17211724
filter_audio_example
1722-
filtering_audio_example
1723-
filtering_video_example
1724-
http_multiclient_example
17251725
hw_decode_example
1726-
metadata_example
1727-
muxing_example
1728-
qsvdec_example
1729-
remuxing_example
1730-
resampling_audio_example
1731-
scaling_video_example
1726+
mux_example
1727+
qsv_decode_example
1728+
remux_example
1729+
resample_audio_example
1730+
scale_video_example
1731+
show_metadata_example
17321732
transcode_aac_example
1733-
transcoding_example
1733+
transcode_example
17341734
vaapi_encode_example
17351735
vaapi_transcode_example
17361736
qsv_transcode_example
@@ -2850,6 +2850,7 @@ lscr_decoder_select="inflate_wrapper"
28502850
magicyuv_decoder_select="llviddsp"
28512851
magicyuv_encoder_select="llvidencdsp"
28522852
mdec_decoder_select="blockdsp bswapdsp idctdsp"
2853+
media100_decoder_select="media100_to_mjpegb_bsf mjpegb_decoder"
28532854
metasound_decoder_select="lsp sinewin"
28542855
mimic_decoder_select="blockdsp bswapdsp hpeldsp idctdsp"
28552856
mjpeg_decoder_select="blockdsp hpeldsp exif idctdsp jpegtables"
@@ -3156,6 +3157,8 @@ nvenc_deps_any="libdl LoadLibrary"
31563157
aac_mf_encoder_deps="mediafoundation"
31573158
ac3_mf_encoder_deps="mediafoundation"
31583159
av1_cuvid_decoder_deps="cuvid CUVIDAV1PICPARAMS"
3160+
av1_mediacodec_decoder_deps="mediacodec"
3161+
av1_mediacodec_decoder_extralibs="-landroid"
31593162
av1_nvenc_encoder_deps="nvenc NV_ENC_PIC_PARAMS_AV1"
31603163
av1_nvenc_encoder_select="atsc_a53"
31613164
h263_v4l2m2m_decoder_deps="v4l2_m2m h263_v4l2_m2m"
@@ -3179,7 +3182,7 @@ h264_qsv_decoder_select="h264_mp4toannexb_bsf qsvdec"
31793182
h264_qsv_encoder_select="atsc_a53 qsvenc"
31803183
h264_rkmpp_decoder_deps="rkmpp"
31813184
h264_rkmpp_decoder_select="h264_mp4toannexb_bsf"
3182-
h264_vaapi_encoder_select="cbs_h264 vaapi_encode"
3185+
h264_vaapi_encoder_select="atsc_a53 cbs_h264 vaapi_encode"
31833186
h264_v4l2m2m_decoder_deps="v4l2_m2m h264_v4l2_m2m"
31843187
h264_v4l2m2m_decoder_select="h264_mp4toannexb_bsf"
31853188
h264_v4l2m2m_encoder_deps="v4l2_m2m h264_v4l2_m2m"
@@ -3200,7 +3203,7 @@ hevc_qsv_encoder_select="hevcparse qsvenc"
32003203
hevc_rkmpp_decoder_deps="rkmpp"
32013204
hevc_rkmpp_decoder_select="hevc_mp4toannexb_bsf"
32023205
hevc_vaapi_encoder_deps="VAEncPictureParameterBufferHEVC"
3203-
hevc_vaapi_encoder_select="cbs_h265 vaapi_encode"
3206+
hevc_vaapi_encoder_select="atsc_a53 cbs_h265 vaapi_encode"
32043207
hevc_v4l2m2m_decoder_deps="v4l2_m2m hevc_v4l2_m2m"
32053208
hevc_v4l2m2m_decoder_select="hevc_mp4toannexb_bsf"
32063209
hevc_v4l2m2m_encoder_deps="v4l2_m2m hevc_v4l2_m2m"
@@ -3255,6 +3258,7 @@ wmv3_crystalhd_decoder_select="crystalhd"
32553258
av1_qsv_decoder_select="qsvdec"
32563259
av1_qsv_encoder_select="qsvenc"
32573260
av1_qsv_encoder_deps="libvpl"
3261+
av1_amf_encoder_deps="amf"
32583262

32593263
# parsers
32603264
aac_parser_select="adts_header mpeg4audio"
@@ -3432,8 +3436,8 @@ flac_demuxer_select="flac_parser"
34323436
flv_muxer_select="aac_adtstoasc_bsf"
34333437
gxf_muxer_select="pcm_rechunk_bsf"
34343438
hds_muxer_select="flv_muxer"
3435-
hls_demuxer_select="adts_header ac3_parser"
3436-
hls_muxer_select="mpegts_muxer"
3439+
hls_demuxer_select="adts_header ac3_parser mov_demuxer mpegts_demuxer"
3440+
hls_muxer_select="mov_muxer mpegts_muxer"
34373441
hls_muxer_suggest="gcrypt openssl"
34383442
image2_alias_pix_demuxer_select="image2_demuxer"
34393443
image2_brender_pix_demuxer_select="image2_demuxer"
@@ -3599,8 +3603,8 @@ udp_protocol_select="network"
35993603
udplite_protocol_select="network"
36003604
unix_protocol_deps="sys_un_h"
36013605
unix_protocol_select="network"
3602-
ipfs_protocol_select="https_protocol"
3603-
ipns_protocol_select="https_protocol"
3606+
ipfs_gateway_protocol_select="https_protocol"
3607+
ipns_gateway_protocol_select="https_protocol"
36043608

36053609
# external library protocols
36063610
libamqp_protocol_deps="librabbitmq"
@@ -3645,6 +3649,7 @@ coreimagesrc_filter_extralibs="-framework OpenGL"
36453649
cover_rect_filter_deps="avcodec avformat gpl"
36463650
cropdetect_filter_deps="gpl"
36473651
deinterlace_qsv_filter_deps="libmfx"
3652+
deinterlace_qsv_filter_select="qsvvpp"
36483653
deinterlace_vaapi_filter_deps="vaapi"
36493654
delogo_filter_deps="gpl"
36503655
denoise_vaapi_filter_deps="vaapi"
@@ -3662,7 +3667,7 @@ eq_filter_deps="gpl"
36623667
erosion_opencl_filter_deps="opencl"
36633668
find_rect_filter_deps="avcodec avformat gpl"
36643669
flip_vulkan_filter_deps="vulkan spirv_compiler"
3665-
flite_filter_deps="libflite"
3670+
flite_filter_deps="libflite threads"
36663671
framerate_filter_select="scene_sad"
36673672
freezedetect_filter_select="scene_sad"
36683673
frei0r_deps_any="libdl LoadLibrary"
@@ -3719,6 +3724,7 @@ sab_filter_deps="gpl swscale"
37193724
scale2ref_filter_deps="swscale"
37203725
scale_filter_deps="swscale"
37213726
scale_qsv_filter_deps="libmfx"
3727+
scale_qsv_filter_select="qsvvpp"
37223728
scdet_filter_select="scene_sad"
37233729
select_filter_select="scene_sad"
37243730
sharpness_vaapi_filter_deps="vaapi"
@@ -3763,29 +3769,38 @@ xfade_opencl_filter_deps="opencl"
37633769
yadif_cuda_filter_deps="ffnvcodec"
37643770
yadif_cuda_filter_deps_any="cuda_nvcc cuda_llvm"
37653771
yadif_videotoolbox_filter_deps="metal corevideo videotoolbox"
3772+
hstack_vaapi_filter_deps="vaapi_1"
3773+
vstack_vaapi_filter_deps="vaapi_1"
3774+
xstack_vaapi_filter_deps="vaapi_1"
3775+
hstack_qsv_filter_deps="libmfx"
3776+
hstack_qsv_filter_select="qsvvpp"
3777+
vstack_qsv_filter_deps="libmfx"
3778+
vstack_qsv_filter_select="qsvvpp"
3779+
xstack_qsv_filter_deps="libmfx"
3780+
xstack_qsv_filter_select="qsvvpp"
37663781

37673782
# examples
3783+
avio_http_serve_files_deps="avformat avutil fork"
37683784
avio_list_dir_deps="avformat avutil"
3769-
avio_reading_deps="avformat avcodec avutil"
3785+
avio_read_callback_deps="avformat avcodec avutil"
37703786
decode_audio_example_deps="avcodec avutil"
3787+
decode_filter_audio_example_deps="avfilter avcodec avformat avutil"
3788+
decode_filter_video_example_deps="avfilter avcodec avformat avutil"
37713789
decode_video_example_deps="avcodec avutil"
3772-
demuxing_decoding_example_deps="avcodec avformat avutil"
3790+
demux_decode_example_deps="avcodec avformat avutil"
37733791
encode_audio_example_deps="avcodec avutil"
37743792
encode_video_example_deps="avcodec avutil"
37753793
extract_mvs_example_deps="avcodec avformat avutil"
37763794
filter_audio_example_deps="avfilter avutil"
3777-
filtering_audio_example_deps="avfilter avcodec avformat avutil"
3778-
filtering_video_example_deps="avfilter avcodec avformat avutil"
3779-
http_multiclient_example_deps="avformat avutil fork"
37803795
hw_decode_example_deps="avcodec avformat avutil"
3781-
metadata_example_deps="avformat avutil"
3782-
muxing_example_deps="avcodec avformat avutil swscale"
3783-
qsvdec_example_deps="avcodec avutil libmfx h264_qsv_decoder"
3784-
remuxing_example_deps="avcodec avformat avutil"
3785-
resampling_audio_example_deps="avutil swresample"
3786-
scaling_video_example_deps="avutil swscale"
3796+
mux_example_deps="avcodec avformat avutil swscale"
3797+
qsv_decode_example_deps="avcodec avutil libmfx h264_qsv_decoder"
3798+
remux_example_deps="avcodec avformat avutil"
3799+
resample_audio_example_deps="avutil swresample"
3800+
scale_video_example_deps="avutil swscale"
3801+
show_metadata_example_deps="avformat avutil"
37873802
transcode_aac_example_deps="avcodec avformat swresample"
3788-
transcoding_example_deps="avfilter avcodec avformat avutil"
3803+
transcode_example_deps="avfilter avcodec avformat avutil"
37893804
vaapi_encode_example_deps="avcodec avutil h264_vaapi_encoder"
37903805
vaapi_transcode_example_deps="avcodec avformat avutil h264_vaapi_encoder"
37913806
qsv_transcode_example_deps="avcodec avformat avutil h264_qsv_encoder"
@@ -4001,9 +4016,9 @@ find_filters_extern(){
40014016
}
40024017

40034018
FILTER_LIST=$(find_filters_extern libavfilter/allfilters.c)
4004-
OUTDEV_LIST=$(find_things_extern muxer AVOutputFormat libavdevice/alldevices.c outdev)
4019+
OUTDEV_LIST=$(find_things_extern muxer FFOutputFormat libavdevice/alldevices.c outdev)
40054020
INDEV_LIST=$(find_things_extern demuxer AVInputFormat libavdevice/alldevices.c indev)
4006-
MUXER_LIST=$(find_things_extern muxer AVOutputFormat libavformat/allformats.c)
4021+
MUXER_LIST=$(find_things_extern muxer FFOutputFormat libavformat/allformats.c)
40074022
DEMUXER_LIST=$(find_things_extern demuxer AVInputFormat libavformat/allformats.c)
40084023
ENCODER_LIST=$(find_things_extern encoder FFCodec libavcodec/allcodecs.c)
40094024
DECODER_LIST=$(find_things_extern decoder FFCodec libavcodec/allcodecs.c)
@@ -6992,7 +7007,9 @@ enabled vdpau &&
69927007
enabled vdpau &&
69937008
check_lib vdpau_x11 "vdpau/vdpau.h vdpau/vdpau_x11.h" vdp_device_create_x11 -lvdpau -lX11
69947009

6995-
enabled crystalhd && check_lib crystalhd "stdint.h libcrystalhd/libcrystalhd_if.h" DtsCrystalHDVersion -lcrystalhd
7010+
enabled crystalhd && check_lib crystalhd "stdint.h libcrystalhd/libcrystalhd_if.h" DtsCrystalHDVersion -lcrystalhd && \
7011+
warn "CrystalHD support is deprecated and will be removed, please contact the developers if you are interested" \
7012+
"in maintaining it."
69967013

69977014
if enabled vulkan; then
69987015
check_pkg_config_header_only vulkan "vulkan >= 1.2.189" "vulkan/vulkan.h" "defined VK_VERSION_1_2" ||
@@ -7039,7 +7056,7 @@ fi
70397056

70407057
enabled amf &&
70417058
check_cpp_condition amf "AMF/core/Version.h" \
7042-
"(AMF_VERSION_MAJOR << 48 | AMF_VERSION_MINOR << 32 | AMF_VERSION_RELEASE << 16 | AMF_VERSION_BUILD_NUM) >= 0x0001000400090000"
7059+
"(AMF_VERSION_MAJOR << 48 | AMF_VERSION_MINOR << 32 | AMF_VERSION_RELEASE << 16 | AMF_VERSION_BUILD_NUM) >= 0x00010004001c0000"
70437060

70447061
# Funny iconv installations are not unusual, so check it after all flags have been set
70457062
if enabled libc_iconv; then
@@ -7832,7 +7849,7 @@ cat > $TMPH <<EOF
78327849
#define FFMPEG_CONFIG_H
78337850
#define FFMPEG_CONFIGURATION "$(c_escape $FFMPEG_CONFIGURATION)"
78347851
#define FFMPEG_LICENSE "$(c_escape $license)"
7835-
#define CONFIG_THIS_YEAR 2022
7852+
#define CONFIG_THIS_YEAR 2023
78367853
#define FFMPEG_DATADIR "$(eval c_escape $datadir)"
78377854
#define AVCONV_DATADIR "$(eval c_escape $datadir)"
78387855
#define CC_IDENT "$(c_escape ${cc_ident:-Unknown compiler})"
@@ -7949,9 +7966,9 @@ print_enabled_components libavcodec/codec_list.c FFCodec codec_list $CODEC_LIST
79497966
print_enabled_components libavcodec/parser_list.c AVCodecParser parser_list $PARSER_LIST
79507967
print_enabled_components libavcodec/bsf_list.c FFBitStreamFilter bitstream_filters $BSF_LIST
79517968
print_enabled_components libavformat/demuxer_list.c AVInputFormat demuxer_list $DEMUXER_LIST
7952-
print_enabled_components libavformat/muxer_list.c AVOutputFormat muxer_list $MUXER_LIST
7969+
print_enabled_components libavformat/muxer_list.c FFOutputFormat muxer_list $MUXER_LIST
79537970
print_enabled_components libavdevice/indev_list.c AVInputFormat indev_list $INDEV_LIST
7954-
print_enabled_components libavdevice/outdev_list.c AVOutputFormat outdev_list $OUTDEV_LIST
7971+
print_enabled_components libavdevice/outdev_list.c FFOutputFormat outdev_list $OUTDEV_LIST
79557972
print_enabled_components libavformat/protocol_list.c URLProtocol url_protocols $PROTOCOL_LIST
79567973

79577974
# Settings for pkg-config files

doc/APIchanges

Lines changed: 47 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,53 @@
1-
Never assume the API of libav* to be stable unless at least 1 month has passed
2-
since the last major version increase or the API was added.
3-
4-
The last version increases were:
5-
libavcodec: 2021-04-27
6-
libavdevice: 2021-04-27
7-
libavfilter: 2021-04-27
8-
libavformat: 2021-04-27
9-
libpostproc: 2021-04-27
10-
libswresample: 2021-04-27
11-
libswscale: 2021-04-27
12-
libavutil: 2021-04-27
13-
1+
The last version increases of all libraries were on 2023-02-09
142

153
API changes, most recent first:
164

5+
2023-02-16 - xxxxxxxxxx - lavf 60.2.100 - avformat.h
6+
Deprecate AVFormatContext io_close callback.
7+
The superior io_close2 callback should be used instead.
8+
9+
2023-02-13 - xxxxxxxxxx - lavu 58.1.100 - frame.h
10+
Deprecate AVFrame.coded_picture_number and display_picture_number.
11+
Their usefulness is questionable and very few decoders set them.
12+
13+
2023-02-13 - xxxxxxxxxx - lavc 60.2.100 - avcodec.h
14+
Add AVCodecContext.frame_num as a 64bit version of frame_number.
15+
Deprecate AVCodecContext.frame_number.
16+
17+
2023-02-12 - xxxxxxxxxx - lavfi 9.1.100 - avfilter.h
18+
Add filtergraph segment parsing API.
19+
New structs:
20+
- AVFilterGraphSegment
21+
- AVFilterChain
22+
- AVFilterParams
23+
- AVFilterPadParams
24+
New functions:
25+
- avfilter_graph_segment_parse()
26+
- avfilter_graph_segment_create_filters()
27+
- avfilter_graph_segment_apply_opts()
28+
- avfilter_graph_segment_init()
29+
- avfilter_graph_segment_link()
30+
- avfilter_graph_segment_apply()
31+
32+
2023-02-xx - xxxxxxxxxx - lavu 58.0.100 - csp.h
33+
Add av_csp_approximate_trc_gamma() and av_csp_trc_func_from_id().
34+
Add av_csp_trc_function.
35+
36+
2023-02-xx - xxxxxxxxxx - lavc 60.0.100 - avcodec.h
37+
avcodec_decode_subtitle2() now accepts const AVPacket*.
38+
39+
2023-0x-xx - xxxxxxxxxx - lavc 59.63.100
40+
Allow AV_CODEC_FLAG_COPY_OPAQUE to be used with decoders.
41+
42+
2023-01-29 - xxxxxxxxxx - lavc 59.59.100 - avcodec.h
43+
Add AV_CODEC_FLAG_COPY_OPAQUE and AV_CODEC_FLAG_FRAME_DURATION.
44+
45+
2023-01-13 - xxxxxxxxxx - lavu 57.44.100 - ambient_viewing_environment.h frame.h
46+
Adds a new structure for holding H.274 Ambient Viewing Environment metadata,
47+
AVAmbientViewingEnvironment.
48+
Adds a new AVFrameSideDataType entry AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT
49+
for it.
50+
1751
2022-12-xx - xxxxxxxxxx - lavc 59.55.100 - avcodec.h
1852
Add AV_HWACCEL_FLAG_UNSAFE_OUTPUT.
1953

0 commit comments

Comments
 (0)