OSDN Git Service
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>
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>
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>
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>
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>
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>
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>
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>
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Xiang, Haihao [Fri, 18 Nov 2016 07:01:37 +0000 (15:01 +0800)]
Add a function table for used GPE functions
It is useful for sharing GPE based code between different platforms
Currently it is available on GEN8+
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Xiang, Haihao [Tue, 29 Nov 2016 05:22:18 +0000 (13:22 +0800)]
Rename gen9_gpe_mi_load_register_xxx() to gen8_gpe_mi_load_register_xxx()
xxx is mem/imm/reg and the 3 functions can be used for GEN8 too
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Xiang, Haihao [Tue, 22 Nov 2016 07:46:22 +0000 (15:46 +0800)]
Don't parse Misc parameters in VDEnc
Instead we can use the parameters saved in the common encoder context.
It also corrects frame rate used in VDEnc
v2: Align the ROI region and fix compile error after rebase
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
peng.chen [Mon, 21 Nov 2016 07:41:37 +0000 (15:41 +0800)]
Save other bitrate control parameters in the common encoder context
These parameters can be used for all codecs
v2: Save mb_rate_control/target_percentage per layer too
Signed-off-by: peng.chen <peng.c.chen@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
peng.chen [Fri, 18 Nov 2016 02:47:01 +0000 (10:47 +0800)]
Save ROI parameters in the common encoder context
These parameters can be used for all codecs
v2: Don't align ROI region, each codec might have
special requirement
Signed-off-by: peng.chen <peng.c.chen@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Zhao Yakui [Thu, 24 Nov 2016 01:04:12 +0000 (20:04 -0500)]
Rewrite Media_kernel to optimize the YUV420 8Bit-scaling on Gen8
The following conversion is supported:
NV12->NV12
NV12->I420
I420->NV12
I420->I420
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>
Zhao Yakui [Thu, 24 Nov 2016 01:04:11 +0000 (20:04 -0500)]
Rewrite Media_kernel to optimize the YUV420 8Bit-scaling on Gen9+
V1->V2: Add the support of clearing background color for NV12
The following conversion is supported:
NV12->NV12
NV12->I420
I420->NV12
I420->I420
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>
Zhao Yakui [Thu, 24 Nov 2016 01:04:10 +0000 (20:04 -0500)]
Move some VPP structures/functions into the common files to support more platforms
This is to define some common structures/functions so that they can
be used on more platforms when adding new VPP functions.
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Xiang, Haihao<haihao.xiang@intel.com>