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
This commit is contained in:
Guido Falsi 2012-10-25 21:06:38 +00:00
parent 09bb1716ac
commit d21c155b4c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=306398
6 changed files with 129 additions and 0 deletions

View File

@ -169,6 +169,7 @@
SUBDIR += libtuner
SUBDIR += libv4l
SUBDIR += libva
SUBDIR += libva-intel-driver
SUBDIR += libva-vdpau-driver
SUBDIR += libvdpau
SUBDIR += libvpx

View File

@ -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>

View File

@ -0,0 +1,2 @@
SHA256 (libva-intel-driver-1.0.18.tar.bz2) = 789fa2d6e22b9028ce12a89981eb33e57b04301431415149acfb61a49d3a63ee
SIZE (libva-intel-driver-1.0.18.tar.bz2) = 581497

View File

@ -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

View File

@ -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"

View File

@ -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