diff --git a/SMP/config.asm b/SMP/config.asm
index 61d3a33dd8332a03d044e65bc545107ec6ae617b..0a4e6142ecb701db81fe48ea1f69e983041659c2 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 39825088005de0cb350e5b5b6e25ec3fbf9d291d..0c65964c60b2770664f7f3582365a5ff7be2513b 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 a450ce84b0eb91f2ede24e1dee7e4eb4cd7339f1..e2be5e3bc52594e952e86ae2d6d3960efc59e1f3 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 4ba405f20c9802ac430c1ed4edc343e1e287516a..37b80db3d023a6ae79ac9ee9083be6f4723254ce 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 69e376d42b6a80a5c94b3f941ecfe46c3fb1f02e..ef190ae4049384f8a63db0356db83f92370026ec 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 0408c7c4809781a96d6e9097cab9c78155e997e1..586c2b822d08b2ddb26a7528e6d57425f90e2f96 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 0b12212d5980aa80e4769a31bcf2a6b7e1bb3586..9cdaf24e0d9359f3b8261820ab15f18325b07fd9 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 1672ba0c33cd0c1f0596e0b9f88e4215a028da0a..aa353855225ba721ff1869b1ffc77caba0c6ca82 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 0f0ccd60f2ee29d312fde6614604770b2d9b402a..d35f2786f7f5888088106fd9fd93ed0735c1eb2d 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 b17da92b7e7afda73811df602c2d7e8759357418..3db06f35c69276cb675d8c119c94b95276eae2b1 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 3cde45c7abf4dfa03b51fc948723f235261b907e..de4c2548bd0b46b982a87b1d2ef9debbe51c45ad 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 6355e004e9f92f006136d38b426f255d49f40080..21719b0ec018dc8d875574830e5bda5cef35d1d1 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 48d1be782f328f9b9258670970262ce3b2633549..f37154780ad915a8cd865c9d3b24c00651a843d8 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 */