OSDN Git Service

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

6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 years agoFix: AVC encoder cause bad frame when quality level 1 on SKL/APL
Pengfei Qu [Fri, 5 May 2017 02:25:23 +0000 (10:25 +0800)]
Fix: AVC encoder cause bad frame when quality level 1 on SKL/APL

Fixes #158

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
6 years agoEnc:support multi slice for AVC encoder on SKL/APL/KBL
Pengfei Qu [Mon, 17 Apr 2017 08:00:15 +0000 (16:00 +0800)]
Enc:support multi slice for AVC encoder on SKL/APL/KBL

this patch enable the multi slice of AVC encoder. The VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS is added.

Fixes #142

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 years agoEnc: support AVC MVC encoder on SKL/APL/KBL
Pengfei Qu [Tue, 18 Apr 2017 03:12:23 +0000 (11:12 +0800)]
Enc: support AVC MVC encoder on SKL/APL/KBL

Fixes #143

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
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>
7 years agoMerge branch 'v1.8-branch' into 01org--master
Xiang, Haihao [Wed, 19 Apr 2017 05:11:49 +0000 (13:11 +0800)]
Merge branch 'v1.8-branch' into 01org--master

Conflicts:
configure.ac
src/gen9_avc_const_def.c
src/gen9_avc_encoder.c
src/gen9_avc_encoder.h
src/gen9_avc_encoder_kernels.c
src/gen9_vme.c
src/i965_avc_encoder_common.h
src/i965_drv_video.c
src/i965_encoder.c
src/i965_encoder_common.h

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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
7 years agointel-vaapi-driver 1.8.1
Xiang, Haihao [Mon, 10 Apr 2017 08:17:40 +0000 (16:17 +0800)]
intel-vaapi-driver 1.8.1

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
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>
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>
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>
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>
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>
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>
7 years agoBump intel-vaapi-driver to 1.8.2.pre1 for development
Xiang, Haihao [Thu, 6 Apr 2017 13:03:23 +0000 (21:03 +0800)]
Bump intel-vaapi-driver to 1.8.2.pre1 for development

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agointel-vaapi-driver 1.8.1.pre1
Xiang, Haihao [Thu, 6 Apr 2017 12:57:11 +0000 (20:57 +0800)]
intel-vaapi-driver 1.8.1.pre1

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agotest: check whether MVC encoding is support
Xiang, Haihao [Thu, 6 Apr 2017 14:26:09 +0000 (22:26 +0800)]
test: check whether MVC encoding is support

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

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

7 years agotest: check whether MVC encoding is support
Xiang, Haihao [Thu, 6 Apr 2017 14:26:09 +0000 (22:26 +0800)]
test: check whether MVC encoding is support

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

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoENC: Disable the ROI feature of AVC encoder on SKL/APL/KBL
Pengfei Qu [Wed, 5 Apr 2017 05:52:13 +0000 (13:52 +0800)]
ENC: Disable the ROI feature of AVC encoder on SKL/APL/KBL

this is WA to disable the feature as the new improved AVC encoder does not support it by now.

Fixes #108

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

7 years agoENC:disable SVC feature of AVC encoder on SKL/APL/KBL
Pengfei Qu [Wed, 5 Apr 2017 06:21:29 +0000 (14:21 +0800)]
ENC:disable SVC feature of AVC encoder on SKL/APL/KBL

this is WA to disable SVC featrue as new improved AVC does not support it

Fixes #116

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

7 years agoENC: Add the attribute of VAConfigAttribEncMaxSlices for AVC/HEVC encoder
Pengfei Qu [Wed, 5 Apr 2017 09:28:23 +0000 (17:28 +0800)]
ENC: Add the attribute of VAConfigAttribEncMaxSlices for AVC/HEVC encoder

this patch enable the VAConfigAttribEncMaxSlices attribute and
this also add WA to disable multi slcie feature on APL/KBL/SKL as the improved AVC encoder does not support it.

Fixes #117

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

7 years agoENC: disable MVC feature of AVC encoder on SKL/APL/KBL
Pengfei Qu [Wed, 5 Apr 2017 06:00:41 +0000 (14:00 +0800)]
ENC: disable MVC feature of AVC encoder on SKL/APL/KBL

this is WA to disable the MVC feature as the new improved AVC encoder does not support it by now.

Fixes #115

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

7 years agoENC: Disable the ROI feature of AVC encoder on SKL/APL/KBL
Pengfei Qu [Wed, 5 Apr 2017 05:52:13 +0000 (13:52 +0800)]
ENC: Disable the ROI feature of AVC encoder on SKL/APL/KBL

this is WA to disable the feature as the new improved AVC encoder does not support it by now.

Fixes #108

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
7 years agoENC:disable SVC feature of AVC encoder on SKL/APL/KBL
Pengfei Qu [Wed, 5 Apr 2017 06:21:29 +0000 (14:21 +0800)]
ENC:disable SVC feature of AVC encoder on SKL/APL/KBL

this is WA to disable SVC featrue as new improved AVC does not support it

Fixes #116

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
7 years agoENC: Add the attribute of VAConfigAttribEncMaxSlices for AVC/HEVC encoder
Pengfei Qu [Wed, 5 Apr 2017 09:28:23 +0000 (17:28 +0800)]
ENC: Add the attribute of VAConfigAttribEncMaxSlices for AVC/HEVC encoder

this patch enable the VAConfigAttribEncMaxSlices attribute and
this also add WA to disable multi slcie feature on APL/KBL/SKL as the improved AVC encoder does not support it.

Fixes #117

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
7 years agoENC: disable MVC feature of AVC encoder on SKL/APL/KBL
Pengfei Qu [Wed, 5 Apr 2017 06:00:41 +0000 (14:00 +0800)]
ENC: disable MVC feature of AVC encoder on SKL/APL/KBL

this is WA to disable the MVC feature as the new improved AVC encoder does not support it by now.

Fixes #115

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
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>
7 years agointel-vaapi-driver 1.8.0
Xiang, Haihao [Fri, 31 Mar 2017 07:47:08 +0000 (15:47 +0800)]
intel-vaapi-driver 1.8.0

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