OSDN Git Service
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>
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>
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
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>
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
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>