Introduce a new FFMPEG frontend renderer: EGLRenderer

Right now this renderer works on X11 & Wayland with VAAPI as a backend.

Some rendering latency benchmarks on my `i7-10510U` (with
`intel-media-driver` 20.1.1 which cause a *huge* regression with the
SDL_Renderer):
|             | X11    | Wayland |
| Before      | 6.78ms | 22.50ms |
| EGLRenderer | 0.76ms | 00.77ms |

Signed-off-by: Antoine Damhet <antoine.damhet@lse.epita.fr>
This commit is contained in:
Antoine Damhet
2020-04-13 10:40:28 +02:00
parent 2aa18dc88f
commit 0a396f3112
11 changed files with 761 additions and 1 deletions
+13
View File
@@ -90,6 +90,10 @@ unix:!macx {
CONFIG += libva
}
packagesExist(egl) {
CONFIG += egl
}
packagesExist(vdpau) {
CONFIG += libvdpau
}
@@ -264,6 +268,15 @@ libdrm {
SOURCES += streaming/video/ffmpeg-renderers/drm.cpp
HEADERS += streaming/video/ffmpeg-renderers/drm.h
}
egl {
message(EGL renderer selected)
DEFINES += HAVE_EGL
SOURCES += \
streaming/video/ffmpeg-renderers/eglvid.cpp \
streaming/video/ffmpeg-renderers/egl_extensions.cpp
HEADERS += streaming/video/ffmpeg-renderers/eglvid.h
}
config_SL {
message(Steam Link build configuration selected)