Hello community, here is the log from the commit of package libva for openSUSE:Factory checked in at 2020-10-08 13:11:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libva (Old) and /work/SRC/openSUSE:Factory/.libva.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva" Thu Oct 8 13:11:25 2020 rev:56 rq:839759 version:2.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libva/libva-gl.changes 2020-09-03 01:14:44.980483693 +0200 +++ /work/SRC/openSUSE:Factory/.libva.new.4249/libva-gl.changes 2020-10-08 13:12:15.359176333 +0200 @@ -1,0 +2,15 @@ +Mon Oct 5 13:16:22 UTC 2020 - Aaron Stern <ukbeas...@protonmail.com> + +- update to 2.9.0: + * 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 + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/libva/libva.changes 2020-09-03 01:14:45.696483956 +0200 +++ /work/SRC/openSUSE:Factory/.libva.new.4249/libva.changes 2020-10-08 13:12:15.419176388 +0200 @@ -1,0 +2,15 @@ +Mon Oct 5 13:16:22 UTC 2020 - Aaron Stern <ukbeas...@protonmail.com> + +- update to 2.9.0: + * 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 + +------------------------------------------------------------------- Old: ---- libva-2.8.0.tar.bz2 libva-2.8.0.tar.bz2.sha1sum New: ---- libva-2.9.0.tar.bz2 libva-2.9.0.tar.bz2.sha1sum ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libva-gl.spec ++++++ --- /var/tmp/diff_new_pack.FMbcVN/_old 2020-10-08 13:12:16.011176923 +0200 +++ /var/tmp/diff_new_pack.FMbcVN/_new 2020-10-08 13:12:16.015176927 +0200 @@ -23,7 +23,7 @@ Name: libva-gl %define _name libva -Version: 2.8.0 +Version: 2.9.0 Release: 0 Summary: Video Acceleration (VA) API License: MIT ++++++ libva.spec ++++++ --- /var/tmp/diff_new_pack.FMbcVN/_old 2020-10-08 13:12:16.031176942 +0200 +++ /var/tmp/diff_new_pack.FMbcVN/_new 2020-10-08 13:12:16.035176945 +0200 @@ -23,7 +23,7 @@ Name: libva %define _name libva -Version: 2.8.0 +Version: 2.9.0 Release: 0 Summary: Video Acceleration (VA) API License: MIT ++++++ libva-2.8.0.tar.bz2 -> libva-2.9.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/NEWS new/libva-2.9.0/NEWS --- old/libva-2.8.0/NEWS 2020-06-23 16:57:20.000000000 +0200 +++ new/libva-2.9.0/NEWS 2020-09-11 23:40:59.000000000 +0200 @@ -1,6 +1,18 @@ -libva NEWS -- summary of user visible changes. 2020-06-18 +libva NEWS -- summary of user visible changes. 2020-09-11 Copyright (C) 2009-2020 Intel Corporation +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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/configure new/libva-2.9.0/configure --- old/libva-2.8.0/configure 2020-06-26 01:51:59.000000000 +0200 +++ new/libva-2.9.0/configure 2020-09-11 23:49:34.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libva 2.8.0. +# Generated by GNU Autoconf 2.69 for libva 2.9.0. # # Report bugs to <https://github.com/intel/libva/issues/new>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libva' PACKAGE_TARNAME='libva' -PACKAGE_VERSION='2.8.0' -PACKAGE_STRING='libva 2.8.0' +PACKAGE_VERSION='2.9.0' +PACKAGE_STRING='libva 2.9.0' PACKAGE_BUGREPORT='https://github.com/intel/libva/issues/new' PACKAGE_URL='https://github.com/intel/libva' @@ -1394,7 +1394,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libva 2.8.0 to adapt to many kinds of systems. +\`configure' configures libva 2.9.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1465,7 +1465,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libva 2.8.0:";; + short | recursive ) echo "Configuration of libva 2.9.0:";; esac cat <<\_ACEOF @@ -1603,7 +1603,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libva configure 2.8.0 +libva configure 2.9.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2093,7 +2093,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libva $as_me 2.8.0, which was +It was created by libva $as_me 2.9.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2959,7 +2959,7 @@ # Define the identity of the package. PACKAGE='libva' - VERSION='2.8.0' + VERSION='2.9.0' cat >>confdefs.h <<_ACEOF @@ -3099,26 +3099,26 @@ VA_API_MAJOR_VERSION=1 -VA_API_MINOR_VERSION=8 +VA_API_MINOR_VERSION=9 VA_API_MICRO_VERSION=0 -VA_API_VERSION=1.8.0 +VA_API_VERSION=1.9.0 LIBVA_MAJOR_VERSION=2 -LIBVA_MINOR_VERSION=8 +LIBVA_MINOR_VERSION=9 LIBVA_MICRO_VERSION=0 -LIBVA_VERSION=2.8.0 +LIBVA_VERSION=2.9.0 -LIBVA_LT_CURRENT=802 +LIBVA_LT_CURRENT=902 LIBVA_LT_REV=0 -LIBVA_LT_AGE=800 +LIBVA_LT_AGE=900 LIBVA_LT_VERSION="$LIBVA_LT_CURRENT:$LIBVA_LT_REV:$LIBVA_LT_AGE" LIBVA_LT_LDFLAGS="-version-info $LIBVA_LT_VERSION" @@ -18522,7 +18522,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libva $as_me 2.8.0, which was +This file was extended by libva $as_me 2.9.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18589,7 +18589,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libva config.status 2.8.0 +libva config.status 2.9.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/configure.ac new/libva-2.9.0/configure.ac --- old/libva-2.8.0/configure.ac 2020-06-26 01:34:38.000000000 +0200 +++ new/libva-2.9.0/configure.ac 2020-09-11 23:45:43.000000000 +0200 @@ -27,7 +27,7 @@ # - reset micro version to zero when minor version is incremented # - reset minor version to zero when major version is incremented m4_define([va_api_major_version], [1]) -m4_define([va_api_minor_version], [8]) +m4_define([va_api_minor_version], [9]) m4_define([va_api_micro_version], [0]) m4_define([va_api_version], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/doc/Makefile.in new/libva-2.9.0/doc/Makefile.in --- old/libva-2.8.0/doc/Makefile.in 2020-06-26 01:51:59.000000000 +0200 +++ new/libva-2.9.0/doc/Makefile.in 2020-09-11 23:49:34.000000000 +0200 @@ -333,9 +333,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/Makefile + $(AUTOMAKE) --gnu doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/meson.build new/libva-2.9.0/meson.build --- old/libva-2.8.0/meson.build 2020-06-26 01:34:38.000000000 +0200 +++ new/libva-2.9.0/meson.build 2020-09-11 23:46:28.000000000 +0200 @@ -7,7 +7,7 @@ # - reset micro version to zero when VA-API major or minor version is changed project( 'libva', 'c', - version : '2.8.0.0', + version : '2.9.0.0', meson_version : '>= 0.37.0', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) @@ -19,7 +19,7 @@ # - reset micro version to zero when minor version is incremented # - reset minor version to zero when major version is incremented va_api_major_version = 1 -va_api_minor_version = 8 +va_api_minor_version = 9 va_api_micro_version = 0 va_api_version = '@0@.@1@.@2@'.format(va_api_major_version, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/pkgconfig/Makefile.in new/libva-2.9.0/pkgconfig/Makefile.in --- old/libva-2.8.0/pkgconfig/Makefile.in 2020-06-26 01:51:59.000000000 +0200 +++ new/libva-2.9.0/pkgconfig/Makefile.in 2020-09-11 23:49:34.000000000 +0200 @@ -352,9 +352,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign pkgconfig/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pkgconfig/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign pkgconfig/Makefile + $(AUTOMAKE) --gnu pkgconfig/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/Makefile.in new/libva-2.9.0/va/Makefile.in --- old/libva-2.8.0/va/Makefile.in 2020-06-26 01:51:59.000000000 +0200 +++ new/libva-2.9.0/va/Makefile.in 2020-09-11 23:49:34.000000000 +0200 @@ -564,9 +564,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign va/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu va/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign va/Makefile + $(AUTOMAKE) --gnu va/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/drm/Makefile.in new/libva-2.9.0/va/drm/Makefile.in --- old/libva-2.8.0/va/drm/Makefile.in 2020-06-26 01:51:59.000000000 +0200 +++ new/libva-2.9.0/va/drm/Makefile.in 2020-09-11 23:49:34.000000000 +0200 @@ -416,9 +416,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign va/drm/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu va/drm/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign va/drm/Makefile + $(AUTOMAKE) --gnu va/drm/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/glx/Makefile.in new/libva-2.9.0/va/glx/Makefile.in --- old/libva-2.8.0/va/glx/Makefile.in 2020-06-26 01:51:59.000000000 +0200 +++ new/libva-2.9.0/va/glx/Makefile.in 2020-09-11 23:49:34.000000000 +0200 @@ -415,9 +415,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign va/glx/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu va/glx/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign va/glx/Makefile + $(AUTOMAKE) --gnu va/glx/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/va.c new/libva-2.9.0/va/va.c --- old/libva-2.8.0/va/va.c 2020-06-26 01:34:38.000000000 +0200 +++ new/libva-2.9.0/va/va.c 2020-09-11 23:35:44.000000000 +0200 @@ -1639,6 +1639,28 @@ return va_status; } +VAStatus vaSyncSurface2 ( + VADisplay dpy, + VASurfaceID surface, + uint64_t timeout_ns +) +{ + VAStatus va_status; + VADriverContextP ctx; + + CHECK_DISPLAY(dpy); + ctx = CTX(dpy); + + if (ctx->vtable->vaSyncSurface2) + va_status = ctx->vtable->vaSyncSurface2( ctx, surface, timeout_ns ); + else + va_status = VA_STATUS_ERROR_UNIMPLEMENTED; + VA_TRACE_LOG(va_TraceSyncSurface2, dpy, surface, timeout_ns); + VA_TRACE_RET(dpy, va_status); + + return va_status; +} + VAStatus vaQuerySurfaceStatus ( VADisplay dpy, VASurfaceID render_target, @@ -1677,6 +1699,29 @@ return va_status; } + +VAStatus vaSyncBuffer ( + VADisplay dpy, + VABufferID buf_id, + uint64_t timeout_ns +) +{ + VAStatus va_status; + VADriverContextP ctx; + + CHECK_DISPLAY(dpy); + ctx = CTX(dpy); + + VA_TRACE_LOG(va_TraceSyncBuffer, dpy, buf_id, timeout_ns); + + if (ctx->vtable->vaSyncBuffer) + va_status = ctx->vtable->vaSyncBuffer( ctx, buf_id, timeout_ns ); + else + va_status = VA_STATUS_ERROR_UNIMPLEMENTED; + VA_TRACE_RET(dpy, va_status); + + return va_status; +} /* Get maximum number of image formats supported by the implementation */ int vaMaxNumImageFormats ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/va.h new/libva-2.9.0/va/va.h --- old/libva-2.8.0/va/va.h 2020-06-26 01:34:38.000000000 +0200 +++ new/libva-2.9.0/va/va.h 2020-09-11 23:35:49.000000000 +0200 @@ -213,6 +213,8 @@ #define VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE 0x00000024 /** \brief Indicate allocated buffer size is not enough for input or output. */ #define VA_STATUS_ERROR_NOT_ENOUGH_BUFFER 0x00000025 +/** \brief Indicate an operation isn't completed because time-out interval elapsed. */ +#define VA_STATUS_ERROR_TIMEDOUT 0x00000026 #define VA_STATUS_ERROR_UNKNOWN 0xFFFFFFFF /** @@ -256,6 +258,13 @@ #define VA_FILTER_SCALING_NL_ANAMORPHIC 0x00000300 #define VA_FILTER_SCALING_MASK 0x00000f00 +/** Interpolation method for scaling */ +#define VA_FILTER_INTERPOLATION_DEFAULT 0x00000000 +#define VA_FILTER_INTERPOLATION_NEAREST_NEIGHBOR 0x00001000 +#define VA_FILTER_INTERPOLATION_BILINEAR 0x00002000 +#define VA_FILTER_INTERPOLATION_ADVANCED 0x00003000 +#define VA_FILTER_INTERPOLATION_MASK 0x0000f000 + /** Padding size in 4-bytes */ #define VA_PADDING_LOW 4 #define VA_PADDING_MEDIUM 8 @@ -781,6 +790,10 @@ * implementation, multiple frames encode/decode can improve HW concurrency */ VAConfigAttribMultipleFrame = 40, + /** \brief priority setting for the context. Read-Write + * attribute value is \c VAConfigAttribValContextPriority + */ + VAConfigAttribContextPriority = 41, /**@}*/ VAConfigAttribTypeMax } VAConfigAttribType; @@ -1139,6 +1152,18 @@ uint32_t value; }VAConfigAttribValMultipleFrame; +/** brief Attribute value VAConfigAttribValContestPriority */ +typedef union _VAConfigAttribValContextPriority{ + struct{ + /** \brief the priority , for the Query operation (read) it represents highest priority + * for the set operation (write), value should be [0~highest priority] , 0 is lowest priority*/ + uint32_t priority :16; + /** \brief reserved bits for future, must be zero*/ + uint32_t reserved :16; + }bits; + uint32_t value; +}VAConfigAttribValContextPriority; + /** @name Attribute values for VAConfigAttribProcessingRate. */ /**@{*/ /** \brief Driver does not support processing rate report */ @@ -3724,6 +3749,35 @@ VASurfaceID render_target ); +/** \brief Indicates an infinite timeout. */ +#define VA_TIMEOUT_INFINITE 0xFFFFFFFFFFFFFFFF + +/** + * \brief Synchronizes pending operations associated with the supplied surface. + * + * This function blocks during specified timeout (in nanoseconds) until + * all pending operations on the render target have been completed. + * If timeout is zero, the function returns immediately. + * + * Possible errors: + * - \ref VA_STATUS_ERROR_UNIMPLEMENTED: the VA driver implementation + * does not support this interface + * - \ref VA_STATUS_ERROR_INVALID_DISPLAY: an invalid display was supplied + * - \ref VA_STATUS_ERROR_INVALID_SURFACE: an invalid surface was supplied + * - \ref VA_STATUS_ERROR_TIMEDOUT: synchronization is still in progress, + * client should call the function again to complete synchronization + * + * @param[in] dpy the VA display + * @param[in] surface the surface for which synchronization is performed + * @param[in] timeout_ns the timeout in nanoseconds + * + */ +VAStatus vaSyncSurface2 ( + VADisplay dpy, + VASurfaceID surface, + uint64_t timeout_ns +); + typedef enum { VASurfaceRendering = 1, /* Rendering in progress */ @@ -3780,6 +3834,46 @@ ); /** + * \brief Synchronizes pending operations associated with the supplied buffer. + * + * This function blocks during specified timeout (in nanoseconds) until + * all pending operations on the supplied buffer have been completed. + * If timeout is zero, the function returns immediately. + * + * Possible errors: + * - \ref VA_STATUS_ERROR_UNIMPLEMENTED: the VA driver implementation + * does not support this interface + * - \ref VA_STATUS_ERROR_INVALID_DISPLAY: an invalid display was supplied + * - \ref VA_STATUS_ERROR_INVALID_BUFFER: an invalid buffer was supplied + * - \ref VA_STATUS_ERROR_TIMEDOUT: synchronization is still in progress, + * client should call the function again to complete synchronization + * + * @param[in] dpy the VA display + * @param[in] buf_id the buffer for which synchronization is performed + * @param[in] timeout_ns the timeout in nanoseconds + * + */ +VAStatus vaSyncBuffer( + VADisplay dpy, + VABufferID buf_id, + uint64_t timeout_ns +); + +/** + * Notes about synchronization interfaces: + * vaSyncSurface: + * 1. Allows to synchronize output surface (i.e. from decoding or VP) + * 2. Allows to synchronize all bitstreams being encoded from the given input surface (1->N pipelines). + * + * vaSyncSurface2: + * 1. The same as vaSyncSurface but allows to specify a timeout + * + * vaSyncBuffer: + * 1. Allows to synchronize output buffer (e.g. bitstream from encoding). + * Comparing to vaSyncSurface this function synchronizes given bitstream only. + */ + +/** * Images and Subpictures * VAImage is used to either get the surface data to client memory, or * to copy image data in client memory to a surface. @@ -3958,6 +4052,12 @@ * with the bottom six bits ignored. The samples are in the order Y, U, Y, V. */ #define VA_FOURCC_Y210 0x30313259 +/** Y212: packed 12-bit YUV 4:2:2. + * + * Eight bytes represent a pair of pixels. Each sample is a two-byte little-endian value. + * The samples are in the order Y, U, Y, V. + */ +#define VA_FOURCC_Y212 0x32313259 /** Y216: packed 16-bit YUV 4:2:2. * * Eight bytes represent a pair of pixels. Each sample is a two-byte little-endian value. @@ -3970,6 +4070,12 @@ * A, V, Y, U are found in bits 31:30, 29:20, 19:10, 9:0 respectively. */ #define VA_FOURCC_Y410 0x30313459 +/** Y412 packed 12-bit YUVA 4:4:4. + * + * Each pixel is a set of four samples, each of which is a two-byte little-endian value. + * The samples are in the order A, V, Y, U. + */ +#define VA_FOURCC_Y412 0x32313459 /** Y416: packed 16-bit YUVA 4:4:4. * * Each pixel is a set of four samples, each of which is a two-byte little-endian value. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/va_backend.h new/libva-2.9.0/va/va_backend.h --- old/libva-2.8.0/va/va_backend.h 2020-06-26 01:34:38.000000000 +0200 +++ new/libva-2.9.0/va/va_backend.h 2020-09-11 23:35:44.000000000 +0200 @@ -485,8 +485,20 @@ void *descriptor /* out */ ); + VAStatus (*vaSyncSurface2) ( + VADriverContextP ctx, + VASurfaceID surface, + uint64_t timeout_ns + ); + + VAStatus (*vaSyncBuffer) ( + VADriverContextP ctx, + VABufferID buf_id, + uint64_t timeout_ns + ); + /** \brief Reserved bytes for future use, must be zero */ - unsigned long reserved[57]; + unsigned long reserved[55]; }; struct VADriverContext diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/va_dec_av1.h new/libva-2.9.0/va/va_dec_av1.h --- old/libva-2.8.0/va/va_dec_av1.h 2020-06-18 12:51:52.000000000 +0200 +++ new/libva-2.9.0/va/va_dec_av1.h 2020-09-11 23:35:49.000000000 +0200 @@ -364,7 +364,11 @@ uint8_t tile_cols; uint8_t tile_rows; - /* specifes the width/height of a tile minus 1 in units of superblocks */ + /* The width/height of a tile minus 1 in units of superblocks. Though the + * maximum number of tiles is 64, since ones of the last tile are computed + * from ones of the other tiles and frame_width/height, they are not + * necessarily specified. + */ uint16_t width_in_sbs_minus_1[63]; uint16_t height_in_sbs_minus_1[63]; @@ -425,7 +429,7 @@ uint8_t superres_scale_denominator; /** \brief Interpolation filter. - * value range [0..9] + * value range [0..4] */ uint8_t interp_filter; @@ -629,8 +633,9 @@ uint16_t tile_row; uint16_t tile_column; - uint16_t tg_start; - uint16_t tg_end; + + uint16_t tg_start; // Deprecated + uint16_t tg_end; // Deprecated /** \brief anchor frame index for large scale tile. * index into an array AnchorFrames of the frames that the tile uses * for prediction. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/va_str.c new/libva-2.9.0/va/va_str.c --- old/libva-2.8.0/va/va_str.c 2020-06-09 22:56:35.000000000 +0200 +++ new/libva-2.9.0/va/va_str.c 2020-09-03 17:35:41.000000000 +0200 @@ -129,6 +129,7 @@ TOSTR(VAConfigAttribMaxFrameSize); TOSTR(VAConfigAttribPredictionDirection); TOSTR(VAConfigAttribMultipleFrame); + TOSTR(VAConfigAttribContextPriority); case VAConfigAttribTypeMax: break; } return "<unknown config attribute type>"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/va_trace.c new/libva-2.9.0/va/va_trace.c --- old/libva-2.8.0/va/va_trace.c 2020-06-26 01:34:38.000000000 +0200 +++ new/libva-2.9.0/va/va_trace.c 2020-09-11 23:35:49.000000000 +0200 @@ -2690,6 +2690,8 @@ va_TraceMsg(trace_ctx, "\tmin_spatial_segmentation_idc = %d\n", p->min_spatial_segmentation_idc); va_TraceMsg(trace_ctx, "\tmax_bytes_per_pic_denom = %d\n", p->max_bytes_per_pic_denom); va_TraceMsg(trace_ctx, "\tmax_bits_per_min_cu_denom = %d\n", p->max_bits_per_min_cu_denom); + va_TraceMsg(trace_ctx, "\tpalette_mode_enabled_flag = %d\n", p->scc_fields.bits.palette_mode_enabled_flag); + va_TraceMsg(trace_ctx, "\treserved = %d\n", p->scc_fields.bits.reserved); return; } @@ -2770,6 +2772,10 @@ va_TraceMsg(trace_ctx, "\tenable_gpu_weighted_prediction = %d\n", p->pic_fields.bits.enable_gpu_weighted_prediction); va_TraceMsg(trace_ctx, "\tno_output_of_prior_pics_flag = %d\n", p->pic_fields.bits.no_output_of_prior_pics_flag); va_TraceMsg(trace_ctx, "\treserved = %d\n", p->pic_fields.bits.reserved); + va_TraceMsg(trace_ctx, "\thierarchical_level_plus1 = %d\n", p->hierarchical_level_plus1); + va_TraceMsg(trace_ctx, "\tva_byte_reserved = %d\n", p->va_byte_reserved); + va_TraceMsg(trace_ctx, "\tpps_curr_pic_ref_enabled_flag = %d\n", p->scc_fields.bits.pps_curr_pic_ref_enabled_flag); + va_TraceMsg(trace_ctx, "\treserved = %d\n", p->scc_fields.bits.reserved); return; } @@ -3987,21 +3993,16 @@ { VADecPictureParameterBufferAV1 *p = (VADecPictureParameterBufferAV1 *)data; DPY2TRACECTX(dpy, context, VA_INVALID_ID); - int i; + int i, j; va_TraceMsg(trace_ctx, "\t--VAPictureParameterBufferAV1\n"); va_TraceMsg(trace_ctx, "\tprofile = %d\n", p->profile); - - va_TraceMsg(trace_ctx, "\tframe_width_minus_1 = %d\n", p->frame_width_minus1); - va_TraceMsg(trace_ctx, "\tframe_height_minus_1 = %d\n", p->frame_height_minus1); - - va_TraceMsg(trace_ctx, "\toutput_frame_width_in_tiles_minus_1 = %d\n", p->output_frame_width_in_tiles_minus_1); - va_TraceMsg(trace_ctx, "\toutput_frame_height_in_tiles_minus_1 = %d\n", p->output_frame_height_in_tiles_minus_1); - + va_TraceMsg(trace_ctx, "\torder_hint_bits_minus_1 = %d\n", p->order_hint_bits_minus_1); va_TraceMsg(trace_ctx, "\tbit_depth_idx = %d\n", p->bit_depth_idx); - va_TraceMsg(trace_ctx, "\tseq_info_fields = %X\n", p->seq_info_fields.value); + va_TraceMsg(trace_ctx, "\tmatrix_coefficients = %d\n", p->matrix_coefficients); + va_TraceMsg(trace_ctx, "\tseq_info_fields = %X\n", p->seq_info_fields.value); va_TraceMsg(trace_ctx, "\t\tseq_info_fields.still_picture = %d\n", p->seq_info_fields.fields.still_picture); va_TraceMsg(trace_ctx, "\t\tseq_info_fields.use_128x128_superblock = %d\n", p->seq_info_fields.fields.use_128x128_superblock); va_TraceMsg(trace_ctx, "\t\tseq_info_fields.enable_filter_intra = %d\n", p->seq_info_fields.fields.enable_filter_intra); @@ -4019,6 +4020,86 @@ va_TraceMsg(trace_ctx, "\t\tseq_info_fields.chroma_sample_position = %d\n", p->seq_info_fields.fields.chroma_sample_position); va_TraceMsg(trace_ctx, "\t\tseq_info_fields.film_grain_params_present = %d\n", p->seq_info_fields.fields.film_grain_params_present); + va_TraceMsg(trace_ctx, "\tcurrent_frame = %X\n", p->current_frame); + va_TraceMsg(trace_ctx, "\tcurrent_display_picture = %X\n", p->current_display_picture); + + va_TraceMsg(trace_ctx, "\tanchor_frames_num = %d\n", p->anchor_frames_num); + for (i=0;i<p->anchor_frames_num;i++) + va_TraceMsg(trace_ctx, "\t\tanchor_frames_list[%d] = %X\n", i, p->anchor_frames_list[i]); + + va_TraceMsg(trace_ctx, "\tframe_width_minus_1 = %d\n", p->frame_width_minus1); + va_TraceMsg(trace_ctx, "\tframe_height_minus1 = %d\n", p->frame_height_minus1); + va_TraceMsg(trace_ctx, "\toutput_frame_width_in_tiles_minus_1 = %d\n", p->output_frame_width_in_tiles_minus_1); + va_TraceMsg(trace_ctx, "\toutput_frame_height_in_tiles_minus_1 = %d\n", p->output_frame_height_in_tiles_minus_1); + + for (i=0;i<8;i++) + va_TraceMsg(trace_ctx, "\tref_frame_map[%d] = %X\n", i, p->ref_frame_map[i]); + for (i=0;i<7;i++) + va_TraceMsg(trace_ctx, "\tref_frame_idx[%d] = %d\n", i, p->ref_frame_idx[i]); + va_TraceMsg(trace_ctx, "\tprimary_ref_frame = %d\n", p->primary_ref_frame); + + va_TraceMsg(trace_ctx, "\torder_hint = %d\n", p->order_hint); + + va_TraceMsg(trace_ctx, "\tseg_info:\n"); + va_TraceMsg(trace_ctx, "\t\tseg_info.segment_info_fields = %d\n", p->seg_info.segment_info_fields.value); + va_TraceMsg(trace_ctx, "\t\t\tseg_info.segment_info_fields.bits.enabled = %d\n", p->seg_info.segment_info_fields.bits.enabled); + va_TraceMsg(trace_ctx, "\t\t\tseg_info.segment_info_fields.bits.update_map = %d\n", p->seg_info.segment_info_fields.bits.update_map); + va_TraceMsg(trace_ctx, "\t\t\tseg_info.segment_info_fields.bits.temporal_update = %d\n", p->seg_info.segment_info_fields.bits.temporal_update); + va_TraceMsg(trace_ctx, "\t\t\tseg_info.segment_info_fields.bits.update_data = %d\n", p->seg_info.segment_info_fields.bits.update_data); + for (i=0;i<8;i++) + for (j=0;j<8;j++) + va_TraceMsg(trace_ctx, "\t\tseg_info.feature_data[%d][%d] = %d\n", i, j, p->seg_info.feature_data[i][j]); + for (i=0;i<8;i++) + va_TraceMsg(trace_ctx, "\t\tseg_info.feature_mask[%d] = %d\n", i, p->seg_info.feature_mask[i]); + + va_TraceMsg(trace_ctx, "\tfilm_grain_info:\n"); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.film_grain_info_fields = %d\n", p->film_grain_info.film_grain_info_fields.value); + va_TraceMsg(trace_ctx, "\t\t\tfilm_grain_info.film_grain_info_fields.apply_grain = %d\n", p->film_grain_info.film_grain_info_fields.bits.apply_grain); + va_TraceMsg(trace_ctx, "\t\t\tfilm_grain_info.film_grain_info_fields.chroma_scaling_from_luma = %d\n", p->film_grain_info.film_grain_info_fields.bits.chroma_scaling_from_luma); + va_TraceMsg(trace_ctx, "\t\t\tfilm_grain_info.film_grain_info_fields.grain_scaling_minus_8 = %d\n", p->film_grain_info.film_grain_info_fields.bits.grain_scaling_minus_8); + va_TraceMsg(trace_ctx, "\t\t\tfilm_grain_info.film_grain_info_fields.ar_coeff_lag = %d\n", p->film_grain_info.film_grain_info_fields.bits.ar_coeff_lag); + va_TraceMsg(trace_ctx, "\t\t\tfilm_grain_info.film_grain_info_fields.ar_coeff_shift_minus_6 = %d\n", p->film_grain_info.film_grain_info_fields.bits.ar_coeff_shift_minus_6); + va_TraceMsg(trace_ctx, "\t\t\tfilm_grain_info.film_grain_info_fields.grain_scale_shift = %d\n", p->film_grain_info.film_grain_info_fields.bits.grain_scale_shift); + va_TraceMsg(trace_ctx, "\t\t\tfilm_grain_info.film_grain_info_fields.overlap_flag = %d\n", p->film_grain_info.film_grain_info_fields.bits.overlap_flag); + va_TraceMsg(trace_ctx, "\t\t\tfilm_grain_info.film_grain_info_fields.clip_to_restricted_range = %d\n", p->film_grain_info.film_grain_info_fields.bits.clip_to_restricted_range); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.grain_seed = %d\n", p->film_grain_info.grain_seed); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.num_y_points = %d\n", p->film_grain_info.num_y_points); + for (i=0;i<14;i++) + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.point_y_value[%d] = %d\n", i, p->film_grain_info.point_y_value[i]); + for (i=0;i<14;i++) + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.point_y_scaling[%d] = %d\n", i, p->film_grain_info.point_y_scaling[i]); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.num_cb_points = %d\n", p->film_grain_info.num_cb_points); + for (i=0;i<10;i++) + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.point_cb_value[%d] = %d\n", i, p->film_grain_info.point_cb_value[i]); + for (i=0;i<10;i++) + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.point_cb_scaling[%d] = %d\n", i, p->film_grain_info.point_cb_scaling[i]); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.num_cr_points = %d\n", p->film_grain_info.num_cr_points); + for (i=0;i<10;i++) + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.point_cr_value[%d] = %d\n", i, p->film_grain_info.point_cr_value[i]); + for (i=0;i<10;i++) + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.point_cr_scaling[%d] = %d\n", i, p->film_grain_info.point_cr_scaling[i]); + for (i=0;i<24;i++) + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.ar_coeffs_y[%d] = %d\n", i, p->film_grain_info.ar_coeffs_y[i]); + for (i=0;i<25;i++) + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.ar_coeffs_cb[%d] = %d\n", i, p->film_grain_info.ar_coeffs_cb[i]); + for (i=0;i<25;i++) + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.ar_coeffs_cr[%d] = %d\n", i, p->film_grain_info.ar_coeffs_cr[i]); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.cb_mult = %d\n", i, p->film_grain_info.cb_mult); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.cb_luma_mult = %d\n", i, p->film_grain_info.cb_luma_mult); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.cb_offset = %d\n", i, p->film_grain_info.cb_offset); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.cr_mult = %d\n", i, p->film_grain_info.cr_mult); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.cr_luma_mult = %d\n", i, p->film_grain_info.cr_luma_mult); + va_TraceMsg(trace_ctx, "\t\tfilm_grain_info.cr_offset = %d\n", i, p->film_grain_info.cr_offset); + + va_TraceMsg(trace_ctx, "\ttile_cols = %d\n", p->tile_cols); + va_TraceMsg(trace_ctx, "\ttile_rows = %d\n", p->tile_rows); + for (i=0;i<63;i++) + va_TraceMsg(trace_ctx, "\twidth_in_sbs_minus_1[%d] = %d\n", i, p->width_in_sbs_minus_1[i]); + for (i=0;i<63;i++) + va_TraceMsg(trace_ctx, "\theight_in_sbs_minus_1[%d] = %d\n", i, p->height_in_sbs_minus_1[i]); + va_TraceMsg(trace_ctx, "\ttile_count_minus_1 = %d\n", p->tile_count_minus_1); + va_TraceMsg(trace_ctx, "\tcontext_update_tile_id = %d\n", p->context_update_tile_id); + va_TraceMsg(trace_ctx, "\tpic_info_fields = %X\n", p->pic_info_fields.value); va_TraceMsg(trace_ctx, "\t\tpic_info_fields.frame_type = %d\n", p->pic_info_fields.bits.frame_type); va_TraceMsg(trace_ctx, "\t\tpic_info_fields.show_frame = %d\n", p->pic_info_fields.bits.show_frame); @@ -4037,39 +4118,37 @@ va_TraceMsg(trace_ctx, "\t\tpic_info_fields.allow_warped_motion = %d\n", p->pic_info_fields.bits.allow_warped_motion); va_TraceMsg(trace_ctx, "\t\tpic_info_fields.large_scale_tile = %d\n", p->pic_info_fields.bits.large_scale_tile); - va_TraceMsg(trace_ctx, "\tloop_filter_info_fields = %X\n", p->loop_filter_info_fields.value); - va_TraceMsg(trace_ctx, "\t\tloop_filter_info_fields.bits.sharpness_level = %d\n", p->loop_filter_info_fields.bits.sharpness_level); - va_TraceMsg(trace_ctx, "\t\tloop_filter_info_fields.bits.mode_ref_delta_enabled = %d\n", p->loop_filter_info_fields.bits.mode_ref_delta_enabled); - va_TraceMsg(trace_ctx, "\t\tloop_filter_info_fields.bits.mode_ref_delta_update = %d\n", p->loop_filter_info_fields.bits.mode_ref_delta_update); - - va_TraceMsg(trace_ctx, "\tcurrent_frame = %X\n", p->current_frame); - va_TraceMsg(trace_ctx, "\tcurrent_display_picture = %X\n", p->current_display_picture); - - va_TraceMsg(trace_ctx, "\ttile_cols = %d\n", p->tile_cols); - va_TraceMsg(trace_ctx, "\ttile_rows = %d\n", p->tile_rows); - va_TraceMsg(trace_ctx, "\ttile_count_minus_1 = %d\n", p->tile_count_minus_1); - va_TraceMsg(trace_ctx, "\tcontext_update_tile_id = %d\n", p->context_update_tile_id); - - va_TraceMsg(trace_ctx, "\tprimary_ref_frame = %d\n", p->primary_ref_frame); - for (i=0;i<8;i++) - va_TraceMsg(trace_ctx, "\tref_frame_map[%d] = %X\n", i, p->ref_frame_map[i]); - - for (i=0;i<7;i++) - va_TraceMsg(trace_ctx, "\tref_frame_idx[%d] = %d\n", i, p->ref_frame_idx[i]); - - va_TraceMsg(trace_ctx, "\torder_hint = %d\n", p->order_hint); - - va_TraceMsg(trace_ctx, "\tanchor_frames_num = %d\n", p->anchor_frames_num); - for (i=0;i<p->anchor_frames_num;i++) - va_TraceMsg(trace_ctx, "\t\tanchor_frames_list[%d] = %X\n", i, p->anchor_frames_list[i]); - va_TraceMsg(trace_ctx, "\tsuperres_scale_denominator = %d\n", p->superres_scale_denominator); + va_TraceMsg(trace_ctx, "\tinterp_filter = %d\n", p->interp_filter); va_TraceMsg(trace_ctx, "\tfilter_level[0] = %d\n", p->filter_level[0]); va_TraceMsg(trace_ctx, "\tfilter_level[1] = %d\n", p->filter_level[1]); va_TraceMsg(trace_ctx, "\tfilter_level_u = %d\n", p->filter_level_u); va_TraceMsg(trace_ctx, "\tfilter_level_v = %d\n", p->filter_level_v); + va_TraceMsg(trace_ctx, "\tloop_filter_info_fields = %X\n", p->loop_filter_info_fields.value); + va_TraceMsg(trace_ctx, "\t\tloop_filter_info_fields.bits.sharpness_level = %d\n", p->loop_filter_info_fields.bits.sharpness_level); + va_TraceMsg(trace_ctx, "\t\tloop_filter_info_fields.bits.mode_ref_delta_enabled = %d\n", p->loop_filter_info_fields.bits.mode_ref_delta_enabled); + va_TraceMsg(trace_ctx, "\t\tloop_filter_info_fields.bits.mode_ref_delta_update = %d\n", p->loop_filter_info_fields.bits.mode_ref_delta_update); + + for (i=0;i<8;i++) + va_TraceMsg(trace_ctx, "\tref_deltas[%d] = %d\n", i, p->ref_deltas[i]); + for (i=0;i<2;i++) + va_TraceMsg(trace_ctx, "\tmode_deltas[%d] = %d\n", i, p->mode_deltas[i]); + + va_TraceMsg(trace_ctx, "\tbase_qindex = %d\n", p->base_qindex); + va_TraceMsg(trace_ctx, "\ty_dc_delta_q = %d\n", p->y_dc_delta_q); + va_TraceMsg(trace_ctx, "\tu_dc_delta_q = %d\n", p->u_dc_delta_q); + va_TraceMsg(trace_ctx, "\tu_ac_delta_q = %d\n", p->u_ac_delta_q); + va_TraceMsg(trace_ctx, "\tv_dc_delta_q = %d\n", p->v_dc_delta_q); + va_TraceMsg(trace_ctx, "\tv_ac_delta_q = %d\n", p->v_ac_delta_q); + + va_TraceMsg(trace_ctx, "\tqmatrix_fields = %X\n", p->qmatrix_fields.value); + va_TraceMsg(trace_ctx, "\t\tqmatrix_fields.bits.using_qmatrix = %d\n", p->qmatrix_fields.bits.using_qmatrix); + va_TraceMsg(trace_ctx, "\t\tqmatrix_fields.bits.qm_y = %d\n", p->qmatrix_fields.bits.qm_y); + va_TraceMsg(trace_ctx, "\t\tqmatrix_fields.bits.qm_u = %d\n", p->qmatrix_fields.bits.qm_u); + va_TraceMsg(trace_ctx, "\t\tqmatrix_fields.bits.qm_v = %d\n", p->qmatrix_fields.bits.qm_v); + va_TraceMsg(trace_ctx, "\tmode_control_fields = %X\n", p->mode_control_fields.value); va_TraceMsg(trace_ctx, "\t\tmode_control_fields.delta_q_present_flag = %d\n", p->mode_control_fields.bits.delta_q_present_flag); va_TraceMsg(trace_ctx, "\t\tmode_control_fields.log2_delta_q_res = %d\n", p->mode_control_fields.bits.log2_delta_q_res); @@ -4080,9 +4159,28 @@ va_TraceMsg(trace_ctx, "\t\tmode_control_fields.reference_select = %d\n", p->mode_control_fields.bits.reference_select); va_TraceMsg(trace_ctx, "\t\tmode_control_fields.reduced_tx_set_used = %d\n", p->mode_control_fields.bits.reduced_tx_set_used); va_TraceMsg(trace_ctx, "\t\tmode_control_fields.skip_mode_present = %d\n", p->mode_control_fields.bits.skip_mode_present); - va_TraceMsg(trace_ctx, "\t\tmode_control_fields.skip_mode_present = %d\n", p->mode_control_fields.bits.skip_mode_present); - va_TraceMsg(trace_ctx, "\tloop_filter_info_fields = %X\n", p->loop_filter_info_fields.value); + va_TraceMsg(trace_ctx, "\tcdef_damping_minus_3 = %X\n", p->cdef_damping_minus_3); + va_TraceMsg(trace_ctx, "\tcdef_bits = %X\n", p->cdef_bits); + for (i=0;i<8;i++) + va_TraceMsg(trace_ctx, "\tcdef_y_strengths[%d] = %d\n", i, p->cdef_y_strengths[i]); + for (i=0;i<8;i++) + va_TraceMsg(trace_ctx, "\tcdef_uv_strengths[%d] = %d\n", i, p->cdef_uv_strengths[i]); + + va_TraceMsg(trace_ctx, "\tloop_restoration_fields = %X\n", p->loop_restoration_fields.value); + va_TraceMsg(trace_ctx, "\t\tloop_restoration_fields.bits.yframe_restoration_type = %d\n", p->loop_restoration_fields.bits.yframe_restoration_type); + va_TraceMsg(trace_ctx, "\t\tloop_restoration_fields.bits.cbframe_restoration_type = %d\n", p->loop_restoration_fields.bits.cbframe_restoration_type); + va_TraceMsg(trace_ctx, "\t\tloop_restoration_fields.bits.crframe_restoration_type = %d\n", p->loop_restoration_fields.bits.crframe_restoration_type); + va_TraceMsg(trace_ctx, "\t\tloop_restoration_fields.bits.lr_unit_shift = %d\n", p->loop_restoration_fields.bits.lr_unit_shift); + va_TraceMsg(trace_ctx, "\t\tloop_restoration_fields.bits.lr_uv_shift = %d\n", p->loop_restoration_fields.bits.lr_uv_shift); + + for (i=0;i<7;i++) { + va_TraceMsg(trace_ctx, "\twm[%d]:\n", i); + va_TraceMsg(trace_ctx, "\t\twm[%d].wmtype = %d:\n", i, p->wm[i].wmtype); + for (j=0;j<8;j++) + va_TraceMsg(trace_ctx, "\t\twm[%d].wmmat[%d] = %d:\n", i, j, p->wm[i].wmmat[j]); + va_TraceMsg(trace_ctx, "\t\twm[%d].invalid = %d:\n", i, p->wm[i].invalid); + } va_TraceMsg(trace_ctx, NULL); @@ -5455,6 +5553,23 @@ DPY2TRACE_VIRCTX_EXIT(pva_trace); } +void va_TraceSyncSurface2( + VADisplay dpy, + VASurfaceID surface, + uint64_t timeout_ns +) +{ + DPY2TRACE_VIRCTX(dpy); + + TRACE_FUNCNAME(idx); + + va_TraceMsg(trace_ctx, "\tsurface = 0x%08x\n", surface); + va_TraceMsg(trace_ctx, "\ttimeout_ns = %d\n", timeout_ns); + va_TraceMsg(trace_ctx, NULL); + + DPY2TRACE_VIRCTX_EXIT(pva_trace); +} + void va_TraceQuerySurfaceAttributes( VADisplay dpy, VAConfigID config, @@ -5517,6 +5632,23 @@ va_TraceMsg(trace_ctx, NULL); DPY2TRACE_VIRCTX_EXIT(pva_trace); +} + +void va_TraceSyncBuffer( + VADisplay dpy, + VABufferID buf_id, + uint64_t timeout_ns +) +{ + DPY2TRACE_VIRCTX(dpy); + + TRACE_FUNCNAME(idx); + + va_TraceMsg(trace_ctx, "\tbuf_id = 0x%08x\n", buf_id); + va_TraceMsg(trace_ctx, "\ttimeout_ns = %d\n", timeout_ns); + va_TraceMsg(trace_ctx, NULL); + + DPY2TRACE_VIRCTX_EXIT(pva_trace); } void va_TraceMaxNumDisplayAttributes ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/va_trace.h new/libva-2.9.0/va/va_trace.h --- old/libva-2.8.0/va/va_trace.h 2020-06-26 01:34:38.000000000 +0200 +++ new/libva-2.9.0/va/va_trace.h 2020-09-03 17:35:41.000000000 +0200 @@ -213,6 +213,13 @@ ); DLL_HIDDEN +void va_TraceSyncSurface2( + VADisplay dpy, + VASurfaceID surface, + uint64_t timeout_ns +); + +DLL_HIDDEN void va_TraceQuerySurfaceAttributes( VADisplay dpy, VAConfigID config, @@ -235,6 +242,12 @@ void **error_info /*out*/ ); +DLL_HIDDEN +void va_TraceSyncBuffer( + VADisplay dpy, + VABufferID buf_id, + uint64_t timeout_ns +); DLL_HIDDEN void va_TraceMaxNumDisplayAttributes ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/va_version.h new/libva-2.9.0/va/va_version.h --- old/libva-2.8.0/va/va_version.h 2020-06-26 01:52:02.000000000 +0200 +++ new/libva-2.9.0/va/va_version.h 2020-09-11 23:49:38.000000000 +0200 @@ -37,7 +37,7 @@ * * The minor version of VA-API (2, if %VA_VERSION is 1.2.3) */ -#define VA_MINOR_VERSION 8 +#define VA_MINOR_VERSION 9 /** * VA_MICRO_VERSION: @@ -51,7 +51,7 @@ * * The full version of VA-API, like 1.2.3 */ -#define VA_VERSION 1.8.0 +#define VA_VERSION 1.9.0 /** * VA_VERSION_S: @@ -59,7 +59,7 @@ * The full version of VA-API, in string form (suited for string * concatenation) */ -#define VA_VERSION_S "1.8.0" +#define VA_VERSION_S "1.9.0" /** * VA_VERSION_HEX: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/va_vpp.h new/libva-2.9.0/va/va_vpp.h --- old/libva-2.8.0/va/va_vpp.h 2020-06-18 12:51:52.000000000 +0200 +++ new/libva-2.9.0/va/va_vpp.h 2020-09-11 23:35:49.000000000 +0200 @@ -969,6 +969,9 @@ * \c VA_SRC_SMPTE_240. * - Scaling: \c VA_FILTER_SCALING_DEFAULT, \c VA_FILTER_SCALING_FAST, * \c VA_FILTER_SCALING_HQ, \c VA_FILTER_SCALING_NL_ANAMORPHIC. + * - Interpolation Method: \c VA_FILTER_INTERPOLATION_DEFAULT, + * \c VA_FILTER_INTERPOLATION_NEAREST_NEIGHBOR, + * \c VA_FILTER_INTERPOLATION_BILINEAR, \c VA_FILTER_INTERPOLATION_ADVANCED. */ uint32_t filter_flags; /** @@ -986,11 +989,11 @@ VABufferID *filters; /** \brief Actual number of filters. */ uint32_t num_filters; - /** \brief Array of forward reference frames. */ + /** \brief Array of forward reference frames (past frames). */ VASurfaceID *forward_references; /** \brief Number of forward reference frames that were supplied. */ uint32_t num_forward_references; - /** \brief Array of backward reference frames. */ + /** \brief Array of backward reference frames (future frames). */ VASurfaceID *backward_references; /** \brief Number of backward reference frames that were supplied. */ uint32_t num_backward_references; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/wayland/Makefile.in new/libva-2.9.0/va/wayland/Makefile.in --- old/libva-2.8.0/va/wayland/Makefile.in 2020-06-26 01:51:59.000000000 +0200 +++ new/libva-2.9.0/va/wayland/Makefile.in 2020-09-11 23:49:34.000000000 +0200 @@ -441,9 +441,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign va/wayland/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu va/wayland/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign va/wayland/Makefile + $(AUTOMAKE) --gnu va/wayland/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/wayland/wayland-drm-client-protocol.c new/libva-2.9.0/va/wayland/wayland-drm-client-protocol.c --- old/libva-2.8.0/va/wayland/wayland-drm-client-protocol.c 2020-03-11 10:42:57.000000000 +0100 +++ new/libva-2.9.0/va/wayland/wayland-drm-client-protocol.c 2020-09-08 00:10:03.000000000 +0200 @@ -34,54 +34,54 @@ extern const struct wl_interface wl_buffer_interface; static const struct wl_interface *types[] = { - NULL, - &wl_buffer_interface, - NULL, - NULL, - NULL, - NULL, - NULL, - &wl_buffer_interface, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - &wl_buffer_interface, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, + NULL, + &wl_buffer_interface, + NULL, + NULL, + NULL, + NULL, + NULL, + &wl_buffer_interface, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + &wl_buffer_interface, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, }; static const struct wl_message wl_drm_requests[] = { - { "authenticate", "u", types + 0 }, - { "create_buffer", "nuiiuu", types + 1 }, - { "create_planar_buffer", "nuiiuiiiiii", types + 7 }, - { "create_prime_buffer", "2nhiiuiiiiii", types + 18 }, + { "authenticate", "u", types + 0 }, + { "create_buffer", "nuiiuu", types + 1 }, + { "create_planar_buffer", "nuiiuiiiiii", types + 7 }, + { "create_prime_buffer", "2nhiiuiiiiii", types + 18 }, }; static const struct wl_message wl_drm_events[] = { - { "device", "s", types + 0 }, - { "format", "u", types + 0 }, - { "authenticated", "", types + 0 }, - { "capabilities", "u", types + 0 }, + { "device", "s", types + 0 }, + { "format", "u", types + 0 }, + { "authenticated", "", types + 0 }, + { "capabilities", "u", types + 0 }, }; DLL_HIDDEN const struct wl_interface wl_drm_interface = { - "wl_drm", 2, - 4, wl_drm_requests, - 4, wl_drm_events, + "wl_drm", 2, + 4, wl_drm_requests, + 4, wl_drm_events, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.8.0/va/x11/Makefile.in new/libva-2.9.0/va/x11/Makefile.in --- old/libva-2.8.0/va/x11/Makefile.in 2020-06-26 01:51:59.000000000 +0200 +++ new/libva-2.9.0/va/x11/Makefile.in 2020-09-11 23:49:34.000000000 +0200 @@ -421,9 +421,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign va/x11/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu va/x11/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign va/x11/Makefile + $(AUTOMAKE) --gnu va/x11/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ ++++++ libva-2.8.0.tar.bz2.sha1sum -> libva-2.9.0.tar.bz2.sha1sum ++++++ --- /work/SRC/openSUSE:Factory/libva/libva-2.8.0.tar.bz2.sha1sum 2020-08-28 21:13:39.740099980 +0200 +++ /work/SRC/openSUSE:Factory/.libva.new.4249/libva-2.9.0.tar.bz2.sha1sum 2020-10-08 13:12:15.315176294 +0200 @@ -1 +1 @@ -9fb5df0e511c4aa918f9e8cd2be072cb3bb5040c libva-2.8.0.tar.bz2 +3e20605243096b4e935e1ef6ac7797efbacc44f6 libva-2.9.0.tar.bz2