[vlc-commits] avcodec: vaapi: use vlc_vaapi_InitializeInstanceDRM
Thomas Guillem
git at videolan.org
Fri Dec 1 16:34:48 CET 2017
vlc/vlc-3.0 | branch: master | Thomas Guillem <thomas at gllm.fr> | Fri Dec 1 16:07:31 2017 +0100| [9e0604651b5ac8f6e7b4158cd0d14346ae8abcc3] | committer: Thomas Guillem
avcodec: vaapi: use vlc_vaapi_InitializeInstanceDRM
Refs #19173
(cherry picked from commit 1ba8c2f9edffd722365fa688cd8dbd96129015a3)
> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=9e0604651b5ac8f6e7b4158cd0d14346ae8abcc3
---
modules/codec/avcodec/vaapi.c | 40 ++--------------------------------------
1 file changed, 2 insertions(+), 38 deletions(-)
diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c
index e9b8a872b6..ee7fdf892c 100644
--- a/modules/codec/avcodec/vaapi.c
+++ b/modules/codec/avcodec/vaapi.c
@@ -257,11 +257,6 @@ static void DeleteDRM(vlc_va_t *va, void **hwctx)
free(sys);
}
-static void DRMNativeDestroy(VANativeDisplay native)
-{
- vlc_close((intptr_t) native);
-}
-
static int CreateDRM(vlc_va_t *va, AVCodecContext *ctx, enum PixelFormat pix_fmt,
const es_format_t *fmt, picture_sys_t *p_sys)
{
@@ -293,39 +288,8 @@ static int CreateDRM(vlc_va_t *va, AVCodecContext *ctx, enum PixelFormat pix_fmt
sys->va_inst = NULL;
/* Create a VA display */
- VANativeDisplay native = NULL;
- vlc_vaapi_native_destroy_cb native_destroy_cb = NULL;
-
- static const char drm_device_paths[][20] = {
- "/dev/dri/renderD128",
- "/dev/dri/card0"
- };
-
- for (int i = 0; ARRAY_SIZE(drm_device_paths); i++)
- {
- int drm_fd = vlc_open(drm_device_paths[i], O_RDWR);
- if (drm_fd < 0)
- continue;
-
- sys->hw_ctx.display = vaGetDisplayDRM(drm_fd);
- if (sys->hw_ctx.display)
- {
- native_destroy_cb = DRMNativeDestroy;
- native = (VANativeDisplay *)(intptr_t) drm_fd;
- break;
- }
-
- vlc_close(drm_fd);
- }
-
- if (sys->hw_ctx.display == NULL)
- {
- msg_Err(va, "Could not get a VAAPI device");
- goto error;
- }
-
- sys->va_inst = vlc_vaapi_InitializeInstance(o, sys->hw_ctx.display, native,
- native_destroy_cb);
+ sys->va_inst = vlc_vaapi_InitializeInstanceDRM(o, vaGetDisplayDRM,
+ &sys->hw_ctx.display, NULL);
if (!sys->va_inst)
goto error;
More information about the vlc-commits
mailing list