OSDN Git Service

android-x86/hardware-intel-common-vaapi.git
6 years agoAdd a new shader for CSC/scaling from P010/I010 to YUY2/UYVY/NV12/I420 on GEN9
Xiang, Haihao [Mon, 7 Aug 2017 08:23:21 +0000 (16:23 +0800)]
Add a new shader for CSC/scaling from P010/I010 to YUY2/UYVY/NV12/I420 on GEN9

With the new shader, the driver can convert 10bit surface to 8bit
surface in a single step

This fixes https://github.com/01org/intel-vaapi-driver/issues/212

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUpdate the P010/I010 shader on GEN9
Xiang, Haihao [Thu, 3 Aug 2017 05:54:10 +0000 (13:54 +0800)]
Update the P010/I010 shader on GEN9

This fixes the conversion from I010 to P010

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoReturn UYVY format for vaQuerySurfaceAttributes
Xiang, Haihao [Wed, 9 Aug 2017 03:01:33 +0000 (11:01 +0800)]
Return UYVY format for vaQuerySurfaceAttributes

The driver supports UYVY surface, but UYVY is missed in
vaQuerySurfaceAttributes.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUse single GPE context for the optimization for 8bit/10bit scaling/CSC
Xiang, Haihao [Fri, 4 Aug 2017 01:30:45 +0000 (09:30 +0800)]
Use single GPE context for the optimization for 8bit/10bit scaling/CSC

The interface description table can used for multiple kernels and we can
use interface offset to specify the used kernel

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoTry the fast path of CSC/scaling first in va{Get,Put}Image()
Xiang, Haihao [Wed, 2 Aug 2017 02:20:35 +0000 (10:20 +0800)]
Try the fast path of CSC/scaling first in va{Get,Put}Image()

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoFactor out CSC/scaling in the fast path
Xiang, Haihao [Fri, 28 Jul 2017 06:10:29 +0000 (14:10 +0800)]
Factor out CSC/scaling in the fast path

The factored-out code will be re-used for va{Get,Put}Image()
implementation

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agowayland: Implement registry remove handler
Philipp Kerling [Tue, 15 Aug 2017 08:52:54 +0000 (10:52 +0200)]
wayland: Implement registry remove handler

Wayland event handlers are never optional. libwayland-client will abort
the program if events for unbound handlers are to be dispatched.
Although the event queue is only dispatched a few times during
initialization for getting the wl_drm global and authenticating the DRM
device, in rare circumstances it can happen that another global such as
a wl_output - or even wl_drm itself - is removed during that time, which
would crash the program. Implement the handler to fix this.

Signed-off-by: Philipp Kerling <pkerling@casix.org>
6 years agoMerge branch 'v1.8-branch' into master
Xiang, Haihao [Wed, 16 Aug 2017 06:47:36 +0000 (14:47 +0800)]
Merge branch 'v1.8-branch' into master

6 years agotest: fix AVCEContextTest/RateControl regression nougat-x86 android-x86-7.1-r1 android-x86-7.1-r2 android-x86-7.1-r3 android-x86-7.1-r4 android-x86-7.1-r5
U. Artie Eoff [Thu, 10 Aug 2017 18:23:57 +0000 (11:23 -0700)]
test: fix AVCEContextTest/RateControl regression

Update AVCEContextTest/RateControl expectations that changed
since PR #197

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6 years agotest: add status expectation in I965TestFixture::createConfig
U. Artie Eoff [Thu, 10 Aug 2017 18:21:19 +0000 (11:21 -0700)]
test: add status expectation in I965TestFixture::createConfig

Add VAStatus parameter to I965TestFixture::createConfig to allow
users to pass in the expected status for testing.

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6 years agoavoid NULL pointer deref in i965_CreateConfig
U. Artie Eoff [Thu, 10 Aug 2017 18:15:57 +0000 (11:15 -0700)]
avoid NULL pointer deref in i965_CreateConfig

The attrib_found pointer variable might be NULL in many cases.
Thus, check it before attempting to dereference it.

Fixes #246

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6 years agoadd brc mode check for AVC when creating the config
Pengfei Qu [Thu, 8 Jun 2017 09:55:17 +0000 (17:55 +0800)]
add  brc mode check for AVC when creating the config

v0:this add the RC check for AVC encoder

Fixes #35

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
6 years agoVAEncROI on GEN7 chipset fix
Guilherme [Tue, 25 Jul 2017 15:34:41 +0000 (12:34 -0300)]
VAEncROI on GEN7 chipset fix

Copying line intel_h264_enc_roi_config() from gen75_vme.c to gen7_vme.c

6 years agoAdd the configure attributes of EncMaxRefs for GEN9 HEVC encoder
peng.chen [Tue, 8 Aug 2017 06:11:27 +0000 (14:11 +0800)]
Add the configure attributes of EncMaxRefs for GEN9 HEVC encoder

Fixes #200

Signed-off-by: peng.chen <peng.c.chen@intel.com>
6 years agoDo not apply AUD hack to non-RawData headers
Mark Thompson [Sat, 29 Jul 2017 20:24:10 +0000 (21:24 +0100)]
Do not apply AUD hack to non-RawData headers

Headers which are not VAEncPackedHeaderRawData should not be inserted
at the front of the access unit by the AUD hack - if they are, they will
end up duplicated if they match the test because they are also placed
later in the access unit.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoUpdate new media kernels for HEVC encoder
peng.chen [Thu, 3 Aug 2017 07:23:19 +0000 (15:23 +0800)]
Update new media kernels for HEVC encoder

Fixes #240

Signed-off-by: peng.chen <peng.c.chen@intel.com>
6 years agoCorrect the data type
Xiang, Haihao [Mon, 24 Jul 2017 06:25:37 +0000 (14:25 +0800)]
Correct the data type

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoDon't align the bitrate to 1000 for VDEnc AVC encoding
Xiang, Haihao [Fri, 21 Jul 2017 04:22:36 +0000 (12:22 +0800)]
Don't align the bitrate to 1000 for VDEnc AVC encoding

The HuC accepts the real bitrate setting

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoInitialize the HME mv cost table for VDEnc AVC encoding
Xiang, Haihao [Thu, 20 Jul 2017 08:26:58 +0000 (16:26 +0800)]
Initialize the HME mv cost table for VDEnc AVC encoding

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoadd VC-1 intensity compensation for SNB
carpalis [Wed, 26 Jul 2017 07:48:00 +0000 (09:48 +0200)]
add VC-1 intensity compensation for SNB

6 years agoimplement intensity compensation for VC-1 decoding
carpalis [Mon, 24 Jul 2017 11:21:16 +0000 (13:21 +0200)]
implement intensity compensation for VC-1 decoding

Intensity compensation was not present for B-frames, but only for P-frames. When a P-frame flags intensity compensation for its forward reference frame, all subsequent B-frames that use this reference frame as well, need to do intensity compensation as well.

6 years agotest: fix GCC 7.1.1 warnings/errors
Kelly Ledford [Thu, 27 Jul 2017 22:12:27 +0000 (15:12 -0700)]
test: fix GCC 7.1.1 warnings/errors

Fixes #236: add explicit braces to avoid 'ambiguous else' warning.

Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
7 years agoEncoder: Avoid memory leak
Xiang, Haihao [Fri, 14 Jul 2017 07:19:39 +0000 (15:19 +0800)]
Encoder: Avoid memory leak

An internal surface is created when the input surface doesn't meet the
HW requirement for encoding, however this surface is not destroyed when
the corresponding context is destroyed which causes the memory leak
issue. This patch fixes this issue.

This fixes https://github.com/01org/libyami/issues/751

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoRemove useless frame dimension check for VP9
Mark Thompson [Wed, 28 Jun 2017 23:41:21 +0000 (00:41 +0100)]
Remove useless frame dimension check for VP9

Signed-off-by: Mark Thompson <sw@jkqxz.net>
7 years agoDon't check the stride in the y direction for a single plane surface
Xiang, Haihao [Wed, 12 Jul 2017 01:44:11 +0000 (09:44 +0800)]
Don't check the stride in the y direction for a single plane surface

obj_surface->height is used to calculate the offset for U/V plane. for a
surface with single plane, the check is unnecessary

This fixes https://github.com/01org/intel-vaapi-driver/issues/222

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Daniel Charles <daniel.charles@intel.com>
Tested-by: Daniel Charles <daniel.charles@intel.com>
7 years agoAdd HEVC ROI attributes for VAConfigAttribEncROI
peng.chen [Tue, 20 Jun 2017 06:33:21 +0000 (14:33 +0800)]
Add HEVC ROI attributes for VAConfigAttribEncROI

Fixes #179

Signed-off-by: peng.chen <peng.c.chen@intel.com>
7 years agoAdd the support of ROI for HEVC encoder on GEN9 SKL+
peng.chen [Tue, 20 Jun 2017 06:25:58 +0000 (14:25 +0800)]
Add the support of ROI for HEVC encoder on GEN9 SKL+

Fixes #179

Signed-off-by: peng.chen <peng.c.chen@intel.com>
7 years agoParse ROI Misc parameters for CQP mode
peng.chen [Tue, 20 Jun 2017 06:18:05 +0000 (14:18 +0800)]
Parse ROI Misc parameters for CQP mode

Signed-off-by: peng.chen <peng.c.chen@intel.com>
7 years agoUpdate media kernels for hevc encoder
peng.chen [Fri, 16 Jun 2017 05:16:48 +0000 (13:16 +0800)]
Update media kernels for hevc encoder

Signed-off-by: peng.chen <peng.c.chen@intel.com>
7 years agoFix VDENC_PIPE_BUF_ADDR_STATE for AVC VDEnc encoding
Xiang, Haihao [Wed, 12 Jul 2017 06:04:17 +0000 (14:04 +0800)]
Fix VDENC_PIPE_BUF_ADDR_STATE for AVC VDEnc encoding

DW22-DW27 are the first 2 reference surfaces in list0, not the down
scaling referece surfaces.

This fixes https://github.com/01org/intel-vaapi-driver/issues/224

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoEnc: add max ref number query for AVC encoder on SKL+
Pengfei Qu [Fri, 23 Jun 2017 01:54:36 +0000 (09:54 +0800)]
Enc: add max ref number query for AVC encoder on SKL+

Fixes #199

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
7 years agoRemove generated file from tree and on clean
Philipp Kerling [Thu, 22 Jun 2017 07:46:38 +0000 (09:46 +0200)]
Remove generated file from tree and on clean

Signed-off-by: Philipp Kerling <pkerling@casix.org>
7 years agointel-vaapi-driver 1.8.3
Xiang, Haihao [Wed, 28 Jun 2017 00:27:07 +0000 (08:27 +0800)]
intel-vaapi-driver 1.8.3

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agowayland: Also support wl_drm version 1
Philipp Kerling [Tue, 20 Jun 2017 17:32:34 +0000 (19:32 +0200)]
wayland: Also support wl_drm version 1

Just using version 2 without checking would lead to a protocol error
bringing down the entire application, and wl_drm version 1 is still
supported since v2 only adds PRIME capabilities.

7 years agoFix the ROI bottom setting issue in vdenc
peng.chen [Thu, 15 Jun 2017 01:35:57 +0000 (09:35 +0800)]
Fix the ROI bottom setting issue in vdenc

Signed-off-by: peng.chen <peng.c.chen@intel.com>
7 years agowayland: Use private event queue for compositor communication
Philipp Kerling [Tue, 13 Jun 2017 11:39:27 +0000 (13:39 +0200)]
wayland: Use private event queue for compositor communication

(Ab)using the default queue that the application might itself use
already and work on in parallel to initializing libva is not
thread-safe. Make it thread-safe by setting a private queue on a
wrapped wl_display. Also print some more error messages in case things
go wrong.

Signed-off-by: Philipp Kerling <pkerling@casix.org>
Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
7 years agowayland: Bump wayland-client dependency to 1.11.0
Philipp Kerling [Tue, 13 Jun 2017 11:38:55 +0000 (13:38 +0200)]
wayland: Bump wayland-client dependency to 1.11.0

Signed-off-by: Philipp Kerling <pkerling@casix.org>
7 years agowayland: Cleanup wl_registry on terminate
Philipp Kerling [Tue, 13 Jun 2017 11:38:20 +0000 (13:38 +0200)]
wayland: Cleanup wl_registry on terminate

Signed-off-by: Philipp Kerling <pkerling@casix.org>
Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
7 years agoBump intel-vaapi-driver to 1.8.4.pre1 for development
Xiang, Haihao [Mon, 12 Jun 2017 16:05:20 +0000 (00:05 +0800)]
Bump intel-vaapi-driver to 1.8.4.pre1 for development

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoUpdate NEWS and README
Xiang, Haihao [Mon, 12 Jun 2017 07:31:37 +0000 (15:31 +0800)]
Update NEWS and README

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoCheck pointers against NULL before using
Xiang, Haihao [Mon, 12 Jun 2017 08:45:20 +0000 (16:45 +0800)]
Check pointers against NULL before using

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

7 years agoCheck pointers against NULL before using
Xiang, Haihao [Mon, 12 Jun 2017 08:45:20 +0000 (16:45 +0800)]
Check pointers against NULL before using

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoAdd gen9_hevc_enc_kernels.h to the corresponding list
Xiang, Haihao [Mon, 12 Jun 2017 07:48:20 +0000 (15:48 +0800)]
Add gen9_hevc_enc_kernels.h to the corresponding list

Otherwise the package created by 'make dist' doesn't include the
missing file, which will break the build

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

7 years agoAdd gen9_hevc_enc_kernels.h to the corresponding list
Xiang, Haihao [Mon, 12 Jun 2017 07:48:20 +0000 (15:48 +0800)]
Add gen9_hevc_enc_kernels.h to the corresponding list

Otherwise the package created by 'make dist' doesn't include the
missing file, which will break the build

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agocorrect subsampling calculate methods of various fourcc that jpeg support.
Wang, Tiantian [Tue, 18 Apr 2017 10:53:12 +0000 (06:53 -0400)]
correct subsampling calculate methods of various fourcc that jpeg support.

This fixes https://github.com/01org/intel-vaapi-driver/issues/10

Signed-off-by: Wang Tiantian <tiantian.wang@intel.com>
(cherry picked from commit 4055625baf6fcfb4a93ed64e3a7c491bc143d757)

7 years agocorrect subsampling calculate methods of various fourcc that jpeg support.
Wang, Tiantian [Tue, 18 Apr 2017 10:53:12 +0000 (06:53 -0400)]
correct subsampling calculate methods of various fourcc that jpeg support.

This fixes https://github.com/01org/intel-vaapi-driver/issues/10

Signed-off-by: Wang Tiantian <tiantian.wang@intel.com>
7 years agoENC: add RC query for AVC mb rc mode on SKL+
Pengfei Qu [Tue, 16 May 2017 07:49:13 +0000 (15:49 +0800)]
ENC: add RC query for AVC mb rc mode on SKL+

v0: add h264_brc_mode to store the RC capability of H264

Fixes #168

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
(cherry picked from commit 3416db0c8280a321db0b8d2afde9c30c3229ee7d)

7 years agoENC: add RC query for AVC mb rc mode on SKL+
Pengfei Qu [Tue, 16 May 2017 07:49:13 +0000 (15:49 +0800)]
ENC: add RC query for AVC mb rc mode on SKL+

v0: add h264_brc_mode to store the RC capability of H264

Fixes #168

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
7 years agoFix: AVC/HEVC encoder quality range should be 7 on SKL+
Pengfei Qu [Wed, 7 Jun 2017 02:45:59 +0000 (10:45 +0800)]
Fix: AVC/HEVC encoder quality range should be 7 on SKL+

Fixes #192

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
(cherry picked from commit 53fa3daa12f6dbdd391d24ab479dc601ae37a89d)

7 years agoEnable is_16bpp flag of gpe_surface for P010 surface
peng.chen [Tue, 6 Jun 2017 05:54:00 +0000 (13:54 +0800)]
Enable is_16bpp flag of gpe_surface for P010 surface

It is only for media_block_rw mode

Signed-off-by: peng.chen <peng.c.chen@intel.com>
(cherry picked from commit c036ab3c14f9e17158d6bf36b63cf0979ee4c548)

7 years agoFix the max slice number definition error in hevc encoder
peng.chen [Wed, 7 Jun 2017 06:16:10 +0000 (14:16 +0800)]
Fix the max slice number definition error in hevc encoder

The real max slice number is defined by I965_MAX_NUM_SLICE,
so also need to use this macro in hevc encoder

Fixes #162

Signed-off-by: peng.chen <peng.c.chen@intel.com>
(cherry picked from commit 81cf65d67052d174a43a5c0ba46168109529c6c6)

7 years agoUse ASSERT_RET() instead of assert() for some assertions
Xiang, Haihao [Fri, 2 Jun 2017 04:12:14 +0000 (12:12 +0800)]
Use ASSERT_RET() instead of assert() for some assertions

This avoids assertion fault, and the caller can handle the error
properly when the driver returns false or error.

This avoids the assertion fault in
https://github.com/01org/intel-vaapi-driver/issues/186, it also avoids
the assertion fault after https://github.com/01org/libva/issues/51 is fixed
in libva.

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

7 years agoAdd the missing parameter type in a function definition
Xiang, Haihao [Mon, 22 May 2017 08:08:29 +0000 (16:08 +0800)]
Add the missing parameter type in a function definition

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

7 years agodecode: release huffman_table from decode state
U. Artie Eoff [Fri, 2 Jun 2017 18:00:17 +0000 (11:00 -0700)]
decode: release huffman_table from decode state

In i965_destroy_context, ensure we release the huffman_table
buffer_store from the decode state to avoid memory leak.

Fixes #190

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
(cherry picked from commit b86d86de86c4f071415e6519ae778859193c0b7e)

7 years agogen9_avc_encoder: brc_curbe_size is not static anymore
Víctor Manuel Jáquez Leal [Thu, 1 Jun 2017 10:09:49 +0000 (12:09 +0200)]
gen9_avc_encoder: brc_curbe_size is not static anymore

Static memory allocation in general is the allocation of memory at compile
time before the associated program is executed.

And this is the case when compiling with clang: it tries to optimize the
allocation of static memory in compilation time, thus commit f896ca2a breaks
the compilation, since the structure can only be defined at execution time.

Fix #184

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
(cherry picked from commit 533193a2e187601ad976060d11b7fda679058295)

7 years agogen9_avc_encoder: Fix mbenc curbe size of KBL and GLK
Sreerenj Balachandran [Wed, 31 May 2017 19:26:43 +0000 (12:26 -0700)]
gen9_avc_encoder: Fix mbenc curbe size of KBL and GLK

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
(cherry picked from commit f896ca2aac7780f145d06ef34457f9bc28bdd29d)

7 years agoUse the down sampled NV12 surface as the RAW surface
peng.chen [Wed, 24 May 2017 06:53:29 +0000 (14:53 +0800)]
Use the down sampled NV12 surface as the RAW surface

This NV12 surface is converted from the input P010 surface
as the input of some kernels

Signed-off-by: peng.chen <peng.c.chen@intel.com>
(cherry picked from commit 3b8af51d787cc6116adef3effa7c8cffca2c9285)

7 years agoREADME.md: update Slack Team invite URL
U. Artie Eoff [Thu, 25 May 2017 17:52:55 +0000 (10:52 -0700)]
README.md: update Slack Team invite URL

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
(cherry picked from commit 743d511d6004f50e780c4b3b4595c4d0e02ec9b5)

7 years agoFix AUD insert issue in AVC encoder with GEN6/7.5/8.
Jun Zhao [Tue, 16 May 2017 15:26:34 +0000 (23:26 +0800)]
Fix AUD insert issue in AVC encoder with GEN6/7.5/8.

If find the AUD NAL in raw data list, it will insert AUD first in
the bitstream.

Fix #155

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
(cherry picked from commit 5f479acd6d856c13be18321642eac8e9635b25c9)

7 years agoFix typo in comments.
Jun Zhao [Tue, 16 May 2017 12:19:46 +0000 (20:19 +0800)]
Fix typo in comments.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
(cherry picked from commit 4f91841d918fdcaf13a7ab411246a7b23d01becf)

7 years agoGen9 H.264 encoders: Fix condition for enabling MB rate control
Mark Thompson [Mon, 15 May 2017 20:18:54 +0000 (21:18 +0100)]
Gen9 H.264 encoders: Fix condition for enabling MB rate control

As documented in va.h, it should not be enabled when the user passes
the value 2 here.  This now matches the behaviour of the H.265
encoder.

Fixes #166.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
(cherry picked from commit 0dd6ba4e26d3abaa7e66265284ef81c746c13f20)

7 years agoVP8 encoder can support VBR method since using the new media kernel
Xiang, Haihao [Fri, 12 May 2017 02:01:25 +0000 (10:01 +0800)]
VP8 encoder can support VBR method since using the new media kernel

This fixes https://github.com/01org/intel-vaapi-driver/issues/164

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

7 years agoThis silences a gcc warning
Xiang, Haihao [Thu, 13 Apr 2017 07:45:57 +0000 (15:45 +0800)]
This silences a gcc warning

This fixes https://github.com/01org/intel-vaapi-driver/issues/114

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

7 years agoFix coding style in the previous commits
Xiang, Haihao [Thu, 13 Apr 2017 07:43:04 +0000 (15:43 +0800)]
Fix coding style in the previous commits

Otherwise the pre-commit hook will block the changes to these files
in the future.

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

7 years agoENC: fix the low quality at the first GOP for AVC encoder on the platform previous SKL
Pengfei Qu [Fri, 28 Apr 2017 01:05:03 +0000 (09:05 +0800)]
ENC: fix the low quality at the first GOP for AVC encoder on the platform previous SKL

RC logic initialize the big QP at the first GOP, this cause the low quality.

Fixes #147

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
(cherry picked from commit 34a525f65d8fe3e2a9ec28351de871c2e0f4834d)

7 years agoImprove the performance of HEVC fast level encoding
peng.chen [Tue, 2 May 2017 01:09:52 +0000 (09:09 +0800)]
Improve the performance of HEVC fast level encoding

Fixes #137

Signed-off-by: peng.chen <peng.c.chen@intel.com>
(cherry picked from commit c09eb2c1d27d9d9da0c17be1727d5edbadb00427)

7 years agotest/jpege: skip >4k res test cases on CHV/BSW
U. Artie Eoff [Fri, 28 Apr 2017 02:08:00 +0000 (19:08 -0700)]
test/jpege: skip >4k res test cases on CHV/BSW

Only Gen9+ supports res > 4K for JPEG encoding.

Fixes #149

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
(cherry picked from commit c4f333bd658b5752bb6afc7935dc65644201dfd8)

7 years agoandroid: move the libraries to /vendor
Chih-Wei Huang [Wed, 26 Apr 2017 06:02:32 +0000 (14:02 +0800)]
android: move the libraries to /vendor

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 996ecede88c69c60e0a8974ba75400e1b676a1d6)

7 years agoMake the compiler happy
Chih-Wei Huang [Fri, 7 Apr 2017 06:10:53 +0000 (14:10 +0800)]
Make the compiler happy

To avoid the error:

src/gen6_mfc_common.c:487:1: error: control may reach end of non-void function [-Werror,-Wreturn-type]
}
^

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit de8d3c0895ceba38bdfd11e8386e4f0d4b4dc855)

7 years agoMove source lists into Makefile.sources
Chih-Wei Huang [Fri, 7 Apr 2017 03:01:01 +0000 (11:01 +0800)]
Move source lists into Makefile.sources

Factor the source lists into a shared makefile. This prevents duplicate of
source lists, and hence prevents the Android build from breaking as often.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 1c1e2ac866e97dfaf7e9d8b3cbd9454f8f5d0c4b)

7 years agoandroid: set the installation path
Chih-Wei Huang [Thu, 6 Apr 2017 10:48:41 +0000 (18:48 +0800)]
android: set the installation path

Use the path similar to linux desktop.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 73a65aed00ee5580953cb4a7161c97222204b042)

7 years agoandroid: remove the unused script
Chih-Wei Huang [Thu, 6 Apr 2017 10:34:16 +0000 (18:34 +0800)]
android: remove the unused script

The gen_version.sh violates the read-only rule of Android build system.
The rules to generate intel_version.h are rewritten. Remove this unused
script.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 69f00fe097c696b64d6f7c992bc8c3382073ddb7)

7 years agoandroid: fix the rules to generate intel_version.h
Chih-Wei Huang [Thu, 6 Apr 2017 10:33:57 +0000 (18:33 +0800)]
android: fix the rules to generate intel_version.h

Android source tree has to be read-only. The generated files should
be put to the $(OUT)/gen/ dir. Rewrite the makefile to be compliant
with the rules.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit a177751246b8d57aa6223060415fa4824b7cebf1)

7 years agoandroid: remove deprecated include paths
Chih-Wei Huang [Thu, 6 Apr 2017 09:48:31 +0000 (17:48 +0800)]
android: remove deprecated include paths

The include paths are exported from the linked modules directly.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 65168d96e886838ccf1ba14865574bda6fabb437)

7 years agoandroid: remove redundant -DANDROID
Chih-Wei Huang [Thu, 6 Apr 2017 07:42:58 +0000 (15:42 +0800)]
android: remove redundant -DANDROID

It has already been defined by the Android build system.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 6e64ab059d12855a68232215823f2778ecc6947c)

7 years agoRemove the unnecessary exec bit
Chih-Wei Huang [Thu, 6 Apr 2017 07:39:51 +0000 (15:39 +0800)]
Remove the unnecessary exec bit

These files are not executables.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit e7a62717f45fa87de260468eb2976ad7588bcd9e)

7 years agoAdd the support of multi-slices for the HEVC encoder
peng.chen [Wed, 19 Apr 2017 02:36:34 +0000 (10:36 +0800)]
Add the support of multi-slices for the HEVC encoder

Signed-off-by: peng.chen <peng.c.chen@intel.com>
(cherry picked from commit 5471b938d580e0e35227d305d05baa4b74db1402)

7 years agoFix the suspicious reference before check NULL pointer
Zhao Yakui [Wed, 19 Apr 2017 08:37:50 +0000 (16:37 +0800)]
Fix the suspicious reference before check NULL pointer

Fix #140
https://github.com/01org/intel-vaapi-driver/issues/140

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
(cherry picked from commit 6907a27b6ed1eaa7acd2b3bd0930bc81501ab4f6)

7 years agogen9_vp9_encoder: fix parameters sent to the shaders
Daniel Charles [Thu, 13 Apr 2017 01:42:27 +0000 (18:42 -0700)]
gen9_vp9_encoder: fix parameters sent to the shaders

buffer fullness intially has to be set to half the target bitrate.
Also the scaled 4x width and height in mb has to be updated properly
for distortion buffer to operate properly

v2: remove downscaled_width_4x_in_mb and dowscaled_height_4x_in_mb from
gen9_encoder_context_vp9

Fixes #132
TEST="see bug for proper test analysis"

Signed-off-by: Daniel Charles <daniel.charles@intel.com>
(cherry picked from commit dbe582c2361d3bb6a04968a2bc21b62bede9c46e)

7 years agoEnable HEVC encoder for GLK
jkyu [Thu, 13 Apr 2017 05:04:43 +0000 (01:04 -0400)]
Enable HEVC encoder for GLK

Fix https://github.com/01org/intel-vaapi-driver/issues/134

Signed-off-by: jkyu <jiankang.yu@intel.com>
(cherry picked from commit e946c3c0687066eba3b139ab74d621f9f28b2de4)

7 years agoSet the quality range and default level for hevc encoder
peng.chen [Thu, 13 Apr 2017 05:23:17 +0000 (13:23 +0800)]
Set the quality range and default level for hevc encoder

Signed-off-by: peng.chen <peng.c.chen@intel.com>
(cherry picked from commit bb253641eab36261add539967bedf8cbdb9dfacb)

7 years agoAdd the RC_VBR in GetConfigAttributes for HEVC encoding
peng.chen [Thu, 13 Apr 2017 05:23:17 +0000 (13:23 +0800)]
Add the RC_VBR in GetConfigAttributes for HEVC encoding

Signed-off-by: peng.chen <peng.c.chen@intel.com>
(cherry picked from commit 294b90c063d5342d9cd9df53f598999ab6d3080e)

7 years agoImprove the HEVC encoding quality on SKL/APL/KBL
peng.chen [Thu, 13 Apr 2017 05:23:17 +0000 (13:23 +0800)]
Improve the HEVC encoding quality on SKL/APL/KBL

V1:
1, Update the commit date
2, Add extern to a function prototype
3, Reallocate resource for different resolution pictures
4, Move static constant array ftq_25i[]
5, Free res_pak_slice_batch_buffer before flush the batch buffer
6, Add cache attribute setting
7, Fix write domain issue of output surface
8, Remove the wrong bit setting in pipe_select
9, Correct the licensing declaration
10, Move hevc enc apis declaration to the enc common api file
11, Add two field bits in PAK pic_state

V2:
1, Move QM/FM default tables out of the function
2, Set the private_data for obj_surface before allocating the surface
3, Move hevc_qpc_table[] into gen9_hevc_encoder.c
4, Alocate independent ME gpe context for each HMEs
5, Reconfigure the VFE state
6, Remove the i965_zero_gpe_resource in ALLOC_GPE_RESOURCE
7, Unify the coding style

V3:
1, Fix memory clear size mistake in intra_distortion
2, Disable multi-slices support for HEVC encoding

Signed-off-by: peng.chen <peng.c.chen@intel.com>
(cherry picked from commit 455351f974504315e99cb24eb7c8199c3694ca17)

7 years agoAdd the new kernel binary for the improved HEVC encoder on SKL/APL/KBL
peng.chen [Thu, 13 Apr 2017 05:23:17 +0000 (13:23 +0800)]
Add the new kernel binary for the improved HEVC encoder on SKL/APL/KBL

V1:
Move kernel binary into new file

V2:
Unify the coding style

Signed-off-by: peng.chen <peng.c.chen@intel.com>
(cherry picked from commit d3962876336706a6f9a934d671bd2fdbfb06baab)

7 years agoCheck and allocate (if not exist) bo for dst_obj_surface in vpp
Wang, Tiantian [Mon, 10 Apr 2017 06:12:24 +0000 (02:12 -0400)]
Check and allocate (if not exist) bo for dst_obj_surface in vpp

This fixes #20
https://github.com/01org/intel-vaapi-driver/issues/20

Signed-off-by: Wang Tiantian <tiantian.wang@intel.com>
(cherry picked from commit aa77cb71b3a052cffc085aedcdf437a320fb7377)

7 years agoENC: add AUD nal unit at the beginning of picture
Pengfei Qu [Wed, 5 Apr 2017 02:59:48 +0000 (10:59 +0800)]
ENC: add AUD nal unit at the beginning of picture

v0:parse nal type with generic method

Fixes #110

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
(cherry picked from commit fd5213792a28f770d0f563abd931ce717961d266)

7 years agodri: error for more unimplemented surface formats
Víctor Manuel Jáquez Leal [Tue, 11 Apr 2017 17:43:38 +0000 (19:43 +0200)]
dri: error for more unimplemented surface formats

Such as commit 396bf01a, RGB formats are not display correctly
in X11. Hence, return unimplemented error.

Fixes #131

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
(cherry picked from commit 00bfd094947e3fe52c524b89b572c6cddaa7d1a9)

7 years agoFix: check height alignment against hpitch
Víctor Manuel Jáquez Leal [Tue, 11 Apr 2017 12:03:34 +0000 (14:03 +0200)]
Fix: check height alignment against hpitch

Commit 43a75ea introduced a regression when importing dmabuf from v4l2,
returning VA_STATUS_ERROR_INVALID_PARAMETER.

This is because, when checking the check height alignment, the wpitch
was used, when hpitch is the one to compare.

Fixes #129

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
(cherry picked from commit 6a90959ca75cda8c8eeebf2456c11ca1276cfeb3)

7 years agoAdd pre-commit hook
Xiang, Haihao [Fri, 24 Mar 2017 01:13:24 +0000 (09:13 +0800)]
Add pre-commit hook

Check that the code follows a consistant coding style before committing.
The current command will be interrupted if the commit doesn't follow the
code style

This fixes https://github.com/01org/intel-vaapi-driver/issues/99

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

7 years agoUnify the coding style in the driver
Xiang, Haihao [Thu, 23 Mar 2017 07:31:47 +0000 (15:31 +0800)]
Unify the coding style in the driver

Linux coding style is used in the driver source code. Use the command
below to format/indent .c/.h files

$> astyle --style=linux -cnpUH -s4 -M120 <file>

A script of style_unify is added in the top-level directory to
handle all .c/.h files in the driver. There is no change to any
functionality

This fixes https://github.com/01org/intel-vaapi-driver/issues/99

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

7 years agogen9_avc_encoder: macro optimization
Sreerenj Balachandran [Thu, 6 Apr 2017 19:05:38 +0000 (12:05 -0700)]
gen9_avc_encoder: macro optimization

Avoid duplicated multiplication, do the frame size
calculation once and reuse the result.

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
(cherry picked from commit 38a124e1f94682162ac12c00f8106ac6a627b3cd)

7 years agoAdd imported surface alignment check
Wang, Tiantian [Thu, 30 Mar 2017 01:22:03 +0000 (21:22 -0400)]
Add imported surface alignment check

This fixes issues #62
https://github.com/01org/intel-vaapi-driver/issues/62

Signed-off-by: Wang Tiantian <tiantian.wang@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
(cherry picked from commit 43a75eaadf2c5226654be438e0223a28f577d27a)

7 years agoFix wrong y_cb/cr_offset when the imported surfaces's fourcc is VA_FOURCC_411P
Wang, Tiantian [Thu, 30 Mar 2017 01:35:55 +0000 (21:35 -0400)]
Fix wrong y_cb/cr_offset when the imported surfaces's fourcc is VA_FOURCC_411P

Signed-off-by: Wang Tiantian <tiantian.wang@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
(cherry picked from commit 01e602844abb34095d15c7990f836f88b922ba40)

7 years agoAdd the video encoder support for GLK
jkyu [Thu, 30 Mar 2017 23:28:02 +0000 (19:28 -0400)]
Add the video encoder support for GLK

HEVC encoder will be enabled later.
Fix https://github.com/01org/intel-vaapi-driver/issues/111

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Wang, TianTian<tiantian.wang@intel.com>
Signed-off-by: jkyu <jiankang.yu@intel.com>
(cherry picked from commit 3827427319dfff8a58d2df9899ba2795de5566e1)

7 years agoFix spelling of 'extended'
Sebastian Ramacher [Sat, 1 Apr 2017 18:50:22 +0000 (20:50 +0200)]
Fix spelling of 'extended'

Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
(cherry picked from commit c809963480001c564365738fba6926b34af249ef)

7 years agogen8: accept P010 as valid format
Víctor Manuel Jáquez Leal [Mon, 27 Mar 2017 16:05:40 +0000 (09:05 -0700)]
gen8: accept P010 as valid format

The functions gen8_gpe_set_surface2_state() and
gen8_gpe_media_chroma_surface_setup() asserts for the surface color
format, admiting only NV12.

Nonetheless, gen8 also can encoder surfaces with P010 color format.

This patch adds P010 color format in the assertion condition.

Fixes #106

(cherry picked from commit 437cbe03eaeb08e6f4ab70cdf8757bccb8de15dd)

7 years agoAdd the support for GLK in the intel-driver
peng.chen [Fri, 10 Mar 2017 07:19:25 +0000 (02:19 -0500)]
Add the support for GLK in the intel-driver

Decoder and VPP are enabled with this patch.
Encoder will be enabled later.

Fix https://github.com/01org/intel-vaapi-driver/issues/80

Signed-off-by: Peng.Chen <peng.c.chen@intel.com>
Signed-off-by: Yu, JianKang <jiankang.yu@intel.com>
Signed-off-by: Wang, TianTian<tiantian.wang@intel.com>
(cherry picked from commit 59e811a396cadf135cefe37a05c98b5be693ccdb)

7 years agoBump intel-vaapi-driver to 1.8.3.pre1 for development
Xiang, Haihao [Tue, 16 May 2017 02:19:19 +0000 (10:19 +0800)]
Bump intel-vaapi-driver to 1.8.3.pre1 for development

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

7 years agoFix: AVC/HEVC encoder quality range should be 7 on SKL+
Pengfei Qu [Wed, 7 Jun 2017 02:45:59 +0000 (10:45 +0800)]
Fix: AVC/HEVC encoder quality range should be 7 on SKL+

Fixes #192

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
7 years agoEnable is_16bpp flag of gpe_surface for P010 surface
peng.chen [Tue, 6 Jun 2017 05:54:00 +0000 (13:54 +0800)]
Enable is_16bpp flag of gpe_surface for P010 surface

It is only for media_block_rw mode

Signed-off-by: peng.chen <peng.c.chen@intel.com>