include: Add videoacc.idl.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
341a085fa4
commit
5f9f182e8a
3 changed files with 128 additions and 0 deletions
|
@ -747,6 +747,7 @@ SOURCES = \
|
|||
verrsrc.h \
|
||||
vfw.h \
|
||||
vfwmsgs.h \
|
||||
videoacc.idl \
|
||||
virtdisk.h \
|
||||
vmr9.idl \
|
||||
vmrender.idl \
|
||||
|
|
126
include/videoacc.idl
Normal file
126
include/videoacc.idl
Normal file
|
@ -0,0 +1,126 @@
|
|||
/*
|
||||
* Copyright (C) 2022 Zebediah Figura for CodeWeavers
|
||||
*
|
||||
* This library 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.
|
||||
*
|
||||
* This library 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 this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
import "unknwn.idl";
|
||||
|
||||
interface IMediaSample;
|
||||
|
||||
cpp_quote("#if 0")
|
||||
|
||||
typedef struct _DDSCAPS2
|
||||
{
|
||||
DWORD dwCaps;
|
||||
DWORD dwCaps2;
|
||||
DWORD dwCaps3;
|
||||
union
|
||||
{
|
||||
DWORD dwCaps4;
|
||||
DWORD dwVolumeDepth;
|
||||
} DUMMYUNIONNAME1;
|
||||
} DDSCAPS2;
|
||||
|
||||
typedef struct _DDPIXELFORMAT
|
||||
{
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwFourCC;
|
||||
union
|
||||
{
|
||||
DWORD dwRGBBitCount;
|
||||
DWORD dwYUVBitCount;
|
||||
DWORD dwZBufferBitDepth;
|
||||
DWORD dwAlphaBitDepth;
|
||||
DWORD dwLuminanceBitCount;
|
||||
DWORD dwBumpBitCount;
|
||||
DWORD dwPrivateFormatBitCount;
|
||||
} DUMMYUNIONNAME1;
|
||||
union
|
||||
{
|
||||
DWORD dwRBitMask;
|
||||
DWORD dwYBitMask;
|
||||
DWORD dwStencilBitDepth;
|
||||
DWORD dwLuminanceBitMask;
|
||||
DWORD dwBumpDuBitMask;
|
||||
DWORD dwOperations;
|
||||
} DUMMYUNIONNAME2;
|
||||
union
|
||||
{
|
||||
DWORD dwGBitMask;
|
||||
DWORD dwUBitMask;
|
||||
DWORD dwZBitMask;
|
||||
DWORD dwBumpDvBitMask;
|
||||
struct
|
||||
{
|
||||
WORD wFlipMSTypes;
|
||||
WORD wBltMSTypes;
|
||||
} MultiSampleCaps;
|
||||
} DUMMYUNIONNAME3;
|
||||
union
|
||||
{
|
||||
DWORD dwBBitMask;
|
||||
DWORD dwVBitMask;
|
||||
DWORD dwStencilBitMask;
|
||||
DWORD dwBumpLuminanceBitMask;
|
||||
} DUMMYUNIONNAME4;
|
||||
union
|
||||
{
|
||||
DWORD dwRGBAlphaBitMask;
|
||||
DWORD dwYUVAlphaBitMask;
|
||||
DWORD dwLuminanceAlphaBitMask;
|
||||
DWORD dwRGBZBitMask;
|
||||
DWORD dwYUVZBitMask;
|
||||
} DUMMYUNIONNAME5;
|
||||
} DDPIXELFORMAT;
|
||||
|
||||
import "amva.h";
|
||||
|
||||
cpp_quote("#endif")
|
||||
|
||||
[
|
||||
local,
|
||||
uuid(256a6a22-fbad-11d1-82bf-00a0c9696c8f),
|
||||
]
|
||||
interface IAMVideoAccelerator : IUnknown
|
||||
{
|
||||
HRESULT GetVideoAcceleratorGUIDs(DWORD *count, GUID *accelerators);
|
||||
HRESULT GetUncompFormatsSupported(const GUID *accelerator, DWORD *count, DDPIXELFORMAT *formats);
|
||||
HRESULT GetInternalMemInfo(const GUID *accelerator,
|
||||
const AMVAUncompDataInfo *format_info, AMVAInternalMemInfo *mem_info);
|
||||
HRESULT GetCompBufferInfo(const GUID *accelerator, const AMVAUncompDataInfo *uncompressed_info,
|
||||
DWORD *compressed_info_count, AMVACompBufferInfo *compressed_infos);
|
||||
HRESULT GetInternalCompBufferInfo(DWORD *count, AMVACompBufferInfo *infos);
|
||||
HRESULT BeginFrame(const AMVABeginFrameInfo *info);
|
||||
HRESULT EndFrame(const AMVAEndFrameInfo *info);
|
||||
HRESULT GetBuffer(DWORD type_index, DWORD buffer_index, BOOL read_only, void **buffer, LONG *stride);
|
||||
HRESULT ReleaseBuffer(DWORD type_index, DWORD buffer_index);
|
||||
HRESULT Execute(DWORD function, void *in_data, DWORD in_size, void *out_data,
|
||||
DWORD out_size, DWORD buffer_count, const AMVABUFFERINFO *buffers);
|
||||
HRESULT QueryRenderStatus(DWORD type_index, DWORD buffer_index, DWORD flags);
|
||||
HRESULT DisplayFrame(DWORD index, IMediaSample *sample);
|
||||
}
|
||||
|
||||
[
|
||||
local,
|
||||
uuid(256a6a21-fbad-11d1-82bf-00a0c9696c8f),
|
||||
]
|
||||
interface IAMVideoAcceleratorNotify : IUnknown
|
||||
{
|
||||
HRESULT GetUncompSurfacesInfo(const GUID *accelerator, AMVAUncompBufferInfo *info);
|
||||
HRESULT SetUncompSurfacesInfo(DWORD allocated_count);
|
||||
HRESULT GetCreateVideoAcceleratorData(const GUID *accelerator, DWORD *size, void **data);
|
||||
}
|
|
@ -39,3 +39,4 @@
|
|||
#include "amstream.h"
|
||||
#include "qedit.h"
|
||||
#include "vmr9.h"
|
||||
#include "videoacc.h"
|
||||
|
|
Loading…
Add table
Reference in a new issue