diff --git a/SMP/config.asm b/SMP/config.asm
index c8659544b030da9afd5c0b15e6464f08cb639d6a..5b84920af73d88975568a2506c5e642cba3a3eee 100644
--- a/SMP/config.asm
+++ b/SMP/config.asm
@@ -439,6 +439,7 @@
%define CONFIG_FILTERING_AUDIO_EXAMPLE 0
%define CONFIG_FILTERING_VIDEO_EXAMPLE 0
%define CONFIG_HTTP_MULTICLIENT_EXAMPLE 0
+%define CONFIG_HW_DECODE_EXAMPLE 0
%define CONFIG_METADATA_EXAMPLE 0
%define CONFIG_MUXING_EXAMPLE 0
%define CONFIG_QSVDEC_EXAMPLE 0
diff --git a/SMP/config.h b/SMP/config.h
index 7e5489865bccf43b3b081e6256e04cf1e959eab8..e719ee9641f8412da574751348e1ccf938124d2c 100644
--- a/SMP/config.h
+++ b/SMP/config.h
@@ -481,6 +481,7 @@
#define CONFIG_FILTERING_AUDIO_EXAMPLE 0
#define CONFIG_FILTERING_VIDEO_EXAMPLE 0
#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 0
+#define CONFIG_HW_DECODE_EXAMPLE 0
#define CONFIG_METADATA_EXAMPLE 0
#define CONFIG_MUXING_EXAMPLE 0
#define CONFIG_QSVDEC_EXAMPLE 0
diff --git a/SMP/libavcodec.vcxproj b/SMP/libavcodec.vcxproj
index a68781739993b8c1b232b55d20fc9cbf1508dec4..a3874a62c0e4be7617c30d510bd49bb9a54a3c04 100644
--- a/SMP/libavcodec.vcxproj
+++ b/SMP/libavcodec.vcxproj
@@ -191,6 +191,8 @@
+
+
@@ -222,11 +224,13 @@
+
+
@@ -304,11 +308,9 @@
-
-
@@ -520,7 +522,6 @@
-
@@ -596,7 +597,6 @@
-
diff --git a/SMP/libavcodec.vcxproj.filters b/SMP/libavcodec.vcxproj.filters
index f2e5864630f356c26654b82735c92de7dea32449..62143ae2d4a0880cfa447e62212defe567a9ed3e 100644
--- a/SMP/libavcodec.vcxproj.filters
+++ b/SMP/libavcodec.vcxproj.filters
@@ -396,6 +396,12 @@
Source Files\libavcodec
+
+ Source Files\libavcodec
+
+
+ Source Files\libavcodec
+
Source Files\libavcodec
@@ -489,6 +495,9 @@
Source Files\libavcodec
+
+ Source Files\libavcodec
+
Source Files\libavcodec
@@ -504,6 +513,9 @@
Source Files\libavcodec
+
+ Source Files\libavcodec
+
Source Files\libavcodec
@@ -735,9 +747,6 @@
Source Files\libavcodec
-
- Source Files\libavcodec
-
Source Files\libavcodec
@@ -747,9 +756,6 @@
Source Files\libavcodec
-
- Source Files\libavcodec
-
Source Files\libavcodec
@@ -1383,9 +1389,6 @@
Source Files\libavcodec
-
- Source Files\libavcodec
-
Source Files\libavcodec
@@ -1611,9 +1614,6 @@
Source Files\libavcodec
-
- Source Files\libavcodec
-
Source Files\libavcodec
diff --git a/SMP/libavcodec/dce_defs.c b/SMP/libavcodec/dce_defs.c
index 6f709c675f4a7279548b358feb6554829f629203..3974e567afdd94f1f4935cd9c89fb38759771fcc 100644
--- a/SMP/libavcodec/dce_defs.c
+++ b/SMP/libavcodec/dce_defs.c
@@ -21,7 +21,7 @@
#include "config.h"
-#if !(CONFIG_H264_D3D11VA2_HWACCEL||CONFIG_H264_D3D11VA_HWACCEL||CONFIG_HEVC_D3D11VA2_HWACCEL||CONFIG_HEVC_D3D11VA_HWACCEL||CONFIG_MPEG2_D3D11VA2_HWACCEL||CONFIG_MPEG2_D3D11VA_HWACCEL||CONFIG_VC1_D3D11VA2_HWACCEL||CONFIG_VC1_D3D11VA_HWACCEL||CONFIG_VP9_D3D11VA2_HWACCEL||CONFIG_VP9_D3D11VA_HWACCEL||CONFIG_VP9_DXVA2_HWACCEL||CONFIG_WMV3_D3D11VA2_HWACCEL||CONFIG_WMV3_D3D11VA_HWACCEL)
+#if !(CONFIG_VP9_D3D11VA2_HWACCEL||CONFIG_VP9_D3D11VA_HWACCEL||CONFIG_VP9_DXVA2_HWACCEL)
#include "libavcodec/avcodec.h"
#endif
#include "libavcodec/xvmc_internal.h"
@@ -34,9 +34,6 @@
#include "libavcodec/vorbisdsp.h"
#include "libavcodec/videodsp.h"
#include "libavcodec/vdpau_compat.h"
-#if !((HAVE_6REGS && HAVE_MMX_INLINE)||(HAVE_6REGS && HAVE_MMXEXT_INLINE))
-#include "libavcodec/x86/vc1dsp.h"
-#endif
#include "libavcodec/vc1dsp.h"
#include "libavcodec/synth_filter.h"
#include "libavcodec/svq1enc.h"
@@ -75,9 +72,6 @@
#include "libavcodec/flacdsp.h"
#include "libavcodec/fft.h"
#include "libavcodec/fdctdsp.h"
-#if !(HAVE_MMX_INLINE||HAVE_MMXEXT_INLINE||HAVE_SSE2_INLINE)
-#include "libavcodec/x86/fdct.h"
-#endif
#include "libavcodec/celp_math.h"
#include "libavcodec/celp_filters.h"
#include "libavcodec/blockdsp.h"
@@ -88,16 +82,7 @@
#include "libavcodec/aacsbr.h"
#include "libavcodec/aac.h"
#include "libavcodec/aacenc.h"
-#if !(CONFIG_MSMPEG4_DECODER||CONFIG_MSMPEG4_ENCODER)
-#include "libavcodec/msmpeg4.h"
-#endif
-#if !(CONFIG_MSMPEG4_DECODER)
-int ff_msmpeg4_decode_picture_header(MpegEncContext *s) {return 0;}
-#endif
-#if !(CONFIG_MSMPEG4_ENCODER)
-int ff_msmpeg4_encode_init(MpegEncContext *s) {return 0;}
-#endif
void ff_aac_coder_init_mips(AACEncContext *c) {return;}
void ff_aacdec_init_mips(AACContext *c) {return;}
void ff_aacsbr_func_ptr_init_mips(AACSBRContext *c) {return;}
@@ -136,15 +121,6 @@ void ff_diff_bytes_mmx(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
void ff_diff_int16_mmx (uint16_t *dst, const uint16_t *src1, const uint16_t *src2,
unsigned mask, int w) {return;}
#endif
-#if !(HAVE_MMX_INLINE)
-void ff_fdct_mmx(int16_t *block) {return;}
-#endif
-#if !(HAVE_MMXEXT_INLINE)
-void ff_fdct_mmxext(int16_t *block) {return;}
-#endif
-#if !(HAVE_SSE2_INLINE)
-void ff_fdct_sse2(int16_t *block) {return;}
-#endif
void ff_fdctdsp_init_ppc(FDCTDSPContext *c, AVCodecContext *avctx,
unsigned high_bit_depth) {return;}
#if !(ARCH_X86_64)
@@ -3497,13 +3473,6 @@ void ff_mpv_common_init_axp(MpegEncContext *s) {return;}
void ff_mpv_common_init_mips(MpegEncContext *s) {return;}
void ff_mpv_common_init_neon(MpegEncContext *s) {return;}
void ff_mpv_common_init_ppc(MpegEncContext *s) {return;}
-#if !(CONFIG_MSMPEG4_ENCODER)
-void ff_msmpeg4_encode_mb(MpegEncContext *s, int16_t block[6][64],
- int motion_x, int motion_y) {return;}
-#endif
-#if !(CONFIG_MSMPEG4_ENCODER)
-void ff_msmpeg4_encode_picture_header(MpegEncContext *s, int picture_number) {return;}
-#endif
void ff_pixblockdsp_init_alpha(PixblockDSPContext *c, AVCodecContext *avctx,
unsigned high_bit_depth) {return;}
void ff_pixblockdsp_init_arm(PixblockDSPContext *c, AVCodecContext *avctx,
@@ -3574,12 +3543,6 @@ void ff_synth_filter_init_arm(SynthFilterContext *c) {return;}
void ff_vc1dsp_init_aarch64(VC1DSPContext* dsp) {return;}
void ff_vc1dsp_init_arm(VC1DSPContext* dsp) {return;}
void ff_vc1dsp_init_mips(VC1DSPContext* dsp) {return;}
-#if !(HAVE_6REGS && HAVE_MMX_INLINE)
-void ff_vc1dsp_init_mmx(VC1DSPContext *dsp) {return;}
-#endif
-#if !(HAVE_6REGS && HAVE_MMXEXT_INLINE)
-void ff_vc1dsp_init_mmxext(VC1DSPContext *dsp) {return;}
-#endif
void ff_vc1dsp_init_ppc(VC1DSPContext *c) {return;}
void ff_vdpau_add_data_chunk(uint8_t *data, const uint8_t *buf,
int buf_size) {return;}
@@ -3629,157 +3592,119 @@ void ff_xvid_idct_init_mips(IDCTDSPContext *c, AVCodecContext *avctx,
unsigned high_bit_depth) {return;}
void ff_xvmc_init_block(MpegEncContext *s) {return;}
void ff_xvmc_pack_pblocks(MpegEncContext *s, int cbp) {return;}
-AVCodec ff_aac_at_decoder = {0};
-AVCodec ff_aac_at_encoder = {0};
-AVCodec ff_ac3_at_decoder = {0};
-AVCodec ff_adpcm_ima_qt_at_decoder = {0};
-AVCodec ff_alac_at_decoder = {0};
-AVCodec ff_alac_at_encoder = {0};
-AVCodec ff_amr_nb_at_decoder = {0};
-AVCodec ff_eac3_at_decoder = {0};
-AVCodec ff_gsm_ms_at_decoder = {0};
-AVCodec ff_h264_crystalhd_decoder = {0};
-AVCodec ff_h264_mediacodec_decoder = {0};
-AVCodec ff_h264_mmal_decoder = {0};
-AVCodec ff_h264_omx_encoder = {0};
-AVCodec ff_h264_vaapi_encoder = {0};
-AVCodec ff_h264_vda_decoder = {0};
-AVCodec ff_h264_vdpau_decoder = {0};
-AVCodec ff_h264_videotoolbox_encoder = {0};
-AVCodec ff_hap_encoder = {0};
-AVCodec ff_hevc_mediacodec_decoder = {0};
-AVCodec ff_hevc_vaapi_encoder = {0};
-AVCodec ff_ilbc_at_decoder = {0};
-AVCodec ff_ilbc_at_encoder = {0};
-AVCodec ff_libcelt_decoder = {0};
-AVCodec ff_libfdk_aac_decoder = {0};
-AVCodec ff_libfdk_aac_encoder = {0};
-AVCodec ff_libgsm_decoder = {0};
-AVCodec ff_libgsm_encoder = {0};
-AVCodec ff_libgsm_ms_decoder = {0};
-AVCodec ff_libgsm_ms_encoder = {0};
-AVCodec ff_libkvazaar_encoder = {0};
-AVCodec ff_libopencore_amrnb_decoder = {0};
-AVCodec ff_libopencore_amrnb_encoder = {0};
-AVCodec ff_libopencore_amrwb_decoder = {0};
-AVCodec ff_libopenh264_decoder = {0};
-AVCodec ff_libopenh264_encoder = {0};
-AVCodec ff_libopenjpeg_decoder = {0};
-AVCodec ff_libopenjpeg_encoder = {0};
-AVCodec ff_libopus_decoder = {0};
-AVCodec ff_librsvg_decoder = {0};
-AVCodec ff_libshine_encoder = {0};
-AVCodec ff_libtwolame_encoder = {0};
-AVCodec ff_libvo_amrwbenc_encoder = {0};
-AVCodec ff_libvpx_vp8_decoder = {0};
-AVCodec ff_libvpx_vp9_decoder = {0};
-AVCodec ff_libwavpack_encoder = {0};
-AVCodec ff_libwebp_anim_encoder = {0};
-AVCodec ff_libwebp_encoder = {0};
-AVCodec ff_libx262_encoder = {0};
-AVCodec ff_libxavs_encoder = {0};
-AVCodec ff_libzvbi_teletext_decoder = {0};
-AVCodec ff_mjpeg_vaapi_encoder = {0};
-AVCodec ff_mp1_at_decoder = {0};
-AVCodec ff_mp2_at_decoder = {0};
-AVCodec ff_mp3_at_decoder = {0};
-AVCodec ff_mpeg1_vdpau_decoder = {0};
-AVCodec ff_mpeg2_crystalhd_decoder = {0};
-AVCodec ff_mpeg2_mediacodec_decoder = {0};
-AVCodec ff_mpeg2_mmal_decoder = {0};
-AVCodec ff_mpeg2_vaapi_encoder = {0};
-AVCodec ff_mpeg4_crystalhd_decoder = {0};
-AVCodec ff_mpeg4_mediacodec_decoder = {0};
-AVCodec ff_mpeg4_mmal_decoder = {0};
-AVCodec ff_mpeg4_vdpau_decoder = {0};
-AVCodec ff_mpeg_vdpau_decoder = {0};
-AVCodec ff_mpeg_xvmc_decoder = {0};
-AVCodec ff_msmpeg4_crystalhd_decoder = {0};
-AVCodec ff_pcm_alaw_at_decoder = {0};
-AVCodec ff_pcm_alaw_at_encoder = {0};
-AVCodec ff_pcm_mulaw_at_decoder = {0};
-AVCodec ff_pcm_mulaw_at_encoder = {0};
-AVCodec ff_qdm2_at_decoder = {0};
-AVCodec ff_qdmc_at_decoder = {0};
-AVCodec ff_vc1_crystalhd_decoder = {0};
-AVCodec ff_vc1_mmal_decoder = {0};
-AVCodec ff_vc1_vdpau_decoder = {0};
-AVCodec ff_vp8_mediacodec_decoder = {0};
-AVCodec ff_vp8_vaapi_encoder = {0};
-AVCodec ff_vp9_mediacodec_decoder = {0};
-AVCodec ff_vp9_vaapi_encoder = {0};
-AVCodec ff_wmv3_crystalhd_decoder = {0};
-AVCodec ff_wmv3_vdpau_decoder = {0};
-AVHWAccel ff_h263_vaapi_hwaccel = {0};
-AVHWAccel ff_h263_videotoolbox_hwaccel = {0};
-#if !(CONFIG_H264_D3D11VA2_HWACCEL)
-AVHWAccel ff_h264_d3d11va2_hwaccel = {0};
-#endif
-#if !(CONFIG_H264_D3D11VA_HWACCEL)
-AVHWAccel ff_h264_d3d11va_hwaccel = {0};
-#endif
-AVHWAccel ff_h264_mediacodec_hwaccel = {0};
-AVHWAccel ff_h264_mmal_hwaccel = {0};
-AVHWAccel ff_h264_vaapi_hwaccel = {0};
-AVHWAccel ff_h264_vda_hwaccel = {0};
-AVHWAccel ff_h264_vda_old_hwaccel = {0};
-AVHWAccel ff_h264_vdpau_hwaccel = {0};
-AVHWAccel ff_h264_videotoolbox_hwaccel = {0};
-#if !(CONFIG_HEVC_D3D11VA2_HWACCEL)
-AVHWAccel ff_hevc_d3d11va2_hwaccel = {0};
-#endif
-#if !(CONFIG_HEVC_D3D11VA_HWACCEL)
-AVHWAccel ff_hevc_d3d11va_hwaccel = {0};
-#endif
-AVHWAccel ff_hevc_mediacodec_hwaccel = {0};
-AVHWAccel ff_hevc_vaapi_hwaccel = {0};
-AVHWAccel ff_hevc_vdpau_hwaccel = {0};
-AVHWAccel ff_mpeg1_vdpau_hwaccel = {0};
-AVHWAccel ff_mpeg1_videotoolbox_hwaccel = {0};
-AVHWAccel ff_mpeg1_xvmc_hwaccel = {0};
-#if !(CONFIG_MPEG2_D3D11VA2_HWACCEL)
-AVHWAccel ff_mpeg2_d3d11va2_hwaccel = {0};
-#endif
-#if !(CONFIG_MPEG2_D3D11VA_HWACCEL)
-AVHWAccel ff_mpeg2_d3d11va_hwaccel = {0};
-#endif
-AVHWAccel ff_mpeg2_mediacodec_hwaccel = {0};
-AVHWAccel ff_mpeg2_mmal_hwaccel = {0};
-AVHWAccel ff_mpeg2_vaapi_hwaccel = {0};
-AVHWAccel ff_mpeg2_vdpau_hwaccel = {0};
-AVHWAccel ff_mpeg2_videotoolbox_hwaccel = {0};
-AVHWAccel ff_mpeg2_xvmc_hwaccel = {0};
-AVHWAccel ff_mpeg4_mediacodec_hwaccel = {0};
-AVHWAccel ff_mpeg4_mmal_hwaccel = {0};
-AVHWAccel ff_mpeg4_vaapi_hwaccel = {0};
-AVHWAccel ff_mpeg4_vdpau_hwaccel = {0};
-AVHWAccel ff_mpeg4_videotoolbox_hwaccel = {0};
-#if !(CONFIG_VC1_D3D11VA2_HWACCEL)
-AVHWAccel ff_vc1_d3d11va2_hwaccel = {0};
-#endif
-#if !(CONFIG_VC1_D3D11VA_HWACCEL)
-AVHWAccel ff_vc1_d3d11va_hwaccel = {0};
-#endif
-AVHWAccel ff_vc1_mmal_hwaccel = {0};
-AVHWAccel ff_vc1_vaapi_hwaccel = {0};
-AVHWAccel ff_vc1_vdpau_hwaccel = {0};
-AVHWAccel ff_vp8_mediacodec_hwaccel = {0};
+const AVCodec ff_aac_at_decoder = {0};
+const AVCodec ff_aac_at_encoder = {0};
+const AVCodec ff_ac3_at_decoder = {0};
+const AVCodec ff_adpcm_ima_qt_at_decoder = {0};
+const AVCodec ff_alac_at_decoder = {0};
+const AVCodec ff_alac_at_encoder = {0};
+const AVCodec ff_amr_nb_at_decoder = {0};
+const AVCodec ff_eac3_at_decoder = {0};
+const AVCodec ff_gsm_ms_at_decoder = {0};
+const AVCodec ff_h264_crystalhd_decoder = {0};
+const AVCodec ff_h264_mediacodec_decoder = {0};
+const AVCodec ff_h264_mmal_decoder = {0};
+const AVCodec ff_h264_omx_encoder = {0};
+const AVCodec ff_h264_vaapi_encoder = {0};
+const AVCodec ff_h264_vda_decoder = {0};
+const AVCodec ff_h264_videotoolbox_encoder = {0};
+const AVCodec ff_hap_encoder = {0};
+const AVCodec ff_hevc_mediacodec_decoder = {0};
+const AVCodec ff_hevc_vaapi_encoder = {0};
+const AVCodec ff_ilbc_at_decoder = {0};
+const AVCodec ff_ilbc_at_encoder = {0};
+const AVCodec ff_libcelt_decoder = {0};
+const AVCodec ff_libfdk_aac_decoder = {0};
+const AVCodec ff_libfdk_aac_encoder = {0};
+const AVCodec ff_libgsm_decoder = {0};
+const AVCodec ff_libgsm_encoder = {0};
+const AVCodec ff_libgsm_ms_decoder = {0};
+const AVCodec ff_libgsm_ms_encoder = {0};
+const AVCodec ff_libkvazaar_encoder = {0};
+const AVCodec ff_libopencore_amrnb_decoder = {0};
+const AVCodec ff_libopencore_amrnb_encoder = {0};
+const AVCodec ff_libopencore_amrwb_decoder = {0};
+const AVCodec ff_libopenh264_decoder = {0};
+const AVCodec ff_libopenh264_encoder = {0};
+const AVCodec ff_libopenjpeg_decoder = {0};
+const AVCodec ff_libopenjpeg_encoder = {0};
+const AVCodec ff_libopus_decoder = {0};
+const AVCodec ff_librsvg_decoder = {0};
+const AVCodec ff_libshine_encoder = {0};
+const AVCodec ff_libtwolame_encoder = {0};
+const AVCodec ff_libvo_amrwbenc_encoder = {0};
+const AVCodec ff_libvpx_vp8_decoder = {0};
+const AVCodec ff_libvpx_vp9_decoder = {0};
+const AVCodec ff_libwavpack_encoder = {0};
+const AVCodec ff_libwebp_anim_encoder = {0};
+const AVCodec ff_libwebp_encoder = {0};
+const AVCodec ff_libxavs_encoder = {0};
+const AVCodec ff_libzvbi_teletext_decoder = {0};
+const AVCodec ff_mjpeg_vaapi_encoder = {0};
+const AVCodec ff_mp1_at_decoder = {0};
+const AVCodec ff_mp2_at_decoder = {0};
+const AVCodec ff_mp3_at_decoder = {0};
+const AVCodec ff_mpeg2_crystalhd_decoder = {0};
+const AVCodec ff_mpeg2_mediacodec_decoder = {0};
+const AVCodec ff_mpeg2_mmal_decoder = {0};
+const AVCodec ff_mpeg2_vaapi_encoder = {0};
+const AVCodec ff_mpeg4_crystalhd_decoder = {0};
+const AVCodec ff_mpeg4_mediacodec_decoder = {0};
+const AVCodec ff_mpeg4_mmal_decoder = {0};
+const AVCodec ff_msmpeg4_crystalhd_decoder = {0};
+const AVCodec ff_pcm_alaw_at_decoder = {0};
+const AVCodec ff_pcm_alaw_at_encoder = {0};
+const AVCodec ff_pcm_mulaw_at_decoder = {0};
+const AVCodec ff_pcm_mulaw_at_encoder = {0};
+const AVCodec ff_qdm2_at_decoder = {0};
+const AVCodec ff_qdmc_at_decoder = {0};
+const AVCodec ff_vc1_crystalhd_decoder = {0};
+const AVCodec ff_vc1_mmal_decoder = {0};
+const AVCodec ff_vp8_mediacodec_decoder = {0};
+const AVCodec ff_vp8_vaapi_encoder = {0};
+const AVCodec ff_vp9_mediacodec_decoder = {0};
+const AVCodec ff_vp9_vaapi_encoder = {0};
+const AVCodec ff_wmv3_crystalhd_decoder = {0};
+const AVHWAccel ff_h263_vaapi_hwaccel = {0};
+const AVHWAccel ff_h263_videotoolbox_hwaccel = {0};
+const AVHWAccel ff_h264_mediacodec_hwaccel = {0};
+const AVHWAccel ff_h264_mmal_hwaccel = {0};
+const AVHWAccel ff_h264_vaapi_hwaccel = {0};
+const AVHWAccel ff_h264_vda_hwaccel = {0};
+const AVHWAccel ff_h264_vda_old_hwaccel = {0};
+const AVHWAccel ff_h264_vdpau_hwaccel = {0};
+const AVHWAccel ff_h264_videotoolbox_hwaccel = {0};
+const AVHWAccel ff_hevc_mediacodec_hwaccel = {0};
+const AVHWAccel ff_hevc_vaapi_hwaccel = {0};
+const AVHWAccel ff_hevc_vdpau_hwaccel = {0};
+const AVHWAccel ff_mpeg1_vdpau_hwaccel = {0};
+const AVHWAccel ff_mpeg1_videotoolbox_hwaccel = {0};
+const AVHWAccel ff_mpeg1_xvmc_hwaccel = {0};
+const AVHWAccel ff_mpeg2_mediacodec_hwaccel = {0};
+const AVHWAccel ff_mpeg2_mmal_hwaccel = {0};
+const AVHWAccel ff_mpeg2_vaapi_hwaccel = {0};
+const AVHWAccel ff_mpeg2_vdpau_hwaccel = {0};
+const AVHWAccel ff_mpeg2_videotoolbox_hwaccel = {0};
+const AVHWAccel ff_mpeg2_xvmc_hwaccel = {0};
+const AVHWAccel ff_mpeg4_mediacodec_hwaccel = {0};
+const AVHWAccel ff_mpeg4_mmal_hwaccel = {0};
+const AVHWAccel ff_mpeg4_vaapi_hwaccel = {0};
+const AVHWAccel ff_mpeg4_vdpau_hwaccel = {0};
+const AVHWAccel ff_mpeg4_videotoolbox_hwaccel = {0};
+const AVHWAccel ff_vc1_mmal_hwaccel = {0};
+const AVHWAccel ff_vc1_vaapi_hwaccel = {0};
+const AVHWAccel ff_vc1_vdpau_hwaccel = {0};
+const AVHWAccel ff_vp8_mediacodec_hwaccel = {0};
#if !(CONFIG_VP9_D3D11VA2_HWACCEL)
-AVHWAccel ff_vp9_d3d11va2_hwaccel = {0};
+const AVHWAccel ff_vp9_d3d11va2_hwaccel = {0};
#endif
#if !(CONFIG_VP9_D3D11VA_HWACCEL)
-AVHWAccel ff_vp9_d3d11va_hwaccel = {0};
+const AVHWAccel ff_vp9_d3d11va_hwaccel = {0};
#endif
#if !(CONFIG_VP9_DXVA2_HWACCEL)
-AVHWAccel ff_vp9_dxva2_hwaccel = {0};
-#endif
-AVHWAccel ff_vp9_mediacodec_hwaccel = {0};
-AVHWAccel ff_vp9_vaapi_hwaccel = {0};
-#if !(CONFIG_WMV3_D3D11VA2_HWACCEL)
-AVHWAccel ff_wmv3_d3d11va2_hwaccel = {0};
-#endif
-#if !(CONFIG_WMV3_D3D11VA_HWACCEL)
-AVHWAccel ff_wmv3_d3d11va_hwaccel = {0};
+const AVHWAccel ff_vp9_dxva2_hwaccel = {0};
#endif
-AVHWAccel ff_wmv3_vaapi_hwaccel = {0};
-AVHWAccel ff_wmv3_vdpau_hwaccel = {0};
+const AVHWAccel ff_vp9_mediacodec_hwaccel = {0};
+const AVHWAccel ff_vp9_vaapi_hwaccel = {0};
+const AVHWAccel ff_wmv3_vaapi_hwaccel = {0};
+const AVHWAccel ff_wmv3_vdpau_hwaccel = {0};
diff --git a/SMP/libavdevice/dce_defs.c b/SMP/libavdevice/dce_defs.c
index 830c695b49f58c7105182c28119a76225d0d0e2f..0aac25ce450221e3d5ea04b849f6a0af604bb962 100644
--- a/SMP/libavdevice/dce_defs.c
+++ b/SMP/libavdevice/dce_defs.c
@@ -23,28 +23,28 @@
#include "libavdevice/avdevice.h"
-AVInputFormat ff_alsa_demuxer = {0};
-AVInputFormat ff_avfoundation_demuxer = {0};
-AVInputFormat ff_bktr_demuxer = {0};
-AVInputFormat ff_decklink_demuxer = {0};
-AVInputFormat ff_dv1394_demuxer = {0};
-AVInputFormat ff_fbdev_demuxer = {0};
-AVInputFormat ff_iec61883_demuxer = {0};
-AVInputFormat ff_jack_demuxer = {0};
-AVInputFormat ff_libdc1394_demuxer = {0};
-AVInputFormat ff_openal_demuxer = {0};
-AVInputFormat ff_oss_demuxer = {0};
-AVInputFormat ff_pulse_demuxer = {0};
-AVInputFormat ff_qtkit_demuxer = {0};
-AVInputFormat ff_sndio_demuxer = {0};
-AVInputFormat ff_v4l2_demuxer = {0};
-AVInputFormat ff_xcbgrab_demuxer = {0};
-AVOutputFormat ff_alsa_muxer = {0};
-AVOutputFormat ff_caca_muxer = {0};
-AVOutputFormat ff_decklink_muxer = {0};
-AVOutputFormat ff_fbdev_muxer = {0};
-AVOutputFormat ff_oss_muxer = {0};
-AVOutputFormat ff_pulse_muxer = {0};
-AVOutputFormat ff_sndio_muxer = {0};
-AVOutputFormat ff_v4l2_muxer = {0};
-AVOutputFormat ff_xv_muxer = {0};
+const AVInputFormat ff_alsa_demuxer = {0};
+const AVInputFormat ff_avfoundation_demuxer = {0};
+const AVInputFormat ff_bktr_demuxer = {0};
+const AVInputFormat ff_decklink_demuxer = {0};
+const AVInputFormat ff_dv1394_demuxer = {0};
+const AVInputFormat ff_fbdev_demuxer = {0};
+const AVInputFormat ff_iec61883_demuxer = {0};
+const AVInputFormat ff_jack_demuxer = {0};
+const AVInputFormat ff_libdc1394_demuxer = {0};
+const AVInputFormat ff_openal_demuxer = {0};
+const AVInputFormat ff_oss_demuxer = {0};
+const AVInputFormat ff_pulse_demuxer = {0};
+const AVInputFormat ff_qtkit_demuxer = {0};
+const AVInputFormat ff_sndio_demuxer = {0};
+const AVInputFormat ff_v4l2_demuxer = {0};
+const AVInputFormat ff_xcbgrab_demuxer = {0};
+const AVOutputFormat ff_alsa_muxer = {0};
+const AVOutputFormat ff_caca_muxer = {0};
+const AVOutputFormat ff_decklink_muxer = {0};
+const AVOutputFormat ff_fbdev_muxer = {0};
+const AVOutputFormat ff_oss_muxer = {0};
+const AVOutputFormat ff_pulse_muxer = {0};
+const AVOutputFormat ff_sndio_muxer = {0};
+const AVOutputFormat ff_v4l2_muxer = {0};
+const AVOutputFormat ff_xv_muxer = {0};
diff --git a/SMP/libavfilter/dce_defs.c b/SMP/libavfilter/dce_defs.c
index 4571bc9fc68bba551a293f6b896836ceb51e4408..0aabe0db2bffdcbe768421d5bafd2d83ad3c5eae 100644
--- a/SMP/libavfilter/dce_defs.c
+++ b/SMP/libavfilter/dce_defs.c
@@ -187,25 +187,25 @@ void ff_yuv2yuv_444p8to12_sse2(uint8_t *yuv_out[3], const ptrdiff_t yuv_out_stri
#if !(ARCH_X86_64)
void ff_yuv2yuv_444p8to8_sse2(uint8_t *yuv_out[3], const ptrdiff_t yuv_out_stride[3], uint8_t *yuv_in[3], const ptrdiff_t yuv_in_stride[3], int w, int h, const int16_t yuv2yuv_coeffs[3][3][8], const int16_t yuv_offset[2][8]) {return;}
#endif
-AVFilter ff_af_azmq = {0};
-AVFilter ff_af_bs2b = {0};
-AVFilter ff_af_ladspa = {0};
-AVFilter ff_af_resample = {0};
-AVFilter ff_af_rubberband = {0};
-AVFilter ff_af_sofalizer = {0};
-AVFilter ff_asrc_flite = {0};
-AVFilter ff_vf_coreimage = {0};
-AVFilter ff_vf_deinterlace_vaapi = {0};
-AVFilter ff_vf_frei0r = {0};
-AVFilter ff_vf_libvmaf = {0};
-AVFilter ff_vf_ocr = {0};
-AVFilter ff_vf_ocv = {0};
-AVFilter ff_vf_scale_cuda = {0};
-AVFilter ff_vf_scale_npp = {0};
-AVFilter ff_vf_scale_vaapi = {0};
-AVFilter ff_vf_vidstabdetect = {0};
-AVFilter ff_vf_vidstabtransform = {0};
-AVFilter ff_vf_zmq = {0};
-AVFilter ff_vf_zscale = {0};
-AVFilter ff_vsrc_coreimagesrc = {0};
-AVFilter ff_vsrc_frei0r_src = {0};
+const AVFilter ff_af_azmq = {0};
+const AVFilter ff_af_bs2b = {0};
+const AVFilter ff_af_ladspa = {0};
+const AVFilter ff_af_resample = {0};
+const AVFilter ff_af_rubberband = {0};
+const AVFilter ff_af_sofalizer = {0};
+const AVFilter ff_asrc_flite = {0};
+const AVFilter ff_vf_coreimage = {0};
+const AVFilter ff_vf_deinterlace_vaapi = {0};
+const AVFilter ff_vf_frei0r = {0};
+const AVFilter ff_vf_libvmaf = {0};
+const AVFilter ff_vf_ocr = {0};
+const AVFilter ff_vf_ocv = {0};
+const AVFilter ff_vf_scale_cuda = {0};
+const AVFilter ff_vf_scale_npp = {0};
+const AVFilter ff_vf_scale_vaapi = {0};
+const AVFilter ff_vf_vidstabdetect = {0};
+const AVFilter ff_vf_vidstabtransform = {0};
+const AVFilter ff_vf_zmq = {0};
+const AVFilter ff_vf_zscale = {0};
+const AVFilter ff_vsrc_coreimagesrc = {0};
+const AVFilter ff_vsrc_frei0r_src = {0};
diff --git a/SMP/libavformat/dce_defs.c b/SMP/libavformat/dce_defs.c
index 4ffbcd0154e86069cb2f54419359f4b0cf00c694..12c1cb4c6eff7537b6419800cfde4988ba9caf5f 100644
--- a/SMP/libavformat/dce_defs.c
+++ b/SMP/libavformat/dce_defs.c
@@ -23,5 +23,5 @@
#include "libavformat/avformat.h"
-AVInputFormat ff_libopenmpt_demuxer = {0};
-AVOutputFormat ff_chromaprint_muxer = {0};
+const AVInputFormat ff_libopenmpt_demuxer = {0};
+const AVOutputFormat ff_chromaprint_muxer = {0};