OSDN Git Service

android-x86/hardware-intel-common-vaapi.git
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>
(cherry picked from commit 6e64ab059d12855a68232215823f2778ecc6947c)

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>
(cherry picked from commit e7a62717f45fa87de260468eb2976ad7588bcd9e)

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>
(cherry picked from commit 5471b938d580e0e35227d305d05baa4b74db1402)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

6 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)

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>
(cherry picked from commit 51839c1dc15d1380ee7f330dd21c1a7105c1719b)

7 years agointel-vaapi-driver 1.8.2
Xiang, Haihao [Mon, 22 May 2017 15:28:07 +0000 (23:28 +0800)]
intel-vaapi-driver 1.8.2

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoUpdate NEWS
Xiang, Haihao [Mon, 15 May 2017 07:14:04 +0000 (15:14 +0800)]
Update NEWS

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 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>
(cherry picked from commit 76d4246cb1a7bd8bdaabddf004260a0529f2e89b)

Conflicts:
src/gen9_avc_encoder.c

7 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>
(cherry picked from commit 00fdcd3b9395e6355bdfc793e6f8d793c06b0dd2)

Conflicts:
src/gen9_avc_encoder.c
src/i965_drv_video.c

7 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>
(cherry picked from commit bd3b97795f23f037418e7f830150c3a4d420cbfb)

Conflicts:
src/i965_device_info.c

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>
(cherry picked from commit 41e585cec72ada518553eadab061136c9e159408)

Conflicts:
configure.ac

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 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 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 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>
7 years agointel-vaapi-driver 1.8.0.pre3
Xiang, Haihao [Mon, 27 Mar 2017 13:30:33 +0000 (21:30 +0800)]
intel-vaapi-driver 1.8.0.pre3

Update NEWS as well

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoFix: WA the AVC B frame issue with high profile
Pengfei Qu [Mon, 27 Mar 2017 01:43:30 +0000 (09:43 +0800)]
Fix: WA the AVC B frame issue with high profile

this is WA to disable the transform_8x8_mode_flag in the driver.

Fixes #97

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

7 years agoFix: wrong type define and cause the memory access error
Pengfei Qu [Fri, 24 Mar 2017 08:09:24 +0000 (16:09 +0800)]
Fix: wrong type define and cause the memory access error

Fixes #101

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

7 years agoEncoder: AVC encoder improved on KBL
Pengfei Qu [Mon, 20 Mar 2017 06:02:31 +0000 (14:02 +0800)]
Encoder: AVC encoder improved on KBL

v1:
add gtest support for quality range on KBL

Fixes #73

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

7 years agoFix:code refine and replace 52 with Marco defines
Pengfei Qu [Mon, 20 Mar 2017 06:02:28 +0000 (14:02 +0800)]
Fix:code refine and replace 52 with Marco defines

Fixes #73

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

7 years agoEncoder: add AVC encoder pipeline support on KBL
Pengfei Qu [Mon, 20 Mar 2017 06:02:24 +0000 (14:02 +0800)]
Encoder: add AVC encoder pipeline support on KBL

Fixes #73

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

7 years agoENC: use common gpe structure in AVC encoder
Pengfei Qu [Mon, 20 Mar 2017 06:02:20 +0000 (14:02 +0800)]
ENC: use common gpe structure in AVC encoder

Fixes #73

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

7 years agoEncoder: add mbenc structure for KBL
Pengfei Qu [Mon, 20 Mar 2017 06:02:17 +0000 (14:02 +0800)]
Encoder: add mbenc structure for KBL

Fixes #73

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

7 years agoEncoder: add AVC const data for KBL
Pengfei Qu [Mon, 20 Mar 2017 06:02:13 +0000 (14:02 +0800)]
Encoder: add AVC const data for KBL

add member variable for KBL.

Fixes #73

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

7 years agoEncoder: add AVC kernel binary on KBL
Pengfei Qu [Mon, 20 Mar 2017 06:01:09 +0000 (14:01 +0800)]
Encoder: add AVC kernel binary on KBL

Fixes #73

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

7 years agoUpdate shaders for VP8 encoding
Xiang, Haihao [Thu, 23 Mar 2017 03:43:11 +0000 (11:43 +0800)]
Update shaders for VP8 encoding

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

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

7 years agointel-vaapi-driver 1.8.0.pre2
Xiang, Haihao [Thu, 16 Mar 2017 07:12:56 +0000 (15:12 +0800)]
intel-vaapi-driver 1.8.0.pre2

Update NEWS as well

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoAvoid NULL pointer in avc_get_first_mb_bit_offset_with_epb()
Xiang, Haihao [Thu, 16 Mar 2017 05:32:13 +0000 (13:32 +0800)]
Avoid NULL pointer in avc_get_first_mb_bit_offset_with_epb()

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

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

7 years agoCheck pointers against NULL before using
Xiang, Haihao [Tue, 14 Mar 2017 07:18:37 +0000 (15:18 +0800)]
Check pointers against NULL before using

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

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

7 years agoFix:ROI number should be 4
Pengfei Qu [Wed, 15 Mar 2017 03:16:47 +0000 (11:16 +0800)]
Fix:ROI number should be 4

Fixes #88

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

7 years agoconfigure: change package tarball name to use hyphens
Daniel Charles [Mon, 13 Mar 2017 17:41:13 +0000 (10:41 -0700)]
configure: change package tarball name to use hyphens

Compilation scripts on different distributions (i.e. arch, gentoo) rely
on the tarball name to use hyphens between words.

This patch will create tarballs with hyphenated names and keep the
legacy package naming

TEST="make dist, should produce intel-vaapi-driver.tar.*"

Fixes #85

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

7 years agoi965_decoder_utils: replace alloca(3) with malloc(3) and free(3)
Leonardo Taccari [Mon, 6 Mar 2017 21:40:25 +0000 (22:40 +0100)]
i965_decoder_utils: replace alloca(3) with malloc(3) and free(3)

alloca(3) usage is less portable than malloc(3)/free(3) (this fixes
issue #76 pointed out by building intel-vaapi-driver on NetBSD).

Suggested and thanks to @xhaihao and @yakuizhao via pull request #77.

Signed-off-by: Leonardo Taccari <iamleot@gmail.com>
(cherry picked from commit ef83d404e54cd797a9485ce0c4359ec0e6a8b759)

7 years agoUpdate NEWS for 1.8.0.pre1
Xiang, Haihao [Tue, 7 Mar 2017 06:37:49 +0000 (14:37 +0800)]
Update NEWS for 1.8.0.pre1

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoFix the quality range regression issue
Pengfei Qu [Fri, 3 Mar 2017 09:46:19 +0000 (17:46 +0800)]
Fix the quality range regression issue

v1:
use bool to define the member
define the one map data for quality range according to the platform type

Fixed #72

For low quali# Please enter the commit message for your changes. Lines starting

7 years agoVDENC: Avoid using the first index reference frame for the invalid reference
Zhao Yakui [Mon, 6 Mar 2017 05:38:17 +0000 (13:38 +0800)]
VDENC: Avoid using the first index reference frame for the invalid reference

Maybe the ref_list_idx[0][X] is also initialized to zero even for the invalid
reference frame, which is also regarded as valid. In such case the
VDENC_PIPE_BUF will program the valid GPU address for the invalid reference.
   >For example: FWD Ref1 is invalid

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

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
7 years agoENC:support more quality level and switch to new AVC encoder solution on SKL/APL
Pengfei Qu [Tue, 14 Feb 2017 09:51:25 +0000 (17:51 +0800)]
ENC:support more quality level and switch to new AVC encoder solution on SKL/APL

v1:
add AVC encoder support on APL

Fixes #43

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley<seanvk@posteo.de>
7 years agoENC: add MFX pipeline for AVC encoder
Pengfei Qu [Tue, 14 Feb 2017 09:46:12 +0000 (17:46 +0800)]
ENC: add MFX pipeline for AVC encoder

MFX pipeline:
add MFX command for AVC encoder
add MFX Picture slice level command init for AVC
add MFX pipeline init prepare run for AVC encode
add VME/MFX context init for AVC encoder

v1:
set memory MOCS property

v2:
add Macro definition of the AVC quality level range

v3:
add check for the reference frame num.

Fixes #43

Reviewed-by: Sean V Kelley<seanvk@posteo.de>
Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
7 years agoENC: add VME pipeline for AVC encoder
Pengfei Qu [Fri, 13 Jan 2017 05:56:04 +0000 (13:56 +0800)]
ENC: add VME pipeline for AVC encoder

VME pipeline:
add resource and surface allocation and free function
add init table for frame mbbrc update
add scaling kernel for AVC encoder
add BRC init reset kernel for AVC RC logic
add BRC frame update-kernel for AVC RC logic
add BRC MB level update kernel for AVC RC logic
add REF frame QA caculation and MB level const data
add MBENC kernel for AVC encoder
add ME kernel for AVC encoder
add WP/SFD kernel for AVC encoder
add kernel init/destroy function for AVC encoder
add kernel related parameter check function for AVC
add VME pipeline init prepare/run function for AVC encoder

v1:
allocate the 32x surface accordlingly.

Fixes #43

Reviewed-by: Sean V Kelley<seanvk@posteo.de>
Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
7 years agoENC: add AVC common structure and functions
Pengfei Qu [Tue, 7 Feb 2017 08:55:40 +0000 (16:55 +0800)]
ENC: add AVC common structure and functions

v1:add kernel pointer for different platform

Fixes #43

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley<seanvk@posteo.de>
7 years agoENC: add kernel related structure and define for AVC
Pengfei Qu [Wed, 28 Dec 2016 02:17:02 +0000 (10:17 +0800)]
ENC: add kernel related structure and define for AVC

Fixes #43

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley<seanvk@posteo.de>
7 years agoENC: add AVC kernel binary on SKL
Pengfei Qu [Wed, 28 Dec 2016 02:13:35 +0000 (10:13 +0800)]
ENC: add AVC kernel binary on SKL

v1:move kernal array into the c file
v2:add file into Makefile.am
v3:use the Apache 2 license header for media kernel binary

Fixes #43

Reviewed-by: Sean V Kelley<seanvk@posteo.de>
Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
7 years agoENC: add const data/table for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 02:10:06 +0000 (10:10 +0800)]
ENC: add const data/table for AVC encoder

v1:
add fies in the Makefile.am

Fixes #43

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley<seanvk@posteo.de>
7 years agoENC: add common structure for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 02:07:26 +0000 (10:07 +0800)]
ENC: add common structure for AVC encoder

v1:
add context init function for AVC encoder

v2:
add file in the Makefile.am

Fixes #43

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley<seanvk@posteo.de>
7 years agoENC: move gpe related function into src/i965_gpe_utils.h/c
Pengfei Qu [Wed, 28 Dec 2016 01:48:15 +0000 (09:48 +0800)]
ENC: move gpe related function into src/i965_gpe_utils.h/c

v1:
add align version for obj surface conversion to gpe surface
remove comments and enum value

v2:
use intel->media_mocs to configure the memory property

v3:
add maro definition for AVC status/ctl register

Fixes #43

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley<seanvk@posteo.de>
7 years agoUpdate license header for VP8/VP9 encoding kernels
Xiang, Haihao [Mon, 27 Feb 2017 04:58:55 +0000 (12:58 +0800)]
Update license header for VP8/VP9 encoding kernels

The VP8/VP9 encoding kernels are licensed under the Apache License, Version 2.0

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

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoJPEG Encoder: return supported pixel formats for vaQuerySurfaceAttributes
Hyunjun Ko [Wed, 22 Feb 2017 10:33:34 +0000 (19:33 +0900)]
JPEG Encoder: return supported pixel formats for vaQuerySurfaceAttributes

Since commit d540e43 landed, we can query with VAEntrypointEncPicture
entrypoint for jpeg encoder. But it doesn't still return some formats,
which jpeg encoder is capable of handling.

Fixes #60

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
7 years agoVDENC: Fix the incorrect shift in REF_IDX_STATE command
Zhao Yakui [Thu, 23 Feb 2017 08:27:43 +0000 (16:27 +0800)]
VDENC: Fix the incorrect shift in REF_IDX_STATE command

This is to fix the issue #63
https://github.com/01org/intel-vaapi-driver/issues/63

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
7 years agoUpdate the README
Xiang, Haihao [Mon, 27 Feb 2017 02:41:34 +0000 (10:41 +0800)]
Update the README

Kaby Lake supports VP9 8bit encode and HEVC 10bit encode

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

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoconfigure: check for x11 on path
Daniel Charles [Tue, 21 Feb 2017 23:31:46 +0000 (15:31 -0800)]
configure: check for x11 on path

enable-x11 is set to yes by default and during configuration it has to
check for X11 header files on the path then the build system is prepared
to avoid compiling X11 related code if headers are not present.

Fixes #48

TEST="autogen.sh --prefix=<some prefix>, make sure X11 headers are not installed"
TEST="x11 should not print out as supported on the configure summary"

Signed-off-by: Daniel Charles <daniel.charles@intel.com>
7 years agoSet the pipeline to use the new VP8 encoding shaders on SKL/BXT/KBL
Xiang, Haihao [Tue, 10 Jan 2017 22:02:02 +0000 (14:02 -0800)]
Set the pipeline to use the new VP8 encoding shaders on SKL/BXT/KBL

v2: correct the license header in gen9_encoder_vp8.c

This is a portion of patches for VP8 rework on SKL/BXT/KBL

Fixes github.com/01org/intel-vaapi-driver/issues/40 now

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoAdd new VP8 encoding shaders for SKL/BXT/KBL
Xiang, Haihao [Tue, 10 Jan 2017 22:02:01 +0000 (14:02 -0800)]
Add new VP8 encoding shaders for SKL/BXT/KBL

v2: add license header to each shader

This is a portion of patches for VP8 rework on SKL/BXT/KBL
github.com/01org/intel-vaapi-driver/issues/40

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoSet the pipeline to use the new VP8 encoding shaders on BSW
Xiang, Haihao [Tue, 10 Jan 2017 22:02:00 +0000 (14:02 -0800)]
Set the pipeline to use the new VP8 encoding shaders on BSW

Currently only one temporal layer is supported

v2:
Use OUT_RELOC64 instead of OUT_RELOC for 48 bits address
Fix the calculation of min_bit_rate in i965_encoder_vp8_get_misc_parameters()
Fix the calculation of average_bitrate and max_bitrate in i965_encoder_vp8_vme_brc_init_reset_set_curbe()
Move the constant tables copied & pasted from libvpx to separate files
Use the common MOCS state

v3:
Move all VP8 probability tables from a .h to a .c file
Rename vp8_quant.h to vpx_quant.h which can be used for both VP8 and VP9
Remove the unused search path in vp8_search_path and update the comment
Correct the license header in some files

v4:
Move all VP8 quantization tables from a .h to a .c file
Add 'static' or 'static const' to variables in local file scope
Free the private surface data if required

This is a portion of patches for VP8 rework on BSW

Fixes github.com/01org/intel-vaapi-driver/issues/39 now

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoAdd new VP8 encoding shaders for BSW
Xiang, Haihao [Tue, 10 Jan 2017 22:01:59 +0000 (14:01 -0800)]
Add new VP8 encoding shaders for BSW

v2: Add the license header to each shader

This is a portion of patches for VP8 rework on BSW
github.com/01org/intel-vaapi-driver/issues/39

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoFix the incorrect usage of buffer domain for VDENC
Zhao Yakui [Fri, 17 Feb 2017 07:55:12 +0000 (15:55 +0800)]
Fix the incorrect usage of buffer domain for VDENC

At the same time the cache is fixed for VDENC reference.

Fix the issue #56
https://github.com/01org/intel-vaapi-driver/issues/56

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
7 years agowayland: return error rather than assertion in case of invalid format
Hyunjun Ko [Fri, 17 Feb 2017 05:27:58 +0000 (14:27 +0900)]
wayland: return error rather than assertion in case of invalid format

return error instead of assertion, so that appilcation could handle
these cases.

Fixes #54

Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
7 years agoMove the down-sampled NV12 surface handlers into the reconstructed surface's private...
peng.chen [Wed, 15 Feb 2017 05:17:15 +0000 (13:17 +0800)]
Move the down-sampled NV12 surface handlers into the reconstructed surface's private data from the input surface's for hevc encoder

Fixes #42.

Signed-off-by: peng.chen <peng.c.chen@intel.com>
7 years agoFix the linear P010 aborts bug for hevc main10 encoding.
peng.chen [Tue, 14 Feb 2017 01:07:44 +0000 (09:07 +0800)]
Fix the linear P010 aborts bug for hevc main10 encoding.

Fixes #41.

Signed-off-by: peng.chen <peng.c.chen@intel.com>
7 years agoWayland-drm: Fix not finding wl_drm_interface on systems with libglvnd
Hans de Goede [Wed, 15 Feb 2017 14:21:12 +0000 (15:21 +0100)]
Wayland-drm: Fix not finding wl_drm_interface on systems with libglvnd

We do not want just any libEGL.so.1 we want mesa's libEGL.so.1 as that
is the only way which defines the wl_drm_interface symbol we need,
one systems with libglvnd libEGL.so.1 is a dispatcher library provided
by libglvnd and the actual mesa libEGL we want is named libEGL_mesa.so.0
so try that first.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
7 years agoDo not return VA_STATUS_SUCCESS when checking (VAProfileVP9Profile0, VAEntrypointEncS...
Xiang, Haihao [Tue, 14 Feb 2017 06:25:51 +0000 (14:25 +0800)]
Do not return VA_STATUS_SUCCESS when checking (VAProfileVP9Profile0, VAEntrypointEncSlice) on SKL

SKL doesn't support VP9 hardware accelerated encoding, the hybrid driver also doesn't
support VP9 encoding.

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

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoQuery the Huc on APL/KBL to check whether VDENC BRC is supported
Zhao Yakui [Tue, 14 Feb 2017 06:52:40 +0000 (14:52 +0800)]
Query the Huc on APL/KBL to check whether VDENC BRC is supported

The VDENC BRC has the dependency on Huc. When the HUC is loaded,
it will return the corresponding BRC attribute.

Fix the issue #45
https://github.com/01org/intel-vaapi-driver/issues/44

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
7 years agoFollow the HW requirement to configure VDENC on KBL
Zhao Yakui [Tue, 14 Feb 2017 06:52:40 +0000 (14:52 +0800)]
Follow the HW requirement to configure VDENC on KBL

V2->V3: Remove the write of MI_FLUSH between multi-slices
V1->V2: Save/Restore the macroblock_address for multi-slices
        Remove the unnecessary code of insert_one_zero_byte
    as the WA is always needed.

Fix the issue #44
https://github.com/01org/intel-vaapi-driver/issues/44

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
7 years agoFix the incorrect ver-coord for VDENC encoding
Zhao Yakui [Tue, 14 Feb 2017 06:52:40 +0000 (14:52 +0800)]
Fix the incorrect ver-coord for VDENC encoding

Currently the ver-coord is wrong for VDENC command especially when multi-slices
are used.

Fix the issue #44
https://github.com/01org/intel-vaapi-driver/issues/44

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
7 years agoVDENC: add the const prefix to avoid updating the const table
Zhao Yakui [Thu, 9 Feb 2017 09:20:46 +0000 (17:20 +0800)]
VDENC: add the const prefix to avoid updating the const table

Fix the issue #36
https://github.com/01org/intel-vaapi-driver/issues/36

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
7 years agoJPEG Encoder: support vaQuerySurfaceAttributes() pixel format
Víctor Manuel Jáquez Leal [Wed, 8 Feb 2017 18:54:00 +0000 (19:54 +0100)]
JPEG Encoder: support vaQuerySurfaceAttributes() pixel format

When querying the surface attributes, using the JPEG encoder
(profile VAProfileJPEGBaseline, entrypoint VAEntrypointEncPicture)
the function doesn't return the available VASurfaceAttribPixelFormat
because it is not considered in the driver's code.

This patch returns the default pixel formats for encoders entry
points.

This error was reported in
https://bugzilla.gnome.org/show_bug.cgi?id=775490

Fixes #38

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7 years agoconfig: Explicitly handle wayland-client pkgconfig
Sean V Kelley [Sat, 4 Feb 2017 08:04:44 +0000 (00:04 -0800)]
config: Explicitly handle wayland-client pkgconfig

Ensure deps are more robustly covered.

fixes #29

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agoMerge pull request #28 from xhaihao/master
Sean V. Kelley [Sat, 4 Feb 2017 06:29:33 +0000 (22:29 -0800)]
Merge pull request #28 from xhaihao/master

1037U doesn't support encoding

7 years ago1037U doesn't support encoding
Xiang, Haihao [Fri, 3 Feb 2017 08:08:26 +0000 (16:08 +0800)]
1037U doesn't support encoding

1037U is recognized as Ivy Bridge, but actually 1037U doesn't
support encoding, so we have to add it into the cpu hook list.

Refer to https://github.com/01org/intel-vaapi-driver/issues/3 for more info.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoMerge pull request #25 from tmm1/add-missing-ifdef
Sean V. Kelley [Thu, 2 Feb 2017 20:05:22 +0000 (12:05 -0800)]
Merge pull request #25 from tmm1/add-missing-ifdef

i965: remove unnecessary code from i965_Terminate when compiling without HAVE_HYBRID_CODEC

7 years agoi965_drv: fix building with --enable-static
Aman Gupta [Thu, 2 Feb 2017 17:42:09 +0000 (09:42 -0800)]
i965_drv: fix building with --enable-static

Avoids compiling some unnecessary code in i965_Terminate when
building without HAVE_HYBRID_CODEC.

In particular, this removes the invocation to dlclose(), which
means the driver can be compiled without a dependency on libdl.
Previously, the generated libi965_drv_video.a could not be used
statically because it referenced dlclose(). The corresponding
dlopen() is already guarded behind the HAVE_HYBRID_CODEC flag.

Fixes #27

Signed-off-by: Aman Gupta <aman@tmm1.net>
7 years agoMerge pull request #23 from seanvk/remove_debiancontrols
Sean V. Kelley [Wed, 1 Feb 2017 23:56:02 +0000 (15:56 -0800)]
Merge pull request #23 from seanvk/remove_debiancontrols

debian: Remove legacy packaging

7 years agodebian: Remove legacy packaging
Sean V Kelley [Wed, 1 Feb 2017 19:44:10 +0000 (11:44 -0800)]
debian: Remove legacy packaging

debian control files are maintained by packagers

Yes there is a "convenience" factor to roll your
own debian package, but this is not maintained by
us and represents a fork from debian packagers.
As with the bit rot of libva.spec, remove this.

fixes #22

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agoconfig: Update for github
Sean V Kelley [Wed, 1 Feb 2017 04:52:48 +0000 (20:52 -0800)]
config: Update for github

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agoconfig: Update project name
Sean V Kelley [Wed, 1 Feb 2017 04:12:21 +0000 (20:12 -0800)]
config: Update project name

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agotravis: Added new security list for scans
Sean V Kelley [Tue, 31 Jan 2017 05:40:07 +0000 (21:40 -0800)]
travis: Added new security list for scans

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agogithub: Removed coveralls integration
Sean V Kelley [Tue, 31 Jan 2017 05:08:05 +0000 (21:08 -0800)]
github: Removed coveralls integration

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agogithub: Added slack team info
Sean V Kelley [Tue, 31 Jan 2017 04:51:32 +0000 (20:51 -0800)]
github: Added slack team info

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agotravis: Add support for coverity scan to travis
Sean V Kelley [Sun, 29 Jan 2017 23:05:58 +0000 (15:05 -0800)]
travis: Add support for coverity scan to travis

Signed-off-by: Sean V Kelley <seanvk@posteo.de>