blob: b327aa48137232c5684baa4db828c1d140961061 [file] [log] [blame]
libva NEWS -- summary of user visible changes. 2023-09-14
Copyright (C) 2009-2023 Intel Corporation
version 2.20.0 - 14.Sep.2023
* va: drop no longer applicable vaGetDriverNames check
* va: remove unreachable "DRIVER BUG"
* x11/dri2: limit the array handling to avoid out of range access
* va/backend: document the vaGetDriver* APIs
* va/backend: annotate vafool as deprecated
* win32: remove duplicate adapter_luid entry
* va: Added Q416 fourcc (three-plane 16-bit YUV 4:4:4)
* trace: fix minor issue about printf data type and value range
* jpeg: add support for crop and partial decode
* trace: Unlock mutex before return
* trace: Add trace for vaExportSurfaceHandle
* av1: Revise offsets comments for av1 encode
* va: Add new VADecodeErrorType to indicate the reset happended in the driver.
* drm: limit the array size to avoid out of range
* va: fix:set driver number to be zero if vaGetDriverNames failed
* va: fix:don't leak driver names, when override is set
* win32: Only print win32 driver messages in DEBUG builds
* va: Add vendor string on va_TraceInitialize
* va: remove legacy code paths
* drm: remove no longer used helpers
* x11: remove legacy code paths
* x11: allow disabling DRI3 via LIBVA_DRI3_DISABLE env var
* x11: implement vaGetDriverNames
* va/x11/va_nvctrl: remove some dead code
* va/x11/va_fglrx: remove some dead code
* va: optimize code of getting driver name for all protocols/os(wayland,x11,drm,win32,android)
version 2.19.0 - 04.Jul.2023
* docs: fix references and descriptions snf focyhrn mstkup
* ci: add build docs test
* win: change default driver search path to bindir
* win: rely on compiler to define link names
* add: Add mono_chrome to VAEncSequenceParameterBufferAV1
* add: Enable support for license acquisition of multiple protected playbacks
* fix: year for version 2.18.0 in NEWS
* fix: use secure_getenv instead of getenv
* trace: Improve and add VA trace log for AV1 encode
* trace: Unify va log message, replace va_TracePrint with va_TraceMsg.
version 2.18.0 - 19.Mar.2023
* doc: Add build and install libva informatio in home page.
* fix: NULL check before calling strncmp.
* ci: add dependabot
* va: fix the codying style of CHECK_DISPLAY
* va: remove dummy isValid() hook
* x11: use LIBVA_DRI3_DISABLE in GetNumCandidates
* win: compat_win32: Add getenv wrapper for WIN32
* win(WSL): va_drm_utils: Map d3d12 gallium driver for Windows Subsytem for Linux
* fix: Add libva.def into distribution package
* x11: allow disabling DRI3 via LIBVA_DRI3_DISABLe env var
* ci: enable Werror across the build
* win: explicitly ignore CloseAdapter return value
* win: use wide string literal where needed
* win: Add vaDisplayIsValid to .def export list
* va: Always build with va-messaging API
* meson: docs: use libva_version over project_version()
* ci: add github pages workflow
* meson: docs: add encoder interface for av1
* va: add VAProfileH264High10
* fix: Remove reference to non-existent symbol
* va: va/sysdeps.h: remove Android section
* va: remove Android pre Jelly Bean workarounds
* va: remove unused drm_sarea.h include & ANDROID references in va_dricommon.h
version 2.17.0 - 16.Dec.2022
* win: Simplify signature for driver name loading
* win: Rewrite driver registry query and fix some bugs/leaks/inefficiencies
* win: Add missing null check after calloc
* va: Update security disclaimer
* ci: drop paths-ignore in github workflow
* dep:remove the file .cvsignore
* ci: install the requested version
* ci: freebsd: add pretty(ier) step names
* ci: freebsd: use meson setup and meson install
* ci: ubuntu: add pretty(ier) step names
* ci: polish the windows/meson invocations
* ci: style: use prettier formatting
* pkgconfig: add 'with-legacy' for emgd, nvctrl and fglrx
* meson: add 'with-legacy' for emgd, nvctrl and fglrx
* x11: move all FGLRX code to va_fglrx.c
* x11: move all NVCTRL code to va_nvctrl.c
* meson: stop using deprecated meson.source_root()
* meson: stop using configure_file copy=true
* va: correctly include the win32 (local) headers
* ci: add style check/unify job
* win: clean-up the coding style
* va: dos2unix all the files
* ci: add meson permutation in the Ubuntu builds
* ci: remove unused make check
* drm: remove unnecessary dri2 version/extension query
* ci: use matrix, add ubuntu 20.04 + clang-15
* trace: annotate internal functions with DLL_HIDDEN
* build/sysdeps: Remove HAVE_GNUC_VISIBILITY_ATTRIBUTE and use _GNUC_ support level attribute instead
* meson: Check support for -Wl,-version-script and build link_args accordingly
* ci: switch python action from @v2 to @v4
* ci: dos2unix for windows workflow files
* ci: switch checkout action from @v2 to @v3
* meson: Set va_win32 soversion to '' and remove the install_data rename
* fix: resouce check null
* ci: Add msvc/mingw Windows CI
* va_trace: Add Win32 memory types in va_TraceSurfaceAttributes
* va_trace: va_TraceSurfaceAttributes should check the VASurfaceAttribMemoryType
* va: Adds Win32 Node and Windows build support
* va: Adds compat_win32 abstraction for Windows build and prepares va common code for windows build
* pkgconfig: Add Win32 package for when WITH_WIN32 is enabled
* meson: Add with_win32 option, makes libdrm non-mandatory on Win
* ci(va_win): add libx11-xcb-dev libxcb-dri3-dev to trigger X11 backend build
* x11: add basic DRI3 support
* drm: remove VA_DRM_IsRenderNodeFd() helper
* drm: add radeon drm + radeonsi mesa combo
version 2.16.0 - 27.Sep.2022
* add: Add HierarchicalFlag & hierarchical_level_plus1 for AV1e.
* dep: Update to remove badge links
* dep: Removed waffle-io badge from README to fix broken link
* dep: Drop mailing list, IRC and Slack
* autotools: use wayland-scanner private-code
* autotools: use the wayland-scanner.pc to locate the prog
* meson: use wayland-scanner private-code
* meson: request native wayland-scanner
* meson: use the wayland-scanner.pc to locate the prog
* meson: set HAVE_VA_X11 when applicable
* style:Correct slight coding style in several new commits
* trace: add Linux ftrace mode for va trace
* trace: Add missing pthread_mutex_destroy
* drm: remove no-longer needed X == X mappings
* drm: fallback to drm driver name == va driver name
* drm: simplify the mapping table
* x11: simplify the mapping table
* android: open() with O_CLOEXEC for device fd
* android: remove convoluted open_device() helper
* android: drop va_fool references
* ci: strengthen ci with -Werror
* ci: va/x11/nvctl: fix Wdeprecated-non-prototype on close_display
* ci: add clang-15 coverage and rearrange runners
* ci: upgrade FreeBSD to 13.1
version 2.15.0 - 28.Jun.2022
* Add: new display HW attribute to report PCI ID
* Add: sample depth related parameters for AV1e
* Add: refresh_frame_flags for AV1e
* Add: missing fields in va_TraceVAEncSequenceParameterBufferHEVC.
* Add: nvidia-drm to the drm driver map
* Add: type and buffer for delta qp per block
* Deprecation: remove the va_fool support
* Fix:Correct the version of meson build on master branch
* Fix:X11 DRI2: check if device is a render node
* Build:Use also strong stack protection if supported
* Trace:print the string for profile/entrypoint/configattrib
version 2.14.0 - 16.Feb.2022
* add: Add av1 encode interfaces
* add: VA/X11 VAAPI driver mapping for crocus DRI driver
* doc: Add description of the fd management for surface importing
* ci: fix freebsd build
* meson: Copy public headers to build directory to support subproject
version 2.13.0 - 16.Sep.2021
* fix:Check the function pointer before using
* code style:unify the code styles using the style_unify script
* doc:Fix av1 dec doc page link issue
* add:(sep_layer) add new surface format fourcc XYUV
version 2.12.0 - 17.Jun.2021
* add: Report the capability of vaCopy support
* add: Report the capability of sub device
* add: Add config attributes to advertise HEVC/H.265 encoder features
* add: Video processing HVS Denoise: Added 4 modes
* add: Introduce VASurfaceAttribDRMFormatModifiers
* add: Add 3DLUT Filter in Video Processing.
* doc: Update log2_tile_column description for vp9enc
* trace: Correct av1 film grain trace information
* ci: Fix freebsd build by switching to vmactions/freebsd-vm@v0.1.3
version 2.11.0 - 23.Mar.2021
* add: LibVA Protected Content API
* add: Add a configuration attribute to advertise AV1d LST feature
* fix: wayland: don't try to authenticate with render nodes
* autotools: use shell grouping instead of sed to prepend a line
* trace: Add details data dump for mpeg2 IQ matrix.
* doc: update docs for VASurfaceAttribPixelFormat
* doc: Libva documentation edit for AV1 reference frames
* doc: Modify AV1 frame_width_minus1 and frame_height_minus1 comment
* doc: Remove tile_rows and tile_cols restriction to match AV1 spec
* doc: Format code for doxygen output
* doc: AV1 decode documentation edit for superres_scale_denominator
* ci: upgrade FreeBSD to 12.2
* ci: disable travis build
* ci: update cache before attempting to install packages
* ci: avoid running workloads on other workloads changes
* ci: enable github actions
version 2.10.0 - 04.Dec.2020
* add: Pass offset and size of pred_weight_table
* add: add vaCopy interface to copy surface and buffer
* add: add definition for different execution
* add: New parameters for transport controlled BRC were added
* add: add FreeBSD support
* add: add a bufer type to adjust context priority dynamically
* fix: correct the api version in
* fix: remove deprecated variable from va_trace.c
* fix: Use va_deprecated for the deprecate variable
* fix: Mark chroma_sample_position as deprecated
* doc: va_dec_av1: clarifies CDEF syntax element packing
* doc: [AV1] Update documented ranges for loop filter and quantization params.
* doc: Update va.h for multi-threaded usages
* trace: va/va_trace: ignore system gettid() on Linux
version 2.9.0 - 11.Sep.2020
* trace: Refine the va_TraceVAPictureParameterBufferAV1.
* doc: Add comments for backward/forward reference to avoid confusion
* doc: Modify comments in av1 decoder interfaces
* doc: Update mailing list
* Add SCC fields trace for HEVC SCC encoding.
* Add FOURCC code for Y212 and Y412 format.
* Add interpolation method for scaling.
* add attributes for context priority setting
* Add vaSyncBuffer for output buffers synchronization
* Add vaSyncSurface2 with timeout
version 2.8.0 - 18.Jun.2020
* trace: enable return value trace for successful function call
* trace: divide va_TraceEndPicture to two seperate function
* trace: add support for VAProfileHEVCSccMain444_10
* fix:Fixes file descriptor leak
* add fourcc code for P012 format
* travis: Add a test that code files don't have the exec bit set
* Remove the execute bit from all source code files
* meson: Allow for libdir and includedir to be absolute paths
* trace: Fix format string warnings
* fix:Fix clang warning (reading garbage)
* add definition to enforce both reflist not empty
* trace: List correct field names in va_TraceVAPictureParameterBufferHEVC
* change the return value to be UNIMPLEMENTED when the function pointer is NULL
* remove check of vaPutSurface implementation
* Add new slice structure flag for CAPS reporting
* VA/X11: VAAPI driver mapping for iris DRI driver
* VA/X11: enable driver candidate selection for DRI2
* Add SCC flags to enable/disable features
* fix: Fix HDR10 MaxCLL and MaxFALL documentation
* Add VAProfileHEVCSccMain444_10 for HEVC
* change the compatible list to be dynamic one
* trace:Convert VAProfileAV1Profile0 VAProfileAV1Profile1 to string
version 2.7.0 - 26.Mar.2020
* trace: av1 decode buffers trace
* trace: Add HEVC REXT and SCC trace for decoding.
* Add av1 decode interfaces
* Fix crashes on system without supported hardware by PR #369.
* Add 2 FourCC for 10bit RGB(without Alpha) format: X2R10G10B10 and X2B10G10R10.
* Fix android build issue #365 and remove some trailing whitespace
* Adjust call sequence to ensure authenticate operation is executed to fix #355
version 2.6.0 - 15.Dec.2019
* enable the mutiple driver selection logic and enable it for DRM.
* drm: Add iHD to driver_name_map
* Add missed slice parameter 'slice_data_num_emu_prevn_bytes'
* ensure that all meson files are part of the release tarball
* configure: use correct comparison operator
* trace: support VAConfigAttribMultipleFrame in trace
* remove incorrect field of VAConfigAttribValDecJPEG
* va/va_trace: Dump VP9 parameters for profile 1~3
* add multiple frame capability report
* add variable to indicate layer infromation
* trace: fix memory leak on closing the trace
* add prediction direction caps report
* Add comments for colour primaries and transfer characteristics in VAProcColorProperties
version 2.5.0 - 05.Jul.2019
* Correct the comment of color_range.
* Add VA_FOURCC_A2B10G10R10 for format a2b10g10r10.
* Adjust VAEncMiscParameterQuantization structure to be align with VAEncMiscParameterBuffer(possible to impact BC)
* Add attribute for max frame size
* Add va_footer.html into distribution build
* va_trace: hevc profiles added
* Add new definition for input/output surface flag
* va/va_trace: add trace support for VAEncMiscParameterTypeSkipFrame structure.
* va/va_trace: add MPEG2 trace support for MiscParam and SequenceParam
* va_openDriver: check strdup return value
* Mark some duplicated field as deprecated
* Add return value into logs
* va/va_trace: add trace support for VAEncMiscParameterEncQuality structure.
* Add newformat foucc defination
* va_backend: remove unneeded linux/videodev2.h include
* va_trace: add missing <sys/time.h> include
* configure: don't build glx if VA/X11 isn't built
* va/va_trace: unbreak with C89 after b3694671c784
* [common] Add A2RGB10 fourcc definition
* build: meson: enables va messaging and visibility
* va/va_trace: add trace support for RIR(rolling intra refresh).
* va/va_trace: add trace support for ROI(region of interest).
version 2.4.0 - 25.Jan.2019
* va_TraceSurface support for VA_FOURCC_P010
* Add pointer to struct wl_interface for driver to use
* (integrate) va: fix new line symbol in error message
* av: avoid driver path truncation
* Fix compilation warning (uninit and wrong variable types) for Android O MR1
* Allow import of the DRM PRIME 2 memory type
* android: ignore unimportant compile warnnings
* compile: fix sign/unsign compare in va_trace.c
* android: replace utils/Log.h with log/log.h
* High Dynamic Range Tone Mapping: Add a new filter for input metadata and some comments.
* Remove restrictions on vaSetDriverName()
version 2.3.0 - 30.Sep.2018
* Bump VA-API version to 1.3.0 and libva to 2.3.0
* Add max frame size parameters for multiple pass case in legacy mode
* Add new BRC mode AVBR
* Add new interface for High Dynamic Range tone mapping
* Add missing enum to string conversions
* Add hevc subsets parameters structure
* Add Customized Noise Reduction (HVS) interfaces
* Add new BRC mode definition QVBR
* Add more complete colour properties for use in VPP
Version 2.2.0 - 12.July.2018
* Bump VA-API version to 1.2.0 and libva to 2.2.0
* Add support for hevc range extension decoding
* Add support for fast intra prediction in HEVC FEI
* Add 10/12-bit YUV render target formats
* Add fourcc code for Y210/Y216/Y410/Y416/RGB565/BGR565
* Improve documentation
Version 2.1.0 - 12.Feb.2018
* Bump VA-API version to 1.1.0 and libva to 2.1.0
* Add API for multi-frame processing
* Add entrypoint VAEntrypointStats for Statistics
* Add data structures for HEVC FEI support
* Add new attributes for decoding/encoding/video processing
* Add new VPP filter for Total Color Correction
* Add blending interface in VPP
* Add rotation interface in VPP
* Add mirroring interface in VPP
* Add Chroma siting flags in VPP
* Add new color standard definitions
* Add new interface for exporting surface
* Add message callbacks for drivers to use
Version 2.0.0 - 21.Oct.2017
* Bump VA-API version to 1.0.0 and libva to 2.0.0
* Add new API for H264 FEI support
* Add definition of VA_FOURCC_I420
* Add functions for converting common enums to strings
* Deprecate H.264 baseline profile and FMO support
* Deprecate packed misc packed header flag
* Delete libva-tpi and libva-egl backends
* Refine VASliceParameterBufferHEVC, VAEncMiscParameterBuffer
* Fix errors in VAConfigAttribValEncROI, VAEncMacroblockParameterBufferH264
* Fix race condition in wayland support
* Rename vaMessageCallback to VAMessageCallback
* Make logging callbacks library-safe
Version 1.8.3 - 28.Jun.2017
* Bump libva to 1.8.3
* Fix build issue on Android
* Remove the dummy driver
* Add traces for MB rate control / temporal layer
* Set verbosity level between {0, 1, 2} by setting the variable LIBVA_MESSAGING_LEVEL
in /etc/libva.conf or by setting the environment variable LIBVA_MESSAGING_LEVEL.
Version 1.8.2 - 22.May.2017
* Bump libva to 1.8.2
Version 1.8.1 - 10.Apr.2017
* Bump libva to 1.8.1
Version 1.8.0 - 31.March.2017
* Bump VA API version to 0.40
* API: Change vaRenderPicture semantics that vaRenderPicture no longer deletes the passed buffer automatically.
* API: Add VA_FOURCC_I010 for 10bit surface
* API: Add vaSetErrorCallback and vaSetInfoCallback for error and info message.
* va/drm: Update the support for Mesa Gallium driver
* va/drm: Fix authentication check for /dev/dri/card0
* Move all utilities and tests to libva-utils (
Version 1.7.3 - DD.Nov.2016
* Bump VA API version to 0.39.4
* API: add support for bitrate control per temporal layer
* API: update the usage for framerate in VAEncMiscParameterFrameRate to support non-integer frame-rate
* Add has_prime_sharing flag in VADriverVTableWayland to indicate if buffer sharing with prime fd can
be used in the backend driver
Version 1.7.2 - 05.Sep.2016
* Bump VA API version to 0.39.3
* API: add support for ROI
* Add support for VP9 encoder in VA tracer
* Refine test cases
* Fix the issue of not properly terminating the parsed environment values with '\0'
Version 1.7.1 - 21.Jun.2016
* Bump VA API version to 0.39.2
* API: add support for VP9 8bit encode
* API: add support for low power/high performance encode
* API: add support for encoding ROI attribute
* API: add support for macroblock based rate control
* Fix VA tracer to support multiple contexts in one instance
Version 1.7.0 - 15.Mar.2016
* Bump VA API version to 0.39
* Add support for VP9 10bit decode API
* Allow libva to load the vaapi driver provided by Mesa Gallium for nouveau and radeon
* Fix libva-glx against OpenGL 3.1 or above
Version 1.6.2 - 15.Dec.2015
* Bump VA API version to 0.38.1
* Add new RT format for 16 bits per channel memory layout(P010,P016): VA_RT_FORMAT_YUV420_10BPP
* Add new fourcc codes: VA_FOURCC_P010, VA_FOURCC_P016, VA_FOURCC_YV16
* Fix crash if user doesn't have right to access the DRI device
* Fix uninitialized x11_screen driver context member for X11 output
* Fix the issue of not to use LIBVA_DRIVER_NAME
* Fix build issue with wayland
* vainfo: Add option '--display'
Version 1.6.1 - 09.Sep.2015
* Add support for VP9 decode and HEVC encode in VA trace module
* Add VP9 profile to vainfo
* Enhance VA trace to dump VP8 encode parameters
Version 1.6.0 - 01.Jul.2015
* Bump VA API version to 0.38
* Add support for HEVC encode API
* Add support for VP9 decode API
* Add API (vaSetDriverName()) to allow the user to specify the loaded backend driver
* Add VAConfigAttribEncSkipFrame and corresponding structures to support
sending skip frame parameters to the backend driver.
* Add support for querying slice decoding mode supported by the backend driver
* Fix quality issue in the JPEG encode demo
Version 1.5.1 - DD.Mar.2015
* API: correct the comment for num_token_partitions in struct _VAEncPictureParameterBufferVP8
* VA/x11: fix double Unlocks/SyncHandle to avoid segmentation fault
Version 1.5.0 - 28.Dec.2014
* API: add support for HEVC decoding
* API: extend JPEG encoding data structures and add configuration attribute for JPEG encoding
* Add a unit test for JPEG encoding (Sirisha Muppavarapu)
* Add support for HEVC decoding and JPEG encoding in VA trace utility
* Fix out of tree builds (Emil Velikov)
* VA/X11: fix BadDrawable issue when calling vaTerminate() after the pixmaps have been destroyed (Lionel Landwerlin)
Version 1.4.1 - 24.Oct.2014
* Add support for DRM Render-Nodes (Andrey Larionov)
Version 1.4.0 - 30.Sep.2014
* API: add support for VP8 encoding
* API: add H.264 MVC profiles for decoding and encoding
* API: add buffer export interfaces for interop with 3rdparty APIs (EGL, OCL)
* API: add suppor for encoder quality level
* API: add attribute usage hint flag
* Fix build on 64-bit versions of Android (Qiming Shi)
* Assorted fixes to the VA fool and trace modules (Austin Yuan)
Version 1.3.1 - 09.May.2014
* API: add STE filter to the VPP pipeline
* Update doxygen tags in libva
* Fix doc/
* A workaround for
Version 1.3.0 - 24.Mar.2014
* API: add support for VP8 decoding
* API: drop VAEntrypointMax enumeration
* Enhancement for VA trace utility
Version 1.2.1 - 27.Jun.2013
* Fix
* Add back VA_DRIVER_INIT_FUNC definition for testing
Version 1.2.0 - 25.Jun.2013
* API: new H.264 encoding API for Main and High profiles
* API: add support for MPEG-2 encoding
* API: add video processing interfaces
* API: add vaQuerySurfaceAttributes() to query surface attributes supported by the underlying drivers.
* API: new version of vaCreateSurfaces()
* API: add new surface attributes to enable VA surface creation from external buffer
* API: add new RT formats and fourcc codes
* Refine VA trace utility
* Refine H.264 encoding test cases {avcenc, h264enc}
* A new test case for MPEG-2 encoding
* A lot of bug fixes
Version 1.1.1 - 19.Mar.2013
* Support wayland 1.0 protocol (Rob Bradford)
* Automake 1.13 fixups (Armin K)
Version 1.1.0 - 04.Oct.2012
* API: add Wayland support
* API: add raw DRM support for headless pipelines
* Fix generic VA/GLX implementation for newer cluttersink versions
* Fix threading issues in VA objects reference code (+Krzysztof Kotlenga)
* Fix build on Android Ice Cream Sandwich (+Haitao Huang, Daniel Charles)
Version 1.0.16 - 02.Aug.2012
* API: data structures for JPEG Baseline decoding
* API: clarify the definition of slice_data_bit_offset
* Add a simple test case for JPEG decoding
Version 1.0.15 - 28.Oct.2011
* API: make {Top,Bottom}FieldOrderCnt signed (Yi Wang)
* Add auto-generated Debian packaging
* Refine VA trace & VA fool utilities
* Move i965 driver to a specific repository (vaapi/intel-driver)
* Fix DSO link issue in tests
* Fix fglrx driver name detection
* Fix API vs. DSO vs. package versioning
Version 1.0.14 - 28.Jul.2011
* API: rename VA_DECODE_ERROR_TYPE to VADecodeErrorType
* Fix memory leaks (Edgar Hucek)
* Fix VA trace logs (Alexander Osin)
* Fix vaTerminate() with some applications, e.g. GStreamer
Version 1.0.13 - 30.May.2011
* API: fix VA_ROTATION_270 definition
* Add a simple H.264 encoder "avcenc" (Chang Zhou)
* Fix VA tracer (Alexander Osin)
* Fix vaBufferInfo() interface (Alexander Osin)
Version 1.0.12 - 01.Apr.2011
* API: add VARenderMode interface to select overlay or GPU rendering mode
* API: add VARenderDevice interface to allow rendering to an external device
* API: add VADisplayAttribOverlay{ColorKey,AutoPaintColorKey} interface
* Fix build issues on Android 2.3
Changes for older versions can be found in git log or previously
released packages.