OSDN Git Service

android-x86/hardware-intel-common-vaapi.git
11 years agoVPP: avoid depending on va_backend.h for some file
Li, Xiaowei A [Mon, 29 Oct 2012 18:43:57 +0000 (02:43 +0800)]
VPP: avoid depending on va_backend.h for some file

Signed-off-by: Xiang, Haihai <haihao.xiang@intel.com>
11 years agoVPP: Fix parameters for SCALING & AVS
Xiang, Haihao [Thu, 24 Nov 2011 06:21:03 +0000 (14:21 +0800)]
VPP: Fix parameters for SCALING & AVS

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoVPP: Fixed surface height for DN/DI
Xiang, Haihao [Thu, 17 Nov 2011 02:47:45 +0000 (10:47 +0800)]
VPP: Fixed surface height for DN/DI

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoVPP: Update DNDI kernel and DNDI states on Sandybridge
Xiang, Haihao [Wed, 16 Nov 2011 06:16:38 +0000 (14:16 +0800)]
VPP: Update DNDI kernel and DNDI states on Sandybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoVPP: Update surface state, sampler state and kernel for AVS on Sandybridge
Xiang, Haihao [Wed, 26 Oct 2011 06:02:20 +0000 (14:02 +0800)]
VPP: Update surface state, sampler state and kernel for AVS on Sandybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoVPP: update AVS kernel
Xiang, Haihao [Fri, 16 Sep 2011 07:37:31 +0000 (15:37 +0800)]
VPP: update AVS kernel

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoVPP: Support video process on Ivybridge
Li, Xiaowei A [Mon, 29 Oct 2012 03:09:51 +0000 (11:09 +0800)]
VPP: Support video process on Ivybridge

Only AVS enabled currently on Ivybridge.

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoVPP: Update the gen7 shader Makefile.am
Li, Xiaowei A [Mon, 29 Oct 2012 03:08:12 +0000 (11:08 +0800)]
VPP: Update the gen7 shader Makefile.am

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoVPP: Add support for field and frame mixed content
Li, Xiaowei A [Mon, 29 Oct 2012 01:28:51 +0000 (09:28 +0800)]
VPP: Add support for field and frame mixed content

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoVPP: Support DN only on Ironlake and Sandybridge
Li, Xiaowei A [Sun, 28 Oct 2012 20:11:56 +0000 (04:11 +0800)]
VPP: Support DN only on Ironlake and Sandybridge

signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>

11 years agoVPP: Emit base address command before other commands
Xiang, Haihao [Mon, 15 Aug 2011 08:17:15 +0000 (16:17 +0800)]
VPP: Emit base address command before other commands

This fixes potential GPU hang issue on SandyBridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoVPP: set surface base address for post processing
Xiang, Haihao [Mon, 15 Aug 2011 06:45:02 +0000 (14:45 +0800)]
VPP: set surface base address for post processing

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoVPP: Add image format conversion function
Li, Xiaowei A [Tue, 30 Oct 2012 18:49:54 +0000 (02:49 +0800)]
VPP: Add image format conversion function

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoVPP: code refine for video process
Li, Xiaowei A [Tue, 30 Oct 2012 18:43:36 +0000 (02:43 +0800)]
VPP: code refine for video process

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoVPP: Add shaders for video process on Ivybridge.
Li, Xiaowei A [Fri, 26 Oct 2012 01:34:38 +0000 (09:34 +0800)]
VPP: Add shaders for video process on Ivybridge.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoVPP: Add NV12<->PL3 load and save shaders to gen5_6/
Li, Xiaowei A [Fri, 26 Oct 2012 01:03:55 +0000 (09:03 +0800)]
VPP: Add NV12<->PL3 load and save shaders to gen5_6/

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoVPP: move all vpp shaders to new gen5_6/ directory.
Li, Xiaowei A [Thu, 25 Oct 2012 23:21:06 +0000 (07:21 +0800)]
VPP: move all vpp shaders to new gen5_6/ directory.

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoVPP: Modify the definition for PP module number
Li, Xiaowei A [Tue, 30 Oct 2012 19:52:57 +0000 (03:52 +0800)]
VPP: Modify the definition for PP module number

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoUpdate the check for intel-gen4asm to support Haswell
Xiang, Haihao [Wed, 31 Oct 2012 08:14:56 +0000 (16:14 +0800)]
Update the check for intel-gen4asm to support Haswell

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoRemove the dependence of va_vpp.h
Xiang, Haihao [Tue, 30 Oct 2012 00:31:20 +0000 (08:31 +0800)]
Remove the dependence of va_vpp.h

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoMake it built against the current upstream libdrm
Xiang, Haihao [Wed, 24 Oct 2012 08:47:53 +0000 (16:47 +0800)]
Make it built against the current upstream libdrm

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoVEBox: setup haswell vebox pipeline for video post process
Li,Xiaowei [Fri, 28 Sep 2012 14:35:55 +0000 (22:35 +0800)]
VEBox: setup haswell vebox pipeline for video post process

Currently, deinterlacing, denoise, color balance, color space conversion
are supported by vebox pipeline, and only deinterlace is exposed to video
post process on haswell.

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoVEBox: add special batch command and macro for VEBox command streamer
Li,Xiaowei [Tue, 25 Sep 2012 07:39:01 +0000 (15:39 +0800)]
VEBox: add special batch command and macro for VEBox command streamer

VEBox is a new feature introducted in haswell, which aims
to do video process through fixed functions, it also owns
one seperated command streamer.

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoVPP: enabling scaling function for post processing
Li,Xiaowei [Wed, 26 Sep 2012 06:10:32 +0000 (14:10 +0800)]
VPP: enabling scaling function for post processing

Signed-off-by: Li,Xiaowei A <xiaowei.a.li@intel.com>
11 years agoFix thread issue with AVC private surafce
Gautam [Wed, 24 Oct 2012 08:16:42 +0000 (16:16 +0800)]
Fix thread issue with AVC private surafce

https://bugs.freedesktop.org/show_bug.cgi?id=55282

Signed-off-by: Gautam <manamgautam@gmail.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoUnify the code for xxx_free_avc_surface
Xiang, Haihao [Wed, 24 Oct 2012 08:05:05 +0000 (16:05 +0800)]
Unify the code for xxx_free_avc_surface

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoHaswell: Disable Picture ID Remapping for AVC decoding
Xiang, Haihao [Mon, 15 Oct 2012 15:10:18 +0000 (11:10 -0400)]
Haswell: Disable Picture ID Remapping for AVC decoding

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
11 years agoHandle the MFX change between A stepping and B-stepping for haswell
Zhao Yakui [Tue, 18 Sep 2012 13:40:03 +0000 (09:40 -0400)]
Handle the MFX change between A stepping and B-stepping for haswell

The A0-stepping is still covered.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
11 years agoAdd the support of encoding P frame on haswell
Zhao Yakui [Tue, 18 Sep 2012 13:40:03 +0000 (09:40 -0400)]
Add the support of encoding P frame on haswell

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
11 years agoAdd the Intra VME for I-frame on Haswell
Zhao Yakui [Tue, 18 Sep 2012 13:40:03 +0000 (09:40 -0400)]
Add the Intra VME for I-frame on Haswell

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
11 years agoAdd the seperated file for media decoding on Haswell
Zhao Yakui [Tue, 18 Sep 2012 13:40:03 +0000 (09:40 -0400)]
Add the seperated file for media decoding on Haswell

As the MFX involves quite a lot of changes between Ivy and Haswell,
the seperated file is added for the media decoding on haswell. This
can avoid the complex backward logic for Ivy.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
11 years agoAdd the separated file for media encoding on haswell
Zhao Yakui [Tue, 18 Sep 2012 13:40:03 +0000 (09:40 -0400)]
Add the separated file for media encoding on haswell

There exist a lot of changes about the media encoder between Haswell
and IvyBridge. For example: the VME programming and the corresponding
general media command. To be simple, the separated files are added for Haswell.
Otherwise it has to consider the complex backward compatibility.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
11 years agohaswell: fix render kernels.
Gwenole Beauchesne [Tue, 18 Sep 2012 13:40:03 +0000 (09:40 -0400)]
haswell: fix render kernels.

Regenerate render kernels for Haswell because JMPI instruction semantics
changed there. In particular, the offset is now expressed in bytes instead
of 64-bit units.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agohaswell: set "Shader Channel Select" fields in surface state.
Gwenole Beauchesne [Tue, 18 Sep 2012 13:40:02 +0000 (09:40 -0400)]
haswell: set "Shader Channel Select" fields in surface state.

For normal behaviour, each Shader Channel Select should be set to the
value indicating that same channel. i.e. Shader Channel Select Red is
set to SCS_RED, Shader Channel Select Green is set to SCS_GREEN, etc.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agohaswell: fix 3DSTATE_PS to fill in number of samples.
Gwenole Beauchesne [Tue, 18 Sep 2012 13:40:02 +0000 (09:40 -0400)]
haswell: fix 3DSTATE_PS to fill in number of samples.

The sample mask value must match what is set for 3DSTATE_SAMPLE_MASK,
through gen7_emit_invarient_states().

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agohaswell: fix max PS threads shift value.
Gwenole Beauchesne [Tue, 18 Sep 2012 13:40:02 +0000 (09:40 -0400)]
haswell: fix max PS threads shift value.

The maximum number of threads is now a 9-bit value. Thus, one more bit
towards LSB was re-used. i.e. bit position is now 23 instead of 24 on
Ivy Bridge.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agointel: fix max number of threads used on Ivy Bridge.
Gwenole Beauchesne [Tue, 18 Sep 2012 13:40:02 +0000 (09:40 -0400)]
intel: fix max number of threads used on Ivy Bridge.

Fix the max number of threads to be used on Ivy Bridge. In particular,
the GEN7_PS_MAX_THREADS_SHIFT offset was wrong, thus causing the GPU
to use half of what was specified.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agohaswell: use at least 64 URB entries for GT2+.
Gwenole Beauchesne [Tue, 18 Sep 2012 13:40:02 +0000 (09:40 -0400)]
haswell: use at least 64 URB entries for GT2+.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoAdd haswell PCI IDs
Gwenole Beauchesne [Tue, 18 Sep 2012 13:40:02 +0000 (09:40 -0400)]
Add haswell PCI IDs

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
11 years agoFix inconsistent surface dimension during allocating surface buffer object
Zhao Yakui [Tue, 18 Sep 2012 13:40:02 +0000 (09:40 -0400)]
Fix inconsistent surface dimension during allocating surface buffer object

When one surface is created, the height/width is aligned to 16 pixels.
But when trying to allocate the buffer object for it, the width is aligned
to 128 and height is aligned to 32. If the surface is mapped and accessed
before allocating the buffer object, the APP will get the incorrect dimension.

From: Zhao Yakui <yakui.zhao@intel.com>

11 years agoFix build with VA-API 0.32.0.
Gwenole Beauchesne [Mon, 8 Oct 2012 08:30:23 +0000 (10:30 +0200)]
Fix build with VA-API 0.32.0.

Really fix build back to VA-API 0.32.0, and not only VA-API 0.32.1,
thus checking for VA/JPEG decode API. VA-API 0.32.0 was provided by
libva 1.0.15 and earlier version, which is still available in
Ubuntu 12.04-LTS.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoAdd sysdeps.h for system-dependent definitions.
Gwenole Beauchesne [Mon, 8 Oct 2012 08:20:27 +0000 (10:20 +0200)]
Add sysdeps.h for system-dependent definitions.

Add new "sysdeps.h" file for system-dependent definitions and common
include files. This will be helpful for Android support so that to
stack every definition useful to Android that could not be auto-generated
since configure script is not built there.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoFix build with VA-API 0.32.0.
Gwenole Beauchesne [Mon, 8 Oct 2012 08:04:03 +0000 (10:04 +0200)]
Fix build with VA-API 0.32.0.

Add new <va/va_backend_compat.h> glue file with various utility functions
and definitions to help building the driver against a previous version of
libva (1.0.x for VA-API 0.32.x in particular).

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agorender: fix rotation vertices for Ironlake.
Gwenole Beauchesne [Thu, 4 Oct 2012 08:32:32 +0000 (10:32 +0200)]
render: fix rotation vertices for Ironlake.

Ironlake requires the vertex buffer to be ordered in a particular way.
More specifically, the correct order is bottom-right, bottom-left and
top-left vertices in "output" view, i.e. transformed.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoFix make dist.
Gwenole Beauchesne [Thu, 4 Oct 2012 08:30:12 +0000 (10:30 +0200)]
Fix make dist.

The recent changes for Wayland support broke make dist. This is due
to the fact that DIST_SUBDIRS requires all subdirectories needed to
complete make dist. i.e. the generated list of subdirectories used
for make dist is *not* an union of DIST_SUBDIRS and SUBDIRS.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agofix ttmbf/ttfrm when vstransform is 0
Zhao Halley [Fri, 21 Sep 2012 02:30:55 +0000 (10:30 +0800)]
fix ttmbf/ttfrm when vstransform is 0

11 years agoFix inconsistent surface dimension during allocating surface buffer object
Zhao Yakui [Fri, 21 Sep 2012 14:28:59 +0000 (10:28 -0400)]
Fix inconsistent surface dimension during allocating surface buffer object

This is to fix the regression caused by e25b3fbce3fc3c13ca054ba9a512bec954642fa8.
When one surface is created,the height/width is aligned to 16 pixels. But when
trying to allocate buffer object for it on SNB/IVB and the later chips,the width
is aligned to 128 and height is aligned to 32. If the surface is mapped and accessed
before allocating surface buffer object, the APP will get incorrect dimension.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
11 years agoChange ILLEGAL instructions to NOP instructions in avc_mc.g4b.gen5
Homer Hsing [Thu, 27 Sep 2012 05:24:09 +0000 (13:24 +0800)]
Change ILLEGAL instructions to NOP instructions in avc_mc.g4b.gen5

11 years agowayland: drop explicit dependencies to Wayland libraries.
Gwenole Beauchesne [Mon, 6 Aug 2012 14:11:47 +0000 (16:11 +0200)]
wayland: drop explicit dependencies to Wayland libraries.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agowayland: ship with wayland-drm protocol.
Zhao halley [Thu, 24 May 2012 09:13:31 +0000 (17:13 +0800)]
wayland: ship with wayland-drm protocol.

Signed-off-by: Zhao Halley <halley.zhao@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoAdd Wayland support.
Gwenole Beauchesne [Sat, 7 Apr 2012 18:08:03 +0000 (20:08 +0200)]
Add Wayland support.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoDrop explicit dependency on libva-x11.
Gwenole Beauchesne [Fri, 29 Jun 2012 12:56:28 +0000 (14:56 +0200)]
Drop explicit dependency on libva-x11.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoAllow build without VA/X11 API.
Dmitry Ermilov [Thu, 7 Jun 2012 12:03:01 +0000 (08:03 -0400)]
Allow build without VA/X11 API.

Signed-off-by: Dmitry Ermilov <dmitry.ermilov@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoAdd raw DRM support.
Dmitry Ermilov [Thu, 7 Jun 2012 12:03:01 +0000 (08:03 -0400)]
Add raw DRM support.

Signed-off-by: Dmitry Ermilov <dmitry.ermilov@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoAdd shared library utils.
Gwenole Beauchesne [Mon, 6 Aug 2012 11:22:07 +0000 (13:22 +0200)]
Add shared library utils.

Add a few helpers to open shared libraries and load specific symbols
from there.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agodri: cope with drm_state changes.
Gwenole Beauchesne [Fri, 6 Apr 2012 15:24:36 +0000 (17:24 +0200)]
dri: cope with drm_state changes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agorender: add support for display rotation attribute.
Gwenole Beauchesne [Wed, 29 Aug 2012 16:37:25 +0000 (18:37 +0200)]
render: add support for display rotation attribute.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agorender: prepare for display attributes.
Gwenole Beauchesne [Wed, 29 Aug 2012 15:27:25 +0000 (17:27 +0200)]
render: prepare for display attributes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoREADME: fix libva required version.
Gwenole Beauchesne [Thu, 20 Sep 2012 08:35:08 +0000 (10:35 +0200)]
README: fix libva required version.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agoconfigure: simplify check for VA-API version.
Gwenole Beauchesne [Thu, 20 Sep 2012 08:26:01 +0000 (10:26 +0200)]
configure: simplify check for VA-API version.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
11 years agobuild: use libva-intel-driver as the package name.
Gwenole Beauchesne [Thu, 20 Sep 2012 08:01:30 +0000 (10:01 +0200)]
build: use libva-intel-driver as the package name.

Most OSVs adopted XXX-intel-driver as their shipping packages for the
Intel VA driver, with XXX = { vaapi, libva }. Adopt libva-intel-driver
from now on for upstream packages too.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agointel-driver: Call intel_driver_terminate after i965_destroy_heap
Stéphane Marchesin [Fri, 3 Aug 2012 03:06:26 +0000 (20:06 -0700)]
intel-driver: Call intel_driver_terminate after i965_destroy_heap

Otherwise this leads to use-after-free of the bufmgr.

Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
12 years agoBump a new version for development
Xiang, Haihao [Thu, 2 Aug 2012 06:00:18 +0000 (14:00 +0800)]
Bump a new version for development

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agointel-driver 1.0.18
Xiang, Haihao [Thu, 2 Aug 2012 05:58:37 +0000 (13:58 +0800)]
intel-driver 1.0.18

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoThe version of VA-API is at least 0.32.1
Xiang, Haihao [Thu, 2 Aug 2012 05:47:33 +0000 (13:47 +0800)]
The version of VA-API is at least 0.32.1

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoAdopt the new interfaces for JPEG decoding
Xiang, Haihao [Wed, 25 Jul 2012 22:44:52 +0000 (06:44 +0800)]
Adopt the new interfaces for JPEG decoding

Currently the HW only supprts JPEG baseline decoding

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit d4be016d054ba79f5b4882088ded96528a60c985)

Conflicts:

src/gen7_mfd.c

12 years agoRevert "Fix build with older VA-API (libva)."
Xiang, Haihao [Wed, 25 Jul 2012 23:02:39 +0000 (07:02 +0800)]
Revert "Fix build with older VA-API (libva)."

This reverts commit bcca7d23de29423b0d7d9954bfb21cc9bf3834f5.

12 years agoNEWS: updates.
Gwenole Beauchesne [Wed, 27 Jun 2012 13:16:07 +0000 (15:16 +0200)]
NEWS: updates.

Sync changes from 1.0.x series.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoconfigure: bump version for development.
Gwenole Beauchesne [Wed, 27 Jun 2012 13:12:09 +0000 (15:12 +0200)]
configure: bump version for development.

Preparatory work for some changes to be promoted from staging to master.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoconfigure: require automake >= 1.9 for tar-ustar option.
Gwenole Beauchesne [Wed, 27 Jun 2012 12:54:55 +0000 (14:54 +0200)]
configure: require automake >= 1.9 for tar-ustar option.

By default, newer automake versions make tar use the ancient tar V7 format
that limits filenames to 99 characters. This is troublesome for certain shader
sources files. Now require automake 1.9 and use the tar-ustar option so that
a newer format, defined in POSIX 1003.1-1988, is used. The limitation is now
256 characters.

PAX interchange format (POSIX 1003.1-2001) was considered but probably still
to young? Just stick to the intermediate format for now as this is enough for
our purposes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoh264: fix 4K decoding (IVB).
Gwenole Beauchesne [Wed, 27 Jun 2012 09:14:29 +0000 (11:14 +0200)]
h264: fix 4K decoding (IVB).

Fix decoding of 4K videos on Ivy Bridge. Note that either dimension
shall not exceed 4096 pixels.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoImplementation for i965_SyncSurface and i965_QuerySurfaceStatus
Dmitry Ermilov [Fri, 15 Jun 2012 04:24:37 +0000 (00:24 -0400)]
Implementation for i965_SyncSurface and i965_QuerySurfaceStatus

12 years agonew version for development
Xiang, Haihao [Tue, 29 May 2012 03:24:54 +0000 (11:24 +0800)]
new version for development

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years ago1.0.18
Xiang, Haihao [Tue, 29 May 2012 03:22:14 +0000 (11:22 +0800)]
1.0.18

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoFix the error code for unsupported resolution
Xiang, Haihao [Fri, 4 May 2012 03:05:52 +0000 (11:05 +0800)]
Fix the error code for unsupported resolution

Thank Gwenole for pointing it out

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoMPEG-2: Fix MFX_QM_STATE command on Ivybridge
Xiang, Haihao [Thu, 3 May 2012 05:45:50 +0000 (13:45 +0800)]
MPEG-2: Fix MFX_QM_STATE command on Ivybridge

If load_intra_quantiser_matrix/load_non_intra_quantiser_matrix is set to 0, then
there is no change to quantisation matrix. In this case, submit MFX_QM_STATE
with previous setting

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoEnlarge some internal buffer for H.264 decoding on Ivybridge
Xiang, Haihao [Wed, 2 May 2012 08:23:59 +0000 (16:23 +0800)]
Enlarge some internal buffer for H.264 decoding on Ivybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoAdd support for new Ivybridge chipset
Xiang, Haihao [Fri, 13 Apr 2012 02:44:57 +0000 (10:44 +0800)]
Add support for new Ivybridge chipset

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoInclude the missing config.h
Xiang, Haihao [Tue, 10 Apr 2012 05:38:58 +0000 (13:38 +0800)]
Include the missing config.h

It won't build JPEG without config.h

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agompeg2: propagate reference surfaces to other slots.
Gwenole Beauchesne [Thu, 29 Mar 2012 12:13:47 +0000 (14:13 +0200)]
mpeg2: propagate reference surfaces to other slots.

Fill in remaining reference surfaces as recommanded in HW specs.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoCheck the max resolution supported by hardware when create VA context
Xiang, Haihao [Tue, 27 Mar 2012 06:55:23 +0000 (14:55 +0800)]
Check the max resolution supported by hardware when create VA context

It will avoid GPU hang when try to play unsupported large resolution
videos.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoAllocate internal buffers with right size for SNB & IVB
Xiang, Haihao [Tue, 27 Mar 2012 06:48:36 +0000 (14:48 +0800)]
Allocate internal buffers with right size for SNB & IVB

The size is scalable with frame width or height

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoAvoid moving objects in a heap to a new address when expanding this heap
Xiang, Haihao [Mon, 26 Mar 2012 06:12:27 +0000 (14:12 +0800)]
Avoid moving objects in a heap to a new address when expanding this heap

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agompeg2: fix construction of reference frames list (SNB, IVB).
Gwenole Beauchesne [Thu, 15 Mar 2012 13:41:47 +0000 (14:41 +0100)]
mpeg2: fix construction of reference frames list (SNB, IVB).

Fix construction of reference frames list for interlaced streams.
In this case, the array is indexed by frame store ID >> 1 where
bit 0 of frame store ID represents top (0) or bottom (1) field.

Besides, current render target can also be used as a reference
while decoding the second field.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agompeg2: fix reference surfaces construction (IVB).
Gwenole Beauchesne [Thu, 15 Mar 2012 13:41:47 +0000 (14:41 +0100)]
mpeg2: fix reference surfaces construction (IVB).

Avoid an assert() since we were assigning a reference surface even
if it did not have any backing store.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agompeg2: fix TFF calculation (SNB).
Gwenole Beauchesne [Mon, 27 Feb 2012 12:57:09 +0000 (13:57 +0100)]
mpeg2: fix TFF calculation (SNB).

Gen6 has specific requirements for the TFF flag, and thus has different
semantics than Gen7 (IVB). In particular, HW uses picture_structure and
TFF flag to determine the correct field to render.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agompeg2: fix incorrect slice_vertical_position from codec layers.
Gwenole Beauchesne [Mon, 12 Mar 2012 15:40:59 +0000 (16:40 +0100)]
mpeg2: fix incorrect slice_vertical_position from codec layers.

Correctly emit slice_vertical_position, as per the definition from
the bitstream, to the HW decoder (MFD_MPEG2_BSD_OBJECT).

Add workaround for players that have not fixed their usage of
slice_vertical_position. That field shall represent the slice vertical
position as it comes from the bitstream.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoAdd WARN_ONCE() helper macro.
Gwenole Beauchesne [Sun, 18 Mar 2012 07:59:46 +0000 (08:59 +0100)]
Add WARN_ONCE() helper macro.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agorender: fix rendering of interlaced surfaces.
Gwenole Beauchesne [Mon, 12 Mar 2012 14:30:13 +0000 (15:30 +0100)]
render: fix rendering of interlaced surfaces.

Handle bob-deinterlacing flags passed to vaPutSurface().
i.e. VA_TOP_FIELD|VA_BOTTOM_FIELD.

Avoid advanced deinterlacing kernels as they allocate extra temporary
surfaces, which are useless for such simple tasks. i.e. display either
field of an interlaced surface.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoh264: fix max header size calculation with EPB.
Gwenole Beauchesne [Wed, 14 Mar 2012 15:38:38 +0000 (16:38 +0100)]
h264: fix max header size calculation with EPB.

... aka fix wrong patch applied. For the records, considering header
size without EPB is N, then the max header size with EPB is N * 3/2.
However, it's not possible to reach this value since that would mean
that slice_header() only contained zeroes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoh264: fix scan for bit offset to macroblock.
Gwenole Beauchesne [Fri, 2 Mar 2012 14:32:02 +0000 (15:32 +0100)]
h264: fix scan for bit offset to macroblock.

Handle two indices in parallel, one relative to the bitstream with
EPB, and the other without EPB.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoh264: fix weight denom for implicit weight tables (SNB).
Gwenole Beauchesne [Tue, 13 Mar 2012 15:56:53 +0000 (16:56 +0100)]
h264: fix weight denom for implicit weight tables (SNB).

If weighted_bipred_idc == 2, luma and chroma weight denom (in log2 base)
shall be set to the default value on Sandy Bridge. i.e. 5 as per defined
at 8-279 in AVC specs.

https://bugs.freedesktop.org/show_bug.cgi?id=40820

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoh264: fix weighted prediction indicator (SNB).
Gwenole Beauchesne [Tue, 13 Mar 2012 15:46:37 +0000 (16:46 +0100)]
h264: fix weighted prediction indicator (SNB).

Implicit weight tables derivation (weighted_bipred_idc == 2) could
not be set. Only default weight tables were possible instead of
explicit weight tables provided by the codec layer.

https://bugs.freedesktop.org/show_bug.cgi?id=40820

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoh264: fix first macroblock bit offset calculation (ILK, SNB, IVB).
Gwenole Beauchesne [Thu, 1 Mar 2012 17:04:56 +0000 (18:04 +0100)]
h264: fix first macroblock bit offset calculation (ILK, SNB, IVB).

Fix and simplify the scan for emulation_prevention_bytes, thus avoiding
a read beyond the end of the slice data buffer. Besides, if slice_header()
bytes are needed, use dri_bo_get_subdata() instead.

HW specific changes:
- SNB: make the HW skip the emulation prevention bytes itself.
- IVB: fix MFD_AVC_BSD_OBJECT to report the actual slice data buffer size.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agovc1: fix bitplane buffer size (SNB, IVB).
Gwenole Beauchesne [Thu, 2 Feb 2012 13:42:11 +0000 (14:42 +0100)]
vc1: fix bitplane buffer size (SNB, IVB).

This fixes buffer overflow in the newly allocated Gen buffer that holds
VC-1 bitplanes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoh264: always submit MFX_QM_STATE for flat scaling lists (IVB).
Gwenole Beauchesne [Tue, 14 Feb 2012 09:56:20 +0000 (10:56 +0100)]
h264: always submit MFX_QM_STATE for flat scaling lists (IVB).

If codec layer does not provide a VAIQMatrixBufferH264, this means
flat scaling lists shall be used. The MFX_QM_STATE command still has
to be submitted since IVB+ does not have a means to use HW generated
scaling lists.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agojpeg: fix memory leak of huffman tables.
Gwenole Beauchesne [Tue, 14 Feb 2012 13:18:41 +0000 (14:18 +0100)]
jpeg: fix memory leak of huffman tables.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoFix build with older VA-API (libva).
Gwenole Beauchesne [Tue, 14 Feb 2012 13:16:31 +0000 (14:16 +0100)]
Fix build with older VA-API (libva).

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoFix compile error after cherry-pick
Xiang, Haihao [Tue, 7 Feb 2012 01:27:05 +0000 (09:27 +0800)]
Fix compile error after cherry-pick

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoA workaround for JPEG decoding on Ivybridge
Xiang, Haihao [Mon, 6 Feb 2012 06:39:08 +0000 (14:39 +0800)]
A workaround for JPEG decoding on Ivybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>