OSDN Git Service
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>
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.
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
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>
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>
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>
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>
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>
Hongbo [Mon, 30 Oct 2017 14:31:24 +0000 (22:31 +0800)]
Expose the encode passes interface.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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
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
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>
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>
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>
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>
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>
Xiang, Haihao [Tue, 24 Oct 2017 07:17:15 +0000 (15:17 +0800)]
Merge branch 'v2.0-branch' into master
Conflicts:
configure.ac
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>
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>
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)
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>
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>
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>
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>
Xiang, Haihao [Thu, 28 Sep 2017 06:38:37 +0000 (14:38 +0800)]
Update NEWS
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>