Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 904437
Collapse All | Expand All

(-)a/mythtv/libs/libmythtv/libmythtv.pro (-4 / +9 lines)
Lines 538-544 using_frontend { Link Here
538
        DEFINES += USING_VAAPI
538
        DEFINES += USING_VAAPI
539
        HEADERS += decoders/mythvaapicontext.h
539
        HEADERS += decoders/mythvaapicontext.h
540
        SOURCES += decoders/mythvaapicontext.cpp
540
        SOURCES += decoders/mythvaapicontext.cpp
541
        LIBS    += -lva -lva-x11 -lva-glx -lva-drm
541
        LIBS    += -lva -lva-drm
542
    }
542
    }
543
543
544
    using_nvdec {
544
    using_nvdec {
Lines 605-614 using_frontend { Link Here
605
        SOURCES += opengl/mythopengltonemap.cpp
605
        SOURCES += opengl/mythopengltonemap.cpp
606
        SOURCES += visualisations/videovisualcircles.cpp
606
        SOURCES += visualisations/videovisualcircles.cpp
607
607
608
609
        using_vaapi {
608
        using_vaapi {
610
            HEADERS += opengl/mythvaapiinterop.h   opengl/mythvaapiglxinterop.h
609
            HEADERS += opengl/mythvaapiinterop.h
611
            SOURCES += opengl/mythvaapiinterop.cpp opengl/mythvaapiglxinterop.cpp
610
            SOURCES += opengl/mythvaapiinterop.cpp
612
        }
611
        }
613
612
614
        using_vdpau:using_x11 {
613
        using_vdpau:using_x11 {
Lines 649-654 using_frontend { Link Here
649
                HEADERS += opengl/mythvaapidrminterop.h
648
                HEADERS += opengl/mythvaapidrminterop.h
650
                SOURCES += opengl/mythvaapidrminterop.cpp
649
                SOURCES += opengl/mythvaapidrminterop.cpp
651
            }
650
            }
651
        } else {
652
            using_vaapi {
653
                HEADERS += opengl/mythvaapiglxinterop.h
654
                SOURCES += opengl/mythvaapiglxinterop.cpp
655
                LIBS    += -lva-x11 -lva-glx
656
            }
652
        }
657
        }
653
658
654
        !win32-msvc* {
659
        !win32-msvc* {
(-)a/mythtv/libs/libmythtv/opengl/mythvaapiinterop.cpp (-3 / +8 lines)
Lines 8-15 Link Here
8
#include "mythvideocolourspace.h"
8
#include "mythvideocolourspace.h"
9
#include "fourcc.h"
9
#include "fourcc.h"
10
#include "mythvaapiinterop.h"
10
#include "mythvaapiinterop.h"
11
12
#ifdef USING_EGL
11
#include "mythvaapidrminterop.h"
13
#include "mythvaapidrminterop.h"
14
#else
12
#include "mythvaapiglxinterop.h"
15
#include "mythvaapiglxinterop.h"
16
#endif
13
17
14
extern "C" {
18
extern "C" {
15
#include "libavfilter/buffersrc.h"
19
#include "libavfilter/buffersrc.h"
Lines 57-70 void MythVAAPIInterop::GetVAAPITypes(MythRenderOpenGL* Context, MythInteropGPU:: Link Here
57
    // zero copy
61
    // zero copy
58
    if (egl && MythVAAPIInteropDRM::IsSupported(Context))
62
    if (egl && MythVAAPIInteropDRM::IsSupported(Context))
59
        vaapitypes.emplace_back(GL_VAAPIEGLDRM);
63
        vaapitypes.emplace_back(GL_VAAPIEGLDRM);
60
#endif
64
#else
61
    // 1x copy
65
    // 1x copy
62
    if (!egl && !wayland && MythVAAPIInteropGLXPixmap::IsSupported(Context))
66
    if (!egl && !wayland && MythVAAPIInteropGLXPixmap::IsSupported(Context))
63
        vaapitypes.emplace_back(GL_VAAPIGLXPIX);
67
        vaapitypes.emplace_back(GL_VAAPIGLXPIX);
64
    // 2x copy
68
    // 2x copy
65
    if (!egl && !opengles && !wayland)
69
    if (!egl && !opengles && !wayland)
66
        vaapitypes.emplace_back(GL_VAAPIGLXCOPY);
70
        vaapitypes.emplace_back(GL_VAAPIGLXCOPY);
67
71
#endif
68
    if (!vaapitypes.empty())
72
    if (!vaapitypes.empty())
69
        Types[FMT_VAAPI] = vaapitypes;
73
        Types[FMT_VAAPI] = vaapitypes;
70
}
74
}
Lines 82-92 MythVAAPIInterop* MythVAAPIInterop::CreateVAAPI(MythPlayerUI *Player, MythRender Link Here
82
#ifdef USING_EGL
86
#ifdef USING_EGL
83
            if ((type == GL_VAAPIEGLDRM) || (type == DRM_DRMPRIME))
87
            if ((type == GL_VAAPIEGLDRM) || (type == DRM_DRMPRIME))
84
                return new MythVAAPIInteropDRM(Player, Context, type);
88
                return new MythVAAPIInteropDRM(Player, Context, type);
85
#endif
89
#else
86
            if (type == GL_VAAPIGLXPIX)
90
            if (type == GL_VAAPIGLXPIX)
87
                return new MythVAAPIInteropGLXPixmap(Player, Context);
91
                return new MythVAAPIInteropGLXPixmap(Player, Context);
88
            if (type == GL_VAAPIGLXCOPY)
92
            if (type == GL_VAAPIGLXCOPY)
89
                return new MythVAAPIInteropGLXCopy(Player, Context);
93
                return new MythVAAPIInteropGLXCopy(Player, Context);
94
#endif
90
        }
95
        }
91
    }
96
    }
92
    return nullptr;
97
    return nullptr;
(-)a/mythtv/libs/libmythtv/opengl/mythvaapiinterop.h (-1 / +4 lines)
Lines 25-33 struct AVFilterContext; Link Here
25
#undef None            // X11/X.h defines this. Causes compile failure in Qt6.
25
#undef None            // X11/X.h defines this. Causes compile failure in Qt6.
26
#undef Cursor
26
#undef Cursor
27
#undef pointer
27
#undef pointer
28
#include "va/va_glx.h"
28
#ifdef USING_EGL
29
#include "va/va_drm.h"
29
#include "va/va_drm.h"
30
#include "va/va_drmcommon.h"
30
#include "va/va_drmcommon.h"
31
#else
32
#include "va/va_glx.h"
33
#endif
31
#undef Bool            // Interferes with cmake moc file compilation
34
#undef Bool            // Interferes with cmake moc file compilation
32
35
33
#ifndef VA_FOURCC_I420
36
#ifndef VA_FOURCC_I420

Return to bug 904437