[vlc-devel] [PATCH 1/8] contrib:d3d9: add defines necessary to handle different deinterlacing algorithms
Steve Lhomme
robux4 at videolabs.io
Sat Jul 1 18:07:07 CEST 2017
---
contrib/src/d3d9/dxva2api.patch | 63 ++++++++++++++++++++++++++++++++++++-----
1 file changed, 56 insertions(+), 7 deletions(-)
diff --git a/contrib/src/d3d9/dxva2api.patch b/contrib/src/d3d9/dxva2api.patch
index 18e36643f4..ec7325b377 100644
--- a/contrib/src/d3d9/dxva2api.patch
+++ b/contrib/src/d3d9/dxva2api.patch
@@ -1,5 +1,5 @@
---- ../tarballs/dxva2api.idl 2017-04-11 14:13:48.105355400 +0200
-+++ dxva2api/dxva2api.idl 2017-04-11 15:00:53.705524600 +0200
+--- ../tarballs/dxva2api.idl 2017-06-13 14:45:14.598269100 +0200
++++ dxva2api/dxva2api.idl 2017-06-26 10:08:58.732675300 +0200
@@ -6,6 +6,8 @@
import "unknwn.idl";
@@ -9,7 +9,7 @@
/* Fake widl types */
cpp_quote("#if 0")
typedef DWORD IDirect3DDevice9;
-@@ -14,12 +16,15 @@
+@@ -14,12 +16,15 @@ typedef DWORD D3DFORMAT;
typedef DWORD D3DPOOL;
cpp_quote("#endif")
@@ -29,7 +29,7 @@
cpp_quote("#define DXVA2_ProcAmp_None 0x0000")
cpp_quote("#define DXVA2_ProcAmp_Brightness 0x0001")
-@@ -142,19 +147,19 @@
+@@ -142,19 +147,19 @@ cpp_quote(" DXVA2_VideoTransferMatrix_B
cpp_quote(" DXVA2_VideoTransferMatrix_SMPTE240M = 3 ")
cpp_quote("} DXVA2_VideoTransferMatrix;")
cpp_quote("")
@@ -62,7 +62,7 @@
typedef struct _DXVA2_ConfigPictureDecode {
GUID guidConfigBitstreamEncryption;
-@@ -219,40 +224,40 @@
+@@ -219,40 +224,40 @@ typedef struct _DXVA2_ExtendedFormat {
};
} DXVA2_ExtendedFormat;
@@ -131,7 +131,7 @@
typedef struct _DXVA2_VideoDesc {
UINT SampleWidth;
-@@ -317,57 +322,60 @@
+@@ -317,57 +322,93 @@ cpp_quote("DXVA2_DetailFilterTech_Unknow
cpp_quote("DXVA2_DetailFilterTech_Edge")
cpp_quote("DXVA2_DetailFilterTech_Sharpening")
cpp_quote("*/")
@@ -217,6 +217,39 @@
+} DXVA2_VideoProcessorCaps;
+#endif
+
++cpp_quote("/* deinterlacing capabilities */")
++cpp_quote("#define DXVA2_DeinterlaceTech_Unknown 0x0")
++cpp_quote("#define DXVA2_DeinterlaceTech_BOBLineReplicate 0x1")
++cpp_quote("#define DXVA2_DeinterlaceTech_BOBVerticalStretch 0x2")
++cpp_quote("#define DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap 0x4")
++cpp_quote("#define DXVA2_DeinterlaceTech_MedianFiltering 0x8")
++cpp_quote("#define DXVA2_DeinterlaceTech_EdgeFiltering 0x10")
++cpp_quote("#define DXVA2_DeinterlaceTech_FieldAdaptive 0x20")
++cpp_quote("#define DXVA2_DeinterlaceTech_PixelAdaptive 0x40")
++cpp_quote("#define DXVA2_DeinterlaceTech_MotionVectorSteered 0x80")
++cpp_quote("#define DXVA2_DeinterlaceTech_InverseTelecine 0x100")
++cpp_quote("#define DXVA2_DeinterlaceTech_Mask 0x1FF")
++
++cpp_quote("/* VideoProcessor capabilities */")
++cpp_quote("#define DXVA2_VideoProcess_None 0x0")
++cpp_quote("#define DXVA2_VideoProcess_YUV2RGB 0x1")
++cpp_quote("#define DXVA2_VideoProcess_StretchX 0x2")
++cpp_quote("#define DXVA2_VideoProcess_StretchY 0x4")
++cpp_quote("#define DXVA2_VideoProcess_AlphaBlend 0x8")
++cpp_quote("#define DXVA2_VideoProcess_SubRects 0x10")
++cpp_quote("#define DXVA2_VideoProcess_SubStreams 0x20")
++cpp_quote("#define DXVA2_VideoProcess_SubStreamsExtended 0x40")
++cpp_quote("#define DXVA2_VideoProcess_YUV2RGBExtended 0x80")
++cpp_quote("#define DXVA2_VideoProcess_AlphaBlendExtended 0x100")
++cpp_quote("#define DXVA2_VideoProcess_Constriction 0x200")
++cpp_quote("#define DXVA2_VideoProcess_NoiseFilter 0x400")
++cpp_quote("#define DXVA2_VideoProcess_DetailFilter 0x800")
++cpp_quote("#define DXVA2_VideoProcess_PlanarAlpha 0x1000")
++cpp_quote("#define DXVA2_VideoProcess_LinearScaling 0x2000")
++cpp_quote("#define DXVA2_VideoProcess_GammaCompensated 0x4000")
++cpp_quote("#define DXVA2_VideoProcess_MaintainsOriginalFieldData 0x8000")
++cpp_quote("#define DXVA2_VideoProcess_Mask 0xFFFF")
++
+cpp_quote("/* SampleData */")
+enum
+{
@@ -243,7 +276,23 @@
cpp_quote("/* Constants */")
cpp_quote("")
cpp_quote("#define DXVA2_VideoDecoderRenderTarget 0")
-@@ -481,4 +489,84 @@
+@@ -385,13 +426,13 @@ cpp_quote("#define DXVA2_BitStreamDateBu
+ cpp_quote("#define DXVA2_MotionVectorBuffer 7")
+ cpp_quote("#define DXVA2_FilmGrainBuffer 8")
+ cpp_quote("")
+-cpp_quote("__forceinline const DXVA2_Fixed32 DXVA2_Fixed32OpaqueAlpha (void) {")
++cpp_quote("__forceinline DXVA2_Fixed32 DXVA2_Fixed32OpaqueAlpha (void) {")
+ cpp_quote(" DXVA2_Fixed32 f32;")
+ cpp_quote(" f32.ll = 0 + (1 << 16);")
+ cpp_quote(" return f32;")
+ cpp_quote("}")
+ cpp_quote("")
+-cpp_quote("__forceinline const DXVA2_Fixed32 DXVA2_Fixed32TransparentAlpha (void) {")
++cpp_quote("__forceinline DXVA2_Fixed32 DXVA2_Fixed32TransparentAlpha (void) {")
+ cpp_quote(" DXVA2_Fixed32 f32;")
+ cpp_quote(" f32.ll = 0;")
+ cpp_quote(" return f32;")
+@@ -481,4 +522,84 @@ interface IDirectXVideoDecoderService :
[in] UINT NumRenderTargets, [out] IDirectXVideoDecoder **ppDecode);
}
--
2.13.0
More information about the vlc-devel
mailing list