1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
/*############################################################################
# Copyright (C) 2005 Intel Corporation
#
# SPDX-License-Identifier: MIT
############################################################################*/
#ifndef __VAAPI_UTILS_X11_H__
#define __VAAPI_UTILS_X11_H__
#if defined(LIBVA_X11_SUPPORT)
#include <va/va_x11.h>
#include "vaapi_utils.h"
class X11LibVA : public CLibVA {
public:
X11LibVA(const std::string& devicePath = "");
virtual ~X11LibVA(void);
void* GetXDisplay(void) {
return m_display;
}
MfxLoader::XLib_Proxy& GetX11() {
return m_x11lib;
}
MfxLoader::VA_X11Proxy& GetVAX11() {
return m_vax11lib;
}
#if defined(X11_DRI3_SUPPORT)
MfxLoader::Xcb_Proxy& GetXcbX11() {
return m_xcblib;
}
MfxLoader::X11_Xcb_Proxy& GetX11XcbX11() {
return m_x11xcblib;
}
MfxLoader::XCB_Dri3_Proxy& GetXCBDri3X11() {
return m_xcbdri3lib;
}
MfxLoader::Xcbpresent_Proxy& GetXcbpresentX11() {
return m_xcbpresentlib;
}
#endif // X11_DRI3_SUPPORT
protected:
Display* m_display;
VAConfigID m_configID;
VAContextID m_contextID;
MfxLoader::XLib_Proxy m_x11lib;
MfxLoader::VA_X11Proxy m_vax11lib;
#if defined(X11_DRI3_SUPPORT)
MfxLoader::VA_DRMProxy m_vadrmlib;
MfxLoader::Xcb_Proxy m_xcblib;
MfxLoader::X11_Xcb_Proxy m_x11xcblib;
MfxLoader::XCB_Dri3_Proxy m_xcbdri3lib;
MfxLoader::Xcbpresent_Proxy m_xcbpresentlib;
#endif // X11_DRI3_SUPPORT
int fd;
private:
void Close();
DISALLOW_COPY_AND_ASSIGN(X11LibVA);
};
#if defined(X11_DRI3_SUPPORT)
int open_intel_adapter(const std::string& devicePath);
#endif
#endif // #if defined(LIBVA_X11_SUPPORT)
#endif // #ifndef __VAAPI_UTILS_X11_H__
|