summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'v2.0-branch' into mastercoverity_scanXiang, Haihao2017-10-244-3/+26
|\ | | | | | | | | Conflicts: configure.ac
| * libva 2.0.0libva-2.0.02.0.0v2.0-branchXiang, Haihao2017-10-212-3/+3
| | | | | | | | Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
| * libva 2.0.0.pre32.0.0.pre3Xiang, Haihao2017-10-141-1/+1
| | | | | | | | Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
| * Fix returning of old info callbackMark Thompson2017-10-141-1/+1
| | | | | | | | | | | | | | | | 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)
| * libva 2.0.0.pre22.0.0.pre2Xiang, Haihao2017-09-291-1/+1
| | | | | | | | Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
| * Fix build issue on AndroidXiang, Haihao2017-09-293-2/+11
| | | | | | | | Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
| * Update NEWS2.0.0.pre1Xiang, Haihao2017-09-281-1/+15
| | | | | | | | Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
* | Fix returning of old info callbackMark Thompson2017-10-111-1/+1
| | | | | | | | | | | | | | Thanks to Sreerenj Balachandran <sreerenj.balachandran@intel.com> for noticing this error. Signed-off-by: Mark Thompson <sw@jkqxz.net>
* | Bump libva to 2.0.1.pre1 for developmentXiang, Haihao2017-09-291-1/+1
|/ | | | Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
* Fix segmentation fault in VA tracerXiang, Haihao2017-09-282-16/+18
| | | | | | | | 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>
* Add reserved bytes to most structuresXiang, Haihao2017-09-2718-2/+264
| | | | | | | | 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>
* Update the comments of packed headerxfengcarl2017-09-271-3/+18
| | | | | | | | 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>
* Add or update the comment for num_ref_idx_{l0,l1}_default_active_minus1Xiang, Haihao2017-09-272-2/+14
| | | | | | | | 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>
* Update some comment about VA-APIXiang, Haihao2017-09-271-20/+26
| | | | | | | 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>
* Update the comments for context and surfaceXiang, Haihao2017-09-271-9/+12
| | | | | | | 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>
* va: Use new va*Str() functionsKelly Ledford2017-09-271-36/+6
| | | | Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
* va: Add functions for converting common enums to stringsKelly Ledford2017-09-273-0/+183
| | | | Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
* va_internal: list va_internal on noinst_HEADERSDaniel Charles2017-09-271-0/+1
| | | | | | va_internal.h is not to be installed Signed-off-by: Daniel Charles <daniel.charles@intel.com>
* optimize values for VAConfigAttribEncSliceStructurexfengcarl2017-09-271-2/+6
| | | | | | | 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>
* Fix deprecated warningXiang, Haihao2017-09-274-5/+3
| | | | | | enums marked as deprecated should not be used any more. Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
* va: Add the fourcc of I420 formatJun Zhao2017-09-271-0/+2
| | | | | | | | 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>
* Remove the comment about vaGetSurfaceAttributes()Xiang, Haihao2017-09-271-8/+6
| | | | | | | vaGetSurfaceAttributes() was removed years ago, so remove the corresponding comments Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
* Use portable types for VA structuresXiang, Haihao2017-09-278-682/+683
| | | | | | | | 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>
* Deprecate packed misc packed headerXiang, Haihao2017-09-273-5/+28
| | | | | | | All applications can use VAEncPackedHeaderRawData to insert a packed header on demand Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
* Delete libva-tpi and libva-egl backendsXiang, Haihao2017-09-2712-507/+4
| | | | | | | | | | | | | 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>
* dec/VC1: Update the comment for b_picture_fractionXiang, Haihao2017-09-271-1/+1
| | | | | | | 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>
* Update the data structure for HEVC decodingXiang, Haihao2017-09-271-36/+0
| | | | | | | | | 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>
* update VAEncMacroblockParameterBufferH264Xiang, Haihao2017-09-271-4/+5
| | | | | | | | | | 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>
* Fix a typo in VAConfigAttribValEncROIXiang, Haihao2017-09-271-5/+5
| | | | | | | | | 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>
* va_egl.h: add license to fileDaniel Charles2017-09-271-0/+23
| | | | | | license missing on header file. Taken from c file Signed-off-by: Daniel Charles <daniel.charles@intel.com>
* Note flags which have been renamed in the H.264 standardMark Thompson2017-09-271-2/+2
| | | | | | | | 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>
* Detect short reads when filling fool buffersMark Thompson2017-09-271-2/+8
| | | | | | | | 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>
* Add namespace prefix to global DRI functions in libva-x11Mark Thompson2017-09-274-14/+14
| | | | Signed-off-by: Mark Thompson <sw@jkqxz.net>
* Add namespace prefix to globalsMark Thompson2017-09-276-43/+43
| | | | | | | 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>
* Deprecate H.264 baseline profile and FMO supportMark Thompson2017-09-272-17/+5
| | | | | | | 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>
* Add a macro to indicate deprecationMark Thompson2017-09-271-0/+12
| | | | | | | | | 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>
* Make logging callbacks library-safeMark Thompson2017-09-276-79/+115
| | | | | | | | | | | | | | 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>
* Move VADisplay allocation to common codeMark Thompson2017-09-276-10/+22
| | | | | | | 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>
* Move some common macro definitions to the new internal headerMark Thompson2017-09-276-13/+5
| | | | Signed-off-by: Mark Thompson <sw@jkqxz.net>
* Move declarations for internal functions to new headerMark Thompson2017-09-273-12/+35
| | | | | | The new header is internal-only and will not be installed. Signed-off-by: Mark Thompson <sw@jkqxz.net>
* Refine the data type of slice_data_flag in VASliceParameterBufferHEVC to be ↵Zhao Yakui2017-09-271-1/+1
| | | | | | | | | | | | | 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>
* libva 2.0.0.pre1 for developmentXiang, Haihao2017-09-272-14/+6
| | | | | | | | 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>
* Use a flexible array memberXiang, Haihao2017-09-191-1/+1
| | | | | | | | | 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>
* Bump a new VA API versionXiang, Haihao2017-08-231-1/+1
| | | | | | Some new definitions were added for FEI, so bump a new VA API version Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
* H264 FEI supportKelvin Hu2017-08-214-0/+451
| | | | | | | | | | | | | | | | | | 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>
* Add support for encoding QP bufferSreerenj Balachandran2017-08-212-0/+18
| | | | | | | | | | | 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>
* wayland: Add wl_drm listener immediately upon bindPhilipp Kerling2017-08-171-7/+10
| | | | | | | | | | | 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
* wayland: Implement registry remove handlerPhilipp Kerling2017-08-171-3/+20
| | | | | | | | | | | | | | 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>
* wayland: Immediately destroy wl_* objects when DRM device is authenticatedPhilipp Kerling2017-08-171-29/+50
| | | | | | | | | | | | | | 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>
* Merge branch 'v1.8-branch' into masterXiang, Haihao2017-08-161-1/+12
|\