From 7424651b9637082f71deab9fcc87111e2d9df13f Mon Sep 17 00:00:00 2001 From: Philip Langdale Date: Mon, 29 May 2017 09:48:10 -0700 Subject: vo_opengl: hwdec_cuda: Support separate decode and display devices In a multi GPU scenario, it may be desirable to use different GPUs for decode and display responsibilities. For example, if a secondary GPU has better video decoding capabilities. In such a scenario, we need to initialise a separate context for each GPU, and use the display context in hwdec_cuda, while passing the decode context to avcodec. Once that's done, the actually hand-off between the two GPUs is transparent to us (It happens during the cuMemcpy2D operation which copies the decoded frame from a cuda buffer to the OpenGL texture). In the end, the bulk of the work is around introducing a new configuration option to specify the decode device. --- options/options.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'options/options.h') diff --git a/options/options.h b/options/options.h index bfe7d42bcf..851b9c507f 100644 --- a/options/options.h +++ b/options/options.h @@ -336,6 +336,8 @@ typedef struct MPOpts { struct angle_opts *angle_opts; struct cocoa_opts *cocoa_opts; struct dvd_opts *dvd_opts; + + int cuda_device; } MPOpts; struct dvd_opts { -- cgit v1.2.3