OSDN Git Service

android-x86/hardware-intel-common-libva.git
6 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>
6 years agoadd 2D buffer support
Carl.Zhang [Mon, 17 Jul 2017 14:35:51 +0000 (22:35 +0800)]
add 2D buffer support

standard usage: permb  control buffer, it is always a 2D buffer related with MB Postion

Signed-off-by: Carl.Zhang <carl.zhang@intel.com>
6 years agoenhance h264 encode vui header setting
xfengcarl [Fri, 16 Jun 2017 11:09:44 +0000 (19:09 +0800)]
enhance h264 encode vui header setting

it's from h264 spec, add fix bit rate, low delay , mv over boundary flags

Signed-off-by: xfengcarl <carl.zhang@intel.com>
6 years agoenhence enc feature for vp8
xfengcarl [Wed, 7 Jun 2017 17:54:46 +0000 (01:54 +0800)]
enhence enc feature for vp8

add tempral_id for current frame

Signed-off-by: xfengcarl <carl.zhang@intel.com>
6 years agoAdd message callbacks for drivers to use
Mark Thompson [Mon, 2 Oct 2017 22:50:26 +0000 (23:50 +0100)]
Add message callbacks for drivers to use

This adds a mechanism for drivers to propagate arbitrary log messages
back to the API user.  It is intended to be used to replace all use of
logging to stdout/stderr in drivers.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoMove driver context allocation to common code
Mark Thompson [Mon, 2 Oct 2017 22:49:33 +0000 (23:49 +0100)]
Move driver context allocation to common code

This will be required to set common options on a newly-created driver
context.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agonew VPP features
xfengcarl [Mon, 28 Aug 2017 15:40:31 +0000 (23:40 +0800)]
new VPP features

new features:Total Color Correction, Non-Linear Anamorphic Scaling.
new color standard: sRGB stRGB, xvYCC601, xvYCC709, BT.2020

Signed-off-by: xfengcarl <carl.zhang@intel.com>
6 years agoNew VAAPI definition for multi-frame processing applicable for Encode, FEI Encode...
Artem Shaporenko [Mon, 4 Sep 2017 12:16:24 +0000 (15:16 +0300)]
New VAAPI definition for multi-frame processing applicable for Encode, FEI Encode/ENC/Pre-ENC, and VPP in future.

Signed-off-by: Artem Shaporenko artem.shaporenko@intel.com
6 years agoconfigure: set strict default compiler flags
U. Artie Eoff [Tue, 21 Nov 2017 19:31:23 +0000 (11:31 -0800)]
configure: set strict default compiler flags

Use -Wall -Werror compiler flags for stricter compilation.

Fixes #146

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6 years agobuild: Remove unused macro
Víctor Manuel Jáquez Leal [Fri, 3 Nov 2017 13:34:03 +0000 (14:34 +0100)]
build: Remove unused macro

Remove -DLINUX macro definition as compiler parameters because it is
not used.

Fixes: #147

6 years agova: Add missing enums to string conversions
Víctor Manuel Jáquez Leal [Fri, 3 Nov 2017 08:39:29 +0000 (09:39 +0100)]
va: Add missing enums to string conversions

Those enum were recently added and their conversion to strings were
missing.

Fixes: #144

6 years agocoverity: fix check_after_deref
Victor Toso [Wed, 15 Nov 2017 13:39:15 +0000 (14:39 +0100)]
coverity: fix check_after_deref

- /va/x11/dri2_util.c:
> libva-1.8.3/va/x11/dri2_util.c:218: check_after_deref: Null-checking
> "device_name" suggests that it may be null, but it has already been
> dereferenced on all paths leading to the check.

Signed-off-by: Victor Toso <victortoso@redhat.com>
6 years agoAdd fields for intensity compensation in VC-1 interlaced decoding
carpalis [Thu, 16 Nov 2017 19:38:34 +0000 (20:38 +0100)]
Add fields for intensity compensation in VC-1 interlaced decoding

Intensity compensation in P interlaced field pictures needs more
elements from the VC-1 bitstream.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
6 years agowayland: fix toctou violation when opening drm device
U. Artie Eoff [Tue, 14 Nov 2017 17:52:45 +0000 (09:52 -0800)]
wayland: fix toctou violation when opening drm device

A file's attributes could change between the stat() and the
open() operations.  Thus, check file attributes on the opened
file descriptor instead of the filename.

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6 years agova_fool: check fstat result
U. Artie Eoff [Tue, 14 Nov 2017 17:24:44 +0000 (09:24 -0800)]
va_fool: check fstat result

Check fstat return value for errors before attempting to use
the result.

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6 years agova_drm: dlopen correct version of libva-x11
Sebastian Ramacher [Sun, 12 Nov 2017 17:29:02 +0000 (18:29 +0100)]
va_drm: dlopen correct version of libva-x11

Determine the correct SONAME automatically.

Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
6 years agoMerge branch 'v2.0-branch' into master
Xiang, Haihao [Tue, 24 Oct 2017 07:17:15 +0000 (15:17 +0800)]
Merge branch 'v2.0-branch' into master

Conflicts:
configure.ac

6 years agolibva 2.0.0
Xiang, Haihao [Sat, 21 Oct 2017 04:49:13 +0000 (12:49 +0800)]
libva 2.0.0

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agolibva 2.0.0.pre3
Xiang, Haihao [Fri, 13 Oct 2017 17:28:44 +0000 (01:28 +0800)]
libva 2.0.0.pre3

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoFix returning of old info callback
Mark Thompson [Sun, 8 Oct 2017 16:32:18 +0000 (17:32 +0100)]
Fix returning of old info callback

Thanks to Sreerenj Balachandran <sreerenj.balachandran@intel.com> for
noticing this error.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
(cherry picked from commit cb1f254ec65954ff7585f40df4b38337c462b14c)

6 years agoFix returning of old info callback
Mark Thompson [Sun, 8 Oct 2017 16:32:18 +0000 (17:32 +0100)]
Fix returning of old info callback

Thanks to Sreerenj Balachandran <sreerenj.balachandran@intel.com> for
noticing this error.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agolibva 2.0.0.pre2
Xiang, Haihao [Fri, 29 Sep 2017 06:54:02 +0000 (14:54 +0800)]
libva 2.0.0.pre2

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoFix build issue on Android
Xiang, Haihao [Fri, 29 Sep 2017 02:58:30 +0000 (10:58 +0800)]
Fix build issue on Android

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoBump libva to 2.0.1.pre1 for development
Xiang, Haihao [Fri, 29 Sep 2017 05:42:39 +0000 (13:42 +0800)]
Bump libva to 2.0.1.pre1 for development

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUpdate NEWS
Xiang, Haihao [Thu, 28 Sep 2017 06:38:37 +0000 (14:38 +0800)]
Update NEWS

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoFix segmentation fault in VA tracer
Xiang, Haihao [Thu, 28 Sep 2017 01:45:46 +0000 (09:45 +0800)]
Fix segmentation fault in VA tracer

The first parameter of va_{error,info}Message is VADisplay

This fixes https://github.com/01org/libva/issues/123

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoAdd reserved bytes to most structures
Xiang, Haihao [Mon, 11 Sep 2017 08:46:10 +0000 (16:46 +0800)]
Add reserved bytes to most structures

The reserved bytest must be set to 0, then we can add new fields to those
structures in future without worrying about the API compatibility too
much.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUpdate the comments of packed header
xfengcarl [Fri, 8 Sep 2017 11:51:17 +0000 (19:51 +0800)]
Update the comments of packed header

Driver requires packed header when the related VAConfigAttribEncPackedHeaders
is set.

Signed-off-by: Carl,Zhang <carl.zhang@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoAdd or update the comment for num_ref_idx_{l0,l1}_default_active_minus1
Xiang, Haihao [Mon, 11 Sep 2017 05:37:57 +0000 (13:37 +0800)]
Add or update the comment for num_ref_idx_{l0,l1}_default_active_minus1

Both AVC and HEVC APIs requires application set the right
value for num_ref_idx_{l0,l1}_active_minus1 when
num_ref_idx_active_override_flag is 0.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUpdate some comment about VA-API
Xiang, Haihao [Fri, 8 Sep 2017 03:04:38 +0000 (11:04 +0800)]
Update some comment about VA-API

VA-API is not only for decode but also for encode and video processing
by now.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUpdate the comments for context and surface
Xiang, Haihao [Wed, 6 Sep 2017 06:08:26 +0000 (14:08 +0800)]
Update the comments for context and surface

Remove the limitation that a surface can't be shared between different
contexts at the same time.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agova: Use new va*Str() functions
Kelly Ledford [Fri, 15 Sep 2017 21:35:56 +0000 (14:35 -0700)]
va: Use new va*Str() functions

Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
6 years agova: Add functions for converting common enums to strings
Kelly Ledford [Thu, 14 Sep 2017 00:34:11 +0000 (17:34 -0700)]
va: Add functions for converting common enums to strings

Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
6 years agova_internal: list va_internal on noinst_HEADERS
Daniel Charles [Tue, 19 Sep 2017 21:18:57 +0000 (14:18 -0700)]
va_internal:  list va_internal on noinst_HEADERS

va_internal.h is not to be installed

Signed-off-by: Daniel Charles <daniel.charles@intel.com>
6 years agooptimize values for VAConfigAttribEncSliceStructure
xfengcarl [Thu, 1 Jun 2017 14:04:03 +0000 (22:04 +0800)]
optimize values for VAConfigAttribEncSliceStructure

redefine VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROW to non-zero value
all slice structure attributes value can OR'd together.

Signed-off-by: xfengcarl <carl.zhang@intel.com>
6 years agoFix deprecated warning
Xiang, Haihao [Thu, 24 Aug 2017 00:45:10 +0000 (08:45 +0800)]
Fix deprecated warning

enums marked as deprecated should not be used any more.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agova: Add the fourcc of I420 format
Jun Zhao [Sun, 9 Jul 2017 02:48:36 +0000 (10:48 +0800)]
va: Add the fourcc of I420 format

i965 will return the I420 in vaQuerySurfaceAttributes, but va.h didn't
add the pre-define fourcc, and will deprecate IYUV because it same as
I420 but most user perfer I420.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
6 years agoRemove the comment about vaGetSurfaceAttributes()
Xiang, Haihao [Thu, 10 Aug 2017 16:38:26 +0000 (00:38 +0800)]
Remove the comment about vaGetSurfaceAttributes()

vaGetSurfaceAttributes() was removed years ago, so remove the
corresponding comments

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUse portable types for VA structures
Xiang, Haihao [Tue, 20 Jun 2017 04:15:17 +0000 (12:15 +0800)]
Use portable types for VA structures

We have already defined VA structures using portable types in some
header files. Use portable types in the remaining header files to
keep the style consistency,

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoDeprecate packed misc packed header
Xiang, Haihao [Tue, 20 Jun 2017 02:47:00 +0000 (10:47 +0800)]
Deprecate packed misc packed header

All applications can use VAEncPackedHeaderRawData to insert a packed
header on demand

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoDelete libva-tpi and libva-egl backends
Xiang, Haihao [Mon, 19 Jun 2017 08:25:39 +0000 (16:25 +0800)]
Delete libva-tpi and libva-egl backends

The APIs/data structures defined in va_tpi.h and va_egl.h are used
to implement buffer sharing between libva and the 3rd party libraries.
We have an official buffer sharing machnism in VA core, so libva-tpi and
libva-egl are unnecessary any more.

However va_egl.h or va_tpi.h is included uselessly in a few places,
e.g. https://github.com/01org/libyami/blob/apache/vaapi/vaapidisplay.h#L22
So va_egl.h and va_tpi.h are kept with a deprecation warning message.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agodec/VC1: Update the comment for b_picture_fraction
Xiang, Haihao [Tue, 20 Jun 2017 06:02:56 +0000 (14:02 +0800)]
dec/VC1: Update the comment for b_picture_fraction

b_picture_fraction is used as an index in practice, so I updated the
comments to reduce the confusion to user

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUpdate the data structure for HEVC decoding
Xiang, Haihao [Thu, 1 Jun 2017 08:06:43 +0000 (16:06 +0800)]
Update the data structure for HEVC decoding

We have defined a codec-independent slice parameter buffer (VASliceParameterBufferBase)
for base mode slice decoding for all codecs, so VASliceParameterBufferBaseHEVC is
unnecessary. Fortunately VASliceParameterBufferBaseHEVC isn't used publicly, hence
we remove VASliceParameterBufferBaseHEVC from VA-API 1.0.0

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoupdate VAEncMacroblockParameterBufferH264
Xiang, Haihao [Thu, 1 Jun 2017 07:49:46 +0000 (15:49 +0800)]
update VAEncMacroblockParameterBufferH264

The type of bits should be a struct type, otherwise the flags in bits
will be impacted each other.

In addtion this adds a reserved byte to bits struct in inter_fields,
this should fix https://github.com/01org/libva/issues/35

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoFix a typo in VAConfigAttribValEncROI
Xiang, Haihao [Thu, 1 Jun 2017 07:34:41 +0000 (15:34 +0800)]
Fix a typo in VAConfigAttribValEncROI

The current delat is typo. This fix breaks API, fortunately
roi_rc_qp_delat_support isn't used widely

This fixes https://github.com/01org/libva/issues/32

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agova_egl.h: add license to file
Daniel Charles [Thu, 29 Jun 2017 20:40:09 +0000 (13:40 -0700)]
va_egl.h:  add license to file

license missing on header file.  Taken from c file

Signed-off-by: Daniel Charles <daniel.charles@intel.com>
6 years agoNote flags which have been renamed in the H.264 standard
Mark Thompson [Thu, 22 Jun 2017 22:20:34 +0000 (23:20 +0100)]
Note flags which have been renamed in the H.264 standard

residual_colour_transform_flag and pic_order_present_flag have
different names in newer versions of the H.264 standard, so add a
comment with the new name to reduce confusion.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoDetect short reads when filling fool buffers
Mark Thompson [Mon, 19 Jun 2017 18:09:34 +0000 (19:09 +0100)]
Detect short reads when filling fool buffers

Mainly to fix the warning (glibc marks read(2) with warn_unused_result).
The function continues anyway when this happens (matching current
behaviour when the file can't be opened at all).

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoAdd namespace prefix to global DRI functions in libva-x11
Mark Thompson [Mon, 19 Jun 2017 18:09:30 +0000 (19:09 +0100)]
Add namespace prefix to global DRI functions in libva-x11

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoAdd namespace prefix to globals
Mark Thompson [Mon, 19 Jun 2017 18:09:26 +0000 (19:09 +0100)]
Add namespace prefix to globals

Add "va_" prefix to trace_flag, fool_codec and fool_postp to avoid
polluting the global namespace.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoDeprecate H.264 baseline profile and FMO support
Mark Thompson [Mon, 19 Jun 2017 18:09:23 +0000 (19:09 +0100)]
Deprecate H.264 baseline profile and FMO support

This is not now and never will be supported by any hardware, nor is
it supported by any current software.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoAdd a macro to indicate deprecation
Mark Thompson [Thu, 22 Jun 2017 22:03:15 +0000 (23:03 +0100)]
Add a macro to indicate deprecation

This will generate a warning on gcc and compatible (clang, icc),
and do nothing with other compilers.  There is a separate macro
for enum variables, because gcc did not support deprecating them
until version 6.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoMake logging callbacks library-safe
Mark Thompson [Mon, 19 Jun 2017 18:09:20 +0000 (19:09 +0100)]
Make logging callbacks library-safe

Move the logging callbacks into the display context, rather than
having them as global state.  Add user-context parameter as well so
that users can distinguish between callbacks in different instances.

The default behaviour does not change, and LIBVA_MESSAGING_LEVEL
continues to be respected in that case.

Since we're breaking API here, also rename vaMessageCallback to
VAMessageCallback to be consistent with all other types.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoMove VADisplay allocation to common code
Mark Thompson [Mon, 19 Jun 2017 18:09:16 +0000 (19:09 +0100)]
Move VADisplay allocation to common code

This is slightly cleaner, and will be required to set common
options on a newly-created display.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoMove some common macro definitions to the new internal header
Mark Thompson [Mon, 19 Jun 2017 18:09:12 +0000 (19:09 +0100)]
Move some common macro definitions to the new internal header

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoMove declarations for internal functions to new header
Mark Thompson [Mon, 19 Jun 2017 18:09:04 +0000 (19:09 +0100)]
Move declarations for internal functions to new header

The new header is internal-only and will not be installed.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
6 years agoRefine the data type of slice_data_flag in VASliceParameterBufferHEVC to be consisten...
Zhao Yakui [Tue, 6 Jun 2017 00:26:20 +0000 (08:26 +0800)]
Refine the data type of slice_data_flag in VASliceParameterBufferHEVC to be consistent with other codecs

Currently the data type of slice_data_flag in VASliceParameterBufferHEVC is
uint16_t while it is uint32_t for other codecs. It is inconsistent.
As the memory is allocated as aligned, it still allocates four bytes for it.
So it will be better to use the consistent data type.

This fixes https://github.com/01org/libva/issues/58

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
6 years agolibva 2.0.0.pre1 for development
Xiang, Haihao [Thu, 1 Jun 2017 07:26:46 +0000 (15:26 +0800)]
libva 2.0.0.pre1 for development

ABI was broken in the previous versions, so we will bump the VA API version
to 1.0.0 and library version to 2.0.0 for next release. Some data
structures will be changed or removed in the next commits

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUse a flexible array member
Xiang, Haihao [Tue, 12 Sep 2017 05:38:11 +0000 (13:38 +0800)]
Use a flexible array member

ISO C/C++ forbids zero-size array, but flexible array member is
supported since C99.

This fixes https://github.com/01org/libva/issues/76

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoBump a new VA API version
Xiang, Haihao [Tue, 22 Aug 2017 01:57:06 +0000 (09:57 +0800)]
Bump a new VA API version

Some new definitions were added for FEI, so bump a new VA API version

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoH264 FEI support
Kelvin Hu [Fri, 9 Jun 2017 02:49:40 +0000 (10:49 +0800)]
H264 FEI support

The purpose of FEI (Flexible Encoding Infrastructure) is to allow applications
to have more controls and trade off quality for speed with their own IPs. The
application can optionally provide input to ENC for extra encode control and
get the output from ENC. Application can chose to modify the ENC output/PAK
input during encoding, but the performance impact is significant.

FEI EntryPoint/BufferType/Attrib changes are in va.h, codec common
changes are in va_fei.h, va_fei_h264.h is for H264 special changes

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>
6 years agoAdd support for encoding QP buffer
Sreerenj Balachandran [Wed, 12 Jul 2017 22:15:51 +0000 (15:15 -0700)]
Add support for encoding QP buffer

VAEncQPBufferH264 structure is defined to hold QP per 16x16 macroblock
for H.264 encoding, we can add similar structures for other codecs in
the future. VAEncQPBufferType is added to pass the corresponding
QP buffer to the driver for each codec.

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Jonathan Bian <jonathan.bian@intel.com>
6 years agowayland: Add wl_drm listener immediately upon bind
Philipp Kerling [Wed, 16 Aug 2017 10:37:27 +0000 (12:37 +0200)]
wayland: Add wl_drm listener immediately upon bind

Events on wl_drm could get lost if the listener is bound only after
the roundtrip is complete. While it is correct that to get all wl_drm
events at most two roundtrips are required, in fact one roundtrip may
be enough if another thread flushes and reads from the connection
in parallel to the initial libva wl_registry roundtrip. It is thus too
late to call wl_drm_add_listener after the roundtrip.

Fixes: #101

6 years agowayland: Implement registry remove handler
Philipp Kerling [Wed, 16 Aug 2017 10:37:27 +0000 (12:37 +0200)]
wayland: Implement registry remove handler

Wayland event handlers are never optional. libwayland-client will abort
the program if events for unbound handlers are to be dispatched.
Although the event queue is only dispatched a few times during
initialization for getting the wl_drm global and authenticating the DRM
device, in rare circumstances it can happen that another global such as
a wl_output - or even wl_drm itself - is removed during that time, which
would crash the program. Implement the handler to fix this.

Fixes: #99

Signed-off-by: Philipp Kerling <pkerling@casix.org>
6 years agowayland: Immediately destroy wl_* objects when DRM device is authenticated
Philipp Kerling [Wed, 16 Aug 2017 10:37:27 +0000 (12:37 +0200)]
wayland: Immediately destroy wl_* objects when DRM device is authenticated

The Wayland protocol is only used to determine which device driver to
load and initialize the DRM state. After the initial roundtrips that
open and authenticate the DRM device, the Wayland protocol objects
are not used anymore and will only take up memory and possibly have
events queued that never get handled.
As fix, destroy them immediately after DRM auth is through. This commit
also adds more error checking to the initialization function.

Fixes: #100

Signed-off-by: Philipp Kerling <pkerling@casix.org>
6 years agoMerge branch 'v1.8-branch' into master
Xiang, Haihao [Wed, 16 Aug 2017 05:06:25 +0000 (13:06 +0800)]
Merge branch 'v1.8-branch' into master

6 years agoAdded a libva_version variable to libva.pc.in
Lim Siew Hoon [Mon, 14 Aug 2017 07:35:33 +0000 (15:35 +0800)]
Added a libva_version variable to libva.pc.in

Fixes #95

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
6 years agova.h: fix comments error for arbitrary number of MBs per slice. nougat-x86 android-x86-7.1-r1 android-x86-7.1-r2 android-x86-7.1-r3 android-x86-7.1-r4 android-x86-7.1-r5
Jun Zhao [Thu, 10 Aug 2017 07:33:38 +0000 (03:33 -0400)]
va.h: fix comments error for arbitrary number of MBs per slice.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
6 years agoglx: strcmp compares chars not unsigned chars
Víctor Manuel Jáquez Leal [Wed, 9 Aug 2017 10:51:12 +0000 (12:51 +0200)]
glx: strcmp compares chars not unsigned chars

Thus, silence the warnings raising by clang-3.8 compiler.

Fixes #89

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6 years agova_trace: remove unused variables
Víctor Manuel Jáquez Leal [Wed, 9 Aug 2017 10:47:30 +0000 (12:47 +0200)]
va_trace: remove unused variables

Remove unused variables detected by clang-3.8

Fixes #89

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6 years agolibva 1.8.3
Xiang, Haihao [Wed, 28 Jun 2017 00:24:18 +0000 (08:24 +0800)]
libva 1.8.3

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agova_trace: add quality_level trace log
Zhong Li [Tue, 27 Jun 2017 07:20:56 +0000 (15:20 +0800)]
va_trace: add quality_level trace log

Signed-off-by: Zhong Li <zhong.li@intel.com>
6 years agoconfigure fails if requirement can't be met for user's explicit request
Xiang, Haihao [Mon, 19 Jun 2017 03:01:02 +0000 (11:01 +0800)]
configure fails if requirement can't be met for user's explicit request

Notify user an error if user provides --enable-x11/--enable-glx/--enable-egl/--enable-wayland
however the requirement can't be met. drm has been checked mandatorily
in the script

v2: Remove XEXT_CFLAGS/XFIXES_CFLAGS from va/x11/Makefile.am and use
$X11_PKG_ERRORS in the error message if the requirement is met for VA/X11

This fixes https://github.com/01org/libva/issues/68

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6 years agowayland: Do not rely on external library for wl_drm_interface
Philipp Kerling [Tue, 13 Jun 2017 10:33:27 +0000 (12:33 +0200)]
wayland: Do not rely on external library for wl_drm_interface

Doing the runtime lookup is error-prone (as indicated in the code
already by the two library names) and not necessary at all.
Just compile wl_drm_interface as part of libva which is the usual
way to use extra Wayland protocols. Care must be taken as to not
accidentally export the symbol though.

6 years agowayland: Also support wl_drm version 1
Philipp Kerling [Tue, 13 Jun 2017 07:54:06 +0000 (09:54 +0200)]
wayland: Also support wl_drm version 1

Just using version 2 without checking would lead to a protocol error
bringing down the entire application, and wl_drm version 1 is still
supported since v2 only adds PRIME capabilities.

Signed-off-by: Philipp Kerling <pkerling@casix.org>
6 years agoBump wayland-client dependency to 1.11.0
Philipp Kerling [Tue, 13 Jun 2017 11:14:06 +0000 (13:14 +0200)]
Bump wayland-client dependency to 1.11.0

Signed-off-by: Philipp Kerling <pkerling@casix.org>
6 years agowayland: Use private event queue for compositor communication
Philipp Kerling [Tue, 13 Jun 2017 07:45:30 +0000 (09:45 +0200)]
wayland: Use private event queue for compositor communication

(Ab)using the default queue that the application might itself use
already and work on in parallel to initializing libva is not
thread-safe. Make it thread-safe by setting a private queue on a
wrapped wl_display. Also print some more error messages in case things
go wrong.

Signed-off-by: Philipp Kerling <pkerling@casix.org>
Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
6 years agowayland: Cleanup wl_registry in va_wayland_drm_destroy
Philipp Kerling [Tue, 13 Jun 2017 07:42:40 +0000 (09:42 +0200)]
wayland: Cleanup wl_registry in va_wayland_drm_destroy

Signed-off-by: Philipp Kerling <pkerling@casix.org>
Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
6 years agowayland: Fix uninitialized registry
Philipp Kerling [Tue, 13 Jun 2017 07:57:43 +0000 (09:57 +0200)]
wayland: Fix uninitialized registry

Signed-off-by: Philipp Kerling <pkerling@casix.org>
6 years agoBump libva to 1.8.4.pre1 for development
Xiang, Haihao [Mon, 12 Jun 2017 16:03:51 +0000 (00:03 +0800)]
Bump libva to 1.8.4.pre1 for development

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoUpdate NEWS
Xiang, Haihao [Mon, 12 Jun 2017 01:53:10 +0000 (09:53 +0800)]
Update NEWS

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
6 years agoAdd va_MessagingInit().
Giuseppe [Fri, 9 Jun 2017 20:07:21 +0000 (22:07 +0200)]
Add va_MessagingInit().

Previous to this commit, changing verbosity level
was only possible at build time via the definition
of ENABLE_VA_MESSAGING.

Now it's possible to choose a verbosity level between
{0, 1, 2} by modifying /etc/libva.conf or by setting
the corresponding environment variable LIBVA_MESSAGING_LEVEL.

Signed-off-by: Giuseppe <giuscri@gmail.com>
(cherry picked from commit b4d0874dcbe99d1f47bd39d0c156ea89ecd0ebcc)

6 years agoAdd va_MessagingInit().
Giuseppe [Fri, 9 Jun 2017 20:07:21 +0000 (22:07 +0200)]
Add va_MessagingInit().

Previous to this commit, changing verbosity level
was only possible at build time via the definition
of ENABLE_VA_MESSAGING.

Now it's possible to choose a verbosity level between
{0, 1, 2} by modifying /etc/libva.conf or by setting
the corresponding environment variable LIBVA_MESSAGING_LEVEL.

Signed-off-by: Giuseppe <giuscri@gmail.com>
6 years agoFix small typos.
Giuseppe [Fri, 9 Jun 2017 20:04:01 +0000 (22:04 +0200)]
Fix small typos.

/etc/libav.conf was spelled incorrectly,
some lines were bad indented because of
mixed tabs and spaces.

Signed-off-by: Giuseppe <giuscri@gmail.com>
(cherry picked from commit 5f93344df466a81ba1388ae6802bb55d1fbad0b2)

6 years agoFix small typos.
Giuseppe [Fri, 9 Jun 2017 20:04:01 +0000 (22:04 +0200)]
Fix small typos.

/etc/libav.conf was spelled incorrectly,
some lines were bad indented because of
mixed tabs and spaces.

Signed-off-by: Giuseppe <giuscri@gmail.com>
6 years agoAvoid assertion fault when trying to draw a big picture
Xiang, Haihao [Thu, 1 Jun 2017 15:46:18 +0000 (23:46 +0800)]
Avoid assertion fault when trying to draw a big picture

The display server doesn't support the big picture, so the returned
buffer is NULL. The fix returns a NULL buffer instead of assertion fault
in libva-x11, the backend driver should handle this case in a right way
as well.

This fixes https://github.com/01org/libva/issues/51

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit e4072fb1f2cccb468fc84c67c5c51e649affec48)

6 years agoRemove the dummy driver
Xiang, Haihao [Thu, 1 Jun 2017 08:44:45 +0000 (16:44 +0800)]
Remove the dummy driver

No one is interested in this dummy driver and it is not maintained.

This fixes https://github.com/01org/libva/issues/28

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit 61785ae8eead50bfe785b5cbaacf42a49e1d0fd3)

6 years agoREADME.md: update Slack Team invite URL
U. Artie Eoff [Thu, 25 May 2017 17:50:22 +0000 (10:50 -0700)]
README.md: update Slack Team invite URL

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
(cherry picked from commit ad40e9b13edc0675368ce87eec73d77daa7f139c)

6 years agoandroid: move libva-android to /vendor
Chih-Wei Huang [Mon, 8 May 2017 04:04:35 +0000 (12:04 +0800)]
android: move libva-android to /vendor

This was missed in the previous commit bed97ef.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 7d012d079aa1cd76b48cdb0bc4b6ee4227d2550c)

6 years agoandroid: remove rules of unnecessary libraries
Chih-Wei Huang [Fri, 12 May 2017 02:15:09 +0000 (10:15 +0800)]
android: remove rules of unnecessary libraries

Both libva-tpi and libva-egl should not be used any more.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 52a8af0d3dd19ec2313b43100022ff22fb61283d)

6 years agoandroid: open renderD128 by default
Xu Guangxin [Sat, 6 May 2017 09:51:13 +0000 (05:51 -0400)]
android: open renderD128 by default

if we open card0, we need be a root to call I915_PARAM_CHIPSET_ID,
but mediaservice's owner is not root, open renderD128 will fix this.

(cherry picked from commit b1aa5568ad619eb5f526f653a15154c03f3bcb87)

6 years agova_trace: add traces for MB rate control/temporal layer
Jun Zhao [Mon, 8 May 2017 05:22:33 +0000 (13:22 +0800)]
va_trace: add traces for MB rate control/temporal layer

add trace information for mb_rate_control/temporal_id in
VAEncMiscParameterRateControl

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
(cherry picked from commit 9458fd8893919633e4fe146cafcf339ffbc3c8ae)

6 years agoAdd the suffix_str back into the tracing file name
peng.chen [Tue, 2 May 2017 03:03:32 +0000 (11:03 +0800)]
Add the suffix_str back into the tracing file name

Fix #44

(cherry picked from commit bd949b77e8f0226a746b5fc2002b01a0e9ea1f2e)

6 years agoandroid: change VA_DRIVERS_PATH to /vendor
Chih-Wei Huang [Wed, 26 Apr 2017 05:32:29 +0000 (13:32 +0800)]
android: change VA_DRIVERS_PATH to /vendor

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 63e14fc10177f88fb1350681120b4bce15ea81a7)

6 years agoandroid: move the libraries to /vendor
Chih-Wei Huang [Wed, 26 Apr 2017 05:31:00 +0000 (13:31 +0800)]
android: move the libraries to /vendor

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit bed97efad515ebb904f5c5a62adba2c2517813e2)

6 years agoRemove the unnecessary exec bit
Chih-Wei Huang [Thu, 6 Apr 2017 05:26:45 +0000 (13:26 +0800)]
Remove the unnecessary exec bit

These files are not executables.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 8352ab917198e8034461d068266d4e5437d16d7c)

6 years agoandroid: change libva drivers path
Chih-Wei Huang [Thu, 6 Apr 2017 05:18:37 +0000 (13:18 +0800)]
android: change libva drivers path

Use the path similar to linux desktop.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit a42e50357d6b76a949641ed6c7f9557e2867be60)

6 years agoandroid: enable logging except the user build
Chih-Wei Huang [Thu, 6 Apr 2017 04:56:57 +0000 (12:56 +0800)]
android: enable logging except the user build

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit cffbd24dd227d3552f2f025276afae21c0168a54)

6 years agoandroid: simplify Android logging
Chih-Wei Huang [Thu, 6 Apr 2017 04:01:46 +0000 (12:01 +0800)]
android: simplify Android logging

To support older versions, just check if ALOGx are defined.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 340d99b62600c1f86eabdefbfa778559d5ac5a7c)

6 years agoandroid: remove redundant -DANDROID
Chih-Wei Huang [Thu, 6 Apr 2017 02:45:09 +0000 (10:45 +0800)]
android: remove redundant -DANDROID

It has already been defined by the Android build system.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
(cherry picked from commit 9d345be87f9e163d054449d363659a60e2f3867f)