diff --git a/SMP/config.asm b/SMP/config.asm
index 61d3a33dd8332..0a4e6142ecb70 100644
--- a/SMP/config.asm
+++ b/SMP/config.asm
@@ -615,8 +615,10 @@
%define CONFIG_BSWAPDSP 1
%define CONFIG_CABAC 1
%define CONFIG_CBS 1
+%define CONFIG_CBS_AV1 1
%define CONFIG_CBS_H264 1
%define CONFIG_CBS_H265 1
+%define CONFIG_CBS_JPEG 1
%define CONFIG_CBS_MPEG2 1
%define CONFIG_CBS_VP9 1
%define CONFIG_DIRAC_PARSE 1
@@ -694,6 +696,7 @@
%define CONFIG_WMA_FREQS 1
%define CONFIG_WMV2DSP 1
%define CONFIG_AAC_ADTSTOASC_BSF 1
+%define CONFIG_AV1_METADATA_BSF 1
%define CONFIG_CHOMP_BSF 1
%define CONFIG_DUMP_EXTRADATA_BSF 1
%define CONFIG_DCA_CORE_BSF 1
@@ -1025,6 +1028,7 @@
%define CONFIG_GSM_DECODER 1
%define CONFIG_GSM_MS_DECODER 1
%define CONFIG_IAC_DECODER 1
+%define CONFIG_ILBC_DECODER 1
%define CONFIG_IMC_DECODER 1
%define CONFIG_INTERPLAY_ACM_DECODER 1
%define CONFIG_MACE3_DECODER 1
@@ -1497,6 +1501,7 @@
%define CONFIG_AAC_LATM_PARSER 1
%define CONFIG_AC3_PARSER 1
%define CONFIG_ADX_PARSER 1
+%define CONFIG_AV1_PARSER 1
%define CONFIG_AVS2_PARSER 1
%define CONFIG_BMP_PARSER 1
%define CONFIG_CAVSVIDEO_PARSER 1
@@ -1575,6 +1580,7 @@
%define CONFIG_ACOPY_FILTER 1
%define CONFIG_ACUE_FILTER 1
%define CONFIG_ACROSSFADE_FILTER 1
+%define CONFIG_ACROSSOVER_FILTER 1
%define CONFIG_ACRUSHER_FILTER 1
%define CONFIG_ADECLICK_FILTER 1
%define CONFIG_ADECLIP_FILTER 1
@@ -1584,6 +1590,7 @@
%define CONFIG_AEMPHASIS_FILTER 1
%define CONFIG_AEVAL_FILTER 1
%define CONFIG_AFADE_FILTER 1
+%define CONFIG_AFFTDN_FILTER 1
%define CONFIG_AFFTFILT_FILTER 1
%define CONFIG_AFIR_FILTER 1
%define CONFIG_AFORMAT_FILTER 1
@@ -1597,6 +1604,7 @@
%define CONFIG_AMERGE_FILTER 1
%define CONFIG_AMETADATA_FILTER 1
%define CONFIG_AMIX_FILTER 1
+%define CONFIG_AMULTIPLY_FILTER 1
%define CONFIG_ANEQUALIZER_FILTER 1
%define CONFIG_ANULL_FILTER 1
%define CONFIG_APAD_FILTER 1
@@ -1691,6 +1699,7 @@
%define CONFIG_BLACKDETECT_FILTER 1
%define CONFIG_BLACKFRAME_FILTER 1
%define CONFIG_BLEND_FILTER 1
+%define CONFIG_BM3D_FILTER 1
%define CONFIG_BOXBLUR_FILTER 1
%define CONFIG_BOXBLUR_OPENCL_FILTER 0
%define CONFIG_BWDIF_FILTER 1
diff --git a/SMP/config.h b/SMP/config.h
index 39825088005de..0c65964c60b27 100644
--- a/SMP/config.h
+++ b/SMP/config.h
@@ -680,8 +680,10 @@
#define CONFIG_BSWAPDSP 1
#define CONFIG_CABAC 1
#define CONFIG_CBS 1
+#define CONFIG_CBS_AV1 1
#define CONFIG_CBS_H264 1
#define CONFIG_CBS_H265 1
+#define CONFIG_CBS_JPEG 1
#define CONFIG_CBS_MPEG2 1
#define CONFIG_CBS_VP9 1
#define CONFIG_DIRAC_PARSE 1
@@ -759,6 +761,7 @@
#define CONFIG_WMA_FREQS 1
#define CONFIG_WMV2DSP 1
#define CONFIG_AAC_ADTSTOASC_BSF 1
+#define CONFIG_AV1_METADATA_BSF 1
#define CONFIG_CHOMP_BSF 1
#define CONFIG_DUMP_EXTRADATA_BSF 1
#define CONFIG_DCA_CORE_BSF 1
@@ -1090,6 +1093,7 @@
#define CONFIG_GSM_DECODER 1
#define CONFIG_GSM_MS_DECODER 1
#define CONFIG_IAC_DECODER 1
+#define CONFIG_ILBC_DECODER 1
#define CONFIG_IMC_DECODER 1
#define CONFIG_INTERPLAY_ACM_DECODER 1
#define CONFIG_MACE3_DECODER 1
@@ -1583,6 +1587,7 @@
#define CONFIG_AAC_LATM_PARSER 1
#define CONFIG_AC3_PARSER 1
#define CONFIG_ADX_PARSER 1
+#define CONFIG_AV1_PARSER 1
#define CONFIG_AVS2_PARSER 1
#define CONFIG_BMP_PARSER 1
#define CONFIG_CAVSVIDEO_PARSER 1
@@ -1661,6 +1666,7 @@
#define CONFIG_ACOPY_FILTER 1
#define CONFIG_ACUE_FILTER 1
#define CONFIG_ACROSSFADE_FILTER 1
+#define CONFIG_ACROSSOVER_FILTER 1
#define CONFIG_ACRUSHER_FILTER 1
#define CONFIG_ADECLICK_FILTER 1
#define CONFIG_ADECLIP_FILTER 1
@@ -1670,6 +1676,7 @@
#define CONFIG_AEMPHASIS_FILTER 1
#define CONFIG_AEVAL_FILTER 1
#define CONFIG_AFADE_FILTER 1
+#define CONFIG_AFFTDN_FILTER 1
#define CONFIG_AFFTFILT_FILTER 1
#define CONFIG_AFIR_FILTER 1
#define CONFIG_AFORMAT_FILTER 1
@@ -1683,6 +1690,7 @@
#define CONFIG_AMERGE_FILTER 1
#define CONFIG_AMETADATA_FILTER 1
#define CONFIG_AMIX_FILTER 1
+#define CONFIG_AMULTIPLY_FILTER 1
#define CONFIG_ANEQUALIZER_FILTER 1
#define CONFIG_ANULL_FILTER 1
#define CONFIG_APAD_FILTER 1
@@ -1777,6 +1785,7 @@
#define CONFIG_BLACKDETECT_FILTER 1
#define CONFIG_BLACKFRAME_FILTER 1
#define CONFIG_BLEND_FILTER 1
+#define CONFIG_BM3D_FILTER 1
#define CONFIG_BOXBLUR_FILTER 1
#define CONFIG_BOXBLUR_OPENCL_FILTER 0
#define CONFIG_BWDIF_FILTER 1
diff --git a/SMP/libavcodec.vcxproj b/SMP/libavcodec.vcxproj
index a450ce84b0eb9..e2be5e3bc5259 100644
--- a/SMP/libavcodec.vcxproj
+++ b/SMP/libavcodec.vcxproj
@@ -202,8 +202,10 @@
+
+
@@ -551,6 +553,7 @@
+
@@ -892,6 +895,8 @@
+
+
@@ -929,14 +934,15 @@
+
-
+
diff --git a/SMP/libavcodec.vcxproj.filters b/SMP/libavcodec.vcxproj.filters
index 4ba405f20c980..37b80db3d023a 100644
--- a/SMP/libavcodec.vcxproj.filters
+++ b/SMP/libavcodec.vcxproj.filters
@@ -429,12 +429,18 @@
Source Files\libavcodec
+
+ Source Files\libavcodec
+
Source Files\libavcodec
Source Files\libavcodec
+
+ Source Files\libavcodec
+
Source Files\libavcodec
@@ -1476,6 +1482,9 @@
Source Files\libavcodec
+
+ Source Files\libavcodec
+
Source Files\libavcodec
@@ -2499,6 +2508,12 @@
Source Files\libavcodec
+
+ Source Files\libavcodec
+
+
+ Source Files\libavcodec
+
Source Files\libavcodec
@@ -2610,6 +2625,9 @@
Source Files\libavcodec
+
+ Source Files\libavcodec
+
Source Files\libavcodec
@@ -2625,15 +2643,15 @@
Source Files\libavcodec
-
- Source Files\libavcodec
-
Source Files\libavcodec
Source Files\libavcodec
+
+ Source Files\libavcodec
+
Source Files\libavcodec
diff --git a/SMP/libavcodec/bsf_list.c b/SMP/libavcodec/bsf_list.c
index 69e376d42b6a8..ef190ae404938 100644
--- a/SMP/libavcodec/bsf_list.c
+++ b/SMP/libavcodec/bsf_list.c
@@ -20,6 +20,7 @@
*/
static const AVBitStreamFilter *bitstream_filters[] = {
&ff_aac_adtstoasc_bsf,
+ &ff_av1_metadata_bsf,
&ff_chomp_bsf,
&ff_dump_extradata_bsf,
&ff_dca_core_bsf,
diff --git a/SMP/libavcodec/codec_list.c b/SMP/libavcodec/codec_list.c
index 0408c7c480978..586c2b822d08b 100644
--- a/SMP/libavcodec/codec_list.c
+++ b/SMP/libavcodec/codec_list.c
@@ -472,6 +472,7 @@ static const AVCodec *codec_list[] = {
&ff_gsm_decoder,
&ff_gsm_ms_decoder,
&ff_iac_decoder,
+ &ff_ilbc_decoder,
&ff_imc_decoder,
&ff_interplay_acm_decoder,
&ff_mace3_decoder,
diff --git a/SMP/libavcodec/parser_list.c b/SMP/libavcodec/parser_list.c
index 0b12212d5980a..9cdaf24e0d935 100644
--- a/SMP/libavcodec/parser_list.c
+++ b/SMP/libavcodec/parser_list.c
@@ -23,6 +23,7 @@ static const AVCodecParser *parser_list[] = {
&ff_aac_latm_parser,
&ff_ac3_parser,
&ff_adx_parser,
+ &ff_av1_parser,
&ff_avs2_parser,
&ff_bmp_parser,
&ff_cavsvideo_parser,
diff --git a/SMP/libavfilter.vcxproj b/SMP/libavfilter.vcxproj
index 1672ba0c33cd0..aa353855225ba 100644
--- a/SMP/libavfilter.vcxproj
+++ b/SMP/libavfilter.vcxproj
@@ -122,6 +122,7 @@
+
@@ -130,6 +131,7 @@
+
@@ -141,6 +143,7 @@
+
@@ -214,6 +217,7 @@
+
diff --git a/SMP/libavfilter.vcxproj.filters b/SMP/libavfilter.vcxproj.filters
index 0f0ccd60f2ee2..d35f2786f7f58 100644
--- a/SMP/libavfilter.vcxproj.filters
+++ b/SMP/libavfilter.vcxproj.filters
@@ -189,6 +189,9 @@
Source Files\libavfilter
+
+ Source Files\libavfilter
+
Source Files\libavfilter
@@ -213,6 +216,9 @@
Source Files\libavfilter
+
+ Source Files\libavfilter
+
Source Files\libavfilter
@@ -246,6 +252,9 @@
Source Files\libavfilter
+
+ Source Files\libavfilter
+
Source Files\libavfilter
@@ -465,6 +474,9 @@
Source Files\libavfilter
+
+ Source Files\libavfilter
+
Source Files\libavfilter
diff --git a/SMP/libavfilter/filter_list.c b/SMP/libavfilter/filter_list.c
index b17da92b7e7af..3db06f35c6927 100644
--- a/SMP/libavfilter/filter_list.c
+++ b/SMP/libavfilter/filter_list.c
@@ -25,6 +25,7 @@ static const AVFilter *filter_list[] = {
&ff_af_acopy,
&ff_af_acue,
&ff_af_acrossfade,
+ &ff_af_acrossover,
&ff_af_acrusher,
&ff_af_adeclick,
&ff_af_adeclip,
@@ -34,6 +35,7 @@ static const AVFilter *filter_list[] = {
&ff_af_aemphasis,
&ff_af_aeval,
&ff_af_afade,
+ &ff_af_afftdn,
&ff_af_afftfilt,
&ff_af_afir,
&ff_af_aformat,
@@ -47,6 +49,7 @@ static const AVFilter *filter_list[] = {
&ff_af_amerge,
&ff_af_ametadata,
&ff_af_amix,
+ &ff_af_amultiply,
&ff_af_anequalizer,
&ff_af_anull,
&ff_af_apad,
@@ -132,6 +135,7 @@ static const AVFilter *filter_list[] = {
&ff_vf_blackdetect,
&ff_vf_blackframe,
&ff_vf_blend,
+ &ff_vf_bm3d,
&ff_vf_boxblur,
&ff_vf_bwdif,
&ff_vf_chromakey,
diff --git a/SMP/libavformat.vcxproj b/SMP/libavformat.vcxproj
index 3cde45c7abf4d..de4c2548bd0b4 100644
--- a/SMP/libavformat.vcxproj
+++ b/SMP/libavformat.vcxproj
@@ -523,6 +523,7 @@
+
diff --git a/SMP/libavformat.vcxproj.filters b/SMP/libavformat.vcxproj.filters
index 6355e004e9f92..21719b0ec018d 100644
--- a/SMP/libavformat.vcxproj.filters
+++ b/SMP/libavformat.vcxproj.filters
@@ -1393,6 +1393,9 @@
Source Files\libavformat
+
+ Source Files\libavformat
+
Source Files\libavformat
diff --git a/SMP/libavutil/ffversion.h b/SMP/libavutil/ffversion.h
index 48d1be782f328..f37154780ad91 100644
--- a/SMP/libavutil/ffversion.h
+++ b/SMP/libavutil/ffversion.h
@@ -21,5 +21,5 @@
#ifndef SMP_LIBAVUTIL_FFVERSION_H
#define SMP_LIBAVUTIL_FFVERSION_H
-#define FFMPEG_VERSION "3.4.git"
+#define FFMPEG_VERSION "4.0.git"
#endif /* SMP_LIBAVUTIL_FFVERSION_H */