New project build rules and files.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Mon, 22 Aug 2011 14:18:45 +0000 (16:18 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Thu, 25 Aug 2011 12:27:45 +0000 (14:27 +0200)
23 files changed:
AUTHORS [new file with mode: 0644]
COPYING [new file with mode: 0644]
Makefile.am [new file with mode: 0644]
NEWS [new file with mode: 0644]
README [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
configure.ac [new file with mode: 0644]
src/Makefile.am
src/i965_avc_bsd.c
src/i965_avc_hw_scoreboard.c
src/i965_avc_ildb.c
src/i965_drv_video.c
src/i965_media_h264.c
src/i965_render.c
src/intel_driver.c
src/shaders/Makefile.am
src/shaders/h264/Makefile.am
src/shaders/h264/mc/Makefile.am
src/shaders/mpeg2/Makefile.am
src/shaders/mpeg2/vld/Makefile.am
src/shaders/post_processing/Makefile.am
src/shaders/render/Makefile.am
src/shaders/vme/Makefile.am

diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..f296b02
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,10 @@
+Intel Linux graphics team working on the driver:
+Chang Zhou
+Gwenole Beauchesne
+Haihao Xiang (primary author)
+Nanhai Zou
+
+Additional contributors:
+Alexander Osin
+Damien Lespiau
+Edgar Hucek
diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..900e775
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,19 @@
+    Permission is hereby granted, free of charge, to any person obtaining a
+    copy of this software and associated documentation files (the
+    "Software"), to deal in the Software without restriction, including
+    without limitation the rights to use, copy, modify, merge, publish,
+    distribute, sub license, and/or sell copies of the Software, and to
+    permit persons to whom the Software is furnished to do so, subject to
+    the following conditions:
+
+    The above copyright notice and this permission notice (including the
+    next paragraph) shall be included in all copies or substantial portions
+    of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+    IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+    ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+    SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..099031a
--- /dev/null
@@ -0,0 +1,9 @@
+AUTOMAKE_OPTIONS = foreign
+
+SUBDIRS = src
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = \
+       aclocal.m4 compile config.guess config.sub \
+       configure depcomp install-sh ltmain.sh     \
+       Makefile.in missing
diff --git a/NEWS b/NEWS
new file mode 100644 (file)
index 0000000..16c8ed5
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,40 @@
+libva-driver-intel NEWS -- summary of changes.  2011-07-28
+Copyright (C) 2009-2011 Intel Corporation
+
+Version 1.0.14 - 28.Jul.2011
+* Add H.264 encoding support to Ivy Bridge
+* Add support for VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD
+* Fix next slice vertical position for MPEG-2 (#38628)
+* Fix subpicture scale factor for Y axis
+* Fix GPU hang when decoding field coded MPEG-2 picture
+* Fix memory leaks (Edgar Hucek)
+
+Version 1.0.13 - 25.May.2011
+* Add H.264 encoding support to Sandy Bridge
+* Add MPEG-2, VC-1 and H.264 decoding support to Ivy Bridge
+* Fix thread safety issues
+
+Version 1.0.11 - 14.Mar.2011
+* Add deinterlacing & scaling support to Sandy Bridge
+* Add vaDeriveImage() implementation
+* Fix VC-1 decoding for Main/Simple profiles
+
+Version 1.0.9 - 27.Jan.2011
+* Add VC-1 decoding support to Sandy Bridge
+
+Version 1.0.8 - 21.Jan.2011
+* Add support for IA44/AI44 subpicture formats (#32868)
+
+Version 1.0.7 - 17.Dec.2011
+* Add MPEG-2 and H.264 decoding support to Sandy Bridge
+
+Version 1.0.5 - 02.Sep.2010
+* Add deinterlacing & scaling support to Ironlake
+
+Version 1.0.4 - 13.Jul.2010
+* Add vaGetImage() implementation
+* Add support for RGBA subpictures
+* Fix H.264 decoding on Ironlake
+
+Version 1.0.3 - 10.Jun.2010
+* Add H.264 decoding support to Ironlake
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..d681d42
--- /dev/null
+++ b/README
@@ -0,0 +1,39 @@
+
+  libva-driver-intel
+  VA driver for Intel G45 & HD Graphics family
+
+  Copyright (C) 2009-2011 Intel Corporation
+
+
+License
+-------
+
+Please read the COPYING file available in this package.
+
+
+Overview
+--------
+
+libva-driver-intel is the VA-API implementation for Intel G45 chipsets
+and Intel HD Graphics for Intel Core processor family.
+
+Platform definitions:
+CTG: Cantiga, Intel GMA 4500MHD (GM45)
+ILK: Ironlake, Intel HD Graphics for 2010 Intel Core processor family
+SNB: Sandybridge, Intel HD Graphics for 2011 Intel Core processor family
+IVB: Ivybridge
+
+
+Codecs
+------
+
+H.264   D   ILK+
+H.264   E   SNB+
+MPEG-2  D   CTG+
+VC-1    D   SNB+
+
+
+Requirements
+------------
+
+libva >= 1.0.14
diff --git a/autogen.sh b/autogen.sh
new file mode 100755 (executable)
index 0000000..9c2f4f6
--- /dev/null
@@ -0,0 +1,3 @@
+#! /bin/sh
+autoreconf -v --install
+./configure "$@"
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..18b9ad3
--- /dev/null
@@ -0,0 +1,99 @@
+# intel-driver package version number
+m4_define([intel_driver_major_version], [1])
+m4_define([intel_driver_minor_version], [0])
+m4_define([intel_driver_micro_version], [14])
+m4_define([intel_driver_pre_version],   [0])
+m4_define([intel_driver_version],
+          [intel_driver_major_version.intel_driver_minor_version.intel_driver_micro_version])
+m4_if(intel_driver_pre_version, [0], [], [
+m4_append([intel_driver_version], intel_driver_pre_version, [.pre])
+])
+
+AC_PREREQ([2.57])
+AC_INIT([intel_driver], [intel_driver_version], [haihao.xiang@intel.com],
+        [libva-driver-intel])
+AC_CONFIG_SRCDIR([Makefile.am])
+AM_INIT_AUTOMAKE
+
+AM_CONFIG_HEADER([src/config.h])
+
+INTEL_DRIVER_MAJOR_VERSION=intel_driver_major_version
+INTEL_DRIVER_MINOR_VERSION=intel_driver_minor_version
+INTEL_DRIVER_MICRO_VERSION=intel_driver_micro_version
+AC_DEFINE([INTEL_DRIVER_MAJOR_VERSION], [intel_driver_major_version], [Major version of the driver])
+AC_DEFINE([INTEL_DRIVER_MINOR_VERSION], [intel_driver_minor_version], [Minor version of the driver])
+AC_DEFINE([INTEL_DRIVER_MICRO_VERSION], [intel_driver_micro_version], [Micro version of the driver])
+AC_DEFINE([INTEL_DRIVER_PRE_VERSION], [intel_driver_pre_version], [Preversion of the driver])
+
+INTEL_DRIVER_LT_LDFLAGS="-avoid-version"
+AC_SUBST(INTEL_DRIVER_LT_LDFLAGS)
+
+dnl Use pretty build output with automake >= 1.11
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], [
+    AM_DEFAULT_VERBOSITY=1
+    AC_SUBST(AM_DEFAULT_VERBOSITY)
+])
+
+AC_DISABLE_STATIC
+AC_PROG_LIBTOOL
+AC_PROG_CC
+AM_PROG_CC_C_O
+
+AC_C_BIGENDIAN
+AC_HEADER_STDC
+AC_SYS_LARGEFILE
+
+dnl Check for recent enough DRM
+PKG_CHECK_MODULES([DRM], [libdrm >= 2.4.23])
+
+dnl Check for gen4asm
+PKG_CHECK_MODULES(GEN4ASM, [intel-gen4asm >= 1.2], [gen4asm=yes], [gen4asm=no])
+AM_CONDITIONAL(HAVE_GEN4ASM, test x$gen4asm = xyes)
+
+dnl Check for VA-API
+PKG_CHECK_MODULES(LIBVA_DEPS,    [libva])
+PKG_CHECK_MODULES(LIBVA_X11_DEPS, [libva-x11])
+
+VA_VERSION=`$PKG_CONFIG --modversion libva`
+VA_MAJOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f1`
+VA_MINOR_VERSION=`echo "$VA_VERSION" | cut -d'.' -f2`
+VA_MICRO_VERSION=`echo "$VA_VERSION" | cut -d'.' -f3`
+VA_VERSION_STR="$VA_VERSION"
+
+va_full_version_int=`expr ${VA_MAJOR_VERSION:-0} "*" 1000000 + \
+                          ${VA_MINOR_VERSION:-0} "*" 10000   + \
+                          ${VA_MICRO_VERSION:-0} "*" 100     + \
+                          0`
+VA_DRIVER_INIT_FUNC="__vaDriverInit_${VA_MAJOR_VERSION}_${VA_MINOR_VERSION}"
+AC_DEFINE_UNQUOTED([VA_DRIVER_INIT_FUNC], [$VA_DRIVER_INIT_FUNC],
+    [Define driver entry-point])
+
+dnl Check for VA-API drivers path
+AC_MSG_CHECKING([for VA drivers path])
+LIBVA_DRIVERS_PATH=`$PKG_CONFIG libva --variable driverdir`
+if test -z "$LIBVA_DRIVERS_PATH"; then
+    LIBVA_DRIVERS_PATH="/usr/lib/xorg/modules/drivers"
+fi
+AC_MSG_RESULT([$LIBVA_DRIVERS_PATH])
+AC_SUBST(LIBVA_DRIVERS_PATH)
+
+AC_OUTPUT([
+    Makefile
+    src/Makefile
+    src/shaders/Makefile
+    src/shaders/h264/Makefile
+    src/shaders/h264/mc/Makefile
+    src/shaders/mpeg2/Makefile
+    src/shaders/mpeg2/vld/Makefile
+    src/shaders/post_processing/Makefile
+    src/shaders/render/Makefile
+    src/shaders/vme/Makefile
+])
+
+dnl Print summary
+echo
+echo $PACKAGE configuration summary:
+echo
+echo VA-API version ................... : $VA_VERSION_STR
+echo VA-API drivers path .............. : $LIBVA_DRIVERS_PATH
+echo
index 405489b..7a8de4d 100644 (file)
 SUBDIRS = shaders
 
 INCLUDES = \
-       -I$(top_srcdir)         \
-       -I$(top_srcdir)/va      \
-       -I$(top_srcdir)/va/x11  \
        -DPTHREADS              \
        $(DRM_CFLAGS)           \
+       $(LIBVA_DEPS_CFLAGS)    \
        $(NULL)
 
 driver_cflags = \
@@ -39,7 +37,13 @@ driver_ldflags = \
        -module -avoid-version  \
        -no-undefined           \
        -Wl,--no-undefined      \
+       $(NULL)
+
+driver_libs = \
+       -lpthread               \
        $(DRM_LIBS) -ldrm_intel \
+       $(LIBVA_DEPS_LIBS)      \
+       $(LIBVA_X11_DEPS_LIBS)  \
        $(NULL)
 
 source_c = \
@@ -94,6 +98,9 @@ i965_drv_video_la_LTLIBRARIES = i965_drv_video.la
 i965_drv_video_ladir           = $(LIBVA_DRIVERS_PATH)
 i965_drv_video_la_CFLAGS       = $(driver_cflags)
 i965_drv_video_la_LDFLAGS      = $(driver_ldflags)
-i965_drv_video_la_LIBADD       = $(top_builddir)/va/libva-x11.la -lpthread
+i965_drv_video_la_LIBADD       = $(driver_libs)
 i965_drv_video_la_SOURCES      = $(source_c)
 noinst_HEADERS                 = $(source_h)
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = Makefile.in config.h.in
index 2fa53fc..9fa9649 100644 (file)
@@ -30,8 +30,6 @@
 #include <string.h>
 #include <assert.h>
 
-#include "va_backend.h"
-
 #include "intel_batchbuffer.h"
 #include "intel_driver.h"
 
index 3fb7ae3..b17ea83 100644 (file)
@@ -30,8 +30,6 @@
 #include <string.h>
 #include <assert.h>
 
-#include "va_backend.h"
-
 #include "intel_batchbuffer.h"
 #include "intel_driver.h"
 
index 0518a18..a4277d7 100644 (file)
@@ -30,7 +30,6 @@
 #include <string.h>
 #include <assert.h>
 
-#include "va_backend.h"
 
 #include "intel_batchbuffer.h"
 #include "intel_driver.h"
index 72f82b7..e788bc5 100644 (file)
@@ -32,7 +32,7 @@
 #include <string.h>
 #include <assert.h>
 
-#include "va/x11/va_dricommon.h"
+#include <va/va_dricommon.h>
 
 #include "intel_driver.h"
 #include "intel_memman.h"
index ddc43de..b31ef0b 100644 (file)
@@ -3,7 +3,6 @@
 #include <string.h>
 #include <assert.h>
 
-#include "va_backend.h"
 
 #include "intel_batchbuffer.h"
 #include "intel_driver.h"
index fee7109..ad8de1e 100644 (file)
@@ -37,7 +37,7 @@
 #include <assert.h>
 
 #include <va/va_backend.h>
-#include "va/x11/va_dricommon.h"
+#include <va/va_dricommon.h>
 
 #include "intel_batchbuffer.h"
 #include "intel_driver.h"
index 5ccdfa5..5fd22c9 100644 (file)
@@ -29,7 +29,7 @@
 
 #include <assert.h>
 
-#include "va_dricommon.h"
+#include <va/va_dricommon.h>
 
 #include "intel_batchbuffer.h"
 #include "intel_memman.h"
index 17770a9..6669923 100644 (file)
@@ -1 +1,4 @@
 SUBDIRS = h264 mpeg2 render post_processing vme
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = Makefile.in
index d6d106b..68a9b59 100644 (file)
@@ -1 +1,4 @@
 SUBDIRS = mc
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = Makefile.in
index a4ab3c0..f3be1ed 100644 (file)
@@ -182,3 +182,6 @@ clean-local:
        -rm -f $(INTEL_G4B_GEN5)
        -rm -f $(INTEL_MC_G4B_GEN5) $(INTEL_MC_EXPORT_GEN5)
 endif    
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = Makefile.in
index e5c6e7f..9795594 100644 (file)
@@ -1 +1,4 @@
 SUBDIRS = vld
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = Makefile.in
index ff534fe..0413054 100644 (file)
@@ -1,4 +1,3 @@
-
 INTEL_G4I = addidct.g4i               \
            do_iq_intra.g4i           \
            do_iq_non_intra.g4i       \
@@ -88,3 +87,6 @@ clean-local:
        -rm -f $(INTEL_G4B)
        -rm -f $(INTEL_G4B_GEN5)
 endif    
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = Makefile.in
index e5af86b..762c3ce 100644 (file)
@@ -140,3 +140,6 @@ clean-local:
        -rm -f $(INTEL_PP_G6B)
 
 endif    
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = Makefile.in
index a571ea2..b3a8c23 100644 (file)
@@ -87,3 +87,6 @@ clean-local:
        -rm -f $(INTEL_G6B)
        -rm -f $(INTEL_G7B)
 endif    
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = Makefile.in
index e1097a7..5252ff9 100644 (file)
@@ -35,3 +35,6 @@ clean-local:
        -rm -f $(INTEL_G7B)
 
 endif    
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = Makefile.in