OSDN Git Service

android-x86/hardware-intel-common-vaapi.git
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>
7 years agogithub: Updated name for kanban
Sean V Kelley [Sun, 29 Jan 2017 02:18:30 +0000 (18:18 -0800)]
github: Updated name for kanban

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agogithub: Updated mailing list
Sean V Kelley [Thu, 26 Jan 2017 23:10:19 +0000 (15:10 -0800)]
github: Updated mailing list

Also corrected link to filing new issues.

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agogithub: Update contact info
Sean V Kelley [Thu, 26 Jan 2017 22:43:53 +0000 (14:43 -0800)]
github: Update contact info

Update with new mailing list and irc channel.

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agotravis: Add hook to slack
Sean V Kelley [Mon, 23 Jan 2017 04:21:31 +0000 (20:21 -0800)]
travis: Add hook to slack

Add notifications for travis to slack

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agogithub : Corrected project names
Sean V Kelley [Mon, 23 Jan 2017 02:22:16 +0000 (18:22 -0800)]
github : Corrected project names

Switched from interface to driver

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agogithub: Add badges for github services
Sean V Kelley [Mon, 23 Jan 2017 02:17:42 +0000 (18:17 -0800)]
github: Add badges for github services

Add badges for waffle.io, travis, and coveralls

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agotravis: Removed libva-dev from deps
Sean V Kelley [Mon, 23 Jan 2017 02:03:07 +0000 (18:03 -0800)]
travis: Removed libva-dev from deps

Building it locally, also had a typo.

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agotravis: Added preliminary travis yml file
Sean V Kelley [Mon, 23 Jan 2017 01:56:48 +0000 (17:56 -0800)]
travis: Added preliminary travis yml file

This is a simple travis file.

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agointel-vaapi-driver: Add github docs
Sean V Kelley [Mon, 23 Jan 2017 01:22:05 +0000 (17:22 -0800)]
intel-vaapi-driver: Add github docs

Adding documentation for the github site.

Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agolibva-intel-driver: fix i965 encoder wrong bits shift operation
Kuang-che Wu [Wed, 18 Jan 2017 18:51:29 +0000 (10:51 -0800)]
libva-intel-driver: fix i965 encoder wrong bits shift operation

shift uint32_t by 32 bits is undefined behavior.

For this particular case: when invoke avc_bitstream_put_ui() with 32
bits value at byte position of multiple of 4, existing 32 bits garbage
data in the buffer may be retained instead of cleared. The result is,
the position of NALU start code (0x00000001) looks like overwritten by
garbage value.

Patch has been tested and used upstream:
https://chromium-review.googlesource.com/#/c/410541/

Signed-off-by: Kuang-che Wu <kcwu@chromium.org>
Signed-off-by: Sean V Kelley <seanvk@posteo.de>
Reviewed-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoFix the incorrect reference count of reconstructed_object for VP9 enc
Zhao Yakui [Tue, 17 Jan 2017 00:40:20 +0000 (08:40 +0800)]
Fix the incorrect reference count of reconstructed_object for VP9 enc

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoFix the incorrect 48-bit address reallocation
Zhao Yakui [Tue, 17 Jan 2017 00:40:19 +0000 (08:40 +0800)]
Fix the incorrect 48-bit address reallocation

Currently it works well for 32-bit address. But it will cause that the
upper 32-bit address is incorrect  if the 48-bit address buffer is allocated.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoFollow the HW spec to configure the buffer cache on Gen9+
Zhao Yakui [Tue, 17 Jan 2017 00:40:18 +0000 (08:40 +0800)]
Follow the HW spec to configure the buffer cache on Gen9+

The MOCS field is used to define the cache type for the given buffer. From the
SKL+, the MOCS field is interpreted as the index that is used to find the corresponding
cache type in kernel driver. The current MOCS setting causes that buffer uses
the wrong cache type.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Sean V Kelley <sean.v.kelley@intel.com>
7 years agoFix the incorrect configuration of media_pipeline power domain
Zhao Yakui [Tue, 17 Jan 2017 00:40:17 +0000 (08:40 +0800)]
Fix the incorrect configuration of media_pipeline power domain

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoH264 Encoding:Free aux_batchbuffer to configure access domain correctly for PAK_OBJ...
Zhao Yakui [Tue, 17 Jan 2017 00:40:16 +0000 (08:40 +0800)]
H264 Encoding:Free aux_batchbuffer to configure access domain correctly for PAK_OBJ command buffer

The access domain is not configured correctly for PAK_OBJ command buffer.
And it causes that the buffer content is not synchronized correctly.

At the same time the 64-byte is aligned for the boundary between
CPU and GPU access instead of 16-byte.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoRevert "ENC: move gpe related function into src/i965_gpe_utils.h/c"
Sean V Kelley [Tue, 17 Jan 2017 23:01:36 +0000 (15:01 -0800)]
Revert "ENC: move gpe related function into src/i965_gpe_utils.h/c"

This reverts commit e1783804bcb35385ffabaeeeb8b4cc3c03d513e0.

7 years agoRevert "ENC: add common structure for AVC/HEVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:35 +0000 (15:01 -0800)]
Revert "ENC: add common structure for AVC/HEVC encoder"

This reverts commit d710462a41cac9b6d12aefab89734674084ab15f.

7 years agoRevert "ENC:add context init function for AVC/HEVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:34 +0000 (15:01 -0800)]
Revert "ENC:add context init function for AVC/HEVC encoder"

This reverts commit 4679bb2de3d9f00287535c2abc5d5f16b389b69b.

7 years agoRevert "ENC: add const data/table for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:34 +0000 (15:01 -0800)]
Revert "ENC: add const data/table for AVC encoder"

This reverts commit 4587664eba64f8ad4ed63c2b2dade8e0216a043f.

7 years agoRevert "ENC: add AVC kernel binary on SKL"
Sean V Kelley [Tue, 17 Jan 2017 23:01:33 +0000 (15:01 -0800)]
Revert "ENC: add AVC kernel binary on SKL"

This reverts commit dd63ade770ec7c305a2b684f0d87115e55a46e88.

7 years agoRevert "ENC: add AVC common structure and functions"
Sean V Kelley [Tue, 17 Jan 2017 23:01:32 +0000 (15:01 -0800)]
Revert "ENC: add AVC common structure and functions"

This reverts commit 6d781dd5b9601cc45ee573b8363f05e8bf6195f7.

7 years agoRevert "ENC: add kernel related structure and define for AVC"
Sean V Kelley [Tue, 17 Jan 2017 23:01:30 +0000 (15:01 -0800)]
Revert "ENC: add kernel related structure and define for AVC"

This reverts commit 8e1228aaf2fcf17e594f6bdeb2884b64e6b16417.

7 years agoRevert "ENC: add misc parameter check for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:29 +0000 (15:01 -0800)]
Revert "ENC: add misc parameter check for AVC encoder"

This reverts commit c65a3435665ede9f817579d664d9d75d3e4f920f.

7 years agoRevert "ENC: add resource and surface allocation and free function for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:29 +0000 (15:01 -0800)]
Revert "ENC: add resource and surface allocation and free function for AVC encoder"

This reverts commit 8c0c63aabea6813e1cb883a96c85659f1fe72237.

7 years agoRevert "ENC: add init table for frame/mb brc update"
Sean V Kelley [Tue, 17 Jan 2017 23:01:28 +0000 (15:01 -0800)]
Revert "ENC: add init table for frame/mb brc update"

This reverts commit 5721e15a744f0c10ba0f5cc33fa9663f2b2aea1e.

7 years agoRevert "ENC: add resource/surface allocation/free function for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:27 +0000 (15:01 -0800)]
Revert "ENC: add resource/surface allocation/free function for AVC encoder"

This reverts commit 87f435769b8d19e5f9dbb6b993f1edc5a3ef392d.

7 years agoRevert "ENC: add kernel media object related functions for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:26 +0000 (15:01 -0800)]
Revert "ENC: add kernel media object related functions for AVC encoder"

This reverts commit cba5f7c56de012b97cbe7f2a31e26450d33b9eb6.

7 years agoRevert "ENC: add scaling kernel for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:25 +0000 (15:01 -0800)]
Revert "ENC: add scaling kernel for AVC encoder"

This reverts commit 68452120cd8fd9699149b29cf8b029c477ea7930.

7 years agoRevert "ENC: add const data/table init function for AVC RC logic"
Sean V Kelley [Tue, 17 Jan 2017 23:01:24 +0000 (15:01 -0800)]
Revert "ENC: add const data/table init function for AVC RC logic"

This reverts commit 9dafa51cf6905fce99c205e8a21bbd7837310805.

7 years agoRevert "ENC: add BRC init/reset kernel for AVC RC logic"
Sean V Kelley [Tue, 17 Jan 2017 23:01:23 +0000 (15:01 -0800)]
Revert "ENC: add BRC init/reset kernel for AVC RC logic"

This reverts commit a4ee54856292898e79c48c4cba5b7ee3c6f2c8ce.

7 years agoRevert "ENC: add BRC frame update kernel for AVC RC logic"
Sean V Kelley [Tue, 17 Jan 2017 23:01:23 +0000 (15:01 -0800)]
Revert "ENC: add BRC frame update kernel for AVC RC logic"

This reverts commit d18d00caa4fbacc68b91f354814c40ea917a57b3.

7 years agoRevert "ENC: add BRC MB level update kernel for AVC RC logic"
Sean V Kelley [Tue, 17 Jan 2017 23:01:22 +0000 (15:01 -0800)]
Revert "ENC: add BRC MB level update kernel for AVC RC logic"

This reverts commit d49a80e3782cccffe76296847fb1c281cc5cccad.

7 years agoRevert "ENC: add REF frame QA caculation and MB level const data init for AVC MBenc...
Sean V Kelley [Tue, 17 Jan 2017 23:01:21 +0000 (15:01 -0800)]
Revert "ENC: add REF frame QA caculation and MB level const data init for AVC MBenc stage"

This reverts commit 1ca86572f314e0a305fcebdfe0feafaebe24caef.

7 years agoRevert "ENC: MBENC kernel for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:20 +0000 (15:01 -0800)]
Revert "ENC: MBENC kernel for AVC encoder"

This reverts commit 95c89e640cddad854040194c72027b48022e83d6.

7 years agoRevert "ENC: ME kernel for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:19 +0000 (15:01 -0800)]
Revert "ENC: ME kernel for AVC encoder"

This reverts commit cea8c261210b7a64cab16bc01c33744fa4862a83.

7 years agoRevert "ENC: WP/SFD kernel for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:18 +0000 (15:01 -0800)]
Revert "ENC: WP/SFD kernel for AVC encoder"

This reverts commit 641b63363b376ea4d1011cd60d3eb71f16dd6fe6.

7 years agoRevert "ENC: kernel init/destroy function for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:18 +0000 (15:01 -0800)]
Revert "ENC: kernel init/destroy function for AVC encoder"

This reverts commit aa3ebbb345874da6e438c4ccc86026817c746fa0.

7 years agoRevert "ENC: kernel related parameter check function for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:17 +0000 (15:01 -0800)]
Revert "ENC: kernel related parameter check function for AVC encoder"

This reverts commit f2c0e543fd0a195ab505eb6becffe7b2076faf39.

7 years agoRevert "ENC: VME pipeline init/prepare/run function for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:16 +0000 (15:01 -0800)]
Revert "ENC: VME pipeline init/prepare/run function for AVC encoder"

This reverts commit ee4adf3a2ada440bbf4da4650df47f61416b7741.

7 years agoRevert "ENC: add MFX command for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:15 +0000 (15:01 -0800)]
Revert "ENC: add MFX command for AVC encoder"

This reverts commit f704bff5dd4ea3dc6c899c93506ee52b4d0ef558.

7 years agoRevert "ENC: add MFX command for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:14 +0000 (15:01 -0800)]
Revert "ENC: add MFX command for AVC encoder"

This reverts commit fc3c465caaac5202e69ebca006c525321475c148.

7 years agoRevert "ENC: add MFX Picture/slice level command init for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:14 +0000 (15:01 -0800)]
Revert "ENC: add MFX Picture/slice level command init for AVC encoder"

This reverts commit 5c2788d759ea99445e15e9cb44c6039f895e6341.

7 years agoRevert "ENC: add MFX pipeline init/prepare/run for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:13 +0000 (15:01 -0800)]
Revert "ENC: add MFX pipeline init/prepare/run for AVC encoder"

This reverts commit 675ae3c4df20d4704814f8671f0db65f589818fd.

7 years agoRevert "ENC: add VME/MFX context init for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:12 +0000 (15:01 -0800)]
Revert "ENC: add VME/MFX context init for AVC encoder"

This reverts commit 913e82a3331e36bfaea96b41d475ca7cf4ad7bfc.

7 years agoRevert "ENC: add Misc parameter check for AVC encoder"
Sean V Kelley [Tue, 17 Jan 2017 23:01:09 +0000 (15:01 -0800)]
Revert "ENC: add Misc parameter check for AVC encoder"

This reverts commit 091e2582a23ac4cd376a851131c96ff9d3f185e6.

7 years agoRevert "ENC:support more quality level and switch to new AVC encoder solution on...
Sean V Kelley [Tue, 17 Jan 2017 23:00:55 +0000 (15:00 -0800)]
Revert "ENC:support more quality level and switch to new AVC encoder solution on SKL"

This reverts commit dcf071516da00e752afd15ca9527e1e8493c1028.

7 years agoENC:support more quality level and switch to new AVC encoder solution on SKL
Pengfei Qu [Wed, 28 Dec 2016 03:22:46 +0000 (11:22 +0800)]
ENC:support more quality level and switch to new AVC encoder solution on SKL

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Signed-off-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add Misc parameter check for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:50:27 +0000 (13:50 +0800)]
ENC: add Misc parameter check for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add VME/MFX context init for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:49:38 +0000 (13:49 +0800)]
ENC: add VME/MFX context init for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add MFX pipeline init/prepare/run for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:48:45 +0000 (13:48 +0800)]
ENC: add MFX pipeline init/prepare/run for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add MFX Picture/slice level command init for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:47:39 +0000 (13:47 +0800)]
ENC: add MFX Picture/slice level command init for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add MFX command for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:46:13 +0000 (13:46 +0800)]
ENC: add MFX command for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add MFX command for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:45:06 +0000 (13:45 +0800)]
ENC: add MFX command for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: VME pipeline init/prepare/run function for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:44:03 +0000 (13:44 +0800)]
ENC: VME pipeline init/prepare/run function for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: kernel related parameter check function for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:42:28 +0000 (13:42 +0800)]
ENC: kernel related parameter check function for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: kernel init/destroy function for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:41:33 +0000 (13:41 +0800)]
ENC: kernel init/destroy function for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: WP/SFD kernel for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:40:39 +0000 (13:40 +0800)]
ENC: WP/SFD kernel for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: ME kernel for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:39:53 +0000 (13:39 +0800)]
ENC: ME kernel for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: MBENC kernel for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 05:39:06 +0000 (13:39 +0800)]
ENC: MBENC kernel for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add REF frame QA caculation and MB level const data init for AVC MBenc stage
Pengfei Qu [Wed, 28 Dec 2016 05:37:56 +0000 (13:37 +0800)]
ENC: add REF frame QA caculation and MB level const data init for AVC MBenc stage

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add BRC MB level update kernel for AVC RC logic
Pengfei Qu [Wed, 28 Dec 2016 05:37:05 +0000 (13:37 +0800)]
ENC: add BRC MB level update kernel for AVC RC logic

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add BRC frame update kernel for AVC RC logic
Pengfei Qu [Wed, 28 Dec 2016 05:34:05 +0000 (13:34 +0800)]
ENC: add BRC frame update kernel for AVC RC logic

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add BRC init/reset kernel for AVC RC logic
Pengfei Qu [Wed, 28 Dec 2016 02:41:46 +0000 (10:41 +0800)]
ENC: add BRC init/reset kernel for AVC RC logic

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

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

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

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add resource/surface allocation/free function for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 02:31:44 +0000 (10:31 +0800)]
ENC: add resource/surface allocation/free function for AVC encoder

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add init table for frame/mb brc update
Pengfei Qu [Wed, 28 Dec 2016 02:30:18 +0000 (10:30 +0800)]
ENC: add init table for frame/mb brc update

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add resource and surface allocation and free function for AVC encoder
Pengfei Qu [Wed, 28 Dec 2016 02:24:46 +0000 (10:24 +0800)]
ENC: add resource and surface allocation and free function for AVC encoder

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

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

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoENC: add AVC common structure and functions
Pengfei Qu [Wed, 28 Dec 2016 04:40:15 +0000 (12:40 +0800)]
ENC: add AVC common structure and functions

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

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
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

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

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/HEVC encoder
Pengfei Qu [Wed, 28 Dec 2016 02:07:26 +0000 (10:07 +0800)]
ENC: add common structure for AVC/HEVC encoder

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

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoH.264 encoder: add a simple reactive VBR rate control mode
Mark Thompson [Tue, 10 Jan 2017 00:04:43 +0000 (00:04 +0000)]
H.264 encoder: add a simple reactive VBR rate control mode

This implements a simple reactive VBR rate control mode for single-layer H.264.
The primary aim here is to avoid the problematic behaviour that the CBR rate
controller displays on scene changes, where the QP can get pushed up by a large
amount in a short period and compromise the quality of following frames to a
very visible degree.

The main idea, then, is to try to keep the HRD buffering above the target level
most of the time, so that when a large frame is generated (on a scene change or
when the stream complexity increases) we have plenty of slack to be able to
encode the more difficult region without compromising quality immediately on
the following frames.   It is optimistic about the complexity of future frames,
so even after generating one or more large frames on a significant change it
will try to keep the QP at its current level until the HRD buffer bounds force
a change to maintain the intended rate.

Compared to the CBR rate controller, it keeps the quality level much more
stable - QP does not always spike up as large frames are generated when the
complexity of the stream increases transiently, but equally it does not reduce
as quickly when the complexity of the stream decreases.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
7 years ago1.8.0.pre1 for development
Xiang, Haihao [Mon, 9 Jan 2017 07:00:24 +0000 (15:00 +0800)]
1.8.0.pre1 for development

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoMerge branch 'v1.7-branch' into fdo--master
Xiang, Haihao [Mon, 9 Jan 2017 06:00:06 +0000 (14:00 +0800)]
Merge branch 'v1.7-branch' into fdo--master

Conflicts:
configure.ac
src/gen6_mfc.h
src/gen6_mfc_common.c
src/gen75_picture_process.c
src/gen75_vpp_vebox.h
src/gen8_mfc.c
src/gen9_mfc_hevc.c
src/gen9_vdenc.c
src/gen9_vme.c
src/gen9_vp9_encoder.c
src/i965_drv_video.c
src/i965_drv_video.h
src/i965_encoder.c
src/i965_encoder.h
src/intel_driver.c
src/intel_driver.h
test/i965_avcd_config_test.cpp
test/i965_avce_config_test.cpp
test/i965_jpegd_config_test.cpp
test/i965_jpege_config_test.cpp

7 years agoEncoder: release all misc parameter buffers
Xiang, Haihao [Wed, 4 Jan 2017 01:40:48 +0000 (09:40 +0800)]
Encoder: release all misc parameter buffers

User can still use the old setting if needed because the setting is
stored in a common structure now.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Tested-by: Mark Thompson <sw@jkqxz.net>
7 years agoAVC encoder: use generic ROI parameters
Xiang, Haihao [Wed, 4 Jan 2017 01:40:47 +0000 (09:40 +0800)]
AVC encoder: use generic ROI parameters

Presently ROI parameters are stored in the common structure, each
codec can use these parameters.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
7 years agoH.264 encoder: respect initial QP setting
Mark Thompson [Wed, 4 Jan 2017 09:15:06 +0000 (09:15 +0000)]
H.264 encoder: respect initial QP setting

Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>
7 years agoH.264 encoder: respect min QP setting
Mark Thompson [Tue, 3 Jan 2017 23:43:38 +0000 (23:43 +0000)]
H.264 encoder: respect min QP setting

Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>
7 years agoInitialize some buffers to 0 when created
Xiang, Haihao [Fri, 30 Dec 2016 07:21:59 +0000 (15:21 +0800)]
Initialize some buffers to 0 when created

Sometimes user doesn't assign a proper value to each field in a buffer
when calling vaRenderPicture(), which will result in random issues
if we want to use these fields in the future. E.g. recently we used
window_size in VAEncMiscParameterRateControl for bitrate control.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
7 years agoNeedn't reset brc if the bitrate setting isn't changed in the Begin/Render/End sequence
Xiang, Haihao [Wed, 14 Dec 2016 03:03:59 +0000 (11:03 +0800)]
Needn't reset brc if the bitrate setting isn't changed in the Begin/Render/End sequence

User can use VAEncMiscParameterRateControl to update bitrate, so we should ignore
the bitrate in the sequence parameter if VAEncMiscParameterRateControl is present.
Hence it is not needed to reset brc if VAEncMiscParameterRateControl doesn't change
the used bitrate.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
7 years agoAdd new sequence flag check for HEVC/VP9 Encoding
Zhao Yakui [Wed, 28 Dec 2016 05:45:28 +0000 (13:45 +0800)]
Add new sequence flag check for HEVC/VP9 Encoding

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>
7 years agoSupport AVC VDEnc on KBL
Xiang, Haihao [Fri, 23 Dec 2016 16:58:04 +0000 (00:58 +0800)]
Support AVC VDEnc on KBL

I verified AVC VDEnc on KBL with the HuC loading patch from
https://patchwork.freedesktop.org/api/1.0/series/16584/revisions/1/mbox/

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Kelley, Sean V <sean.v.kelley@intel.com>
Tested-by: Tang, FuweiX <fuweix.tang@intel.com>
7 years agoEnable AVC VDEnc on BXT
Xiang, Haihao [Fri, 16 Dec 2016 07:21:43 +0000 (15:21 +0800)]
Enable AVC VDEnc on BXT

I verified AVC VDEnc with the HuC loading patch from
https://patchwork.freedesktop.org/api/1.0/series/16584/revisions/1/mbox/

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Tested-by: Tang, FuweiX <fuweix.tang@intel.com>
7 years agoVDEnc: update the constant buffer
Xiang, Haihao [Fri, 23 Dec 2016 16:01:53 +0000 (00:01 +0800)]
VDEnc: update the constant buffer

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Kelley, Sean V <sean.v.kelley@intel.com>
7 years agoVDEnc: update the value of inter rounding for CQP mode
Xiang, Haihao [Fri, 23 Dec 2016 16:01:52 +0000 (00:01 +0800)]
VDEnc: update the value of inter rounding for CQP mode

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Kelley, Sean V <sean.v.kelley@intel.com>
7 years agoVDEnc: update the MFX_AVC_IMG_STATE command
Xiang, Haihao [Fri, 23 Dec 2016 16:01:51 +0000 (00:01 +0800)]
VDEnc: update the MFX_AVC_IMG_STATE command

Don't enable brc domain rate control if HuC is not used.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Kelley, Sean V <sean.v.kelley@intel.com>
7 years agoVDEnc: always enable bitrate control per mb
Xiang, Haihao [Fri, 23 Dec 2016 16:01:50 +0000 (00:01 +0800)]
VDEnc: always enable bitrate control per mb

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Kelley, Sean V <sean.v.kelley@intel.com>
7 years agoVP9 encoder: use generic rate control parameters
Mark Thompson [Fri, 23 Dec 2016 01:11:38 +0000 (01:11 +0000)]
VP9 encoder: use generic rate control parameters

Also adds support for fractional framerate.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>
7 years agoVP8 encoder: use generic rate control parameters
Mark Thompson [Fri, 23 Dec 2016 01:10:49 +0000 (01:10 +0000)]
VP8 encoder: use generic rate control parameters

Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>
7 years agoHEVC encoder: use generic rate control parameters
Mark Thompson [Fri, 23 Dec 2016 01:10:04 +0000 (01:10 +0000)]
HEVC encoder: use generic rate control parameters

Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>
7 years agoi965_encoder: consistently represent framerate as a fraction
Mark Thompson [Fri, 23 Dec 2016 01:08:27 +0000 (01:08 +0000)]
i965_encoder: consistently represent framerate as a fraction

Update references in both H.264 encoders (gen6_mfc and gen9_vdenc).

Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>
7 years agoH.265 main 10 encoder supports only 10bpp render targets
Mark Thompson [Mon, 5 Dec 2016 17:54:58 +0000 (17:54 +0000)]
H.265 main 10 encoder supports only 10bpp render targets

Signed-off-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Sean V Kelley <seanvk@posteo.de>
7 years agoCheck VP8 brc parameters in the common function
Xiang, Haihao [Mon, 28 Nov 2016 07:35:21 +0000 (15:35 +0800)]
Check VP8 brc parameters in the common function

These parameters are irrelative to platforms

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