namespace cv::directx

namespace directx {

// namespaces

namespace cv::directx::ocl;

// global functions

void
convertFromD3D10Texture2D(
    ID3D10Texture2D* pD3D10Texture2D,
    OutputArray dst
    );

void
convertFromD3D11Texture2D(
    ID3D11Texture2D* pD3D11Texture2D,
    OutputArray dst
    );

void
convertFromDirect3DSurface9(
    IDirect3DSurface9* pDirect3DSurface9,
    OutputArray dst,
    void* surfaceSharedHandle = NULL
    );

void
convertToD3D10Texture2D(
    InputArray src,
    ID3D10Texture2D* pD3D10Texture2D
    );

void
convertToD3D11Texture2D(
    InputArray src,
    ID3D11Texture2D* pD3D11Texture2D
    );

void
convertToDirect3DSurface9(
    InputArray src,
    IDirect3DSurface9* pDirect3DSurface9,
    void* surfaceSharedHandle = NULL
    );

int
getTypeFromD3DFORMAT(const int iD3DFORMAT);

int
getTypeFromDXGI_FORMAT(const int iDXGI_FORMAT);

} // namespace directx