diff --git a/SMP/config.asm b/SMP/config.asm
index 2d18f10701c3946a77fb42ef295fc39cbfae79dd..82b4ed14cd08f7e05baaf033d069e10f2b5d5af8 100644
--- a/SMP/config.asm
+++ b/SMP/config.asm
@@ -823,6 +823,7 @@
%define CONFIG_HQ_HQA_DECODER 1
%define CONFIG_HQX_DECODER 1
%define CONFIG_HUFFYUV_DECODER 1
+%define CONFIG_HYMT_DECODER 1
%define CONFIG_IDCIN_DECODER 1
%define CONFIG_IFF_ILBM_DECODER 1
%define CONFIG_IMM4_DECODER 1
@@ -1031,6 +1032,7 @@
%define CONFIG_G729_DECODER 1
%define CONFIG_GSM_DECODER 1
%define CONFIG_GSM_MS_DECODER 1
+%define CONFIG_HCOM_DECODER 1
%define CONFIG_IAC_DECODER 1
%define CONFIG_ILBC_DECODER 1
%define CONFIG_IMC_DECODER 1
@@ -1616,6 +1618,7 @@
%define CONFIG_AMIX_FILTER 1
%define CONFIG_AMULTIPLY_FILTER 1
%define CONFIG_ANEQUALIZER_FILTER 1
+%define CONFIG_ANLMDN_FILTER 1
%define CONFIG_ANULL_FILTER 1
%define CONFIG_APAD_FILTER 1
%define CONFIG_APERMS_FILTER 1
@@ -1823,6 +1826,7 @@
%define CONFIG_LUTYUV_FILTER 1
%define CONFIG_MASKEDCLAMP_FILTER 1
%define CONFIG_MASKEDMERGE_FILTER 1
+%define CONFIG_MASKFUN_FILTER 1
%define CONFIG_MCDEINT_FILTER 1
%define CONFIG_MERGEPLANES_FILTER 1
%define CONFIG_MESTIMATE_FILTER 1
@@ -1931,6 +1935,7 @@
%define CONFIG_TRANSPOSE_FILTER 1
%define CONFIG_TRANSPOSE_NPP_FILTER 0
%define CONFIG_TRANSPOSE_OPENCL_FILTER 0
+%define CONFIG_TRANSPOSE_VAAPI_FILTER 0
%define CONFIG_TRIM_FILTER 1
%define CONFIG_UNPREMULTIPLY_FILTER 1
%define CONFIG_UNSHARP_FILTER 1
@@ -2092,6 +2097,7 @@
%define CONFIG_H261_DEMUXER 1
%define CONFIG_H263_DEMUXER 1
%define CONFIG_H264_DEMUXER 1
+%define CONFIG_HCOM_DEMUXER 1
%define CONFIG_HEVC_DEMUXER 1
%define CONFIG_HLS_DEMUXER 1
%define CONFIG_HNM_DEMUXER 1
diff --git a/SMP/config.h b/SMP/config.h
index 91ef5d5e5dbc76373c30b0e4d3c054aa0c1b632c..5afcaaf63fb2fc390a872dc82401d19d833e3bab 100644
--- a/SMP/config.h
+++ b/SMP/config.h
@@ -23,7 +23,7 @@
#define SMP_CONFIG_H
#define FFMPEG_CONFIGURATION "--enable-gpl --enable-version3 --enable-bzlib --enable-iconv --enable-lzma --enable-sdl2 --enable-zlib --enable-avisynth --enable-libmp3lame --enable-libvorbis --enable-libspeex --enable-libopus --enable-libilbc --enable-libtheora --enable-libx264 --enable-libx265 --enable-libxvid --enable-libvpx --enable-libgme --enable-libmodplug --enable-libsoxr --enable-libfreetype --enable-fontconfig --enable-libfribidi --enable-libass --enable-libxml2 --enable-gnutls --disable-schannel --enable-gcrypt --enable-libssh --enable-libcdio --enable-libbluray --enable-opengl --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-amf --toolchain=msvc"
#define FFMPEG_LICENSE "GPL version 3 or later"
-#define CONFIG_THIS_YEAR 2018
+#define CONFIG_THIS_YEAR 2019
#define FFMPEG_DATADIR "."
#define AVCONV_DATADIR "."
#if defined(__INTEL_COMPILER)
@@ -888,6 +888,7 @@
#define CONFIG_HQ_HQA_DECODER 1
#define CONFIG_HQX_DECODER 1
#define CONFIG_HUFFYUV_DECODER 1
+#define CONFIG_HYMT_DECODER 1
#define CONFIG_IDCIN_DECODER 1
#define CONFIG_IFF_ILBM_DECODER 1
#define CONFIG_IMM4_DECODER 1
@@ -1096,6 +1097,7 @@
#define CONFIG_G729_DECODER 1
#define CONFIG_GSM_DECODER 1
#define CONFIG_GSM_MS_DECODER 1
+#define CONFIG_HCOM_DECODER 1
#define CONFIG_IAC_DECODER 1
#define CONFIG_ILBC_DECODER 1
#define CONFIG_IMC_DECODER 1
@@ -1519,15 +1521,31 @@
#define CONFIG_VP9_VAAPI_ENCODER 0
#define CONFIG_H263_VAAPI_HWACCEL 0
#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0
-#define CONFIG_H264_D3D11VA_HWACCEL CONFIG_D3D11VA
-#define CONFIG_H264_D3D11VA2_HWACCEL CONFIG_D3D11VA
+#if CONFIG_D3D11VA
+# define CONFIG_H264_D3D11VA_HWACCEL 1
+#else
+# define CONFIG_H264_D3D11VA_HWACCEL 0
+#endif
+#if CONFIG_D3D11VA
+# define CONFIG_H264_D3D11VA2_HWACCEL 1
+#else
+# define CONFIG_H264_D3D11VA2_HWACCEL 0
+#endif
#define CONFIG_H264_DXVA2_HWACCEL 1
#define CONFIG_H264_NVDEC_HWACCEL 1
#define CONFIG_H264_VAAPI_HWACCEL 0
#define CONFIG_H264_VDPAU_HWACCEL 0
#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0
-#define CONFIG_HEVC_D3D11VA_HWACCEL CONFIG_D3D11VA
-#define CONFIG_HEVC_D3D11VA2_HWACCEL CONFIG_D3D11VA
+#if CONFIG_D3D11VA
+# define CONFIG_HEVC_D3D11VA_HWACCEL 1
+#else
+# define CONFIG_HEVC_D3D11VA_HWACCEL 0
+#endif
+#if CONFIG_D3D11VA
+# define CONFIG_HEVC_D3D11VA2_HWACCEL 1
+#else
+# define CONFIG_HEVC_D3D11VA2_HWACCEL 0
+#endif
#define CONFIG_HEVC_DXVA2_HWACCEL 1
#define CONFIG_HEVC_NVDEC_HWACCEL 1
#define CONFIG_HEVC_VAAPI_HWACCEL 0
@@ -1539,8 +1557,16 @@
#define CONFIG_MPEG1_VDPAU_HWACCEL 0
#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0
#define CONFIG_MPEG1_XVMC_HWACCEL 0
-#define CONFIG_MPEG2_D3D11VA_HWACCEL CONFIG_D3D11VA
-#define CONFIG_MPEG2_D3D11VA2_HWACCEL CONFIG_D3D11VA
+#if CONFIG_D3D11VA
+# define CONFIG_MPEG2_D3D11VA_HWACCEL 1
+#else
+# define CONFIG_MPEG2_D3D11VA_HWACCEL 0
+#endif
+#if CONFIG_D3D11VA
+# define CONFIG_MPEG2_D3D11VA2_HWACCEL 1
+#else
+# define CONFIG_MPEG2_D3D11VA2_HWACCEL 0
+#endif
#define CONFIG_MPEG2_NVDEC_HWACCEL 1
#define CONFIG_MPEG2_DXVA2_HWACCEL 1
#define CONFIG_MPEG2_VAAPI_HWACCEL 0
@@ -1551,8 +1577,16 @@
#define CONFIG_MPEG4_VAAPI_HWACCEL 0
#define CONFIG_MPEG4_VDPAU_HWACCEL 0
#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0
-#define CONFIG_VC1_D3D11VA_HWACCEL CONFIG_D3D11VA
-#define CONFIG_VC1_D3D11VA2_HWACCEL CONFIG_D3D11VA
+#if CONFIG_D3D11VA
+# define CONFIG_VC1_D3D11VA_HWACCEL 1
+#else
+# define CONFIG_VC1_D3D11VA_HWACCEL 0
+#endif
+#if CONFIG_D3D11VA
+# define CONFIG_VC1_D3D11VA2_HWACCEL 1
+#else
+# define CONFIG_VC1_D3D11VA2_HWACCEL 0
+#endif
#define CONFIG_VC1_DXVA2_HWACCEL 1
#define CONFIG_VC1_NVDEC_HWACCEL 1
#define CONFIG_VC1_VAAPI_HWACCEL 0
@@ -1585,8 +1619,16 @@
#endif
#define CONFIG_VP9_NVDEC_HWACCEL 1
#define CONFIG_VP9_VAAPI_HWACCEL 0
-#define CONFIG_WMV3_D3D11VA_HWACCEL CONFIG_D3D11VA
-#define CONFIG_WMV3_D3D11VA2_HWACCEL CONFIG_D3D11VA
+#if CONFIG_D3D11VA
+# define CONFIG_WMV3_D3D11VA_HWACCEL 1
+#else
+# define CONFIG_WMV3_D3D11VA_HWACCEL 0
+#endif
+#if CONFIG_D3D11VA
+# define CONFIG_WMV3_D3D11VA2_HWACCEL 1
+#else
+# define CONFIG_WMV3_D3D11VA2_HWACCEL 0
+#endif
#define CONFIG_WMV3_DXVA2_HWACCEL 1
#define CONFIG_WMV3_NVDEC_HWACCEL 1
#define CONFIG_WMV3_VAAPI_HWACCEL 0
@@ -1702,6 +1744,7 @@
#define CONFIG_AMIX_FILTER 1
#define CONFIG_AMULTIPLY_FILTER 1
#define CONFIG_ANEQUALIZER_FILTER 1
+#define CONFIG_ANLMDN_FILTER 1
#define CONFIG_ANULL_FILTER 1
#define CONFIG_APAD_FILTER 1
#define CONFIG_APERMS_FILTER 1
@@ -1909,6 +1952,7 @@
#define CONFIG_LUTYUV_FILTER 1
#define CONFIG_MASKEDCLAMP_FILTER 1
#define CONFIG_MASKEDMERGE_FILTER 1
+#define CONFIG_MASKFUN_FILTER 1
#define CONFIG_MCDEINT_FILTER 1
#define CONFIG_MERGEPLANES_FILTER 1
#define CONFIG_MESTIMATE_FILTER 1
@@ -2017,6 +2061,7 @@
#define CONFIG_TRANSPOSE_FILTER 1
#define CONFIG_TRANSPOSE_NPP_FILTER 0
#define CONFIG_TRANSPOSE_OPENCL_FILTER 0
+#define CONFIG_TRANSPOSE_VAAPI_FILTER 0
#define CONFIG_TRIM_FILTER 1
#define CONFIG_UNPREMULTIPLY_FILTER 1
#define CONFIG_UNSHARP_FILTER 1
@@ -2178,6 +2223,7 @@
#define CONFIG_H261_DEMUXER 1
#define CONFIG_H263_DEMUXER 1
#define CONFIG_H264_DEMUXER 1
+#define CONFIG_HCOM_DEMUXER 1
#define CONFIG_HEVC_DEMUXER 1
#define CONFIG_HLS_DEMUXER 1
#define CONFIG_HNM_DEMUXER 1
diff --git a/SMP/libavcodec.vcxproj b/SMP/libavcodec.vcxproj
index 507366b9030b5ac73b7970fb4946961a565c800e..23066a56a84f7b39368e3ca5581e682ebdca32ee 100644
--- a/SMP/libavcodec.vcxproj
+++ b/SMP/libavcodec.vcxproj
@@ -531,6 +531,7 @@
+
diff --git a/SMP/libavcodec.vcxproj.filters b/SMP/libavcodec.vcxproj.filters
index ae78e20cc5b7c17a139d209b916d5dc53deed28b..8362246e0200e23811981724fd5934a1dd2d5eb3 100644
--- a/SMP/libavcodec.vcxproj.filters
+++ b/SMP/libavcodec.vcxproj.filters
@@ -1416,6 +1416,9 @@
Source Files\libavcodec
+
+ Source Files\libavcodec
+
Source Files\libavcodec
diff --git a/SMP/libavcodec/codec_list.c b/SMP/libavcodec/codec_list.c
index 9db21bb4486b55110830918eaa04368de741f2fd..ecba8eeb3e15ac92caa75860ca4e6c2a36199671 100644
--- a/SMP/libavcodec/codec_list.c
+++ b/SMP/libavcodec/codec_list.c
@@ -282,6 +282,7 @@ static const AVCodec *codec_list[] = {
&ff_hq_hqa_decoder,
&ff_hqx_decoder,
&ff_huffyuv_decoder,
+ &ff_hymt_decoder,
&ff_idcin_decoder,
&ff_iff_ilbm_decoder,
&ff_imm4_decoder,
@@ -473,6 +474,7 @@ static const AVCodec *codec_list[] = {
&ff_g729_decoder,
&ff_gsm_decoder,
&ff_gsm_ms_decoder,
+ &ff_hcom_decoder,
&ff_iac_decoder,
&ff_ilbc_decoder,
&ff_imc_decoder,
diff --git a/SMP/libavfilter.vcxproj b/SMP/libavfilter.vcxproj
index 11c5252dea02f8a10c52ee55bf78a2966ecdafe9..d9b8195c68ce2fac7925cca368c57b5d477dd72c 100644
--- a/SMP/libavfilter.vcxproj
+++ b/SMP/libavfilter.vcxproj
@@ -71,6 +71,7 @@
+
@@ -222,6 +223,7 @@
+
@@ -302,6 +304,7 @@
+
@@ -373,7 +376,6 @@
-
@@ -394,6 +396,7 @@
+
@@ -426,6 +429,9 @@
$(IntDir)\libavfilter_af_afir.obj
+
+ $(IntDir)\libavfilter_af_anlmdn.obj
+
$(IntDir)\libavfilter_af_volume.obj
diff --git a/SMP/libavfilter.vcxproj.filters b/SMP/libavfilter.vcxproj.filters
index d4f272c23a8bc98b989c95a505b47c6a5c2b9115..48188e68e4c9d623e305294bd2b34ea22fdad9c2 100644
--- a/SMP/libavfilter.vcxproj.filters
+++ b/SMP/libavfilter.vcxproj.filters
@@ -40,6 +40,9 @@
Source Files\libavfilter\x86
+
+ Source Files\libavfilter\x86
+
Source Files\libavfilter\x86
@@ -489,6 +492,9 @@
Source Files\libavfilter
+
+ Source Files\libavfilter
+
Source Files\libavfilter
@@ -729,6 +735,9 @@
Source Files\libavfilter
+
+ Source Files\libavfilter
+
Source Files\libavfilter
@@ -942,9 +951,6 @@
Source Files\libavfilter
-
- Source Files\libavfilter
-
Source Files\libavfilter
@@ -1005,6 +1011,9 @@
Source Files\libavfilter\x86
+
+ Source Files\libavfilter\x86
+
Source Files\libavfilter\x86
@@ -1089,6 +1098,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 0e569b3b5ba9cee7fb0d2bd99e2d79b1bf77dc90..51a20b99702d101b3e56d7c0d6f4a6efeb7f86d1 100644
--- a/SMP/libavfilter/filter_list.c
+++ b/SMP/libavfilter/filter_list.c
@@ -51,6 +51,7 @@ static const AVFilter *filter_list[] = {
&ff_af_amix,
&ff_af_amultiply,
&ff_af_anequalizer,
+ &ff_af_anlmdn,
&ff_af_anull,
&ff_af_apad,
&ff_af_aperms,
@@ -239,6 +240,7 @@ static const AVFilter *filter_list[] = {
&ff_vf_lutyuv,
&ff_vf_maskedclamp,
&ff_vf_maskedmerge,
+ &ff_vf_maskfun,
&ff_vf_mcdeint,
&ff_vf_mergeplanes,
&ff_vf_mestimate,
diff --git a/SMP/libavformat.vcxproj b/SMP/libavformat.vcxproj
index 368bc837619b14084f9e8ead4190aa586f0687b0..32b54ebb4e9f15937abcc159f4cf96a59536ca37 100644
--- a/SMP/libavformat.vcxproj
+++ b/SMP/libavformat.vcxproj
@@ -263,6 +263,7 @@
+
diff --git a/SMP/libavformat.vcxproj.filters b/SMP/libavformat.vcxproj.filters
index 570c9a1982f59963d64ea1631dec86ed638dc8eb..4ba29b6dbd962e6a5c6c7ebcb83b2cf3a7cb2648 100644
--- a/SMP/libavformat.vcxproj.filters
+++ b/SMP/libavformat.vcxproj.filters
@@ -613,6 +613,9 @@
Source Files\libavformat
+
+ Source Files\libavformat
+
Source Files\libavformat
diff --git a/SMP/libavformat/demuxer_list.c b/SMP/libavformat/demuxer_list.c
index 016deace0ca610d1cae8dd47635bd36c08d1e8e5..1ea156739b6376c1dd574eb5d32e1a4f3b693d4e 100644
--- a/SMP/libavformat/demuxer_list.c
+++ b/SMP/libavformat/demuxer_list.c
@@ -114,6 +114,7 @@ static const AVInputFormat *demuxer_list[] = {
&ff_h261_demuxer,
&ff_h263_demuxer,
&ff_h264_demuxer,
+ &ff_hcom_demuxer,
&ff_hevc_demuxer,
&ff_hls_demuxer,
&ff_hnm_demuxer,