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


Reply via email to