aboutsummaryrefslogtreecommitdiff
path: root/multimedia/libva-intel-driver
diff options
context:
space:
mode:
authorGuido Falsi <madpilot@FreeBSD.org>2012-10-25 21:06:38 +0000
committerGuido Falsi <madpilot@FreeBSD.org>2012-10-25 21:06:38 +0000
commitd21c155b4cd35b2b019af57ccee2209f6cd6b64c (patch)
treefb62987418227f341131a2f0a1ac6f9f0e3052ec /multimedia/libva-intel-driver
parent09bb1716acb0bd199e2d23a4204689ace1d19516 (diff)
downloadports-d21c155b4cd35b2b019af57ccee2209f6cd6b64c.tar.gz
ports-d21c155b4cd35b2b019af57ccee2209f6cd6b64c.zip
Libva driver for intel graphics cards with hardware accelerated
features for video encode/decode. WWW: http://cgit.freedesktop.org/vaapi/intel-driver PR: ports/172843 Submitted by: Manuel Creach <manuel.creach@me.com> Feature safe: yes
Notes
Notes: svn path=/head/; revision=306398
Diffstat (limited to 'multimedia/libva-intel-driver')
-rw-r--r--multimedia/libva-intel-driver/Makefile40
-rw-r--r--multimedia/libva-intel-driver/distinfo2
-rw-r--r--multimedia/libva-intel-driver/files/patch-drm_state_upstream68
-rw-r--r--multimedia/libva-intel-driver/files/patch-src-i965_decoder_utils.c14
-rw-r--r--multimedia/libva-intel-driver/pkg-descr4
5 files changed, 128 insertions, 0 deletions
diff --git a/multimedia/libva-intel-driver/Makefile b/multimedia/libva-intel-driver/Makefile
new file mode 100644
index 000000000000..9f1fff8c8903
--- /dev/null
+++ b/multimedia/libva-intel-driver/Makefile
@@ -0,0 +1,40 @@
+# Created by: Manuel Creach <manuel.creach@me.com>
+# $FreeBSD$
+
+PORTNAME= libva-intel-driver
+PORTVERSION= 1.0.18
+CATEGORIES= multimedia
+MASTER_SITES= http://www.freedesktop.org/software/vaapi/releases/${PORTNAME}/
+
+MAINTAINER= manuel.creach@me.com
+COMMENT= VAAPI intel driver
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= va:${PORTSDIR}/multimedia/libva
+BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat
+
+USE_GMAKE= yes
+USE_BZIP2= yes
+USE_GL= gl
+USE_LDCONFIG= yes
+GNU_CONFIGURE= yes
+
+CPPFLAGS+= -isystem${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+PLIST_FILES= lib/va/i965_drv_video.so \
+ lib/va/i965_drv_video.la
+
+.if !defined(WITH_NEW_XORG) || !defined(WITH_KMS)
+IGNORE= requires libdrm >= 2.4.23 and intel KMS to be enabled
+.endif
+
+post-patch: .SILENT
+ ${REINPLACE_CMD} -e '/LIBS/{ s/-ldl//; \
+ s/-lrt//; s/-lpthread/${PTHREAD_LIBS}/; }' \
+ -e 's|driverdir|& --define-variable prefix=${PREFIX}|' \
+ ${WRKSRC}/configure
+
+.include <bsd.port.mk>
diff --git a/multimedia/libva-intel-driver/distinfo b/multimedia/libva-intel-driver/distinfo
new file mode 100644
index 000000000000..783e3868b11d
--- /dev/null
+++ b/multimedia/libva-intel-driver/distinfo
@@ -0,0 +1,2 @@
+SHA256 (libva-intel-driver-1.0.18.tar.bz2) = 789fa2d6e22b9028ce12a89981eb33e57b04301431415149acfb61a49d3a63ee
+SIZE (libva-intel-driver-1.0.18.tar.bz2) = 581497
diff --git a/multimedia/libva-intel-driver/files/patch-drm_state_upstream b/multimedia/libva-intel-driver/files/patch-drm_state_upstream
new file mode 100644
index 000000000000..37b131d7fc7d
--- /dev/null
+++ b/multimedia/libva-intel-driver/files/patch-drm_state_upstream
@@ -0,0 +1,68 @@
+From 73ccb0c88d53298befa6a896d2bb39a041169b36 Mon Sep 17 00:00:00 2001
+From: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+Date: Fri, 06 Apr 2012 15:24:36 +0000
+Subject: dri: cope with drm_state changes.
+
+Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+---
+diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
+index 3bea253..20fed99 100644
+--- src/i965_drv_video.c
++++ src/i965_drv_video.c
+@@ -2380,7 +2380,7 @@ i965_PutSurface(VADriverContextP ctx,
+ unsigned int flags) /* de-interlacing flags */
+ {
+ struct i965_driver_data *i965 = i965_driver_data(ctx);
+- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
++ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
+ struct i965_render_state *render_state = &i965->render_state;
+ struct dri_drawable *dri_drawable;
+ union dri_buffer *buffer;
+@@ -2393,7 +2393,7 @@ i965_PutSurface(VADriverContextP ctx,
+ int pp_flag = 0;
+
+ /* Currently don't support DRI1 */
+- if (dri_state->driConnectedFlag != VA_DRI2)
++ if (dri_state->base.auth_type != VA_DRM_AUTH_DRI2)
+ return VA_STATUS_ERROR_UNKNOWN;
+
+ /* Some broken sources such as H.264 conformance case FM2_SVA_C
+diff --git a/src/intel_driver.c b/src/intel_driver.c
+index 4e6df81..b34d9a1 100644
+--- src/intel_driver.c
++++ src/intel_driver.c
+@@ -29,7 +29,7 @@
+
+ #include <assert.h>
+
+-#include <va/va_dricommon.h>
++#include <va/va_drmcommon.h>
+
+ #include "intel_batchbuffer.h"
+ #include "intel_memman.h"
+@@ -50,15 +50,17 @@ Bool
+ intel_driver_init(VADriverContextP ctx)
+ {
+ struct intel_driver_data *intel = intel_driver_data(ctx);
+- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
++ struct drm_state * const drm_state = (struct drm_state *)ctx->drm_state;
+ int has_exec2, has_bsd, has_blt;
+
+- assert(dri_state);
+- assert(dri_state->driConnectedFlag == VA_DRI2 ||
+- dri_state->driConnectedFlag == VA_DRI1);
++ assert(drm_state);
++ assert(drm_state->auth_type == VA_DRM_AUTH_DRI1 ||
++ drm_state->auth_type == VA_DRM_AUTH_DRI2 ||
++ drm_state->auth_type == VA_DRM_AUTH_CUSTOM);
+
+- intel->fd = dri_state->fd;
+- intel->dri2Enabled = (dri_state->driConnectedFlag == VA_DRI2);
++ intel->fd = drm_state->fd;
++ intel->dri2Enabled = (drm_state->auth_type == VA_DRM_AUTH_DRI2 ||
++ drm_state->auth_type == VA_DRM_AUTH_CUSTOM);
+
+ if (!intel->dri2Enabled) {
+ return False;
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/multimedia/libva-intel-driver/files/patch-src-i965_decoder_utils.c b/multimedia/libva-intel-driver/files/patch-src-i965_decoder_utils.c
new file mode 100644
index 000000000000..a59436285a08
--- /dev/null
+++ b/multimedia/libva-intel-driver/files/patch-src-i965_decoder_utils.c
@@ -0,0 +1,14 @@
+--- src/i965_decoder_utils.c.orig 2012-08-14 17:08:16.000000000 +0200
++++ src/i965_decoder_utils.c 2012-10-10 17:25:22.358503055 +0200
+@@ -24,7 +24,11 @@
+ #include <assert.h>
+ #include <stddef.h>
+ #include <string.h>
++#ifdef __FreeBSD__
++#include <stdlib.h>
++#else
+ #include <alloca.h>
++#endif
+ #include "intel_batchbuffer.h"
+ #include "i965_decoder_utils.h"
+ #include "i965_drv_video.h"
diff --git a/multimedia/libva-intel-driver/pkg-descr b/multimedia/libva-intel-driver/pkg-descr
new file mode 100644
index 000000000000..373bb835d1fa
--- /dev/null
+++ b/multimedia/libva-intel-driver/pkg-descr
@@ -0,0 +1,4 @@
+Libva driver for intel graphics cards with hardware accelerated
+features for video encode/decode.
+
+WWW: http://cgit.freedesktop.org/vaapi/intel-driver