File: vaapi_utils_x11.h

package info (click to toggle)
libvpl-tools 1.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,652 kB
  • sloc: cpp: 107,469; python: 4,303; ansic: 3,202; sh: 159; lisp: 52; makefile: 13
file content (72 lines) | stat: -rw-r--r-- 1,818 bytes parent folder | download | duplicates (2)
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__