OSDN Git Service

android-x86/hardware-intel-common-libva.git
23 months agova/va_trace: add va_TraceSurface support for VA_FOURCC_P010 android-x86-8.1-r1
Linjie Fu [Mon, 17 Dec 2018 00:51:13 +0000 (08:51 +0800)]
va/va_trace: add va_TraceSurface support for VA_FOURCC_P010

Add va_TraceSurface support for VA_FOURCC_P010.

Currently, va_TraceSurface could only support nv12.
Add pixel_byte to indicate the bytes per pixel according to FOURCC.

Signed-off-by: Linjie Fu <linjie.fu@intel.com>
23 months agoAdd pointer to struct wl_interface for driver to use
Haihao Xiang [Fri, 7 Dec 2018 05:25:41 +0000 (13:25 +0800)]
Add pointer to struct wl_interface for driver to use

See https://github.com/intel/intel-vaapi-driver/issues/419 for the
information

Note: don't export the interface symbol in case others may reuse it.

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
23 months agova: fix new line symbol in error message
Víctor Manuel Jáquez Leal [Fri, 13 Jul 2018 12:14:48 +0000 (14:14 +0200)]
va: fix new line symbol in error message

23 months agoav: avoid driver path truncation
Víctor Manuel Jáquez Leal [Fri, 13 Jul 2018 12:07:49 +0000 (14:07 +0200)]
av: avoid driver path truncation

Using strncat() and strncpy() may lead to string truncation, which
might generate other issues.

This patch replaces the usage of strncat() and strncpy() to generate
the driver path, with snprintf() safetly.

See more information here:
https://developers.redhat.com/blog/2018/05/24/detecting-string-truncation-with-gcc-8/

23 months agoFix compilation warning (uninit and wrong variable types) for Android O MR1
Badiuzzaman Iskhandar [Wed, 12 Sep 2018 05:13:22 +0000 (13:13 +0800)]
Fix compilation warning (uninit and wrong variable types) for Android O MR1

Signed-off-by: Badiuzzaman Iskhandar <badiuzzaman.azzarfan.bin.iskhandar@intel.com>
23 months agoAllow import of the DRM PRIME 2 memory type
Mark Thompson [Thu, 16 Aug 2018 23:10:33 +0000 (00:10 +0100)]
Allow import of the DRM PRIME 2 memory type

This adds support for import using the VADRMPRIMESurfaceDescriptor
structure, which enables use of format modifiers (required for some
compressed surfaces).

Signed-off-by: Mark Thompson <sw@jkqxz.net>
23 months agoandroid: ignore unimportant compile warnnings
Xu Guangxin [Thu, 6 Sep 2018 08:31:11 +0000 (16:31 +0800)]
android: ignore unimportant compile warnnings

Change-Id: Iae80206787fe2d5a35a9d87171db315763249d86

23 months agocompile: fix sign/unsign compare in va_trace.c
Xu Guangxin [Thu, 6 Sep 2018 08:25:05 +0000 (16:25 +0800)]
compile: fix sign/unsign compare in va_trace.c

Change-Id: I8d38a37dc6a8a1bf190f206ce61f3b26e2f4e887

23 months agoandroid: replace utils/Log.h with log/log.h
Xu Guangxin [Thu, 6 Sep 2018 08:17:19 +0000 (16:17 +0800)]
android: replace utils/Log.h with log/log.h

utils/Log.h and ctuils/Log.h replaced by log/log.h on android

Change-Id: Icd26ca44cdf7079f43738cd38a511953aaae78c8

2 years agoHigh Dynamic Range Tone Mapping: Add a new filter for input metadata and some comments.
furongzh [Tue, 13 Nov 2018 11:37:55 +0000 (19:37 +0800)]
High Dynamic Range Tone Mapping: Add a new filter for input metadata and some comments.

1. Add comments for HDR10 metadata, it can be used to describe the content which was authoured and the display which will be presented;
2. Add a new filter for metadata, mainly for input surface;

Signed-off-by: furongzh <furong.zhang@intel.com>
2 years agoRemove restrictions on vaSetDriverName()
Mark Thompson [Tue, 13 Nov 2018 23:56:13 +0000 (23:56 +0000)]
Remove restrictions on vaSetDriverName()

The UID restriction has no effect, since any code capable of calling
vaSetDriverName() can also edit the internals of the structure itself.
(This check was inherited from the environment variable setting, where
it does do something.)

The name whitelist prevents loading drivers not currently named on the
list, such as the Mesa and V4L2-request drivers.  I don't believe there
is any reason to prevent loading another driver, and it is already
possible via the LIBVA_DRIVER_NAME environment variable.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agolibva 2.4.0 pre1
XinfengZhang [Mon, 22 Oct 2018 21:09:09 +0000 (05:09 +0800)]
libva 2.4.0 pre1

Bump VA-API version to 1.4.0 pre1 and libva to 2.4.0 pre1

Signed-off-by: XinfengZhang <carl.zhang@intel.com>
2 years agolibva 2.3.0 pre1
XinfengZhang [Sat, 29 Sep 2018 13:46:55 +0000 (21:46 +0800)]
libva 2.3.0 pre1

Bump VA-API version to 1.3.0 pre1 and libva to 2.3.0

Signed-off-by: XinfengZhang <carl.zhang@intel.com>
2 years agoAdd max frame size parameters for multiple pass case in legacy mode
Wang, Chengwei C [Tue, 4 Sep 2018 03:53:15 +0000 (11:53 +0800)]
Add max frame size parameters for multiple pass case in legacy mode

Add new data structure and parameter buffer type for max frame size parameters in multiple pass case.

Signed-off-by: Wang, Chengwei C <chengwei.c.wang@intel.com>
2 years agoAdd new BRC mode AVBR
xiaominc [Mon, 3 Sep 2018 02:56:44 +0000 (10:56 +0800)]
Add new BRC mode AVBR

Average variable bitrate control algorithm focuses on overall encoding
quality while meeting the specified target bitrate, within the accuracy
range, after a convergence period.

Change-Id: I048697bd4b40c571a22a551ae56578cc7512e39a
Signed-off-by: xiaominc <xiaomin.chen@intel.com>
2 years agoHigh Dynamic Range
FurongZhang [Thu, 23 Aug 2018 10:22:00 +0000 (18:22 +0800)]
High Dynamic Range

2 years agova: Add missing enum to string conversions
Víctor Manuel Jáquez Leal [Thu, 16 Aug 2018 12:53:37 +0000 (14:53 +0200)]
va: Add missing enum to string conversions

VASubsetsParameterBufferType were added in commit dd20f1c5 but its
conversion to string was missing.

This patch adds it.

2 years agoadd hevc subsets parameters structure
Zhengguo.Xu [Fri, 25 May 2018 03:01:00 +0000 (23:01 -0400)]
add hevc subsets parameters structure

add hevc decoding subsets parameter buffer and syntax element related with entry point in hevc picture parameter structure

Signed-off-by: Zhengguo.Xu <zhengguo.xu@intel.com>
2 years agoCustomized Noise Reduction (HVS)
FurongZhang [Tue, 31 Jul 2018 09:03:46 +0000 (05:03 -0400)]
Customized Noise Reduction (HVS)

Human Vision System Based Noise Reduction.

Signed-off-by: FurongZhang <furong.zhang@intel.com>
2 years agoadd new BRC mode definition QVBR
XinfengZhang [Tue, 22 May 2018 15:16:24 +0000 (23:16 +0800)]
add new BRC mode definition QVBR

QVBR is Quality-Defined Variable Bitrate, comparing to VBR it add quality factor to the paramters

Signed-off-by: XinfengZhang <carl.zhang@intel.com>
2 years agoCheck for -fstack-protector
Bernd Kuhls [Sat, 28 Jul 2018 22:16:25 +0000 (00:16 +0200)]
Check for -fstack-protector

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

2 years agoAdd more complete colour properties for use in VPP
Mark Thompson [Sun, 1 Oct 2017 19:56:13 +0000 (20:56 +0100)]
Add more complete colour properties for use in VPP

Adds colour_primaries, transfer_characteristics and matrix_coefficients
as defined by ISO/IEC 23001-8 and H.273 (and, in future, ISO/IEC 23091-2)
to the colour properties.  This allows support for HDR standards which are
not currently expressible (for example, PQ and HLG transfer functions).
These new fields are only used in VPP if the corresponding color_standard
value is set to VAColorStandardExplicit.

Also document the meaning of existing VAProcColorStandardValues in terms
of the new properties.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agolibva 2.2.1.pre1 for development
Haihao Xiang [Thu, 5 Jul 2018 05:40:26 +0000 (13:40 +0800)]
libva 2.2.1.pre1 for development

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agolibva 2.2.0 pre1
Haihao Xiang [Wed, 27 Jun 2018 07:52:56 +0000 (15:52 +0800)]
libva 2.2.0 pre1

Update NEWS and Bump VA API version to 1.2.0

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agoAdd missing rate control parameters to trace output
Mark Thompson [Thu, 26 Apr 2018 19:24:32 +0000 (20:24 +0100)]
Add missing rate control parameters to trace output

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoImprove documentation for encode HRD parameters
Mark Thompson [Thu, 26 Apr 2018 19:24:26 +0000 (20:24 +0100)]
Improve documentation for encode HRD parameters

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoImprove documentation for encode framerate parameters
Mark Thompson [Thu, 26 Apr 2018 19:24:20 +0000 (20:24 +0100)]
Improve documentation for encode framerate parameters

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoImprove documentation for rate control parameters
Mark Thompson [Thu, 26 Apr 2018 19:24:05 +0000 (20:24 +0100)]
Improve documentation for rate control parameters

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoAdd generated documentation files to .gitignore
Mark Thompson [Thu, 26 Apr 2018 19:23:50 +0000 (20:23 +0100)]
Add generated documentation files to .gitignore

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoAdd comments explaining layout of formats represented by fourccs
Mark Thompson [Thu, 26 Apr 2018 19:23:42 +0000 (20:23 +0100)]
Add comments explaining layout of formats represented by fourccs

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoAdd 10/12-bit YUV render target formats
Mark Thompson [Thu, 26 Apr 2018 19:23:34 +0000 (20:23 +0100)]
Add 10/12-bit YUV render target formats

These are required as output formats for H.265 RExt decoding.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoRemove incorrect "BPP" suffix from 10-bit render target formats
Mark Thompson [Thu, 26 Apr 2018 19:23:21 +0000 (20:23 +0100)]
Remove incorrect "BPP" suffix from 10-bit render target formats

These formats are 10 bits per sample, not 10 bits per pixel.  The misleading
old names continue to work but are deprecated.

Also clean up the comments so that formats are properly documented.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoAdd strings for H.265 RExt subprofiles
Mark Thompson [Thu, 26 Apr 2018 19:23:12 +0000 (20:23 +0100)]
Add strings for H.265 RExt subprofiles

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoRemove duplicate AYUV fourcc
Mark Thompson [Thu, 26 Apr 2018 19:23:01 +0000 (20:23 +0100)]
Remove duplicate AYUV fourcc

The AYUV fourcc was already present since commit bd592e38; commit d6fd111e
added an identical duplicate.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoRemove executable mode from source files
Mark Thompson [Thu, 26 Apr 2018 19:22:54 +0000 (20:22 +0100)]
Remove executable mode from source files

va.h and va_dec_hevc.h were incorrectly marked as executable in commit d6fd111e.

va_trace.c was incorrectly marked as executable in commit b65a3d9d.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agoadd hevc picture parameters, slice parameters and profile for range extension to...
Zhengguo.Xu [Tue, 6 Mar 2018 04:50:52 +0000 (12:50 +0800)]
add hevc picture parameters, slice parameters and profile for range extension to support hevc range extension decoding

2 years agoadd fourcc code for y210/y216/ayuv/y410/y416 format
Zhengguo.Xu [Tue, 6 Mar 2018 01:00:02 +0000 (09:00 +0800)]
add fourcc code for y210/y216/ayuv/y410/y416 format

2 years agoAdd 'fast_intra_mode' in VAEncMiscParameterFEIFrameControlHEVC
dlin2 [Wed, 28 Mar 2018 01:23:53 +0000 (09:23 +0800)]
Add 'fast_intra_mode' in VAEncMiscParameterFEIFrameControlHEVC
to do fast intra prediction

Signed-off-by: dlin2 <decai.lin@intel.com>
2 years ago[common] Add RGB565 and BGR565 definitions
Roman Kazantsev [Tue, 6 Mar 2018 06:43:20 +0000 (09:43 +0300)]
[common] Add RGB565 and BGR565 definitions

Now we use implicit definition in Media SDK
that is not good approach for open source.

Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
2 years agova: Add VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT
Philipp Kerling [Wed, 7 Mar 2018 07:40:37 +0000 (08:40 +0100)]
va: Add VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT

This can be used to tell the driver to prepare the surface such
that it can easily be used for export to third-party APIs.
For example, the driver might choose to decode to frames instead
of fields since only frames can be exported.

2 years agoFix issue with static analysis scan
U. Artie Eoff [Fri, 16 Mar 2018 01:13:55 +0000 (18:13 -0700)]
Fix issue with static analysis scan

Coverity fails to parse the expanded value of
va_deprecated and causes the scan to abort.  This
problem also affects downstream dependents of
va.h that get scanned with coverity, too.  This
results in only partially-scanned code with the
following coverity errors:

"../../va/va.h", line 361: error #67: expected a "}"
      VAProfileH264Baseline va_deprecated_enum = 5,
                            ^

To fix this, we don't need to define a value for
va_deprecated or va_deprecated_enum during a
coverity scan.

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2 years agoAdd '-Wall -fstack-protector' to CFLAGS
Haihao Xiang [Wed, 14 Mar 2018 05:38:54 +0000 (13:38 +0800)]
Add '-Wall -fstack-protector' to CFLAGS

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agoUse the new link URLs
Haihao Xiang [Mon, 12 Mar 2018 02:39:11 +0000 (10:39 +0800)]
Use the new link URLs

We moved libva from github/01org to github/intel, however some files
still have links to the old 01org URLs, this commit updates these links
to the new intel URLs. In addition, this commit added a contact email
address for security issue reporting

This fixes https://github.com/intel/libva/issues/189

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agoFix comment about VADRMPRIMESurfaceDescriptor
Haihao Xiang [Tue, 6 Mar 2018 07:37:38 +0000 (15:37 +0800)]
Fix comment about VADRMPRIMESurfaceDescriptor

The added function for export is vaExportSurfaceHandle(), not
vaAcquireSurfaceHandle().

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agoReturn once the drawable is destroyed
Haihao Xiang [Mon, 12 Mar 2018 03:54:17 +0000 (11:54 +0800)]
Return once the drawable is destroyed

Otherwise it might dereference a freed pointer in the next loop

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agoMerge branch 'v2.1-branch' into master
Haihao Xiang [Thu, 8 Mar 2018 05:29:43 +0000 (13:29 +0800)]
Merge branch 'v2.1-branch' into master

2 years agova: add new VA STATUS ERROR
ChenXiaomin [Tue, 13 Feb 2018 12:30:42 +0000 (20:30 +0800)]
va: add new VA STATUS ERROR

Add new VA STATUS ERROR to indicate allocated buffer size is
not enough for input or output.

Signed-off-by: ChenXiaomin <xiaomin.chen@intel.com>
2 years agoUpdate .travis.yml
Haihao Xiang [Mon, 26 Feb 2018 07:26:05 +0000 (15:26 +0800)]
Update .travis.yml

The travis build is often blocked by the following error

  $ sudo apt-get install -y build-essential
  E: Could not get lock /var/lib/dpkg/lock - open (11: Resource
temporarily unavailable)

Feedback from travis is the dpkg lock file might be locked by an
unattended `apt-get` call that's running in the background on a daily
basis and travis suggests adding the corresponding snippet before
apt-get call in .travis.yml

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agolibva 2.1.0
Haihao Xiang [Mon, 12 Feb 2018 06:28:54 +0000 (14:28 +0800)]
libva 2.1.0

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2 years agolibva 2.1.0.pre1
Xiang, Haihao [Wed, 31 Jan 2018 04:24:38 +0000 (12:24 +0800)]
libva 2.1.0.pre1

Bump VA-API version to 1.1.0

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2 years agolibva 2.1.1.pre1 for development
Xiang, Haihao [Fri, 2 Feb 2018 00:49:37 +0000 (08:49 +0800)]
libva 2.1.1.pre1 for development

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2 years agoFix broken 'make distclean'
Víctor Manuel Jáquez Leal [Fri, 2 Feb 2018 00:23:42 +0000 (08:23 +0800)]
Fix broken 'make distclean'

There is an error below when running 'make distclean':

Makefile:496: ../drm/.deps/va_drm_utils.Plo: No such file or directory
make[2]: *** No rule to make target '../drm/.deps/va_drm_utils.Plo'.
Stop.

The regression is caused by f17486f which added subdir-objects to
AM_INIT_AUTOMAKE.

This patch comes from
https://github.com/intel/libva/pull/172#issuecomment-362182959

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2 years agobuild: meson: build documentation
Víctor Manuel Jáquez Leal [Fri, 19 Jan 2018 19:42:11 +0000 (20:42 +0100)]
build: meson: build documentation

2 years agobuild: enable out-of-source building
Víctor Manuel Jáquez Leal [Wed, 31 Jan 2018 10:07:21 +0000 (11:07 +0100)]
build: enable out-of-source building

2 years agobuild: clean generated documentation
Víctor Manuel Jáquez Leal [Fri, 19 Jan 2018 18:26:40 +0000 (19:26 +0100)]
build: clean generated documentation

Add to the clean target the removal of the generated documentation.

Also use $(RM) for calling the command rm, which is a bit more
portable.

2 years agobuild: use condititional doc generation
Víctor Manuel Jáquez Leal [Fri, 19 Jan 2018 18:20:49 +0000 (19:20 +0100)]
build: use condititional doc generation

Instead of using conditional compilation for generarte documentation,
this patch will block parsing Makefile in doc subdirectory if the
documentation is not enabled.

This patch will make compilation a bit faster when documentation is
not generated.

2 years agodoc: don't generate latex
Víctor Manuel Jáquez Leal [Wed, 31 Jan 2018 10:15:00 +0000 (11:15 +0100)]
doc: don't generate latex

Since they are not handled by the install target

2 years agodoc: use Doxyfile template
Víctor Manuel Jáquez Leal [Fri, 19 Jan 2018 18:12:29 +0000 (19:12 +0100)]
doc: use Doxyfile template

Instead of passing environment variables to the Doxygen process,
Doxyfile will be autogenerated from Doxyfile.in template.

2 years agomeson: Fix libtool version number
Xiang, Haihao [Wed, 31 Jan 2018 01:55:22 +0000 (09:55 +0800)]
meson: Fix libtool version number

libtool uses CURRENT:REVISION:AGE for library versions and the formula
for calculating the file numbers is (CURRENT-AGE).(AGE).(REVISION). To
keep compatibility with libtool, meson build should follow the same
formula

With this fix, we will avoid https://github.com/intel/libva/issues/181
when bumping a new version

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2 years agoRevert "fei_hevc: Add control to use avc VME to do intra prediction for HEVC FEI"
Xiang, Haihao [Tue, 30 Jan 2018 01:34:13 +0000 (09:34 +0800)]
Revert "fei_hevc: Add control to use avc VME to do intra prediction for HEVC FEI"

This reverts commit 71fd9ec67bf26f82421546c82750c3cc08c9a6a8.

2 years agofei_hevc: Add control to use avc VME to do intra prediction for HEVC FEI
dlin2 [Mon, 22 Jan 2018 07:25:51 +0000 (15:25 +0800)]
fei_hevc: Add control to use avc VME to do intra prediction for HEVC FEI

Signed-off-by: dlin2 <decai.lin@intel.com>
2 years agoandroid: fix typo introduced by 4cc9a74b
Xu Guangxin [Thu, 25 Jan 2018 05:10:03 +0000 (00:10 -0500)]
android: fix typo introduced by 4cc9a74b

2 years agoUpdate some comments about VADRMPRIMESurfaceDescriptor
Xiang, Haihao [Mon, 22 Jan 2018 02:09:15 +0000 (10:09 +0800)]
Update some comments about VADRMPRIMESurfaceDescriptor

width/height in VADRMPRIMESurfaceDescriptor specifies the
surface width/height in pixels

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
2 years agova_trace: Remove unused variable
Victor Toso [Mon, 15 Jan 2018 15:07:02 +0000 (16:07 +0100)]
va_trace: Remove unused variable

Leftover from recent commit 35d7d312d45f9fd42dd

> va_trace.c:270:31: warning: unused variable 'pconfig_info'
>     struct trace_config_info *pconfig_info;
>                               ^

Signed-off-by: Victor Toso <victortoso@redhat.com>
2 years agoandroid: remove useless vaPutSurface
Xu Guangxin [Mon, 6 Nov 2017 02:44:34 +0000 (21:44 -0500)]
android: remove useless vaPutSurface

vaPutSurface only used in libva-utils. The actual application/omx
implementation never use it.
It will introduce many header files in android framework.Android change
rapidly, the directory or file name changed in versionto version. It's
hard to catch up and maintain support for many versionof android.

2 years agomeson: add va_fei_hevc.h
Víctor Manuel Jáquez Leal [Wed, 10 Jan 2018 17:13:17 +0000 (18:13 +0100)]
meson: add va_fei_hevc.h

Fixes: #168

2 years agoAdd documents for VP9/VP9/HEVC/JPEG/FEI
Pengfei Qu [Thu, 21 Dec 2017 08:08:08 +0000 (16:08 +0800)]
Add documents for VP9/VP9/HEVC/JPEG/FEI

Fixes#163

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
2 years agoUpdate for the documents generation
Pengfei Qu [Thu, 21 Dec 2017 08:06:03 +0000 (16:06 +0800)]
Update for  the documents generation

Fixes#163

this  will update the documents.

Signed-off-by: Pengfei Qu <Pengfei.Qu@intel.com>
2 years agoFix tracing index allocation issue
peng.chen [Thu, 21 Dec 2017 06:23:14 +0000 (14:23 +0800)]
Fix tracing index allocation issue

Fixes #142

Signed-off-by: peng.chen <peng.c.chen@intel.com>
2 years agoadd comments for FEI
xinfengz [Fri, 8 Dec 2017 13:57:37 +0000 (21:57 +0800)]
add comments for FEI

add more detail comments for FEI interfaces

Signed-off-by: xinfengz <carl.zhang@intel.com>
2 years agova: add missing error status/error message map.
Jun Zhao [Thu, 7 Dec 2017 06:22:29 +0000 (14:22 +0800)]
va: add missing error status/error message map.

when add a new VAStatus type, need to update vaErrorStr.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
2 years agoExpose the encode passes interface.
Hongbo [Mon, 30 Oct 2017 14:31:24 +0000 (22:31 +0800)]
Expose the encode passes interface.

2 years agoAdd meson support
Víctor Manuel Jáquez Leal [Fri, 3 Nov 2017 08:02:25 +0000 (09:02 +0100)]
Add meson support

Fixes: #134

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2 years agoremove max_display_attributes value check.
XinfengZhang [Mon, 25 Dec 2017 13:44:39 +0000 (21:44 +0800)]
remove max_display_attributes value check.

max_display_attributes maybe is zero, because driver dont support display attribute

Signed-off-by: XinfengZhang <carl.zhang@intel.com>
2 years agodeprecated VAEncSliceParameterBuffer.
Jun Zhao [Wed, 22 Nov 2017 08:08:35 +0000 (16:08 +0800)]
deprecated VAEncSliceParameterBuffer.

VAEncSliceParamerterBuffer will be deprecated, All applications
can use VAEncSliceParameterBufferXXX (XXX = MPEG2, HEVC, H264,
JPEG).

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
2 years agoUpdate some comment about FEI in VA-API.
Jun Zhao [Wed, 22 Nov 2017 07:39:53 +0000 (15:39 +0800)]
Update some comment about FEI in VA-API.

FEI have added in VA-API, update the comments.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
3 years agotrace: init mutex before attempting to lock it
U. Artie Eoff [Tue, 28 Nov 2017 22:01:40 +0000 (14:01 -0800)]
trace: init mutex before attempting to lock it

Call pthread_mutex_init before any calls to pthread_mutex_lock.

va_TraceInit(...) calls start_tracing2log_file(...) which
calls pthread_mutex_lock on the pva_trace->resource_mutex.
Thus, we need to ensure the mutex is initialized properly via
pthread_mutex_init before attempting to lock it.

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
3 years agoRevert "configure: set strict default compiler flags"
U. Artie Eoff [Mon, 27 Nov 2017 17:47:02 +0000 (09:47 -0800)]
Revert "configure: set strict default compiler flags"

This reverts commit 6ca99be5042558035a78ffa87cfcd853611591cc.

Strict compilation flags are not consistent across different
versions of GCC and cause issues for users with older GCC
versions.

Since we have little control over which compiler version
is used by user, ensuring that strict compilation works properly
across all known used compilers would be a maintenance
headache.

Instead, don't enforce strict compilation and let users choose
when to enforce it via user-defined C/CXXFLAGS.

Fixes #152

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
3 years agoAdd a new DRM PRIME memory type
Mark Thompson [Thu, 28 Sep 2017 19:24:23 +0000 (20:24 +0100)]
Add a new DRM PRIME memory type

This is more flexible than the existing DRM PRIME type, allowing multiple
objects and planes with different formats and modifiers.  It supports
export only via vaExportSurfaceHandle().

Fixes #10.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
3 years agoAdd a new interface for exporting surfaces
Mark Thompson [Sun, 9 Jul 2017 21:28:53 +0000 (22:28 +0100)]
Add a new interface for exporting surfaces

Signed-off-by: Mark Thompson <sw@jkqxz.net>
3 years agoHEVC FEI support
Kelvin Hu [Fri, 4 Aug 2017 03:30:49 +0000 (11:30 +0800)]
HEVC FEI support

 HEVC FEI support, new HEVC FEI buffer in va.h and add va_fei_hevc.h

Signed-off-by: Kelvin Hu <kelvin.hu@intel.com>
3 years agoStatistics function for FEI and non-FEI
Kelvin Hu [Fri, 9 Jun 2017 02:49:40 +0000 (10:49 +0800)]
Statistics function for FEI and non-FEI

A pre-processing function for getting some statistics and motion vectors
is added, and some extra controls for Encode pipeline are provided. The
application can optionally call the statistics function to get motion
vectors and statistics like variances, distortions before calling Encode
function via this entry point.

Signed-off-by: Kelvin Hu <kelvin.hu@intel.com>
Signed-off-by: Jonathan Bian <jonathan.bian@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
3 years agoreport QP Block Size
xfengcarl [Wed, 25 Oct 2017 17:52:06 +0000 (01:52 +0800)]
report QP Block Size

Signed-off-by: Carl.Zhang<carl.zhang@intel.com>
3 years agoadd decode stream out buffer type
xfengcarl [Wed, 25 Oct 2017 13:18:37 +0000 (21:18 +0800)]
add decode stream out buffer type

stream out buffer include intermedia data of decoder

Signed-off-by: Carl.Zhang<carl.zhang@intel.com>
3 years agoadd common error for coded status of encode
xfengcarl [Tue, 24 Oct 2017 13:05:01 +0000 (21:05 +0800)]
add common error for coded status of encode

an  VA_CODED_BUF_STATUS_BAD_BITSTREAM is added for bad streams

Signed-off-by: xfengcarl <carl.zhang@intel.com>
3 years agoadd perMB skip disable control.
xfengcarl [Tue, 24 Oct 2017 12:49:43 +0000 (20:49 +0800)]
add perMB skip disable control.

per MB skip buffer can disable skip/direct for each MB
Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoadd sequence display extension support for MPEG2 encode
xfengcarl [Tue, 24 Oct 2017 12:01:08 +0000 (20:01 +0800)]
add sequence display extension support for MPEG2 encode

Signed-off-by: Carl.Zhang<carl.zhang@intel.com>
3 years agoadd controls for encode quality
xfengcarl [Thu, 7 Sep 2017 15:51:07 +0000 (23:51 +0800)]
add controls for encode quality

it include sub pel mode support, quality tuning, rounding inter...

Signed-off-by: Carl.Zhang<carl.zhang@intel.com>
3 years agoadd mb number in decode MB errors
xfengcarl [Thu, 7 Sep 2017 15:25:42 +0000 (23:25 +0800)]
add mb number in decode MB errors

Signed-off-by: xfengcarl <carl.zhang@intel.com>
3 years agoslide window support
xinfengz [Thu, 10 Aug 2017 15:50:20 +0000 (23:50 +0800)]
slide window support

slide window can reduce bit tolerance.
also include encode tile support attrib

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoadd VAConfigAttribDecProcessing for decode post process
pylee [Thu, 6 Jul 2017 15:20:33 +0000 (23:20 +0800)]
add VAConfigAttribDecProcessing for decode post process

Decode post processing is same context with decode context
post processing is called by driver internally

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoadd NV21 fourcc
xfengcarl [Thu, 15 Jun 2017 15:36:18 +0000 (23:36 +0800)]
add NV21 fourcc

add NV21 forcc pre-definition

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoadd RGB 10-bit packed format
xfengcarl [Thu, 15 Jun 2017 15:33:45 +0000 (23:33 +0800)]
add RGB 10-bit packed format

RGB 10-bit packed format with upper 2 bits as alpha channel.
The existing pre-defined fourcc codes can be used to signal
the position of each component for this RT format.

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoadd new BRC method
xfengcarl [Thu, 6 Jul 2017 00:07:41 +0000 (08:07 +0800)]
add new BRC method

VA_RC_ICQ: Intelligent Constant Quality. Provided an initial ICQ_quality_factor,
           adjusts QP at a frame and MB level based on motion to improve subjective quality.
VA_RC_CFS: Constant Frame Size.
VA_RC_PARALLEL: For hierachical B, B frames can be refered by other B frames.
Currently three layers of hierachy are defined:
B0 - regular B, no reference to other B frames.
B1 - reference to only I, P and regular B0 frames.
B2 - reference to any other frames, including B1.
In Hierachical B structure, B frames on the same layer can be processed
simultaneously. And BRC would adjust accordingly. This is so called
Parallel BRC.
Author: pylee <penne.y.lee@intel.com>
Author: Austin Yuan <shengquan.yuan@intel.com>
Author: Penne <penne.y.lee@intel.com>
Author:Wang, Ce <ce.wang@intel.com>

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
Conflicts:
va/va.h

3 years agoadd encoding dirty rectangle. Read-only.
pylee [Tue, 13 Jun 2017 15:45:40 +0000 (23:45 +0800)]
add encoding dirty rectangle. Read-only.

user provided rectangles which indicate the rectangular areas
where the content has changed as compared to the previous picture.  The regions of the
picture that are not covered by dirty rectangles are assumed to have not changed
compared to the previous picture.  The encoder may do some optimizations based on
this information.the ROI information is passed to the driver using VAEncMiscParameterTypeDirtyRect.

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoadd support for processing rate
Ping Liu [Tue, 13 Jun 2017 14:49:00 +0000 (22:49 +0800)]
add support for processing rate

application can query/get attribute of processing rate by VAConfigAttribProcessingRate
and query the processing rate of driver by vaQueryProcessingRate

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoAdd encoding intra refresh attribute
Jonathan Bian [Wed, 5 Jul 2017 15:19:33 +0000 (23:19 +0800)]
Add encoding intra refresh attribute

This attribute conveys whether the driver supports certain types of intra refresh methods
for encoding (e.g. adaptive intra refresh or rolling intra refresh).

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoadd Encoding quantization
Jonathan Bian [Tue, 13 Jun 2017 14:30:12 +0000 (22:30 +0800)]
add Encoding quantization

quary or get whether the driver supports certain types of quantization methods
for encoding (e.g. trellis).then set quantization setting by VAEncMiscParameterQuantization

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoexpose driver capibility of resolution
xfengcarl [Tue, 13 Jun 2017 14:22:00 +0000 (22:22 +0800)]
expose driver capibility of resolution

application can get the maxium resolution supported by driver
through these two attribute:VAConfigAttribMaxPictureWidth & VAConfigAttribMaxPictureHeight

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
3 years agoadd VAConfigAttribDecJPEG attributes
pylee [Tue, 13 Jun 2017 14:10:04 +0000 (22:10 +0800)]
add VAConfigAttribDecJPEG attributes

VAConfigAttribDecJPEG is for JPEG decode capabilities such as rotation

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>