mirror of
https://github.com/mpv-player/mpv
synced 2025-03-20 18:28:01 +00:00
rpi: Update for modern systems
This commit is contained in:
parent
a46f83e982
commit
db09d77e46
@ -72,7 +72,7 @@ const struct ra_hwdec_driver *const ra_hwdec_drivers[] = {
|
||||
#if HAVE_VDPAU_GL_X11
|
||||
&ra_hwdec_vdpau,
|
||||
#endif
|
||||
#if HAVE_RPI
|
||||
#if HAVE_RPI_MMAL
|
||||
&ra_hwdec_rpi_overlay,
|
||||
#endif
|
||||
#if HAVE_DRMPRIME && HAVE_DRM
|
||||
|
@ -139,7 +139,7 @@ static bool recreate_dispmanx(struct ra_ctx *ctx)
|
||||
VC_RECT_T dst = {.x = p->x, .y = p->y, .width = p->w, .height = p->h};
|
||||
VC_RECT_T src = {.width = p->w << 16, .height = p->h << 16};
|
||||
VC_DISPMANX_ALPHA_T alpha = {
|
||||
.flags = DISPMANX_FLAGS_ALPHA_FROM_SOURCE,
|
||||
.flags = DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS,
|
||||
.opacity = 0xFF,
|
||||
};
|
||||
p->window = vc_dispmanx_element_add(p->update, p->display, layer, &dst, 0,
|
||||
@ -234,7 +234,7 @@ static bool rpi_init(struct ra_ctx *ctx)
|
||||
if (!mpegl_create_context(ctx, p->egl_display, &p->egl_context, &p->egl_config))
|
||||
goto fail;
|
||||
|
||||
if (recreate_dispmanx(ctx) < 0)
|
||||
if (!recreate_dispmanx(ctx))
|
||||
goto fail;
|
||||
|
||||
mpegl_load_functions(&p->gl, ctx->log);
|
||||
|
@ -68,9 +68,6 @@ const struct vo_driver *const video_out_drivers[] =
|
||||
&video_out_libmpv,
|
||||
#if HAVE_ANDROID
|
||||
&video_out_mediacodec_embed,
|
||||
#endif
|
||||
#if HAVE_RPI
|
||||
&video_out_rpi,
|
||||
#endif
|
||||
&video_out_gpu,
|
||||
#if HAVE_VDPAU
|
||||
@ -100,6 +97,9 @@ const struct vo_driver *const video_out_drivers[] =
|
||||
#endif
|
||||
#if HAVE_DRM
|
||||
&video_out_drm,
|
||||
#endif
|
||||
#if HAVE_RPI_MMAL
|
||||
&video_out_rpi,
|
||||
#endif
|
||||
&video_out_lavc,
|
||||
NULL
|
||||
|
23
wscript
23
wscript
@ -763,25 +763,9 @@ video_output_features = [
|
||||
'deps': 'win32-desktop && shaderc && spirv-cross',
|
||||
'func': check_cc(header_name=['d3d11_1.h', 'dxgi1_2.h']),
|
||||
}, {
|
||||
# We need MMAL/bcm_host/dispmanx APIs. Also, most RPI distros require
|
||||
# every project to hardcode the paths to the include directories. Also,
|
||||
# these headers are so broken that they spam tons of warnings by merely
|
||||
# including them (compensate with -isystem and -fgnu89-inline).
|
||||
'name': '--rpi',
|
||||
'desc': 'Raspberry Pi support',
|
||||
'func': compose_checks(
|
||||
check_cc(cflags=["-isystem/opt/vc/include",
|
||||
"-isystem/opt/vc/include/interface/vcos/pthreads",
|
||||
"-isystem/opt/vc/include/interface/vmcs_host/linux",
|
||||
"-fgnu89-inline"],
|
||||
linkflags="-L/opt/vc/lib",
|
||||
header_name="bcm_host.h",
|
||||
lib=['mmal_core', 'mmal_util', 'mmal_vc_client', 'bcm_host']),
|
||||
# We still need all OpenGL symbols, because the vo_gpu code is
|
||||
# generic and supports anything from GLES2/OpenGL 2.1 to OpenGL 4 core.
|
||||
check_cc(lib="EGL", linkflags="-lGLESv2"),
|
||||
check_cc(lib="GLESv2"),
|
||||
),
|
||||
'func': check_pkg_config('brcmegl'),
|
||||
} , {
|
||||
'name': '--ios-gl',
|
||||
'desc': 'iOS OpenGL ES hardware decoding interop support',
|
||||
@ -861,6 +845,11 @@ hwaccel_features = [
|
||||
'desc': 'CUDA hwaccel',
|
||||
'deps': '(gl || vulkan) && ffnvcodec',
|
||||
'func': check_true,
|
||||
}, {
|
||||
'name': '--rpi-mmal',
|
||||
'desc': 'Raspberry Pi MMAL hwaccel',
|
||||
'deps': 'rpi',
|
||||
'func': check_pkg_config('mmal'),
|
||||
}
|
||||
]
|
||||
|
||||
|
@ -463,7 +463,7 @@ def build(ctx):
|
||||
( "video/out/opengl/hwdec_dxva2gldx.c", "gl-dxinterop-d3d9" ),
|
||||
( "video/out/opengl/hwdec_ios.m", "ios-gl" ),
|
||||
( "video/out/opengl/hwdec_osx.c", "videotoolbox-gl" ),
|
||||
( "video/out/opengl/hwdec_rpi.c", "rpi" ),
|
||||
( "video/out/opengl/hwdec_rpi.c", "rpi-mmal" ),
|
||||
( "video/out/opengl/hwdec_vdpau.c", "vdpau-gl-x11" ),
|
||||
( "video/out/opengl/libmpv_gl.c", "gl" ),
|
||||
( "video/out/opengl/oml_sync.c", "egl-x11 || gl-x11" ),
|
||||
@ -479,7 +479,7 @@ def build(ctx):
|
||||
( "video/out/vo_libmpv.c" ),
|
||||
( "video/out/vo_mediacodec_embed.c", "android" ),
|
||||
( "video/out/vo_null.c" ),
|
||||
( "video/out/vo_rpi.c", "rpi" ),
|
||||
( "video/out/vo_rpi.c", "rpi-mmal" ),
|
||||
( "video/out/vo_sdl.c", "sdl2" ),
|
||||
( "video/out/vo_tct.c" ),
|
||||
( "video/out/vo_vaapi.c", "vaapi-x11 && gpl" ),
|
||||
|
Loading…
Reference in New Issue
Block a user