| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This fixes https://github.com/intel/intel-vaapi-driver/issues/516
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current implementation of the CQP mode encode has a
compressed buffer size restriction of 4Kb. The restriction
doesn't make sense for low-resolution & low-bitrate
video encoding use cases since inter-frames can be encoded
with much less number of bytes.
For eg: most of the P-frames in a video-conferencing session
of 640x480 resolution at 750kbps require only 1Kb bitrate
allocation and currently the hardware PAK unit fill the rest
of the 3Kb (4Kb-1Kb) with zeros. This will jeopardize the
quality & bit-rate allocation of the hybrid CBR encode
models[1] where we run the bitrate control algorithm in
software clubbed with a CQP hardware encoder:
[1]: https://cgit.freedesktop.org/~sree/gstreamer-vaapi/commit/?h=VP9_SVC_and_SoftwareBRC&id=355f16bdb32965425b274aa082c1334b0edd5992).
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a "multiple definition" compiler error on
gcc10 which defaults to -fno-common.
https://gcc.gnu.org/gcc-10/porting_to.html#common
Fixes #503
Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
|
|
|
|
|
|
| |
With python2 being deprecated, it makes sense to switch gpp.py to be
python3 compatable and the build system to look for python3 rather
than python2.
|
|
|
|
|
|
|
|
|
|
| |
If bitrate control is enabled (CBR & VBR), it is legal to
have a bitrate change/reset even for non-key frame.
Currently the bitrate change is not submitting to the gpu
if it is an inter-prediction frame.
This patch ensures that all internal structures are
getting the updated bitrate values whenever user request.
This patch is expected to fix the issue #473
|
|
|
|
|
|
|
| |
The VP8 encoder supports two quality levels, one for
the normal mode and the other for performance-mode(less-quality).
This patch ensures that the ConfigAttrib query advertising
the correct range.
|
|
|
|
|
|
| |
Fixes #488
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
|
|
|
|
|
|
|
|
|
| |
Ensure the submission of forced_lf_adjustment in
mode probablity update kernel curbe. This will help to fix
the ffmpeg decoder output md5 mismatch with vpxdec for
the Intel encoded video samples.
Reported, Tested and Verified by Hirokazu Honda<hiroh@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
decoded with a green color on sandy bridge platforms. This is because
of a wrong ptype before this commit ptype was set to GEN6_VC1_BI_PICTURE
if picture_type is GEN6_VC1_I_PICTURE and profile is advanced.
With this commit the ptype is correctly set to GEN6_VC1_BI_PICTURE for
advanced profiles.
Maybe this is also needed for the other generations affected by commit
1591f6c1be689c5265cb5beab18c97771d056cb9 but I have no hardware to
test it.
|
|
|
|
|
|
|
|
|
|
| |
vaExportSurfaceHandle currently doesn't support IMC3 format.
This patch adds support for IMC3 in seprate layers mode and
fixes ExportSurfaceHandle to work with formats that might have
alignment requirements for U/V plane start addresses.
This can be used to export VAAPI decoded JPEGs without
incurring in additional copies.
|
|
|
|
|
|
|
|
|
| |
Mapping the buffer for vp9_frame_ctx at once after batch buffer
submission will cause GT frequency boost, so postpone the update of
vp9_frame_ctx to next frame
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
Tested-by: Shankar, Vaibhav <vaibhav.shankar@intel.com>
|
|
|
|
| |
In the case the va_GetSurfaceBufferWl is not able to create a prime or planar buffer it will leak the FD get from DRM.
|
|
|
|
|
|
|
|
| |
In commit f6573cb7 memmem() call is introduced which is a GNU
extension, which need to be enabled explicitely, otherwise the
compiler will trigger a warning.
This patch enables globally the usage of GNU extensions.
|
|
|
|
|
|
| |
And update the corresponding data structures / parameters as well
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
| |
Signed-off-by: Vladyslav Kalyuzhny <vperus@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Searching for the EOI marker byte-by-byte turned out to notable in
profiles when encoding large amounts of JPEGs (~15% of a core at 480 fps
of 1080p images). Using memmem() will typically give us an AVX-optimized
version of at least finding the 0xFF character, which is much more
efficient. It seems to speed up this part by about 3–4x in practice,
taking it largely off the profiles.
Signed-off-by: Steinar H. Gunderson <steinar+nageru@gunderson.no>
|
|
|
|
| |
Signed-off-by: Mark Thompson <sw@jkqxz.net>
|
|
|
|
|
|
|
| |
The VAConfigAttribEncROI attribute is read-only, so a user should not need
to write it to enable encoding with ROI.
Signed-off-by: Mark Thompson <sw@jkqxz.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid the warnings(errors):
hardware/intel/common/vaapi/src/gen75_vme.c:1070:5: error: variable 'i965_kernel_num' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized]
default:
^~~~~~~
hardware/intel/common/vaapi/src/gen75_vme.c:1078:35: note: uninitialized use occurs here
vme_context->vme_kernel_sum = i965_kernel_num;
^~~~~~~~~~~~~~~
hardware/intel/common/vaapi/src/gen9_vme.c:2036:5: error: variable 'i965_kernel_num' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized]
default:
^~~~~~~
hardware/intel/common/vaapi/src/gen9_vme.c:2044:35: note: uninitialized use occurs here
vme_context->vme_kernel_sum = i965_kernel_num;
^~~~~~~~~~~~~~~
I am not going to disable the warning (by -Wno-sometimes-uninitialized)
since it's still a useful checking from the compiler.
Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
|
|
|
|
| |
Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
|
|
|
|
|
|
| |
If so, the upper-layer application or library may handle the error.
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
| |
Commit 5bdb675 causes performance drop
This reverts commit 5bdb675 and fixes compiler errors.
|
|
|
|
|
|
|
|
| |
And bump libva dependency to 1.4.0
This fixes https://github.com/intel/intel-vaapi-driver/issues/419
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
|
| |
This fixes https://github.com/intel/intel-vaapi-driver/issues/430
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
Tested-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gen8_pp_object_walker makes an unnecessary function call, checks a
return value that is always zero and makes non-indexed variable
assignments. All of which occurs inside nested for loops.
Move non-indexed assignments outside the iterative block and inline the
rest. This decreases frame drops for saturating workloads.
Fixes: #252
Signed-off-by: Cole Nelson <colex.nelson@intel.com>
|
|
|
|
|
| |
gen75_vpp_vebox will check many things like invalid param, unsupported features.
Better check the return value
|
|
|
|
|
|
|
| |
This patch makes sure all MVs are in the right range, otherwise
out of boundary MVs will result in corrupted frame.
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
| |
Use the right target bitrate once user changes the bitrate on the fly
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
|
|
| |
Not all toolchains provide support for -fstack-protector. This patch
provides a configure check to avoid build errors like
/home/buildroot/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/6.4.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: cannot find -lssp_nonshared
/home/buildroot/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/6.4.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: cannot find -lssp
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
|
|
| |
Image status mask and ctrl are used as compare mask and data
in MI_CONDITIONAL_BATCH_BUFFER_END, so they must be adjacent
in memory
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
|
| |
vp8_context->frame_width/vp8_context->frame_height is aligned to 16 bytes,
however the original size is required
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
| |
Remove the extra sync between BCS and CS rings
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
| |
Remove the extra sync between BCS and CS rings
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
| |
gen9_p010_scaling_post_processing was added for VPP internal usage only
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
|
|
| |
Distribution wants to have situation where both
hybrid/i965 drivers are avaible. Even when only the latter
is relevant on a given hardware.
Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
|
|
|
|
| |
Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
|
|
|
|
| |
Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
|
|
|
|
| |
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
|
|
|
|
|
|
|
|
| |
Out-of-bounds reference pixel replication should take into account the frame
coding mode of the reference frame(s), not the frame coding mode of the
current frame.
Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
|
|
|
|
| |
Signed-off-by: Patrick Waterlander <patrick.waterlander@intel.com>
|
|
|
|
| |
refresh_golden/refresh_alternate is set
|