OSDN Git Service

android-x86/hardware-intel-common-vaapi.git
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>
11 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>
11 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>
11 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>
11 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>
11 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

11 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.

11 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>
11 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>
11 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>
11 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>
12 years agoFix y offset for Cb/Cr
Xiang, Haihao [Thu, 19 Jan 2012 08:28:37 +0000 (16:28 +0800)]
Fix y offset for Cb/Cr

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoJPEG component id macros are removed, so don't use them in driver
Xiang, Haihao [Thu, 19 Jan 2012 01:17:13 +0000 (09:17 +0800)]
JPEG component id macros are removed, so don't use them in driver

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoFix frame height/width for YUV400/YUV444/YUV422V_2Y JPEG image
Xiang, Haihao [Thu, 19 Jan 2012 01:01:59 +0000 (09:01 +0800)]
Fix frame height/width for YUV400/YUV444/YUV422V_2Y JPEG image

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoMap JPEG component id to Y, Cb, Cr
Xiang, Haihao [Thu, 19 Jan 2012 01:00:48 +0000 (09:00 +0800)]
Map JPEG component id to Y, Cb, Cr

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoRender YUV400 image on Ivybridge
Xiang, Haihao [Thu, 19 Jan 2012 00:59:09 +0000 (08:59 +0800)]
Render YUV400 image on Ivybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoFix graphics memory allocation for VA surface
Xiang, Haihao [Tue, 7 Feb 2012 01:19:03 +0000 (09:19 +0800)]
Fix graphics memory allocation for VA surface

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agouse the revised JPEG decoding interface
Xiang, Haihao [Thu, 12 Jan 2012 05:30:34 +0000 (13:30 +0800)]
use the revised JPEG decoding interface

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoFix the bug for IVB jpeg decoding
Hai Lan [Wed, 21 Dec 2011 22:03:44 +0000 (06:03 +0800)]
Fix the bug for IVB jpeg decoding

When call i965_BeginPicture for JPEG decoding, Assertion `0' failed.
Signed-off-by: Hai Lan <hai.lan@intel.com>
12 years agouse the new JPEG decoding interface
Xiang, Haihao [Mon, 24 Oct 2011 05:28:42 +0000 (13:28 +0800)]
use the new JPEG decoding interface

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoi965_drv_video: support JPEG decoding on Ivybridge
Xiang, Haihao [Wed, 7 Sep 2011 08:18:19 +0000 (16:18 +0800)]
i965_drv_video: support JPEG decoding on Ivybridge

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoi965_drv_video: Postpone releasing internal buffer.
Xiang, Haihao [Mon, 20 Jun 2011 06:15:14 +0000 (14:15 +0800)]
i965_drv_video: Postpone releasing internal buffer.

Also fix memory leak in driver

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoi965_drv_video: Simplify render buffer function
Xiang, Haihao [Mon, 20 Jun 2011 02:09:15 +0000 (10:09 +0800)]
i965_drv_video: Simplify render buffer function

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agovc1: fix motion vector mode (IVB).
Gwenole Beauchesne [Tue, 29 Nov 2011 16:26:35 +0000 (17:26 +0100)]
vc1: fix motion vector mode (IVB).

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoh264: fix and simplify REF_IDX_STATE (ILK, SNB, IVB).
Gwenole Beauchesne [Sun, 29 Jan 2012 18:07:37 +0000 (19:07 +0100)]
h264: fix and simplify REF_IDX_STATE (ILK, SNB, IVB).

Original code was parsing RefPicList0/1 over what is actually available
and filled in, i.e. wrt. num_ref_idx_l0/1_minus1 + 1. Besides, bit 5 of
Reference List Entry set to 1 means a frame, not a field.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoFactor out type definitions (GenFrameStore, GenBuffer).
Gwenole Beauchesne [Mon, 30 Jan 2012 10:05:17 +0000 (11:05 +0100)]
Factor out type definitions (GenFrameStore, GenBuffer).

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoAvoid depending on va_backend.h for some files
Xiang, Haihao [Thu, 29 Dec 2011 08:27:24 +0000 (16:27 +0800)]
Avoid depending on va_backend.h for some files

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoRemove legacy DRI support
Xiang, Haihao [Tue, 10 Jan 2012 06:59:21 +0000 (14:59 +0800)]
Remove legacy DRI support

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoi965_drv_video: check the internal format of a surface before rendering
Xiang, Haihao [Fri, 15 Jul 2011 08:33:41 +0000 (16:33 +0800)]
i965_drv_video: check the internal format of a surface before rendering

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoAdd support for B43 chipset
Xiang, Haihao [Wed, 7 Dec 2011 00:43:29 +0000 (08:43 +0800)]
Add support for B43 chipset

B43 is another 4 series chipset like G41/G45

Signed-off-by: Alexander Inyukhin <shurick@sectorb.msk.ru>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
12 years agoconfigure: bump version for development.
Gwenole Beauchesne [Wed, 2 Nov 2011 14:32:32 +0000 (15:32 +0100)]
configure: bump version for development.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
12 years agoNEWS: add missing entry for auto-generated Debian packaging.
Gwenole Beauchesne [Fri, 28 Oct 2011 14:32:40 +0000 (16:32 +0200)]
NEWS: add missing entry for auto-generated Debian packaging.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>