diff --git a/src/sunxi_cedrus_drv_video.c b/src/sunxi_cedrus_drv_video.c index cc5ce20..ed0d946 100644 --- a/src/sunxi_cedrus_drv_video.c +++ b/src/sunxi_cedrus_drv_video.c @@ -112,6 +112,7 @@ VAStatus VA_DRIVER_INIT_FUNC(VADriverContextP ctx) struct VADriverVTable * const vtable = ctx->vtable; struct sunxi_cedrus_driver_data *driver_data; struct v4l2_capability cap; + char *path; ctx->version_major = VA_MAJOR_VERSION; ctx->version_minor = VA_MINOR_VERSION; @@ -182,7 +183,11 @@ VAStatus VA_DRIVER_INIT_FUNC(VADriverContextP ctx) assert(object_heap_init(&driver_data->image_heap, sizeof(struct object_image), IMAGE_ID_OFFSET)==0); - driver_data->mem2mem_fd = open("/dev/video0", O_RDWR | O_NONBLOCK, 0); + path = getenv("LIBVA_CEDRUS_DEV"); + if (!path) + path = "/dev/video0"; + + driver_data->mem2mem_fd = open(path, O_RDWR | O_NONBLOCK, 0); assert(driver_data->mem2mem_fd >= 0); for (int i = 0; i < INPUT_BUFFERS_NB; i++) { @@ -193,7 +198,7 @@ VAStatus VA_DRIVER_INIT_FUNC(VADriverContextP ctx) assert(ioctl(driver_data->mem2mem_fd, VIDIOC_QUERYCAP, &cap)==0); if (!(cap.capabilities & V4L2_CAP_VIDEO_M2M_MPLANE)) { - sunxi_cedrus_msg("/dev/video0 does not support m2m_mplane\n"); + sunxi_cedrus_msg("%s does not support m2m_mplane\n", path); return VA_STATUS_ERROR_OPERATION_FAILED; }