--- Makefile | 2 +- ffmpeg_dxva2.c | 1 + ffmpeg_dxva_template.c | 7 ++++++- ffmpeg_guid.c | 20 ++++++++++++++++++++ 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 ffmpeg_guid.c
diff --git a/Makefile b/Makefile index 8aa72fd..25e1d54 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ ifndef CONFIG_VIDEOTOOLBOX OBJS-ffmpeg-$(CONFIG_VDA) += ffmpeg_videotoolbox.o endif OBJS-ffmpeg-$(CONFIG_CUVID) += ffmpeg_cuvid.o -OBJS-ffmpeg-$(HAVE_DXVA2_LIB) += ffmpeg_dxva2.o +OBJS-ffmpeg-$(HAVE_DXVA2_LIB) += ffmpeg_dxva2.o ffmpeg_guid.o OBJS-ffmpeg-$(HAVE_VDPAU_X11) += ffmpeg_vdpau.o OBJS-ffserver += ffserver_config.o diff --git a/ffmpeg_dxva2.c b/ffmpeg_dxva2.c index e07f2b8..dd19fec 100644 --- a/ffmpeg_dxva2.c +++ b/ffmpeg_dxva2.c @@ -63,6 +63,7 @@ typedef struct dxva_context DXVA_AV_CONTEXT; typedef IDirectXVideoDecoderService *DXVA_DECODER_SERVICE; #include "ffmpeg_dxva_template.c" +#include <initguid.h> DEFINE_GUID(IID_IDirectXVideoDecoderService, 0xfc51a551,0xd5e7,0x11d9,0xaf,0x55,0x00,0x05,0x4e,0x43,0xff,0x02); static void dxva2_uninit(AVCodecContext *s) diff --git a/ffmpeg_dxva_template.c b/ffmpeg_dxva_template.c index 87d33f2..1a7d26e 100644 --- a/ffmpeg_dxva_template.c +++ b/ffmpeg_dxva_template.c @@ -16,9 +16,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#ifndef INITGUID +#include <guiddef.h> +#endif + /* define all the GUIDs used directly here, to avoid problems with inconsistent dxva2api.h versions in mingw-w64 and different MSVC version */ -#include <initguid.h> DEFINE_GUID(DXVA2_ModeMPEG2_VLD, 0xee27417f, 0x5e28,0x4e65,0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9); DEFINE_GUID(DXVA2_ModeMPEG2and1_VLD, 0x86695f12, 0x340e,0x4f04,0x9f,0xd3,0x92,0x53,0xdd,0x32,0x74,0x60); DEFINE_GUID(DXVA2_ModeH264_E, 0x1b81be68, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5); @@ -32,6 +35,7 @@ DEFINE_GUID(DXVA2_NoEncrypt, 0x1b81beD0, 0xa0c7,0x11d3,0xb9,0x84,0x00,0 DEFINE_GUID(DXVA2_ModeVP9_VLD_Profile0, 0x463707f8, 0xa1d0,0x4585,0x87,0x6d,0x83,0xaa,0x6d,0x60,0xb8,0x9e); DEFINE_GUID(GUID_NULL, 0x00000000, 0x0000,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); +#ifndef INITGUID typedef struct dxva_mode { const GUID *guid; enum AVCodecID codec; @@ -293,3 +297,4 @@ fail: dxva_uninit(s); return AVERROR(EINVAL); } +#endif /* INITGUID */ diff --git a/ffmpeg_guid.c b/ffmpeg_guid.c new file mode 100644 index 0000000..4a12227 --- /dev/null +++ b/ffmpeg_guid.c @@ -0,0 +1,20 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include <initguid.h> +#include "ffmpeg_dxva_template.c" -- 2.10.1.windows.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel