Hello community,

here is the log from the commit of package libva for openSUSE:Factory checked 
in at 2019-08-28 16:00:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libva (Old)
 and      /work/SRC/openSUSE:Factory/.libva.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libva"

Wed Aug 28 16:00:31 2019 rev:47 rq:725396 version:2.5.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libva/libva-gl.changes   2019-07-22 
12:14:59.731750868 +0200
+++ /work/SRC/openSUSE:Factory/.libva.new.7948/libva-gl.changes 2019-08-28 
16:00:33.218808876 +0200
@@ -1,0 +2,27 @@
+Wed Aug 21 21:55:43 UTC 2019 - Aaron Stern <ukbeas...@protonmail.com>
+
+- Update to version 2.5.0:
+  * Correct the comment of color_range.
+  * Add VA_FOURCC_A2B10G10R10 for format a2b10g10r10.
+  * Adjust VAEncMiscParameterQuantization structure to be align with 
VAEncMiscParameterBuffer(possible to impact BC)
+  * Add attribute for max frame size
+  * Add va_footer.html into distribution build
+  * va_trace: hevc profiles added
+  * Add new definition for input/output surface flag
+  * va/va_trace: add trace support for VAEncMiscParameterTypeSkipFrame 
structure.
+  * va/va_trace: add MPEG2 trace support for MiscParam and SequenceParam
+  * va_openDriver: check strdup return value
+  * Mark some duplicated field as deprecated
+  * Add return value into logs
+  * va/va_trace: add trace support for VAEncMiscParameterEncQuality structure.
+  * Add newformat foucc defination
+  * va_backend: remove unneeded linux/videodev2.h include
+  * va_trace: add missing <sys/time.h> include
+  * configure: don't build glx if VA/X11 isn't built
+  * va/va_trace: unbreak with C89 after b369467
+  * [common] Add A2RGB10 fourcc definition
+  * build: meson: enables va messaging and visibility
+  * va/va_trace: add trace support for RIR(rolling intra refresh).
+  * va/va_trace: add trace support for ROI(region of interest)
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/libva/libva.changes      2019-07-22 
12:14:59.763750859 +0200
+++ /work/SRC/openSUSE:Factory/.libva.new.7948/libva.changes    2019-08-28 
16:00:33.254808870 +0200
@@ -1,0 +2,27 @@
+Wed Aug 21 22:07:32 UTC 2019 - Aaron Stern <ukbeas...@protonmail.com>
+
+- Update to version 2.5.0:
+  * Correct the comment of color_range.
+  * Add VA_FOURCC_A2B10G10R10 for format a2b10g10r10.
+  * Adjust VAEncMiscParameterQuantization structure to be align with 
VAEncMiscParameterBuffer(possible to impact BC)
+  * Add attribute for max frame size
+  * Add va_footer.html into distribution build
+  * va_trace: hevc profiles added
+  * Add new definition for input/output surface flag
+  * va/va_trace: add trace support for VAEncMiscParameterTypeSkipFrame 
structure.
+  * va/va_trace: add MPEG2 trace support for MiscParam and SequenceParam
+  * va_openDriver: check strdup return value
+  * Mark some duplicated field as deprecated
+  * Add return value into logs
+  * va/va_trace: add trace support for VAEncMiscParameterEncQuality structure.
+  * Add newformat foucc defination
+  * va_backend: remove unneeded linux/videodev2.h include
+  * va_trace: add missing <sys/time.h> include
+  * configure: don't build glx if VA/X11 isn't built
+  * va/va_trace: unbreak with C89 after b369467
+  * [common] Add A2RGB10 fourcc definition
+  * build: meson: enables va messaging and visibility
+  * va/va_trace: add trace support for RIR(rolling intra refresh).
+  * va/va_trace: add trace support for ROI(region of interest)
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ libva-gl.spec ++++++
--- /var/tmp/diff_new_pack.7egNLg/_old  2019-08-28 16:00:33.726808800 +0200
+++ /var/tmp/diff_new_pack.7egNLg/_new  2019-08-28 16:00:33.726808800 +0200
@@ -29,7 +29,7 @@
 
 Name:           libva-gl
 %define _name   libva
-Version:        2.4.1
+Version:        2.5.0
 Release:        0
 Summary:        Video Acceleration (VA) API
 License:        MIT

++++++ libva.spec ++++++
--- /var/tmp/diff_new_pack.7egNLg/_old  2019-08-28 16:00:33.746808796 +0200
+++ /var/tmp/diff_new_pack.7egNLg/_new  2019-08-28 16:00:33.750808796 +0200
@@ -29,7 +29,7 @@
 
 Name:           libva
 %define _name   libva
-Version:        2.4.1
+Version:        2.5.0
 Release:        0
 Summary:        Video Acceleration (VA) API
 License:        MIT

++++++ libva-2.4.1.tar.bz2 -> libva-2.5.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/Makefile.am new/libva-2.5.0/Makefile.am
--- old/libva-2.4.1/Makefile.am 2018-12-26 11:22:45.000000000 +0100
+++ new/libva-2.5.0/Makefile.am 2019-06-17 12:35:14.000000000 +0200
@@ -30,6 +30,7 @@
 SUBDIRS += doc
 endif
 
+EXTRA_DIST=doc/va_footer.html
 # Extra clean files so that maintainer-clean removes *everything*
 MAINTAINERCLEANFILES = \
        aclocal.m4 compile config.guess config.sub \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/Makefile.in new/libva-2.5.0/Makefile.in
--- old/libva-2.4.1/Makefile.in 2019-05-22 15:36:27.000000000 +0200
+++ new/libva-2.5.0/Makefile.in 2019-07-05 16:14:46.000000000 +0200
@@ -380,7 +380,7 @@
 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
 AUTOMAKE_OPTIONS = foreign
 SUBDIRS = va pkgconfig $(am__append_1)
-
+EXTRA_DIST = doc/va_footer.html
 # Extra clean files so that maintainer-clean removes *everything*
 MAINTAINERCLEANFILES = \
        aclocal.m4 compile config.guess config.sub \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/NEWS new/libva-2.5.0/NEWS
--- old/libva-2.4.1/NEWS        2019-05-09 17:16:31.000000000 +0200
+++ new/libva-2.5.0/NEWS        2019-07-05 15:08:40.000000000 +0200
@@ -1,6 +1,30 @@
-libva NEWS -- summary of user visible changes.  2019-01-25
+libva NEWS -- summary of user visible changes.  2019-07-05
 Copyright (C) 2009-2019 Intel Corporation
 
+version 2.5.0 - 05.Jul.2019
+* Correct the comment of color_range.
+* Add VA_FOURCC_A2B10G10R10 for format a2b10g10r10.
+* Adjust VAEncMiscParameterQuantization structure to be align with 
VAEncMiscParameterBuffer(possible to impact BC)
+* Add attribute for max frame size
+* Add va_footer.html into distribution build
+* va_trace: hevc profiles added
+* Add new definition for input/output surface flag
+* va/va_trace: add trace support for VAEncMiscParameterTypeSkipFrame structure.
+* va/va_trace: add MPEG2 trace support for MiscParam and SequenceParam
+* va_openDriver: check strdup return value
+* Mark some duplicated field as deprecated
+* Add return value into logs
+* va/va_trace: add trace support for VAEncMiscParameterEncQuality structure.
+* Add newformat foucc defination
+* va_backend: remove unneeded linux/videodev2.h include
+* va_trace: add missing <sys/time.h> include
+* configure: don't build glx if VA/X11 isn't built
+* va/va_trace: unbreak with C89 after b3694671c784
+* [common] Add A2RGB10 fourcc definition
+* build: meson: enables va messaging and visibility
+* va/va_trace: add trace support for RIR(rolling intra refresh).
+* va/va_trace: add trace support for ROI(region of interest).
+
 version 2.4.0 - 25.Jan.2019
 * va_TraceSurface support for VA_FOURCC_P010
 * Add pointer to struct wl_interface for driver to use
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/configure new/libva-2.5.0/configure
--- old/libva-2.4.1/configure   2019-05-22 15:36:28.000000000 +0200
+++ new/libva-2.5.0/configure   2019-07-05 16:14:46.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.4.1.
+# Generated by GNU Autoconf 2.69 for libva 2.5.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.4.1'
-PACKAGE_STRING='libva 2.4.1'
+PACKAGE_VERSION='2.5.0'
+PACKAGE_STRING='libva 2.5.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.4.1 to adapt to many kinds of systems.
+\`configure' configures libva 2.5.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.4.1:";;
+     short | recursive ) echo "Configuration of libva 2.5.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.4.1
+libva configure 2.5.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.4.1, which was
+It was created by libva $as_me 2.5.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.4.1'
+ VERSION='2.5.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3099,26 +3099,26 @@
 
 
 VA_API_MAJOR_VERSION=1
-VA_API_MINOR_VERSION=4
-VA_API_MICRO_VERSION=1
-VA_API_VERSION=1.4.1
+VA_API_MINOR_VERSION=5
+VA_API_MICRO_VERSION=0
+VA_API_VERSION=1.5.0
 
 
 
 
 
 LIBVA_MAJOR_VERSION=2
-LIBVA_MINOR_VERSION=4
-LIBVA_MICRO_VERSION=1
-LIBVA_VERSION=2.4.1
+LIBVA_MINOR_VERSION=5
+LIBVA_MICRO_VERSION=0
+LIBVA_VERSION=2.5.0
 
 
 
 
 
-LIBVA_LT_CURRENT=403
+LIBVA_LT_CURRENT=502
 LIBVA_LT_REV=0
-LIBVA_LT_AGE=401
+LIBVA_LT_AGE=500
 LIBVA_LT_VERSION="$LIBVA_LT_CURRENT:$LIBVA_LT_REV:$LIBVA_LT_AGE"
 LIBVA_LT_LDFLAGS="-version-info $LIBVA_LT_VERSION"
 
@@ -17653,7 +17653,7 @@
    as_fn_error $? "VA/GLX explicitly enabled, but VA/X11 isn't built" 
"$LINENO" 5
 fi
 
-if test "$USE_X11:$enable_glx" != "yes:no"; then
+if test "$USE_X11" == "yes" -a "$enable_glx" != "no"; then
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLX" >&5
@@ -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.4.1, which was
+This file was extended by libva $as_me 2.5.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.4.1
+libva config.status 2.5.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.4.1/configure.ac new/libva-2.5.0/configure.ac
--- old/libva-2.4.1/configure.ac        2019-05-22 15:35:15.000000000 +0200
+++ new/libva-2.5.0/configure.ac        2019-07-05 15:11:21.000000000 +0200
@@ -27,8 +27,8 @@
 # - 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], [4])
-m4_define([va_api_micro_version], [1])
+m4_define([va_api_minor_version], [5])
+m4_define([va_api_micro_version], [0])
 
 m4_define([va_api_version],
           [va_api_major_version.va_api_minor_version.va_api_micro_version])
@@ -42,7 +42,7 @@
 # - reset micro version to zero when VA-API major or minor version is changed
 m4_define([libva_major_version], [m4_eval(va_api_major_version + 1)])
 m4_define([libva_minor_version], [m4_eval(va_api_minor_version)])
-m4_define([libva_micro_version], [1])
+m4_define([libva_micro_version], [0])
 m4_define([libva_pre_version],   [0])
 
 m4_define([libva_version],
@@ -259,7 +259,7 @@
    AC_MSG_ERROR([VA/GLX explicitly enabled, but VA/X11 isn't built])
 fi
 
-if test "$USE_X11:$enable_glx" != "yes:no"; then
+if test "$USE_X11" == "yes" -a "$enable_glx" != "no"; then
     PKG_CHECK_MODULES([GLX], [gl x11], [USE_GLX="yes"], [:])
     saved_CPPFLAGS="$CPPFLAGS"
     saved_LIBS="$LIBS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/doc/va_footer.html 
new/libva-2.5.0/doc/va_footer.html
--- old/libva-2.4.1/doc/va_footer.html  1970-01-01 01:00:00.000000000 +0100
+++ new/libva-2.5.0/doc/va_footer.html  2018-12-26 11:22:45.000000000 +0100
@@ -0,0 +1,4 @@
+<hr class="footer"/><address class="footer"><small>
+Generated for $projectname by&#160;<a 
href="http://www.doxygen.org/index.html";><img class="footer" 
src="$relpath$doxygen.png" alt="doxygen"/></a> $doxygenversion</small></address>
+</body>
+</html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/va/va.c new/libva-2.5.0/va/va.c
--- old/libva-2.4.1/va/va.c     2019-05-22 15:35:15.000000000 +0200
+++ new/libva-2.5.0/va/va.c     2019-06-17 12:35:14.000000000 +0200
@@ -381,6 +381,11 @@
         search_path = VA_DRIVERS_PATH;
 
     search_path = strdup((const char *)search_path);
+    if (!search_path) {
+         va_errorMessage(dpy, "%s L%d Out of memory\n",
+                            __FUNCTION__, __LINE__);
+         return VA_STATUS_ERROR_ALLOCATION_FAILED;
+    }
     driver_dir = strtok_r(search_path, ":", &saveptr);
     while (driver_dir) {
         void *handle = NULL;
@@ -412,6 +417,7 @@
                 int minor;
             } compatible_versions[] = {
                 { VA_MAJOR_VERSION, VA_MINOR_VERSION },
+                { VA_MAJOR_VERSION, 4 },
                 { VA_MAJOR_VERSION, 3 },
                 { VA_MAJOR_VERSION, 2 },
                 { VA_MAJOR_VERSION, 1 },
@@ -711,7 +717,7 @@
         free(driver_name);
     
     VA_TRACE_LOG(va_TraceInitialize, dpy, major_version, minor_version);
-
+    VA_TRACE_RET(dpy, vaStatus);
     return vaStatus;
 }
 
@@ -746,6 +752,7 @@
   }
 
   VA_TRACE_LOG(va_TraceTerminate, dpy);
+  VA_TRACE_RET(dpy, vaStatus);
 
   va_TraceEnd(dpy);
 
@@ -818,10 +825,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaQueryConfigEntrypoints ( ctx, profile, entrypoints, 
num_entrypoints);
+  vaStatus = ctx->vtable->vaQueryConfigEntrypoints ( ctx, profile, 
entrypoints, num_entrypoints);
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus;
 }
 
 VAStatus vaGetConfigAttributes (
@@ -833,10 +843,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaGetConfigAttributes ( ctx, profile, entrypoint, 
attrib_list, num_attribs );
+  vaStatus = ctx->vtable->vaGetConfigAttributes ( ctx, profile, entrypoint, 
attrib_list, num_attribs );
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus;
 }
 
 VAStatus vaQueryConfigProfiles (
@@ -846,10 +859,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaQueryConfigProfiles ( ctx, profile_list, num_profiles 
);
+  vaStatus =  ctx->vtable->vaQueryConfigProfiles ( ctx, profile_list, 
num_profiles );
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus;
 }
 
 VAStatus vaCreateConfig (
@@ -872,7 +888,7 @@
   /* record the current entrypoint for further trace/fool determination */
   VA_TRACE_ALL(va_TraceCreateConfig, dpy, profile, entrypoint, attrib_list, 
num_attribs, config_id);
   VA_FOOL_FUNC(va_FoolCreateConfig, dpy, profile, entrypoint, attrib_list, 
num_attribs, config_id);
-  
+  VA_TRACE_RET(dpy, vaStatus); 
   return vaStatus;
 }
 
@@ -890,6 +906,7 @@
   vaStatus = ctx->vtable->vaDestroyConfig ( ctx, config_id );
 
   VA_TRACE_ALL(va_TraceDestroyConfig, dpy, config_id);
+  VA_TRACE_RET(dpy, vaStatus);
 
   return vaStatus;
 }
@@ -904,10 +921,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaQueryConfigAttributes( ctx, config_id, profile, 
entrypoint, attrib_list, num_attribs);
+  vaStatus = ctx->vtable->vaQueryConfigAttributes( ctx, config_id, profile, 
entrypoint, attrib_list, num_attribs);
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus;
 }
 
 VAStatus vaQueryProcessingRate (
@@ -918,11 +938,15 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
   if(!ctx->vtable->vaQueryProcessingRate)
-      return VA_STATUS_ERROR_UNIMPLEMENTED;
-  return ctx->vtable->vaQueryProcessingRate( ctx, config_id, proc_buf, 
processing_rate);
+      vaStatus = VA_STATUS_ERROR_UNIMPLEMENTED;
+  else
+      vaStatus = ctx->vtable->vaQueryProcessingRate( ctx, config_id, proc_buf, 
processing_rate);
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus;
 }
 
 /* XXX: this is a slow implementation that will be removed */
@@ -1085,6 +1109,7 @@
                                                          attrib_list, 
num_attribs);
 
     VA_TRACE_LOG(va_TraceQuerySurfaceAttributes, dpy, config, attrib_list, 
num_attribs);
+    VA_TRACE_RET(dpy, vaStatus); 
 
     return vaStatus;
 }
@@ -1121,6 +1146,7 @@
     VA_TRACE_LOG(va_TraceCreateSurfaces,
                  dpy, width, height, format, num_surfaces, surfaces,
                  attrib_list, num_attribs);
+    VA_TRACE_RET(dpy, vaStatus); 
 
     return vaStatus;
 }
@@ -1142,6 +1168,7 @@
                dpy, surface_list, num_surfaces);
   
   vaStatus = ctx->vtable->vaDestroySurfaces( ctx, surface_list, num_surfaces );
+  VA_TRACE_RET(dpy, vaStatus); 
   
   return vaStatus;
 }
@@ -1168,6 +1195,7 @@
 
   /* keep current encode/decode resoluton */
   VA_TRACE_ALL(va_TraceCreateContext, dpy, config_id, picture_width, 
picture_height, flag, render_targets, num_render_targets, context);
+  VA_TRACE_RET(dpy, vaStatus); 
 
   return vaStatus;
 }
@@ -1186,6 +1214,7 @@
   vaStatus = ctx->vtable->vaDestroyContext( ctx, context );
 
   VA_TRACE_ALL(va_TraceDestroyContext, dpy, context);
+  VA_TRACE_RET(dpy, vaStatus); 
 
   return vaStatus;
 }
@@ -1208,6 +1237,7 @@
         VA_TRACE_ALL(va_TraceCreateMFContext, dpy, mf_context);
     }
 
+    VA_TRACE_RET(dpy, vaStatus); 
     return vaStatus;
 }
 
@@ -1231,6 +1261,7 @@
         VA_TRACE_ALL(va_TraceMFAddContext, dpy, context, mf_context);
     }
 
+    VA_TRACE_RET(dpy, vaStatus); 
     return vaStatus;
 }
 
@@ -1252,6 +1283,7 @@
         vaStatus = ctx->vtable->vaMFReleaseContext( ctx, context, mf_context);
         VA_TRACE_ALL(va_TraceMFReleaseContext, dpy, context, mf_context);
     }
+    VA_TRACE_RET(dpy, vaStatus); 
 
     return vaStatus;
 }
@@ -1276,6 +1308,7 @@
         vaStatus = ctx->vtable->vaMFSubmit( ctx, mf_context, contexts, 
num_contexts);
         VA_TRACE_ALL(va_TraceMFSubmit, dpy, mf_context, contexts, 
num_contexts);
     }
+    VA_TRACE_RET(dpy, vaStatus); 
 
     return vaStatus;
 }
@@ -1303,6 +1336,7 @@
   VA_TRACE_LOG(va_TraceCreateBuffer,
                dpy, context, type, size, num_elements, data, buf_id);
   
+  VA_TRACE_RET(dpy, vaStatus); 
   return vaStatus;
 }
 
@@ -1329,6 +1363,7 @@
 
   VA_TRACE_LOG(va_TraceCreateBuffer,
                dpy, context, type, *pitch, height, NULL, buf_id);
+  VA_TRACE_RET(dpy, vaStatus); 
 
   return vaStatus;
 }
@@ -1340,12 +1375,15 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
   VA_FOOL_FUNC(va_FoolCheckContinuity, dpy);
   
-  return ctx->vtable->vaBufferSetNumElements( ctx, buf_id, num_elements );
+  vaStatus = ctx->vtable->vaBufferSetNumElements( ctx, buf_id, num_elements );
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus;
 }
 
 
@@ -1366,6 +1404,7 @@
   va_status = ctx->vtable->vaMapBuffer( ctx, buf_id, pbuf );
 
   VA_TRACE_ALL(va_TraceMapBuffer, dpy, buf_id, pbuf);
+  VA_TRACE_RET(dpy, va_status); 
   
   return va_status;
 }
@@ -1376,12 +1415,15 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
   VA_FOOL_FUNC(va_FoolCheckContinuity, dpy);
 
-  return ctx->vtable->vaUnmapBuffer( ctx, buf_id );
+  vaStatus = ctx->vtable->vaUnmapBuffer( ctx, buf_id );
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus;
 }
 
 VAStatus vaDestroyBuffer (
@@ -1390,6 +1432,7 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
@@ -1398,7 +1441,9 @@
   VA_TRACE_LOG(va_TraceDestroyBuffer,
                dpy, buffer_id);
   
-  return ctx->vtable->vaDestroyBuffer( ctx, buffer_id );
+  vaStatus = ctx->vtable->vaDestroyBuffer( ctx, buffer_id );
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus;
 }
 
 VAStatus vaBufferInfo (
@@ -1411,13 +1456,16 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
   
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
   VA_FOOL_FUNC(va_FoolBufferInfo, dpy, buf_id, type, size, num_elements);
   
-  return ctx->vtable->vaBufferInfo( ctx, buf_id, type, size, num_elements );
+  vaStatus = ctx->vtable->vaBufferInfo( ctx, buf_id, type, size, num_elements 
);
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus;
 }
 
 /* Locks buffer for external API usage */
@@ -1425,13 +1473,17 @@
 vaAcquireBufferHandle(VADisplay dpy, VABufferID buf_id, VABufferInfo *buf_info)
 {
     VADriverContextP ctx;
+    VAStatus vaStatus = VA_STATUS_SUCCESS;
 
     CHECK_DISPLAY(dpy);
     ctx = CTX(dpy);
 
     if (!ctx->vtable->vaAcquireBufferHandle)
-        return VA_STATUS_ERROR_UNIMPLEMENTED;
-    return ctx->vtable->vaAcquireBufferHandle(ctx, buf_id, buf_info);
+        vaStatus = VA_STATUS_ERROR_UNIMPLEMENTED;
+    else
+        vaStatus = ctx->vtable->vaAcquireBufferHandle(ctx, buf_id, buf_info);
+    VA_TRACE_RET(dpy, vaStatus);
+    return vaStatus;
 }
 
 /* Unlocks buffer after usage from external API */
@@ -1439,13 +1491,17 @@
 vaReleaseBufferHandle(VADisplay dpy, VABufferID buf_id)
 {
     VADriverContextP ctx;
+    VAStatus vaStatus = VA_STATUS_SUCCESS;
 
     CHECK_DISPLAY(dpy);
     ctx = CTX(dpy);
 
     if (!ctx->vtable->vaReleaseBufferHandle)
-        return VA_STATUS_ERROR_UNIMPLEMENTED;
-    return ctx->vtable->vaReleaseBufferHandle(ctx, buf_id);
+        vaStatus = VA_STATUS_ERROR_UNIMPLEMENTED;
+    else
+        vaStatus = ctx->vtable->vaReleaseBufferHandle(ctx, buf_id);
+    VA_TRACE_RET(dpy, vaStatus);
+    return vaStatus;
 }
 
 VAStatus
@@ -1454,15 +1510,19 @@
                       void *descriptor)
 {
     VADriverContextP ctx;
+    VAStatus vaStatus = VA_STATUS_SUCCESS;
 
     CHECK_DISPLAY(dpy);
     ctx = CTX(dpy);
 
     if (!ctx->vtable->vaExportSurfaceHandle)
-        return VA_STATUS_ERROR_UNIMPLEMENTED;
-    return ctx->vtable->vaExportSurfaceHandle(ctx, surface_id,
+        vaStatus = VA_STATUS_ERROR_UNIMPLEMENTED;
+    else
+        vaStatus = ctx->vtable->vaExportSurfaceHandle(ctx, surface_id,
                                               mem_type, flags,
                                               descriptor);
+    VA_TRACE_RET(dpy, vaStatus);
+    return vaStatus;
 }
 
 VAStatus vaBeginPicture (
@@ -1481,6 +1541,7 @@
   VA_FOOL_FUNC(va_FoolCheckContinuity, dpy);
   
   va_status = ctx->vtable->vaBeginPicture( ctx, context, render_target );
+  VA_TRACE_RET(dpy, va_status);
   
   return va_status;
 }
@@ -1493,6 +1554,7 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus vaStatus = VA_STATUS_SUCCESS;
 
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
@@ -1500,7 +1562,9 @@
   VA_TRACE_LOG(va_TraceRenderPicture, dpy, context, buffers, num_buffers);
   VA_FOOL_FUNC(va_FoolCheckContinuity, dpy);
 
-  return ctx->vtable->vaRenderPicture( ctx, context, buffers, num_buffers );
+  vaStatus = ctx->vtable->vaRenderPicture( ctx, context, buffers, num_buffers 
);
+  VA_TRACE_RET(dpy, vaStatus);
+  return vaStatus; 
 }
 
 VAStatus vaEndPicture (
@@ -1520,6 +1584,7 @@
 
   /* dump surface content */
   VA_TRACE_ALL(va_TraceEndPicture, dpy, context, 1);
+  VA_TRACE_RET(dpy, va_status);
 
   return va_status;
 }
@@ -1537,6 +1602,7 @@
 
   va_status = ctx->vtable->vaSyncSurface( ctx, render_target );
   VA_TRACE_LOG(va_TraceSyncSurface, dpy, render_target);
+  VA_TRACE_RET(dpy, va_status);
 
   return va_status;
 }
@@ -1555,6 +1621,7 @@
   va_status = ctx->vtable->vaQuerySurfaceStatus( ctx, render_target, status );
 
   VA_TRACE_LOG(va_TraceQuerySurfaceStatus, dpy, render_target, status);
+  VA_TRACE_RET(dpy, va_status);
 
   return va_status;
 }
@@ -1574,6 +1641,7 @@
   va_status = ctx->vtable->vaQuerySurfaceError( ctx, surface, error_status, 
error_info );
 
   VA_TRACE_LOG(va_TraceQuerySurfaceError, dpy, surface, error_status, 
error_info);
+  VA_TRACE_RET(dpy, va_status); 
 
   return va_status;
 }
@@ -1619,10 +1687,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus va_status = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaCreateImage ( ctx, format, width, height, image);
+  va_status = ctx->vtable->vaCreateImage ( ctx, format, width, height, image);
+  VA_TRACE_RET(dpy, va_status);
+  return va_status;
 }
 
 /*
@@ -1634,10 +1705,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus va_status = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaDestroyImage ( ctx, image);
+  va_status = ctx->vtable->vaDestroyImage ( ctx, image);
+  VA_TRACE_RET(dpy, va_status);
+  return va_status;
 }
 
 VAStatus vaSetImagePalette (
@@ -1647,10 +1721,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus va_status = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaSetImagePalette ( ctx, image, palette);
+  va_status = ctx->vtable->vaSetImagePalette ( ctx, image, palette);
+  VA_TRACE_RET(dpy, va_status);
+  return va_status;
 }
 
 /*
@@ -1668,10 +1745,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus va_status = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaGetImage ( ctx, surface, x, y, width, height, image);
+  va_status = ctx->vtable->vaGetImage ( ctx, surface, x, y, width, height, 
image);
+  VA_TRACE_RET(dpy, va_status);
+  return va_status;
 }
 
 /*
@@ -1693,10 +1773,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus va_status = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaPutImage ( ctx, surface, image, src_x, src_y, 
src_width, src_height, dest_x, dest_y, dest_width, dest_height );
+  va_status = ctx->vtable->vaPutImage ( ctx, surface, image, src_x, src_y, 
src_width, src_height, dest_x, dest_y, dest_width, dest_height );
+  VA_TRACE_RET(dpy, va_status);
+  return va_status;
 }
 
 /*
@@ -1737,10 +1820,13 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus va_status = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaDeriveImage ( ctx, surface, image );
+  va_status = ctx->vtable->vaDeriveImage ( ctx, surface, image );
+  VA_TRACE_RET(dpy, va_status);
+  return va_status;
 }
 
 
@@ -1949,6 +2035,7 @@
   va_status = ctx->vtable->vaQueryDisplayAttributes ( ctx, attr_list, 
num_attributes );
 
   VA_TRACE_LOG(va_TraceQueryDisplayAttributes, dpy, attr_list, num_attributes);
+  VA_TRACE_RET(dpy, va_status); 
 
   return va_status;
   
@@ -1974,6 +2061,7 @@
   va_status = ctx->vtable->vaGetDisplayAttributes ( ctx, attr_list, 
num_attributes );
 
   VA_TRACE_LOG(va_TraceGetDisplayAttributes, dpy, attr_list, num_attributes);
+  VA_TRACE_RET(dpy, va_status); 
   
   return va_status;
 }
@@ -1997,6 +2085,7 @@
 
   va_status = ctx->vtable->vaSetDisplayAttributes ( ctx, attr_list, 
num_attributes );
   VA_TRACE_LOG(va_TraceSetDisplayAttributes, dpy, attr_list, num_attributes);
+  VA_TRACE_RET(dpy, va_status); 
   
   return va_status;
 }
@@ -2015,10 +2104,14 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus va_status = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaLockSurface( ctx, surface, fourcc, luma_stride, 
chroma_u_stride, chroma_v_stride, luma_offset, chroma_u_offset, 
chroma_v_offset, buffer_name, buffer);
+  va_status = ctx->vtable->vaLockSurface( ctx, surface, fourcc, luma_stride, 
chroma_u_stride, chroma_v_stride, luma_offset, chroma_u_offset, 
chroma_v_offset, buffer_name, buffer);
+  VA_TRACE_RET(dpy, va_status);
+
+  return va_status;
 }
 
 
@@ -2027,10 +2120,14 @@
 )
 {
   VADriverContextP ctx;
+  VAStatus va_status = VA_STATUS_SUCCESS;
   CHECK_DISPLAY(dpy);
   ctx = CTX(dpy);
 
-  return ctx->vtable->vaUnlockSurface( ctx, surface );
+  va_status = ctx->vtable->vaUnlockSurface( ctx, surface );
+  VA_TRACE_RET(dpy, va_status);
+
+  return va_status;
 }
 
 /* Video Processing */
@@ -2064,6 +2161,8 @@
         QueryVideoProcFilters,
         (ctx, context, filters, num_filters)
     );
+    VA_TRACE_RET(dpy, status);
+
     return status;
 }
 
@@ -2085,6 +2184,7 @@
         QueryVideoProcFilterCaps,
         (ctx, context, type, filter_caps, num_filter_caps)
     );
+    VA_TRACE_RET(dpy, status);
     return status;
 }
 
@@ -2106,5 +2206,6 @@
         QueryVideoProcPipelineCaps,
         (ctx, context, filters, num_filters, pipeline_caps)
     );
+    VA_TRACE_RET(dpy, status);
     return status;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/va/va.h new/libva-2.5.0/va/va.h
--- old/libva-2.4.1/va/va.h     2019-05-22 15:35:15.000000000 +0200
+++ new/libva-2.5.0/va/va.h     2019-06-28 16:38:52.000000000 +0200
@@ -214,10 +214,18 @@
 #define VA_STATUS_ERROR_NOT_ENOUGH_BUFFER       0x00000025
 #define VA_STATUS_ERROR_UNKNOWN                        0xFFFFFFFF
 
-/** De-interlacing flags for vaPutSurface() */
+/** 
+ * 1. De-interlacing flags for vaPutSurface() 
+ * 2. Surface sample type for input/output surface flag
+ *    - Progressive: VA_FRAME_PICTURE
+ *    - Interleaved: VA_TOP_FIELD_FIRST, VA_BOTTOM_FIELD_FIRST
+ *    - Field: VA_TOP_FIELD, VA_BOTTOM_FIELD
+*/
 #define VA_FRAME_PICTURE        0x00000000 
 #define VA_TOP_FIELD            0x00000001
 #define VA_BOTTOM_FIELD         0x00000002
+#define VA_TOP_FIELD_FIRST      0x00000004
+#define VA_BOTTOM_FIELD_FIRST   0x00000008
 
 /**
  * Enabled the positioning/cropping/blending feature:
@@ -748,6 +756,11 @@
      * support for QP info for buffer #VAEncQpBuffer.
      */
     VAConfigAttribQPBlockSize            = 37,
+    /**
+     * \brief encode max frame size attribute. Read-only
+     * attribute value \c VAConfigAttribValMaxFrameSize represent max frame 
size support   
+     */
+    VAConfigAttribMaxFrameSize           = 38,
     /**@}*/
     VAConfigAttribTypeMax
 } VAConfigAttribType;
@@ -933,6 +946,23 @@
 #define VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS           0x00000010
 /**@}*/
 
+/** \brief Attribute value for VAConfigAttribMaxFrameSize */
+typedef union _VAConfigAttribValMaxFrameSize {
+    struct {
+        /** \brief support max frame size 
+          * if max_frame_size == 1, 
VAEncMiscParameterTypeMaxFrameSize/VAEncMiscParameterBufferMaxFrameSize
+          * could be used to set the frame size, if multiple_pass also equal 
1, VAEncMiscParameterTypeMultiPassFrameSize
+          * VAEncMiscParameterBufferMultiPassFrameSize could be used to set 
frame size and pass information 
+          */ 
+        uint32_t max_frame_size : 1;
+        /** \brief multiple_pass support */
+        uint32_t multiple_pass  : 1;
+        /** \brief reserved bits for future, must be zero*/
+        uint32_t reserved       :30;
+    } bits;
+    uint32_t value;
+} VAConfigAttribValMaxFrameSize;
+
 /** \brief Attribute value for VAConfigAttribEncJPEG */
 typedef union _VAConfigAttribValEncJPEG {
     struct {
@@ -2114,7 +2144,8 @@
  */
 typedef struct _VAEncMiscParameterBufferMaxFrameSize {
     /** \brief Type. Shall be set to #VAEncMiscParameterTypeMaxFrameSize. */
-    VAEncMiscParameterType      type;
+    /** duplicated with VAEncMiscParameterBuffer, should be deprecated*/
+    va_deprecated VAEncMiscParameterType      type;
     /** \brief Maximum size of a frame (in bits). */
     uint32_t                max_frame_size;
 
@@ -2133,7 +2164,8 @@
  */
 typedef struct _VAEncMiscParameterBufferMultiPassFrameSize {
     /** \brief Type. Shall be set to 
#VAEncMiscParameterTypeMultiPassMaxFrameSize. */
-    VAEncMiscParameterType      type;
+    /** duplicated with VAEncMiscParameterBuffer, should be deprecated*/
+    va_deprecated VAEncMiscParameterType      type;
     /** \brief Maximum size of a frame (in byte) */
     uint32_t                max_frame_size;
     /** \brief Reserved bytes for future use, must be zero */
@@ -2182,17 +2214,18 @@
         struct
         {
            /* \brief disable trellis for all frames/fields */
-            uint64_t disable_trellis : 1;
+            uint32_t disable_trellis : 1;
            /* \brief enable trellis for I frames/fields */
-            uint64_t enable_trellis_I : 1;
+            uint32_t enable_trellis_I : 1;
            /* \brief enable trellis for P frames/fields */
-            uint64_t enable_trellis_P : 1;
+            uint32_t enable_trellis_P : 1;
            /* \brief enable trellis for B frames/fields */
-            uint64_t enable_trellis_B : 1;
-            uint64_t reserved : 28;
+            uint32_t enable_trellis_B : 1;
+            uint32_t reserved : 28;
         } bits;
-        uint64_t value;
+        uint32_t value;
     } quantization_flags;
+    uint32_t va_reserved;
 } VAEncMiscParameterQuantization;
 
 /**
@@ -3925,6 +3958,41 @@
  * 10-bit Pixel RGB formats.
  */
 #define VA_FOURCC_A2R10G10B10   0x30335241 /* VA_FOURCC('A','R','3','0') */
+/**
+ * 10-bit Pixel BGR formats.
+ */
+#define VA_FOURCC_A2B10G10R10   0x30334241 /* VA_FOURCC('A','B','3','0') */
+
+/** Y8: 8-bit greyscale.
+ *
+ * Only a single sample, 8 bit Y plane for monochrome images
+ */
+#define VA_FOURCC_Y8            0x20203859
+/** Y16: 16-bit greyscale.
+ *
+ * Only a single sample, 16 bit Y plane for monochrome images
+ */
+#define VA_FOURCC_Y16           0x20363159
+/** VYUV: packed 8-bit YUV 4:2:2.
+ *
+ * Four bytes per pair of pixels: V, Y, U, V.
+ */
+#define VA_FOURCC_VYUY          0x59555956
+/** YVYU: packed 8-bit YUV 4:2:2.
+ *
+ * Four bytes per pair of pixels: Y, V, Y, U.
+ */
+#define VA_FOURCC_YVYU          0x55595659
+/** AGRB64: three-plane 16-bit ARGB 16:16:16:16
+ *
+ * The four planes contain: alpha, red, green, blue respectively.
+ */
+#define VA_FOURCC_ARGB64        0x34475241
+/** ABGR64: three-plane 16-bit ABGR 16:16:16:16
+ *
+ * The four planes contain: alpha, blue, green, red respectively.
+ */
+#define VA_FOURCC_ABGR64        0x34474241
 
 /* byte order */
 #define VA_LSB_FIRST           1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/va/va_backend.h 
new/libva-2.5.0/va/va_backend.h
--- old/libva-2.4.1/va/va_backend.h     2019-05-22 15:35:15.000000000 +0200
+++ new/libva-2.5.0/va/va_backend.h     2019-06-17 12:35:14.000000000 +0200
@@ -30,7 +30,6 @@
 #define _VA_BACKEND_H_
 
 #include <va/va.h>
-#include <linux/videodev2.h>
 
 typedef struct VADriverContext *VADriverContextP;
 typedef struct VADisplayContext *VADisplayContextP;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/va/va_str.c new/libva-2.5.0/va/va_str.c
--- old/libva-2.4.1/va/va_str.c 2019-05-22 15:35:15.000000000 +0200
+++ new/libva-2.5.0/va/va_str.c 2019-06-28 16:38:52.000000000 +0200
@@ -123,6 +123,7 @@
     TOSTR(VAConfigAttribCustomRoundingControl);
     TOSTR(VAConfigAttribQPBlockSize);
     TOSTR(VAConfigAttribStats);
+    TOSTR(VAConfigAttribMaxFrameSize);
     case VAConfigAttribTypeMax: break;
     }
     return "<unknown config attribute type>";
@@ -177,4 +178,44 @@
     return "<unknown buffer type>";
 }
 
+const char *vaStatusStr(VAStatus status)
+{
+    switch(status){
+        TOSTR(VA_STATUS_SUCCESS);
+        TOSTR(VA_STATUS_ERROR_OPERATION_FAILED);
+        TOSTR(VA_STATUS_ERROR_ALLOCATION_FAILED);
+        TOSTR(VA_STATUS_ERROR_INVALID_DISPLAY);
+        TOSTR(VA_STATUS_ERROR_INVALID_CONFIG);
+        TOSTR(VA_STATUS_ERROR_INVALID_CONTEXT);
+        TOSTR(VA_STATUS_ERROR_INVALID_SURFACE);
+        TOSTR(VA_STATUS_ERROR_INVALID_BUFFER);
+        TOSTR(VA_STATUS_ERROR_INVALID_IMAGE);
+        TOSTR(VA_STATUS_ERROR_INVALID_SUBPICTURE);
+        TOSTR(VA_STATUS_ERROR_ATTR_NOT_SUPPORTED);
+        TOSTR(VA_STATUS_ERROR_MAX_NUM_EXCEEDED);
+        TOSTR(VA_STATUS_ERROR_UNSUPPORTED_PROFILE);
+        TOSTR(VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT);
+        TOSTR(VA_STATUS_ERROR_UNSUPPORTED_RT_FORMAT);
+        TOSTR(VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE);
+        TOSTR(VA_STATUS_ERROR_SURFACE_BUSY);
+        TOSTR(VA_STATUS_ERROR_FLAG_NOT_SUPPORTED);
+        TOSTR(VA_STATUS_ERROR_INVALID_PARAMETER);
+        TOSTR(VA_STATUS_ERROR_RESOLUTION_NOT_SUPPORTED);
+        TOSTR(VA_STATUS_ERROR_UNIMPLEMENTED);
+        TOSTR(VA_STATUS_ERROR_SURFACE_IN_DISPLAYING);
+        TOSTR(VA_STATUS_ERROR_INVALID_IMAGE_FORMAT);
+        TOSTR(VA_STATUS_ERROR_DECODING_ERROR);
+        TOSTR(VA_STATUS_ERROR_ENCODING_ERROR);
+        TOSTR(VA_STATUS_ERROR_INVALID_VALUE);
+        TOSTR(VA_STATUS_ERROR_UNSUPPORTED_FILTER);
+        TOSTR(VA_STATUS_ERROR_INVALID_FILTER_CHAIN);
+        TOSTR(VA_STATUS_ERROR_HW_BUSY);
+        TOSTR(VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE);
+        TOSTR(VA_STATUS_ERROR_NOT_ENOUGH_BUFFER);
+        TOSTR(VA_STATUS_ERROR_UNKNOWN);
+        default: break;
+    }
+    return "unknown return value";
+}
+
 #undef TOSTR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/va/va_str.h new/libva-2.5.0/va/va_str.h
--- old/libva-2.4.1/va/va_str.h 2019-05-22 15:35:15.000000000 +0200
+++ new/libva-2.5.0/va/va_str.h 2019-06-17 12:35:14.000000000 +0200
@@ -40,6 +40,8 @@
 
 const char *vaBufferTypeStr(VABufferType bufferType);
 
+const char *vaStatusStr(VAStatus status);
+
 #ifdef __cplusplus
 }
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/va/va_trace.c 
new/libva-2.5.0/va/va_trace.c
--- old/libva-2.4.1/va/va_trace.c       2019-05-22 15:35:15.000000000 +0200
+++ new/libva-2.5.0/va/va_trace.c       2019-06-26 12:21:11.000000000 +0200
@@ -51,7 +51,7 @@
 #include <sys/syscall.h>
 #include <pthread.h>
 #include <unistd.h>
-#include <time.h>
+#include <sys/time.h>
 #include <errno.h>
 
 /*
@@ -2038,6 +2038,29 @@
     return;
 }
 
+static void va_TraceVAEncSequenceParameterBufferMPEG2(
+    VADisplay dpy,
+    VAContextID context,
+    VABufferID buffer,
+    VABufferType type,
+    unsigned int size,
+    unsigned int num_elements,
+    void *data)
+{
+    VAEncSequenceParameterBufferMPEG2 *p = (VAEncSequenceParameterBufferMPEG2 
*)data;
+    DPY2TRACECTX(dpy, context, VA_INVALID_ID);
+
+    va_TraceMsg(trace_ctx, "\t--VAEncSequenceParameterBufferMPEG2\n");
+
+    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, "\tvbv_buffer_size = %d\n", p->vbv_buffer_size);
+    va_TraceMsg(trace_ctx, NULL);
+
+    return;
+}
+
 static void va_TraceVAEncSequenceParameterBufferMPEG4(
     VADisplay dpy,
     VAContextID context,
@@ -3271,6 +3294,7 @@
     }
     case VAEncMiscParameterTypeROI:
     {
+        int i;
         VAEncMiscParameterBufferROI *p = (VAEncMiscParameterBufferROI 
*)tmp->data;
 
         va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterBufferROI\n");
@@ -3278,7 +3302,7 @@
         va_TraceMsg(trace_ctx, "\tmax_delta_qp = %d\n", p->max_delta_qp);
         va_TraceMsg(trace_ctx, "\tmin_delta_qp = %d\n", p->min_delta_qp);
         va_TraceMsg(trace_ctx, "\troi_flags.bits.roi_value_is_qp_delta = 
%d\n", p->roi_flags.bits.roi_value_is_qp_delta);
-        for (int i = 0; i < p->num_roi; i++) {
+        for (i = 0; i < p->num_roi; i++) {
             va_TraceMsg(trace_ctx, "\troi[%d].roi_rectangle.x      = %d\n", i, 
p->roi[i].roi_rectangle.x);
             va_TraceMsg(trace_ctx, "\troi[%d].roi_rectangle.y      = %d\n", i, 
p->roi[i].roi_rectangle.y);
             va_TraceMsg(trace_ctx, "\troi[%d].roi_rectangle.width  = %d\n", i, 
p->roi[i].roi_rectangle.width);
@@ -3299,6 +3323,56 @@
         va_TraceMsg(trace_ctx, "\tqp_delta_for_inserted_intra = %d\n", 
p->qp_delta_for_inserted_intra);
         break;
     }
+    case VAEncMiscParameterTypeEncQuality:
+    {
+        int i;
+        VAEncMiscParameterEncQuality *p = (VAEncMiscParameterEncQuality 
*)tmp->data;
+
+        va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterEncQuality\n");
+        va_TraceMsg(trace_ctx, "\tuseRawPicForRef = %d\n",p->useRawPicForRef);
+        va_TraceMsg(trace_ctx, "\tskipCheckDisable = 
%d\n",p->skipCheckDisable);
+        va_TraceMsg(trace_ctx, "\tFTQOverride = %d\n",p->FTQOverride);
+        va_TraceMsg(trace_ctx, "\tFTQEnable = %d\n",p->FTQEnable);
+        va_TraceMsg(trace_ctx, "\tFTQSkipThresholdLUTInput = 
%d\n",p->FTQSkipThresholdLUTInput);
+        va_TraceMsg(trace_ctx, "\tNonFTQSkipThresholdLUTInput = 
%d\n",p->NonFTQSkipThresholdLUTInput);
+        va_TraceMsg(trace_ctx, "\tReservedBit = %d\n",p->ReservedBit);
+        va_TraceMsg(trace_ctx, "\tdirectBiasAdjustmentEnable = 
%d\n",p->directBiasAdjustmentEnable);
+        va_TraceMsg(trace_ctx, "\tglobalMotionBiasAdjustmentEnable = 
%d\n",p->globalMotionBiasAdjustmentEnable);
+        va_TraceMsg(trace_ctx, "\tHMEMVCostScalingFactor = 
%d\n",p->HMEMVCostScalingFactor);
+        va_TraceMsg(trace_ctx, "\tHMEDisable = %d\n",p->HMEDisable);
+        va_TraceMsg(trace_ctx, "\tSuperHMEDisable = %d\n",p->SuperHMEDisable);
+        va_TraceMsg(trace_ctx, "\tUltraHMEDisable = %d\n",p->UltraHMEDisable);
+        va_TraceMsg(trace_ctx, "\tPanicModeDisable = 
%d\n",p->PanicModeDisable);
+        va_TraceMsg(trace_ctx, "\tForceRepartitionCheck = 
%d\n",p->ForceRepartitionCheck);
+        if (p->FTQSkipThresholdLUTInput) {
+            va_TraceMsg(trace_ctx, "\tFTQSkipThresholdLUT[52]=\n");
+            for (i = 0; i < 52; i++) {
+                va_TraceMsg(trace_ctx, "\t%d", p->FTQSkipThresholdLUT[i]);
+                if ((i + 1) % 8 == 0)
+                    TRACE_NEWLINE();
+            }
+            va_TracePrint(trace_ctx, "\n");
+        }
+        if (p->NonFTQSkipThresholdLUTInput) {
+            va_TraceMsg(trace_ctx, "\tNonFTQSkipThresholdLUT[52]=\n");
+            for (i = 0; i < 52; i++) {
+                va_TraceMsg(trace_ctx, "\t%d", p->NonFTQSkipThresholdLUT[i]);
+                if ((i + 1) % 8 == 0)
+                    TRACE_NEWLINE();
+            }
+            va_TracePrint(trace_ctx, "\n");
+        }
+        break;
+    }
+    case VAEncMiscParameterTypeSkipFrame:
+    {
+        VAEncMiscParameterSkipFrame *p = (VAEncMiscParameterSkipFrame 
*)tmp->data;
+        va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterSkipFrame\n");
+        va_TraceMsg(trace_ctx, "\tskip_frame_flag = %d\n", p->skip_frame_flag);
+        va_TraceMsg(trace_ctx, "\tnum_skip_frames = %d\n", p->num_skip_frames);
+        va_TraceMsg(trace_ctx, "\tsize_skip_frames = %d\n", 
p->size_skip_frames);
+        break;
+    }
     default:
         va_TraceMsg(trace_ctx, "Unknown VAEncMiscParameterBuffer(type = 
%d):\n", tmp->type);
         va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, 
data);
@@ -3995,11 +4069,15 @@
     case VAEncCodedBufferType:
         break;
     case VAEncSequenceParameterBufferType:
+        va_TraceVAEncSequenceParameterBufferMPEG2(dpy, context, buffer, type, 
size, num_elements, pbuf);
         break;
     case VAEncPictureParameterBufferType:
         break;
     case VAEncSliceParameterBufferType:
         break;
+    case VAEncMiscParameterBufferType:
+        va_TraceVAEncMiscParameterBuffer(dpy, context, buffer, type, size, 
num_elements, pbuf);
+        break;
     default:
         break;
     }
@@ -4156,7 +4234,7 @@
     va_TraceMsg(trace_ctx, "\trestart_interval = 0x%04x\n", 
p->restart_interval);
     va_TraceMsg(trace_ctx, "\tnum_components = 0x%08x\n", p->num_components);
     for (i=0; i<4; i++) {
-        va_TraceMsg(trace_ctx, "\tcomponents[%i] =\n ");
+        va_TraceMsg(trace_ctx, "\tcomponents[%i] =\n ", i);
         va_TraceMsg(trace_ctx, "\t\tcomponent_selector = %d\n", 
p->components[i].component_selector);
         va_TraceMsg(trace_ctx, "\t\tdc_table_selector = %d\n", 
p->components[i].dc_table_selector);
         va_TraceMsg(trace_ctx, "\t\tac_table_selector = %d\n", 
p->components[i].ac_table_selector);
@@ -4933,6 +5011,12 @@
             }
             break;
 
+        case VAProfileHEVCMain12:
+        case VAProfileHEVCMain422_10:
+        case VAProfileHEVCMain422_12:
+        case VAProfileHEVCMain444:
+        case VAProfileHEVCMain444_10:
+        case VAProfileHEVCMain444_12:
         case VAProfileHEVCMain:
         case VAProfileHEVCMain10:
             for (j=0; j<num_elements; j++) {
@@ -5210,3 +5294,14 @@
 
     DPY2TRACE_VIRCTX_EXIT(pva_trace);
 }
+
+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));
+    DPY2TRACE_VIRCTX_EXIT(pva_trace);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/va/va_trace.h 
new/libva-2.5.0/va/va_trace.h
--- old/libva-2.4.1/va/va_trace.h       2019-05-22 15:35:15.000000000 +0200
+++ new/libva-2.5.0/va/va_trace.h       2019-06-17 12:35:14.000000000 +0200
@@ -49,6 +49,10 @@
     if (va_trace_flag) {                        \
         trace_func(__VA_ARGS__);                \
     }
+#define VA_TRACE_RET(dpy,ret)                   \
+    if (va_trace_flag){                         \
+        va_TraceStatus(dpy, __func__, ret);     \
+    }
 
 DLL_HIDDEN
 void va_TraceInit(VADisplay dpy);
@@ -270,6 +274,8 @@
     unsigned int flags /* de-interlacing flags */
 );
 
+void va_TraceStatus(VADisplay dpy, const char * funcName, VAStatus status);
+
 #ifdef __cplusplus
 }
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/va/va_version.h 
new/libva-2.5.0/va/va_version.h
--- old/libva-2.4.1/va/va_version.h     2019-05-22 15:36:32.000000000 +0200
+++ new/libva-2.5.0/va/va_version.h     2019-07-05 16:14:49.000000000 +0200
@@ -37,21 +37,21 @@
  *
  * The minor version of VA-API (2, if %VA_VERSION is 1.2.3)
  */
-#define VA_MINOR_VERSION    4
+#define VA_MINOR_VERSION    5
 
 /**
  * VA_MICRO_VERSION:
  *
  * The micro version of VA-API (3, if %VA_VERSION is 1.2.3)
  */
-#define VA_MICRO_VERSION    1
+#define VA_MICRO_VERSION    0
 
 /**
  * VA_VERSION:
  *
  * The full version of VA-API, like 1.2.3
  */
-#define VA_VERSION          1.4.1
+#define VA_VERSION          1.5.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.4.1"
+#define VA_VERSION_S       "1.5.0"
 
 /**
  * VA_VERSION_HEX:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libva-2.4.1/va/va_vpp.h new/libva-2.5.0/va/va_vpp.h
--- old/libva-2.4.1/va/va_vpp.h 2019-05-22 15:35:15.000000000 +0200
+++ new/libva-2.5.0/va/va_vpp.h 2019-06-26 13:06:02.000000000 +0200
@@ -681,7 +681,7 @@
 typedef struct _VAProcColorProperties {
     /** Chroma sample location.\c VA_CHROMA_SITING_VERTICAL_XXX | 
VA_CHROMA_SITING_HORIZONTAL_XXX */
     uint8_t chroma_sample_location;
-    /** Chroma sample location. \c VA_SOURCE_RANGE_XXX*/
+    /** Color range. \c VA_SOURCE_RANGE_XXX*/
     uint8_t color_range;
     /** Colour primaries.
      *
@@ -705,7 +705,7 @@
     uint8_t reserved[3];
 } VAProcColorProperties;
 
-/** \berief Describes High Dynamic Range Meta Data for HDR10.
+/** \brief Describes High Dynamic Range Meta Data for HDR10.
  *
  *  Specifies the colour volume(the colour primaries, white point and 
luminance range) of
  *  a display considered to be the mastering display for the associated video 
content -e.g.,
@@ -1012,15 +1012,56 @@
     /**
      * \brief Flag to indicate the input surface flag
      *
-     * bit0: 0 non-protected 1: protected
-     * bit 1~31 for future
+     * bit0~3: Surface sample type
+     * - 0000: Progressive --> VA_FRAME_PICTURE
+     * - 0001: Single Top Field --> VA_TOP_FIELD
+     * - 0010: Single Bottom Field --> VA_BOTTOM_FIELD  
+     * - 0100: Interleaved Top Field First --> VA_TOP_FIELD_FIRST
+     * - 1000: Interleaved Bottom Field First --> VA_BOTTOM_FIELD_FIRST
+     *
+     * For interlaced scaling, examples as follow:
+     * - 1. Interleaved to Interleaved (Suppose input is top field first)
+     *   -- set input_surface_flag as VA_TOP_FIELD_FIRST
+     *   -- set output_surface_flag as VA_TOP_FIELD_FIRST
+     * - 2. Interleaved to Field (Suppose input is top field first)
+     *   An interleaved frame need to be passed twice.
+     *   First cycle to get the first field:
+     *   -- set input_surface_flag as VA_TOP_FIELD_FIRST
+     *   -- set output_surface_flag as VA_TOP_FIELD
+     *   Second cycle to get the second field:
+     *   -- set input_surface_flag as VA_TOP_FIELD_FIRST
+     *   -- set output_surface_flag as VA_BOTTOM_FIELD
+     * - 3. Field to Interleaved (Suppose first field is top field)
+     *   -- create two surfaces, one for top field, the other for bottom field
+     *   -- set surface with the first field surface id
+     *   -- set backward_reference with the second field surface id
+     *   -- set input_surface_flag as VA_TOP_FIELD
+     *   -- set output_surface_flag as VA_TOP_FIELD_FIRST
+     * - 4. Field to Field: 
+     *   -- set flag according to each frame.
+     *
+     * bit31: Surface encryption
+     * - 0: non-protected  
+     * - 1: protected
+     *
+     * bit4~30 for future
      */
     uint32_t        input_surface_flag;
     /**
      * \brief Flag to indicate the output surface flag
      *
-     * bit0: 0 non-protected  1: protected
-     * bit 1~31 for future
+     * bit0~3: Surface sample type
+     * - 0000: Progressive --> VA_FRAME_PICTURE
+     * - 0001: Top Field --> VA_TOP_FIELD
+     * - 0010: Bottom Field --> VA_BOTTOM_FIELD  
+     * - 0100: Top Field First --> VA_TOP_FIELD_FIRST
+     * - 1000: Bottom Field First --> VA_BOTTOM_FIELD_FIRST
+     *
+     * bit31: Surface encryption
+     * - 0: non-protected  
+     * - 1: protected
+     *
+     * bit4~30 for future
      */
     uint32_t        output_surface_flag;
     /**

++++++ libva-2.4.1.tar.bz2.sha1sum -> libva-2.5.0.tar.bz2.sha1sum ++++++
--- /work/SRC/openSUSE:Factory/libva/libva-2.4.1.tar.bz2.sha1sum        
2019-07-22 12:14:59.715750873 +0200
+++ /work/SRC/openSUSE:Factory/.libva.new.7948/libva-2.5.0.tar.bz2.sha1sum      
2019-08-28 16:00:33.206808877 +0200
@@ -1 +1 @@
-5aeffc9929b4a9a5ebbed94adf065d08fc50bcf9  libva-2.4.1.tar.bz2
+5bd2b0bc9d1e49cf1e21d9a63696f13a1483bd86  libva-2.5.0.tar.bz2


Reply via email to