mirror of https://github.com/mpv-player/mpv
dfe846f9de
There are two major ways of going about this: 1. Expose the native ra_gl/ra_pl/ra_d3d11 objects to the pre-existing hwdec mappers, and then add code in vo_gpu_next to rewrap those ra_tex objects into pl_tex. 2. Wrap the underlying pl_opengl/pl_d3d11 into a ra_pl object and expose it to the hwdec mappers, then directly use the resulting pl_tex. I ultimately opted for approach 1 because it enables compatibility with more hardware decoders, specifically including ones that use native OpenGL calls currently. The second approach only really works with cuda_vk and vaapi_pl. |
||
---|---|---|
.. | ||
cocoa | ||
d3d11 | ||
gpu | ||
gpu_next | ||
hwdec | ||
mac | ||
opengl | ||
placebo | ||
vulkan | ||
win32 | ||
android_common.c | ||
android_common.h | ||
aspect.c | ||
aspect.h | ||
bitmap_packer.c | ||
bitmap_packer.h | ||
cocoa_cb_common.swift | ||
cocoa_common.h | ||
cocoa_common.m | ||
dither.c | ||
dither.h | ||
dr_helper.c | ||
dr_helper.h | ||
drm_atomic.c | ||
drm_atomic.h | ||
drm_common.c | ||
drm_common.h | ||
drm_prime.c | ||
drm_prime.h | ||
filter_kernels.c | ||
filter_kernels.h | ||
libmpv.h | ||
libmpv_sw.c | ||
vo.c | ||
vo.h | ||
vo_caca.c | ||
vo_direct3d.c | ||
vo_drm.c | ||
vo_gpu.c | ||
vo_gpu_next.c | ||
vo_image.c | ||
vo_lavc.c | ||
vo_libmpv.c | ||
vo_mediacodec_embed.c | ||
vo_null.c | ||
vo_rpi.c | ||
vo_sdl.c | ||
vo_sixel.c | ||
vo_tct.c | ||
vo_vaapi.c | ||
vo_vdpau.c | ||
vo_wlshm.c | ||
vo_x11.c | ||
vo_xv.c | ||
w32_common.c | ||
w32_common.h | ||
wayland_common.c | ||
wayland_common.h | ||
win_state.c | ||
win_state.h | ||
x11_common.c | ||
x11_common.h |