Hello community,

here is the log from the commit of package libva for openSUSE:Factory checked 
in at 2020-08-28 21:13:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libva (Old)
 and      /work/SRC/openSUSE:Factory/.libva.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libva"

Fri Aug 28 21:13:24 2020 rev:54 rq:829060 version:2.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libva/libva.changes      2020-04-14 
16:23:34.483703985 +0200
+++ /work/SRC/openSUSE:Factory/.libva.new.3399/libva.changes    2020-08-28 
21:13:40.876100532 +0200
@@ -1,0 +2,27 @@
+Sat Aug 15 21:11:17 UTC 2020 - Dirk Mueller <dmuel...@suse.com>
+
+- update to 2.8.0:
+  * trace: enable return value trace for successful function call
+  * trace: divide va_TraceEndPicture to two seperate function
+  * trace: add support for VAProfileHEVCSccMain444_10
+  * fix:Fixes file descriptor leak
+  * add fourcc code for P012 format
+  * travis: Add a test that code files don't have the exec bit set
+  * Remove the execute bit from all source code files
+  * meson: Allow for libdir and includedir to be absolute paths
+  * trace: Fix format string warnings
+  * fix:Fix clang warning (reading garbage)
+  * add definition to enforce both reflist not empty
+  * trace: List correct field names in va_TraceVAPictureParameterBufferHEVC
+  * change the return value to be UNIMPLEMENTED when the function pointer is 
NULL
+  * remove check of vaPutSurface implementation
+  * Add new slice structure flag for CAPS reporting
+  * VA/X11: VAAPI driver mapping for iris DRI driver
+  * VA/X11: enable driver candidate selection for DRI2
+  * Add SCC flags to enable/disable features
+  * fix: Fix HDR10 MaxCLL and MaxFALL documentation
+  * Add VAProfileHEVCSccMain444_10 for HEVC
+  * change the compatible list to be dynamic one
+  * trace:Convert VAProfileAV1Profile0 VAProfileAV1Profile1 to string
+
+-------------------------------------------------------------------

Old:
----
  libva-2.7.0.tar.bz2
  libva-2.7.0.tar.bz2.sha1sum

New:
----
  libva-2.8.0.tar.bz2
  libva-2.8.0.tar.bz2.sha1sum

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libva-gl.spec ++++++
--- /var/tmp/diff_new_pack.rjDYv9/_old  2020-08-28 21:13:41.848101003 +0200
+++ /var/tmp/diff_new_pack.rjDYv9/_new  2020-08-28 21:13:41.852101005 +0200
@@ -23,7 +23,7 @@
 
 Name:           libva-gl
 %define _name   libva
-Version:        2.7.0
+Version:        2.8.0
 Release:        0
 Summary:        Video Acceleration (VA) API
 License:        MIT

++++++ libva.spec ++++++
--- /var/tmp/diff_new_pack.rjDYv9/_old  2020-08-28 21:13:41.880101019 +0200
+++ /var/tmp/diff_new_pack.rjDYv9/_new  2020-08-28 21:13:41.884101021 +0200
@@ -23,7 +23,7 @@
 
 Name:           libva
 %define _name   libva
-Version:        2.7.0
+Version:        2.8.0
 Release:        0
 Summary:        Video Acceleration (VA) API
 License:        MIT

++++++ libva-2.7.0.tar.bz2 -> libva-2.8.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/NEWS new/libva-2.8.0/NEWS
--- old/libva-2.7.0/NEWS        2020-03-27 15:22:08.000000000 +0100
+++ new/libva-2.8.0/NEWS        2020-06-23 16:57:20.000000000 +0200
@@ -1,6 +1,30 @@
-libva NEWS -- summary of user visible changes.  2020-03-26
+libva NEWS -- summary of user visible changes.  2020-06-18
 Copyright (C) 2009-2020 Intel Corporation
 
+version 2.8.0 - 18.Jun.2020
+* trace: enable return value trace for successful function call
+* trace: divide va_TraceEndPicture to two seperate function
+* trace: add support for VAProfileHEVCSccMain444_10
+* fix:Fixes file descriptor leak
+* add fourcc code for P012 format
+* travis: Add a test that code files don't have the exec bit set
+* Remove the execute bit from all source code files
+* meson: Allow for libdir and includedir to be absolute paths
+* trace: Fix format string warnings
+* fix:Fix clang warning (reading garbage)
+* add definition to enforce both reflist not empty
+* trace: List correct field names in va_TraceVAPictureParameterBufferHEVC
+* change the return value to be UNIMPLEMENTED when the function pointer is NULL
+* remove check of vaPutSurface implementation
+* Add new slice structure flag for CAPS reporting
+* VA/X11: VAAPI driver mapping for iris DRI driver
+* VA/X11: enable driver candidate selection for DRI2
+* Add SCC flags to enable/disable features
+* fix: Fix HDR10 MaxCLL and MaxFALL documentation
+* Add VAProfileHEVCSccMain444_10 for HEVC
+* change the compatible list to be dynamic one
+* trace:Convert VAProfileAV1Profile0 VAProfileAV1Profile1 to string
+
 version 2.7.0 - 26.Mar.2020
 * trace: av1 decode buffers trace
 * trace: Add HEVC REXT and SCC trace for decoding.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/configure new/libva-2.8.0/configure
--- old/libva-2.7.0/configure   2020-04-09 17:48:09.000000000 +0200
+++ new/libva-2.8.0/configure   2020-06-26 01:51:59.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.7.0.
+# Generated by GNU Autoconf 2.69 for libva 2.8.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.7.0'
-PACKAGE_STRING='libva 2.7.0'
+PACKAGE_VERSION='2.8.0'
+PACKAGE_STRING='libva 2.8.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.7.0 to adapt to many kinds of systems.
+\`configure' configures libva 2.8.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.7.0:";;
+     short | recursive ) echo "Configuration of libva 2.8.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.7.0
+libva configure 2.8.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.7.0, which was
+It was created by libva $as_me 2.8.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.7.0'
+ VERSION='2.8.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3099,26 +3099,26 @@
 
 
 VA_API_MAJOR_VERSION=1
-VA_API_MINOR_VERSION=7
+VA_API_MINOR_VERSION=8
 VA_API_MICRO_VERSION=0
-VA_API_VERSION=1.7.0
+VA_API_VERSION=1.8.0
 
 
 
 
 
 LIBVA_MAJOR_VERSION=2
-LIBVA_MINOR_VERSION=7
+LIBVA_MINOR_VERSION=8
 LIBVA_MICRO_VERSION=0
-LIBVA_VERSION=2.7.0
+LIBVA_VERSION=2.8.0
 
 
 
 
 
-LIBVA_LT_CURRENT=702
+LIBVA_LT_CURRENT=802
 LIBVA_LT_REV=0
-LIBVA_LT_AGE=700
+LIBVA_LT_AGE=800
 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.7.0, which was
+This file was extended by libva $as_me 2.8.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.7.0
+libva config.status 2.8.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.7.0/configure.ac new/libva-2.8.0/configure.ac
--- old/libva-2.7.0/configure.ac        2020-04-09 17:43:02.000000000 +0200
+++ new/libva-2.8.0/configure.ac        2020-06-26 01:34:38.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], [7])
+m4_define([va_api_minor_version], [8])
 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.7.0/meson.build new/libva-2.8.0/meson.build
--- old/libva-2.7.0/meson.build 2020-04-09 17:43:02.000000000 +0200
+++ new/libva-2.8.0/meson.build 2020-06-26 01:34:38.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.7.0',
+  version : '2.8.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 = 7
+va_api_minor_version = 8
 va_api_micro_version = 0
 
 va_api_version = '@0@.@1@.@2@'.format(va_api_major_version,
@@ -65,7 +65,7 @@
 
 driverdir = get_option('driverdir')
 if driverdir == ''
-  driverdir = '@0@/@1@/@2@'.format(get_option('prefix'), get_option('libdir'), 
'dri')
+  driverdir = join_paths(get_option('prefix'), get_option('libdir'), 'dri')
 endif
 
 configinc = include_directories('.')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/pkgconfig/meson.build 
new/libva-2.8.0/pkgconfig/meson.build
--- old/libva-2.7.0/pkgconfig/meson.build       2018-12-26 11:22:41.000000000 
+0100
+++ new/libva-2.8.0/pkgconfig/meson.build       2020-06-18 12:51:52.000000000 
+0200
@@ -2,8 +2,8 @@
 
 pkgconf.set('prefix', get_option('prefix'))
 pkgconf.set('exec_prefix', '${prefix}')
-pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
-pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
+pkgconf.set('includedir', join_paths(get_option('prefix'), 
get_option('includedir')))
 pkgconf.set('LIBVA_VERSION', libva_version)
 pkgconf.set('VA_API_VERSION', va_api_version)
 pkgconf.set('LIBVA_DRIVERS_PATH', driverdir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/glx/va_glx_impl.c 
new/libva-2.8.0/va/glx/va_glx_impl.c
--- old/libva-2.7.0/va/glx/va_glx_impl.c        2020-03-25 23:08:39.000000000 
+0100
+++ new/libva-2.8.0/va/glx/va_glx_impl.c        2020-06-18 12:51:52.000000000 
+0200
@@ -939,7 +939,7 @@
 vaDestroySurfaceGLX_impl_libva(VADriverContextP ctx, void *gl_surface)
 {
     VASurfaceGLXP pSurfaceGLX;
-    struct OpenGLContextState old_cs, *new_cs;
+    struct OpenGLContextState old_cs = {0}, *new_cs;
 
     INIT_SURFACE(pSurfaceGLX, gl_surface);
 
@@ -1072,7 +1072,7 @@
 {
     VASurfaceGLXP pSurfaceGLX;
     VAStatus status;
-    struct OpenGLContextState old_cs;
+    struct OpenGLContextState old_cs = {0};
 
     INIT_SURFACE(pSurfaceGLX, gl_surface);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/va.c new/libva-2.8.0/va/va.c
--- old/libva-2.7.0/va/va.c     2020-04-09 17:43:02.000000000 +0200
+++ new/libva-2.8.0/va/va.c     2020-06-26 01:34:38.000000000 +0200
@@ -52,7 +52,7 @@
 #define DRIVER_EXTENSION       "_drv_video.so"
 
 #define ASSERT         assert
-#define CHECK_VTABLE(s, ctx, func) if (!va_checkVtable(dpy, 
ctx->vtable->va##func, #func)) s = VA_STATUS_ERROR_UNKNOWN;
+#define CHECK_VTABLE(s, ctx, func) if (!va_checkVtable(dpy, 
ctx->vtable->va##func, #func)) s = VA_STATUS_ERROR_UNIMPLEMENTED;
 #define CHECK_MAXIMUM(s, ctx, var) if (!va_checkMaximum(dpy, ctx->max_##var, 
#var)) s = VA_STATUS_ERROR_UNKNOWN;
 #define CHECK_STRING(s, ctx, var) if (!va_checkString(dpy, ctx->str_##var, 
#var)) s = VA_STATUS_ERROR_UNKNOWN;
 
@@ -465,20 +465,16 @@
             char init_func_s[256];
             int i;
 
-            static const struct {
+            struct {
                 int major;
                 int minor;
-            } compatible_versions[] = {
-                { VA_MAJOR_VERSION, VA_MINOR_VERSION },
-                { VA_MAJOR_VERSION, 6 },
-                { VA_MAJOR_VERSION, 5 },
-                { VA_MAJOR_VERSION, 4 },
-                { VA_MAJOR_VERSION, 3 },
-                { VA_MAJOR_VERSION, 2 },
-                { VA_MAJOR_VERSION, 1 },
-                { VA_MAJOR_VERSION, 0 },
-                { -1, -1}
-            };
+            } compatible_versions[VA_MINOR_VERSION + 2];
+            for (i = 0; i <= VA_MINOR_VERSION; i ++) {
+                compatible_versions[i].major = VA_MAJOR_VERSION;
+                compatible_versions[i].minor = VA_MINOR_VERSION - i;
+            }
+            compatible_versions[i].major = -1;
+            compatible_versions[i].minor = -1;
 
             for (i = 0; compatible_versions[i].major >= 0; i++) {
                 if (va_getDriverInitName(init_func_s, sizeof(init_func_s),
@@ -548,7 +544,6 @@
                     CHECK_VTABLE(vaStatus, ctx, EndPicture);
                     CHECK_VTABLE(vaStatus, ctx, SyncSurface);
                     CHECK_VTABLE(vaStatus, ctx, QuerySurfaceStatus);
-                    CHECK_VTABLE(vaStatus, ctx, PutSurface);
                     CHECK_VTABLE(vaStatus, ctx, QueryImageFormats);
                     CHECK_VTABLE(vaStatus, ctx, CreateImage);
                     CHECK_VTABLE(vaStatus, ctx, DeriveImage);
@@ -1617,12 +1612,11 @@
   ctx = CTX(dpy);
 
   VA_FOOL_FUNC(va_FoolCheckContinuity, dpy);
-
+  VA_TRACE_ALL(va_TraceEndPicture, dpy, context, 0);
   va_status = ctx->vtable->vaEndPicture( ctx, context );
-
-  /* dump surface content */
-  VA_TRACE_ALL(va_TraceEndPicture, dpy, context, 1);
   VA_TRACE_RET(dpy, va_status);
+  /* dump surface content */
+  VA_TRACE_ALL(va_TraceEndPictureExt, dpy, context, 1);
 
   return va_status;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/va.h new/libva-2.8.0/va/va.h
--- old/libva-2.7.0/va/va.h     2020-03-25 23:08:39.000000000 +0100
+++ new/libva-2.8.0/va/va.h     2020-06-26 01:34:38.000000000 +0200
@@ -395,7 +395,8 @@
     VAProfileHEVCSccMain10              = 30,
     VAProfileHEVCSccMain444             = 31,
     VAProfileAV1Profile0                = 32,
-    VAProfileAV1Profile1                = 33
+    VAProfileAV1Profile1                = 33,
+    VAProfileHEVCSccMain444_10          = 34
 } VAProfile;
 
 /**
@@ -956,12 +957,16 @@
 #define VA_ENC_SLICE_STRUCTURE_POWER_OF_TWO_ROWS        0x00000001
 /** \brief Driver supports an arbitrary number of macroblocks per slice. */
 #define VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS    0x00000002
-/** \brief Dirver support 1 rows  per slice */
+/** \brief Driver support 1 row per slice */
 #define VA_ENC_SLICE_STRUCTURE_EQUAL_ROWS               0x00000004
-/** \brief Dirver support max encoded slice size per slice */
+/** \brief Driver support max encoded slice size per slice */
 #define VA_ENC_SLICE_STRUCTURE_MAX_SLICE_SIZE           0x00000008
 /** \brief Driver supports an arbitrary number of rows per slice. */
 #define VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS           0x00000010
+/** \brief Driver supports any number of rows per slice but they must be the 
same
+*       for all slices except for the last one, which must be equal or smaller
+*       to the previous slices. */
+#define VA_ENC_SLICE_STRUCTURE_EQUAL_MULTI_ROWS         0x00000020
 /**@}*/
 
 /** \brief Attribute value for VAConfigAttribMaxFrameSize */
@@ -1019,6 +1024,8 @@
 #define VA_PREDICTION_DIRECTION_PREVIOUS                0x00000001
 /** \brief Driver support backward prediction frame/slice */
 #define VA_PREDICTION_DIRECTION_FUTURE                  0x00000002
+/** \brief Dirver require both reference list must be not empty for inter 
frame */
+#define VA_PREDICTION_DIRECTION_BI_NOT_EMPTY            0x00000004
 /**@}*/
 
 /** @name Attribute values for VAConfigAttribEncIntraRefresh */
@@ -3981,6 +3988,12 @@
  * The first plane contains Y, the second plane contains U and V in pairs of 
samples.
  */
 #define VA_FOURCC_P010          0x30313050
+/** P012: two-plane 12-bit YUV 4:2:0.
+ *
+ * Each sample is a two-byte little-endian value with the bottom four bits 
ignored.
+ * The first plane contains Y, the second plane contains U and V in pairs of 
samples.
+ */
+#define VA_FOURCC_P012          0x32313050
 /** P016: two-plane 16-bit YUV 4:2:0.
  *
  * Each sample is a two-byte little-endian value.  The first plane contains Y, 
the second
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/va_enc_hevc.h 
new/libva-2.8.0/va/va_enc_hevc.h
--- old/libva-2.7.0/va/va_enc_hevc.h    2020-03-25 23:08:39.000000000 +0100
+++ new/libva-2.8.0/va/va_enc_hevc.h    2020-06-09 22:56:35.000000000 +0200
@@ -327,8 +327,19 @@
     uint8_t     max_bytes_per_pic_denom;
     /** \brief Same as the HEVC bitstream syntax element. */
     uint8_t     max_bits_per_min_cu_denom;
+
+    /** \brief SCC flags to enable/disable features, including IBC and palette 
mode at present.*/
+    union {
+        struct {
+            /** \brief Same as the HEVC bitstream syntax element. */
+            uint32_t    palette_mode_enabled_flag                      : 1;
+            /** \brief Reserved bits for future use, must be zero */
+            uint32_t    reserved                                       : 31;
+        } bits;
+        uint32_t value;
+    } scc_fields;
     /** \brief Reserved bytes for future use, must be zero */
-    uint32_t                va_reserved[VA_PADDING_MEDIUM];
+    uint32_t   va_reserved[VA_PADDING_MEDIUM - 1];
     /**@}*/
 } VAEncSequenceParameterBufferHEVC;
 
@@ -538,7 +549,17 @@
      */
     uint8_t     hierarchical_level_plus1;
     /** \brief Reserved bytes for future use, must be zero */
-    uint8_t     va_byte_reserved[3];
+    uint8_t     va_byte_reserved;
+    /** \brief SCC flags to enable/disable feature, only IBC at present.*/
+    union {
+        struct {
+            /** \brief Same as the HEVC bitstream syntax element. */
+            uint16_t    pps_curr_pic_ref_enabled_flag                  : 1;
+            /** \brief Reserved bits for future use, must be zero */
+            uint16_t    reserved                                       : 15;
+        } bits;
+        uint16_t value;
+    } scc_fields;
     /** \brief Reserved bytes for future use, must be zero */
     uint32_t                va_reserved[VA_PADDING_HIGH - 1];
 } VAEncPictureParameterBufferHEVC;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/va_str.c new/libva-2.8.0/va/va_str.c
--- old/libva-2.7.0/va/va_str.c 2020-04-09 17:43:02.000000000 +0200
+++ new/libva-2.8.0/va/va_str.c 2020-06-09 22:56:35.000000000 +0200
@@ -61,6 +61,9 @@
     TOSTR(VAProfileHEVCSccMain);
     TOSTR(VAProfileHEVCSccMain10);
     TOSTR(VAProfileHEVCSccMain444);
+    TOSTR(VAProfileAV1Profile0);
+    TOSTR(VAProfileAV1Profile1);
+    TOSTR(VAProfileHEVCSccMain444_10);
     default: break;
     }
     return "<unknown profile>";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/va_trace.c 
new/libva-2.8.0/va/va_trace.c
--- old/libva-2.7.0/va/va_trace.c       2020-03-25 23:08:39.000000000 +0100
+++ new/libva-2.8.0/va/va_trace.c       2020-06-26 01:34:38.000000000 +0200
@@ -989,7 +989,7 @@
         vaUnlockSurface(dpy, trace_ctx->trace_rendertarget);
         return;
     }
-    va_TraceMsg(trace_ctx, "\tbuffer location = 0x%08x\n", buffer);
+    va_TraceMsg(trace_ctx, "\tbuffer location = 0x%p\n", buffer);
     va_TraceMsg(trace_ctx, NULL);
 
     Y_data = (unsigned char*)buffer;
@@ -1661,7 +1661,7 @@
         va_TraceMsg(trace_ctx, "\t   bit_offset = %u\n", buf_list->bit_offset);
         va_TraceMsg(trace_ctx, "\t   status = 0x%08x\n", buf_list->status);
         va_TraceMsg(trace_ctx, "\t   reserved = 0x%08x\n", buf_list->reserved);
-        va_TraceMsg(trace_ctx, "\t   buf = 0x%08x\n", buf_list->buf);
+        va_TraceMsg(trace_ctx, "\t   buf = 0x%p\n", buf_list->buf);
 
         if (trace_ctx->trace_fp_codedbuf) {
             va_TraceMsg(trace_ctx, "\tDump the content to file\n");
@@ -1773,10 +1773,10 @@
     va_TraceMsg(trace_ctx,"\tload_non_intra_quantiser_matrix = %d\n", 
p->load_non_intra_quantiser_matrix);
     va_TraceMsg(trace_ctx,"\tload_chroma_intra_quantiser_matrix = %d\n", 
p->load_chroma_intra_quantiser_matrix);
     va_TraceMsg(trace_ctx,"\tload_chroma_non_intra_quantiser_matrix = %d\n", 
p->load_chroma_non_intra_quantiser_matrix);
-    va_TraceMsg(trace_ctx,"\tintra_quantiser_matrix = %d\n", 
p->intra_quantiser_matrix);
-    va_TraceMsg(trace_ctx,"\tnon_intra_quantiser_matrix = %d\n", 
p->non_intra_quantiser_matrix);
-    va_TraceMsg(trace_ctx,"\tchroma_intra_quantiser_matrix = %d\n", 
p->chroma_intra_quantiser_matrix);
-    va_TraceMsg(trace_ctx,"\tchroma_non_intra_quantiser_matrix = %d\n", 
p->chroma_non_intra_quantiser_matrix);
+    va_TraceMsg(trace_ctx,"\tintra_quantiser_matrix = %p\n", 
p->intra_quantiser_matrix);
+    va_TraceMsg(trace_ctx,"\tnon_intra_quantiser_matrix = %p\n", 
p->non_intra_quantiser_matrix);
+    va_TraceMsg(trace_ctx,"\tchroma_intra_quantiser_matrix = %p\n", 
p->chroma_intra_quantiser_matrix);
+    va_TraceMsg(trace_ctx,"\tchroma_non_intra_quantiser_matrix = %p\n", 
p->chroma_non_intra_quantiser_matrix);
     va_TraceMsg(trace_ctx, NULL);
 
     return;
@@ -2047,7 +2047,7 @@
 
     va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period);
     va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second);
-    va_TraceMsg(trace_ctx, "\tframe_rate = %d\n", p->frame_rate);
+    va_TraceMsg(trace_ctx, "\tframe_rate = %f\n", p->frame_rate);
     va_TraceMsg(trace_ctx, "\tvbv_buffer_size = %d\n", p->vbv_buffer_size);
     va_TraceMsg(trace_ctx, NULL);
 
@@ -2170,7 +2170,8 @@
                trace_ctx->trace_profile == VAProfileHEVCMain444_12 || \
                trace_ctx->trace_profile == VAProfileHEVCSccMain    || \
                trace_ctx->trace_profile == VAProfileHEVCSccMain10  || \
-               trace_ctx->trace_profile == VAProfileHEVCSccMain444    \
+               trace_ctx->trace_profile == VAProfileHEVCSccMain444 || \
+               trace_ctx->trace_profile == VAProfileHEVCSccMain444_10 \
               );
 }
 
@@ -2185,7 +2186,8 @@
     *isScc = (\
               trace_ctx->trace_profile == VAProfileHEVCSccMain    || \
               trace_ctx->trace_profile == VAProfileHEVCSccMain10  || \
-              trace_ctx->trace_profile == VAProfileHEVCSccMain444    \
+              trace_ctx->trace_profile == VAProfileHEVCSccMain444 || \
+              trace_ctx->trace_profile == VAProfileHEVCSccMain444_10 \
              );
 }
 
@@ -2225,7 +2227,7 @@
     va_TraceMsg(trace_ctx, "\tCurrPic.frame_idx = %d\n", 
p->CurrPic.pic_order_cnt);
     va_TraceMsg(trace_ctx, "\tCurrPic.flags = %d\n", p->CurrPic.flags);
 
-    va_TraceMsg(trace_ctx, "\tReferenceFrames 
(TopFieldOrderCnt-BottomFieldOrderCnt-picture_id-frame_idx-flags:\n");
+    va_TraceMsg(trace_ctx, "\tReferenceFrames 
(picture_id-pic_order_cnt-flags:\n");
     for (i = 0; i < 15; i++)
     {
         if ((p->ReferenceFrames[i].picture_id != VA_INVALID_SURFACE) &&
@@ -5362,6 +5364,7 @@
         case VAProfileHEVCSccMain:
         case VAProfileHEVCSccMain10:
         case VAProfileHEVCSccMain444:
+        case VAProfileHEVCSccMain444_10:
             for (j=0; j<num_elements; j++) {
                 va_TraceMsg(trace_ctx, "\telement[%d] = ", j);
 
@@ -5402,14 +5405,23 @@
     int endpic_done
 )
 {
-    int encode, decode, jpeg;
     DPY2TRACECTX(dpy, context, VA_INVALID_ID);
 
     TRACE_FUNCNAME(idx);
 
     va_TraceMsg(trace_ctx, "\tcontext = 0x%08x\n", context);
     va_TraceMsg(trace_ctx, "\trender_targets = 0x%08x\n", 
trace_ctx->trace_rendertarget);
+    va_TraceMsg(trace_ctx, NULL);
+}
 
+void va_TraceEndPictureExt(
+    VADisplay dpy,
+    VAContextID context,
+    int endpic_done
+)
+{
+    int encode, decode, jpeg;
+    DPY2TRACECTX(dpy, context, VA_INVALID_ID);
     /* avoid to create so many empty files */
     encode = (trace_ctx->trace_entrypoint == VAEntrypointEncSlice);
     decode = (trace_ctx->trace_entrypoint == VAEntrypointVLD);
@@ -5425,9 +5437,7 @@
         vaSyncSurface(dpy, trace_ctx->trace_rendertarget);
         va_TraceSurface(dpy, context);
     }
-
-    va_TraceMsg(trace_ctx, NULL);
-}
+ }
 
 
 void va_TraceSyncSurface(
@@ -5632,7 +5642,7 @@
     TRACE_FUNCNAME(idx);
     
     va_TraceMsg(trace_ctx, "\tsurface = 0x%08x\n", surface);
-    va_TraceMsg(trace_ctx, "\tdraw = 0x%08x\n", draw);
+    va_TraceMsg(trace_ctx, "\tdraw = 0x%p\n", draw);
     va_TraceMsg(trace_ctx, "\tsrcx = %d\n", srcx);
     va_TraceMsg(trace_ctx, "\tsrcy = %d\n", srcy);
     va_TraceMsg(trace_ctx, "\tsrcw = %d\n", srcw);
@@ -5641,7 +5651,7 @@
     va_TraceMsg(trace_ctx, "\tdesty = %d\n", desty);
     va_TraceMsg(trace_ctx, "\tdestw = %d\n", destw);
     va_TraceMsg(trace_ctx, "\tdesth = %d\n", desth);
-    va_TraceMsg(trace_ctx, "\tcliprects = 0x%08x\n", cliprects);
+    va_TraceMsg(trace_ctx, "\tcliprects = 0x%p\n", cliprects);
     va_TraceMsg(trace_ctx, "\tnumber_cliprects = %d\n", number_cliprects);
     va_TraceMsg(trace_ctx, "\tflags = 0x%08x\n", flags);
     va_TraceMsg(trace_ctx, NULL);
@@ -5651,9 +5661,6 @@
 
 void va_TraceStatus(VADisplay dpy, const char * funcName, VAStatus status)
 {
-    if(status == VA_STATUS_SUCCESS)
-        return;
-
     DPY2TRACE_VIRCTX(dpy);
 
     va_TraceMsg(trace_ctx, "=========%s ret = %s, %s \n",funcName, 
vaStatusStr(status), vaErrorStr(status));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/va_trace.h 
new/libva-2.8.0/va/va_trace.h
--- old/libva-2.7.0/va/va_trace.h       2020-03-25 23:08:39.000000000 +0100
+++ new/libva-2.8.0/va/va_trace.h       2020-06-26 01:34:38.000000000 +0200
@@ -200,6 +200,13 @@
 );
 
 DLL_HIDDEN
+void va_TraceEndPictureExt(
+    VADisplay dpy,
+    VAContextID context,
+    int endpic_done
+);
+
+DLL_HIDDEN
 void va_TraceSyncSurface(
     VADisplay dpy,
     VASurfaceID render_target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/va_version.h 
new/libva-2.8.0/va/va_version.h
--- old/libva-2.7.0/va/va_version.h     2020-04-09 17:48:12.000000000 +0200
+++ new/libva-2.8.0/va/va_version.h     2020-06-26 01:52:02.000000000 +0200
@@ -37,7 +37,7 @@
  *
  * The minor version of VA-API (2, if %VA_VERSION is 1.2.3)
  */
-#define VA_MINOR_VERSION    7
+#define VA_MINOR_VERSION    8
 
 /**
  * VA_MICRO_VERSION:
@@ -51,7 +51,7 @@
  *
  * The full version of VA-API, like 1.2.3
  */
-#define VA_VERSION          1.7.0
+#define VA_VERSION          1.8.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.7.0"
+#define VA_VERSION_S       "1.8.0"
 
 /**
  * VA_VERSION_HEX:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/va_vpp.h new/libva-2.8.0/va/va_vpp.h
--- old/libva-2.7.0/va/va_vpp.h 2020-03-25 23:08:39.000000000 +0100
+++ new/libva-2.8.0/va/va_vpp.h 2020-06-18 12:51:52.000000000 +0200
@@ -805,15 +805,15 @@
      */
     uint32_t    min_display_mastering_luminance;
     /**
-     * \brief The maximum content light level.
+     * \brief The maximum content light level (MaxCLL).
      *
-     * The value is in units of 0.0001 candelas per square metre.
+     * The value is in units of 1 candelas per square metre.
      */
     uint16_t    max_content_light_level;
     /**
-     * \brief The maximum picture average light level.
+     * \brief The maximum picture average light level (MaxFALL).
      *
-     * The value is in units of 0.0001 candelas per square metre.
+     * The value is in units of 1 candelas per square metre.
      */
     uint16_t    max_pic_average_light_level;
     /** Resevered */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/x11/dri2_util.c 
new/libva-2.8.0/va/x11/dri2_util.c
--- old/libva-2.7.0/va/x11/dri2_util.c  2020-03-25 23:08:39.000000000 +0100
+++ new/libva-2.8.0/va/x11/dri2_util.c  2020-06-18 12:51:52.000000000 +0200
@@ -182,8 +182,7 @@
     char *device_name = NULL;
     drm_magic_t magic;        
     *driver_name = NULL;
-    dri_state->base.fd = -1;
-    dri_state->base.auth_type = VA_NONE;
+
     if (!VA_DRI2QueryExtension(ctx->native_dpy, &event_base, &error_base))
         goto err_out;
 
@@ -195,6 +194,9 @@
                      driver_name, &device_name))
         goto err_out;
 
+    if ((dri_state->base.fd != -1) && (dri_state->base.auth_type != VA_NONE))
+        goto success_out;
+
     dri_state->base.fd = open(device_name, O_RDWR);
 
     if (dri_state->base.fd < 0)
@@ -215,6 +217,7 @@
     dri_state->close = dri2Close;
     gsDRI2SwapAvailable = (minor >= 2);
 
+success_out:
     Xfree(device_name);
 
     return True;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.7.0/va/x11/va_x11.c 
new/libva-2.8.0/va/x11/va_x11.c
--- old/libva-2.7.0/va/x11/va_x11.c     2020-03-25 23:08:39.000000000 +0100
+++ new/libva-2.8.0/va/x11/va_x11.c     2020-06-18 12:51:52.000000000 +0200
@@ -44,6 +44,20 @@
 #include <fcntl.h>
 #include <errno.h>
 
+struct driver_name_map {
+    const char *key;
+    int         key_len;
+    const char *name;
+};
+
+static const struct driver_name_map g_dri2_driver_name_map[] = {
+    { "i965",       4, "iHD"    }, // Intel iHD  VAAPI driver with i965 DRI 
driver
+    { "i965",       4, "i965"   }, // Intel i965 VAAPI driver with i965 DRI 
driver
+    { "iris",       4, "iHD"    }, // Intel iHD  VAAPI driver with iris DRI 
driver
+    { "iris",       4, "i965"   }, // Intel i965 VAAPI driver with iris DRI 
driver
+    { NULL,         0, NULL }
+};
+
 static int va_DisplayContextIsValid (
     VADisplayContextP pDisplayContext
 )
@@ -73,29 +87,93 @@
     free(pDisplayContext);
 }
 
+static VAStatus va_DRI2_GetNumCandidates (
+    VADisplayContextP pDisplayContext,
+    int *num_candidates
+)
+{
+    char *driver_name = NULL;
+    const struct driver_name_map *m = NULL;
+    VADriverContextP ctx = pDisplayContext->pDriverContext;
+
+    *num_candidates = 0;
+
+    if (!(va_isDRI2Connected(ctx, &driver_name) && driver_name))
+        return VA_STATUS_ERROR_UNKNOWN;
+
+    for (m = g_dri2_driver_name_map; m->key != NULL; m++) {
+        if (strlen(driver_name) >= m->key_len &&
+            strncmp(driver_name, m->key, m->key_len) == 0) {
+            (*num_candidates)++;
+        }
+    }
+
+    free(driver_name);
+
+    /*
+     * If the dri2 driver name does not have a mapped vaapi driver name, then
+     * assume they have the same name.
+     */
+    if (*num_candidates == 0)
+        *num_candidates = 1;
 
-static VAStatus va_DRI2GetDriverName (
+    return VA_STATUS_SUCCESS;
+}
+
+static VAStatus va_DRI2_GetDriverName (
     VADisplayContextP pDisplayContext,
-    char **driver_name
+    char **driver_name_ptr,
+    int candidate_index
 )
 {
+    const struct driver_name_map *m = NULL;
+    int current_index = 0;
     VADriverContextP ctx = pDisplayContext->pDriverContext;
 
-    if (!va_isDRI2Connected(ctx, driver_name))
+    *driver_name_ptr = NULL;
+
+    if (!(va_isDRI2Connected(ctx, driver_name_ptr) && *driver_name_ptr))
         return VA_STATUS_ERROR_UNKNOWN;
 
+    for (m = g_dri2_driver_name_map; m->key != NULL; m++) {
+        if (strlen(*driver_name_ptr) >= m->key_len &&
+            strncmp(*driver_name_ptr, m->key, m->key_len) == 0) {
+            if (current_index == candidate_index) {
+                break;
+            }
+            current_index++;
+        }
+    }
+
+    /*
+     * If the dri2 driver name does not have a mapped vaapi driver name, then
+     * assume they have the same name.
+     */
+    if (!m->name)
+        return VA_STATUS_SUCCESS;
+
+    /* Use the mapped vaapi driver name */
+    free(*driver_name_ptr);
+    *driver_name_ptr = strdup(m->name);
+    if (!*driver_name_ptr)
+        return VA_STATUS_ERROR_ALLOCATION_FAILED;
+
     return VA_STATUS_SUCCESS;
 }
 
 static VAStatus va_NVCTRL_GetDriverName (
     VADisplayContextP pDisplayContext,
-    char **driver_name
+    char **driver_name,
+    int candidate_index
 )
 {
     VADriverContextP ctx = pDisplayContext->pDriverContext;
     int direct_capable, driver_major, driver_minor, driver_patch;
     Bool result;
 
+    if (candidate_index != 0)
+        return VA_STATUS_ERROR_INVALID_PARAMETER;
+
     result = VA_NVCTRLQueryDirectRenderingCapable(ctx->native_dpy, 
ctx->x11_screen,
                                                   &direct_capable);
     if (!result || !direct_capable)
@@ -112,13 +190,17 @@
 
 static VAStatus va_FGLRX_GetDriverName (
     VADisplayContextP pDisplayContext,
-    char **driver_name
+    char **driver_name,
+    int candidate_index
 )
 {
     VADriverContextP ctx = pDisplayContext->pDriverContext;
     int driver_major, driver_minor, driver_patch;
     Bool result;
 
+    if (candidate_index != 0)
+        return VA_STATUS_ERROR_INVALID_PARAMETER;
+
     result = VA_FGLRXGetClientDriverName(ctx->native_dpy, ctx->x11_screen,
                                          &driver_major, &driver_minor,
                                          &driver_patch, driver_name);
@@ -130,24 +212,43 @@
 
 static VAStatus va_DisplayContextGetDriverName (
     VADisplayContextP pDisplayContext,
-    char **driver_name
+    char **driver_name, int candidate_index
 )
 {
     VAStatus vaStatus;
 
     if (driver_name)
-       *driver_name = NULL;
+        *driver_name = NULL;
     else
         return VA_STATUS_ERROR_UNKNOWN;
-    
-    vaStatus = va_DRI2GetDriverName(pDisplayContext, driver_name);
+
+    vaStatus = va_DRI2_GetDriverName(pDisplayContext, driver_name, 
candidate_index);
     if (vaStatus != VA_STATUS_SUCCESS)
-        vaStatus = va_NVCTRL_GetDriverName(pDisplayContext, driver_name);
+        vaStatus = va_NVCTRL_GetDriverName(pDisplayContext, driver_name, 
candidate_index);
     if (vaStatus != VA_STATUS_SUCCESS)
-        vaStatus = va_FGLRX_GetDriverName(pDisplayContext, driver_name);
+        vaStatus = va_FGLRX_GetDriverName(pDisplayContext, driver_name, 
candidate_index);
+
     return vaStatus;
 }
 
+static VAStatus va_DisplayContextGetNumCandidates (
+    VADisplayContextP pDisplayContext,
+    int *num_candidates
+)
+{
+    VAStatus vaStatus;
+
+    vaStatus = va_DRI2_GetNumCandidates(pDisplayContext, num_candidates);
+
+    /* A call to va_DisplayContextGetDriverName will fallback to other
+     * methods (i.e. NVCTRL, FGLRX) when DRI2 is unsuccessful.  All of those
+     * fallbacks only have 1 candidate driver.
+     */
+    if (vaStatus != VA_STATUS_SUCCESS)
+      *num_candidates = 1;
+
+    return VA_STATUS_SUCCESS;
+}
 
 VADisplay vaGetDisplay (
     Display *native_dpy /* implementation specific */
@@ -166,7 +267,8 @@
 
     pDisplayContext->vaIsValid       = va_DisplayContextIsValid;
     pDisplayContext->vaDestroy       = va_DisplayContextDestroy;
-    pDisplayContext->vaGetDriverName = va_DisplayContextGetDriverName;
+    pDisplayContext->vaGetNumCandidates = va_DisplayContextGetNumCandidates;
+    pDisplayContext->vaGetDriverNameByIndex = va_DisplayContextGetDriverName;
 
     pDriverContext = va_newDriverContext(pDisplayContext);
     if (!pDriverContext) {
@@ -185,12 +287,14 @@
         return NULL;
     }
 
+    dri_state->base.fd = -1;
+    dri_state->base.auth_type = VA_NONE;
+
     pDriverContext->drm_state = dri_state;
 
     return (VADisplay)pDisplayContext;
 }
 
-
 void va_TracePutSurface (
     VADisplay dpy,
     VASurfaceID surface,
@@ -208,7 +312,6 @@
     unsigned int flags /* de-interlacing flags */
 );
 
-
 VAStatus vaPutSurface (
     VADisplay dpy,
     VASurfaceID surface,

++++++ libva-2.7.0.tar.bz2.sha1sum -> libva-2.8.0.tar.bz2.sha1sum ++++++
--- /work/SRC/openSUSE:Factory/libva/libva-2.7.0.tar.bz2.sha1sum        
2020-04-14 16:23:34.431703937 +0200
+++ /work/SRC/openSUSE:Factory/.libva.new.3399/libva-2.8.0.tar.bz2.sha1sum      
2020-08-28 21:13:39.740099980 +0200
@@ -1 +1 @@
-e0119fdfbc225e47d5723e38d35e914dd5eb8d2f  libva-2.7.0.tar.bz2
+9fb5df0e511c4aa918f9e8cd2be072cb3bb5040c  libva-2.8.0.tar.bz2


Reply via email to