drv: Add LIBVA_CEDRUS_DEV env variable to retrieve our device

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
This commit is contained in:
Maxime Ripard
2018-04-20 11:26:08 +02:00
parent 5e82668680
commit bbf6cb5ef4
+7 -2
View File
@@ -112,6 +112,7 @@ VAStatus VA_DRIVER_INIT_FUNC(VADriverContextP ctx)
struct VADriverVTable * const vtable = ctx->vtable; struct VADriverVTable * const vtable = ctx->vtable;
struct sunxi_cedrus_driver_data *driver_data; struct sunxi_cedrus_driver_data *driver_data;
struct v4l2_capability cap; struct v4l2_capability cap;
char *path;
ctx->version_major = VA_MAJOR_VERSION; ctx->version_major = VA_MAJOR_VERSION;
ctx->version_minor = VA_MINOR_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, assert(object_heap_init(&driver_data->image_heap,
sizeof(struct object_image), IMAGE_ID_OFFSET)==0); 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); assert(driver_data->mem2mem_fd >= 0);
for (int i = 0; i < INPUT_BUFFERS_NB; i++) { 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); assert(ioctl(driver_data->mem2mem_fd, VIDIOC_QUERYCAP, &cap)==0);
if (!(cap.capabilities & V4L2_CAP_VIDEO_M2M_MPLANE)) 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; return VA_STATUS_ERROR_OPERATION_FAILED;
} }