Hello community, here is the log from the commit of package libva for openSUSE:Factory checked in at 2016-10-28 10:41:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libva (Old) and /work/SRC/openSUSE:Factory/.libva.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva" Changes: -------- --- /work/SRC/openSUSE:Factory/libva/libva-gl.changes 2016-07-12 23:44:28.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libva.new/libva-gl.changes 2016-10-28 10:41:55.000000000 +0200 @@ -1,0 +2,12 @@ +Sat Oct 22 12:46:52 UTC 2016 - ch...@computersalat.de + +- Version 1.7.2 - 05.Sep.2016 + * Bump VA API version to 0.39.3 + * API: add support for ROI + * Add support for VP9 encoder in VA tracer + * Refine test cases + * Fix the issue of not properly terminating the parsed environment + values with '\0' + https://bugs.freedesktop.org/show_bug.cgi?id=96677 + +------------------------------------------------------------------- libva.changes: same change Old: ---- libva-1.7.1.tar.bz2 New: ---- libva-1.7.2.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libva-gl.spec ++++++ --- /var/tmp/diff_new_pack.Ova2ka/_old 2016-10-28 10:41:56.000000000 +0200 +++ /var/tmp/diff_new_pack.Ova2ka/_new 2016-10-28 10:41:56.000000000 +0200 @@ -28,7 +28,7 @@ Name: libva-gl %define _name libva -Version: 1.7.1 +Version: 1.7.2 Release: 0 Summary: Video Acceleration (VA) API for Linux License: MIT ++++++ libva.spec ++++++ --- /var/tmp/diff_new_pack.Ova2ka/_old 2016-10-28 10:41:56.000000000 +0200 +++ /var/tmp/diff_new_pack.Ova2ka/_new 2016-10-28 10:41:56.000000000 +0200 @@ -28,7 +28,7 @@ Name: libva %define _name libva -Version: 1.7.1 +Version: 1.7.2 Release: 0 Summary: Video Acceleration (VA) API for Linux License: MIT ++++++ libva-1.7.1.tar.bz2 -> libva-1.7.2.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/NEWS new/libva-1.7.2/NEWS --- old/libva-1.7.1/NEWS 2016-06-21 03:28:39.000000000 +0200 +++ new/libva-1.7.2/NEWS 2016-09-05 04:29:34.000000000 +0200 @@ -1,6 +1,14 @@ -libva NEWS -- summary of user visible changes. 2016-06-21 +libva NEWS -- summary of user visible changes. 2016-09-05 Copyright (C) 2009-2016 Intel Corporation +Version 1.7.2 - 05.Sep.2016 +* Bump VA API version to 0.39.3 +* API: add support for ROI +* Add support for VP9 encoder in VA tracer +* Refine test cases +* Fix the issue of not properly terminating the parsed environment values with '\0' + https://bugs.freedesktop.org/show_bug.cgi?id=96677 + Version 1.7.1 - 21.Jun.2016 * Bump VA API version to 0.39.2 * API: add support for VP9 8bit encode diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/configure new/libva-1.7.2/configure --- old/libva-1.7.1/configure 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/configure 2016-09-05 04:30:33.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 1.7.1. +# Generated by GNU Autoconf 2.69 for libva 1.7.2. # # Report bugs to <waldo.bast...@intel.com>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='libva' PACKAGE_TARNAME='libva' -PACKAGE_VERSION='1.7.1' -PACKAGE_STRING='libva 1.7.1' +PACKAGE_VERSION='1.7.2' +PACKAGE_STRING='libva 1.7.2' PACKAGE_BUGREPORT='waldo.bast...@intel.com' PACKAGE_URL='' @@ -1395,7 +1395,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 1.7.1 to adapt to many kinds of systems. +\`configure' configures libva 1.7.2 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 1.7.1:";; + short | recursive ) echo "Configuration of libva 1.7.2:";; esac cat <<\_ACEOF @@ -1605,7 +1605,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libva configure 1.7.1 +libva configure 1.7.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2095,7 +2095,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 1.7.1, which was +It was created by libva $as_me 1.7.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2960,7 +2960,7 @@ # Define the identity of the package. PACKAGE='libva' - VERSION='1.7.1' + VERSION='1.7.2' cat >>confdefs.h <<_ACEOF @@ -3100,8 +3100,8 @@ VA_API_MAJOR_VERSION=0 VA_API_MINOR_VERSION=39 -VA_API_MICRO_VERSION=2 -VA_API_VERSION=0.39.2 +VA_API_MICRO_VERSION=3 +VA_API_VERSION=0.39.3 @@ -3109,16 +3109,16 @@ LIBVA_MAJOR_VERSION=1 LIBVA_MINOR_VERSION=7 -LIBVA_MICRO_VERSION=1 -LIBVA_VERSION=1.7.1 +LIBVA_MICRO_VERSION=2 +LIBVA_VERSION=1.7.2 -LIBVA_LT_CURRENT=3903 +LIBVA_LT_CURRENT=3904 LIBVA_LT_REV=0 -LIBVA_LT_AGE=3902 +LIBVA_LT_AGE=3903 LIBVA_LT_VERSION="$LIBVA_LT_CURRENT:$LIBVA_LT_REV:$LIBVA_LT_AGE" LIBVA_LT_LDFLAGS="-version-info $LIBVA_LT_VERSION" @@ -18083,7 +18083,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 1.7.1, which was +This file was extended by libva $as_me 1.7.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18149,7 +18149,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 1.7.1 +libva config.status 1.7.2 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-1.7.1/configure.ac new/libva-1.7.2/configure.ac --- old/libva-1.7.1/configure.ac 2016-06-21 03:28:55.000000000 +0200 +++ new/libva-1.7.2/configure.ac 2016-09-05 04:29:50.000000000 +0200 @@ -28,7 +28,7 @@ # - reset minor version to zero when major version is incremented m4_define([va_api_major_version], [0]) m4_define([va_api_minor_version], [39]) -m4_define([va_api_micro_version], [2]) +m4_define([va_api_micro_version], [3]) 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 - 32)]) -m4_define([libva_micro_version], [1]) +m4_define([libva_micro_version], [2]) m4_define([libva_pre_version], [0]) m4_define([libva_version], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/debian.upstream/Makefile.in new/libva-1.7.2/debian.upstream/Makefile.in --- old/libva-1.7.1/debian.upstream/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/debian.upstream/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -317,9 +317,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign debian.upstream/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu debian.upstream/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign debian.upstream/Makefile + $(AUTOMAKE) --gnu debian.upstream/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/debian.upstream/changelog new/libva-1.7.2/debian.upstream/changelog --- old/libva-1.7.1/debian.upstream/changelog 2016-06-21 03:33:07.000000000 +0200 +++ new/libva-1.7.2/debian.upstream/changelog 2016-09-05 04:30:36.000000000 +0200 @@ -1,5 +1,5 @@ -libva (1.7.1-1) unstable; urgency=low +libva (1.7.2-1) unstable; urgency=low * Autogenerated package, see NEWS file for ChangeLog. - -- Gwenole Beauchesne <gwenole.beauche...@intel.com> Tue, 21 Jun 2016 09:33:05 +0800 + -- Gwenole Beauchesne <gwenole.beauche...@intel.com> Mon, 05 Sep 2016 10:30:33 +0800 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/doc/Makefile.in new/libva-1.7.2/doc/Makefile.in --- old/libva-1.7.1/doc/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/doc/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -314,9 +314,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 .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/dummy_drv_video/Makefile.in new/libva-1.7.2/dummy_drv_video/Makefile.in --- old/libva-1.7.1/dummy_drv_video/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/dummy_drv_video/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -396,9 +396,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign dummy_drv_video/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu dummy_drv_video/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign dummy_drv_video/Makefile + $(AUTOMAKE) --gnu dummy_drv_video/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/pkgconfig/Makefile.in new/libva-1.7.2/pkgconfig/Makefile.in --- old/libva-1.7.1/pkgconfig/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/pkgconfig/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -349,9 +349,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 .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/Makefile.in new/libva-1.7.2/test/Makefile.in --- old/libva-1.7.1/test/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/test/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -361,9 +361,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/Makefile + $(AUTOMAKE) --gnu test/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/basic/Makefile.in new/libva-1.7.2/test/basic/Makefile.in --- old/libva-1.7.1/test/basic/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/test/basic/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -427,9 +427,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/basic/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/basic/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/basic/Makefile + $(AUTOMAKE) --gnu test/basic/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/basic/test_05.c new/libva-1.7.2/test/basic/test_05.c --- old/libva-1.7.1/test/basic/test_05.c 2016-05-31 09:20:59.000000000 +0200 +++ new/libva-1.7.2/test/basic/test_05.c 2016-08-25 04:42:40.000000000 +0200 @@ -36,7 +36,7 @@ { int max_entrypoints; int num_entrypoints; - int i, j, k; + int i, j; int config_count = 0; max_entrypoints = vaMaxNumEntrypoints(va_dpy); ASSERT(max_entrypoints > 0); @@ -44,6 +44,7 @@ ASSERT(entrypoints); VAConfigID *configs = malloc(max_entrypoints * num_profiles * sizeof(VAConfigID)); + ASSERT(configs); for(i = 0; i < num_profiles; i++) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/basic/test_06.c new/libva-1.7.2/test/basic/test_06.c --- old/libva-1.7.1/test/basic/test_06.c 2016-05-31 09:20:59.000000000 +0200 +++ new/libva-1.7.2/test/basic/test_06.c 2016-08-25 04:42:40.000000000 +0200 @@ -36,7 +36,7 @@ void pre() { - int i, j, k; + int i, j; test_init(); test_profiles(); @@ -74,6 +74,7 @@ ASSERT(max_attribs > 0); VAConfigAttrib *attrib_list = malloc(max_attribs * sizeof(VAConfigAttrib)); + ASSERT(attrib_list); config_count = 0; for(i = 0; i < num_profiles; i++) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/basic/test_07.c new/libva-1.7.2/test/basic/test_07.c --- old/libva-1.7.1/test/basic/test_07.c 2016-06-03 07:54:23.000000000 +0200 +++ new/libva-1.7.2/test/basic/test_07.c 2016-08-25 04:42:40.000000000 +0200 @@ -84,7 +84,7 @@ test_unique_surfaces(surfaces_4, 4, surfaces_16, 4); test_unique_surfaces(surfaces_4, 4, surfaces_16, 16); test_unique_surfaces(surfaces_4, 1, surfaces_16, 16); - test_unique_surfaces(surfaces_1, 16, surfaces_16, 16); + test_unique_surfaces(surfaces_1, 1, surfaces_16, 16); status("vaDestroySurface 4 surfaces\n"); va_status = vaDestroySurfaces(va_dpy, surfaces_4, 4); @@ -98,7 +98,7 @@ test_unique_surfaces(surfaces_1, 1, surfaces_6, 6); test_unique_surfaces(surfaces_6, 6, surfaces_16, 16); - test_unique_surfaces(surfaces_1, 6, surfaces_16, 6); + test_unique_surfaces(surfaces_1, 1, surfaces_16, 6); status("vaDestroySurface 16 surfaces\n"); va_status = vaDestroySurfaces(va_dpy, surfaces_16, 16); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/basic/test_09.c new/libva-1.7.2/test/basic/test_09.c --- old/libva-1.7.1/test/basic/test_09.c 2016-06-03 07:54:23.000000000 +0200 +++ new/libva-1.7.2/test/basic/test_09.c 2016-08-25 04:42:40.000000000 +0200 @@ -36,7 +36,7 @@ { int max_entrypoints; int num_entrypoints; - int i, j, k; + int i, j; int config_count = 0; max_entrypoints = vaMaxNumEntrypoints(va_dpy); ASSERT(max_entrypoints > 0); @@ -44,7 +44,9 @@ ASSERT(entrypoints); VAConfigID *configs = malloc(max_entrypoints * num_profiles * sizeof(VAConfigID)); + ASSERT(configs); VAContextID *contexts = malloc(max_entrypoints * num_profiles * sizeof(VAContextID)); + ASSERT(contexts); for(i = 0; i < num_profiles; i++) { @@ -67,6 +69,7 @@ int total_surfaces = config_count * surface_count; VASurfaceID *surfaces = malloc(total_surfaces * sizeof(VASurfaceID)); + ASSERT(surfaces); // TODO: Don't assume VA_RT_FORMAT_YUV420 is supported / needed for each config va_status = vaCreateSurfaces(va_dpy, VA_RT_FORMAT_YUV420, width, height, surfaces, total_surfaces, NULL, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/basic/test_10.c new/libva-1.7.2/test/basic/test_10.c --- old/libva-1.7.1/test/basic/test_10.c 2016-06-03 07:54:23.000000000 +0200 +++ new/libva-1.7.2/test/basic/test_10.c 2016-08-25 04:42:40.000000000 +0200 @@ -45,6 +45,7 @@ total_surfaces = surface_count; surfaces = malloc(total_surfaces * sizeof(VASurfaceID)); + assert(surfaces); // TODO: Don't assume VA_RT_FORMAT_YUV420 is supported / needed for each config va_status = vaCreateSurfaces(va_dpy, VA_RT_FORMAT_YUV420, width, height, surfaces, total_surfaces, NULL, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/basic/test_11.c new/libva-1.7.2/test/basic/test_11.c --- old/libva-1.7.1/test/basic/test_11.c 2016-06-03 07:54:23.000000000 +0200 +++ new/libva-1.7.2/test/basic/test_11.c 2016-08-25 04:42:40.000000000 +0200 @@ -45,6 +45,7 @@ total_surfaces = surface_count; surfaces = malloc(total_surfaces * sizeof(VASurfaceID)); + assert(surfaces); // TODO: Don't assume VA_RT_FORMAT_YUV420 is supported / needed for each config va_status = vaCreateSurfaces(va_dpy, VA_RT_FORMAT_YUV420, width, height, surfaces, total_surfaces, NULL, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/basic/test_common.c new/libva-1.7.2/test/basic/test_common.c --- old/libva-1.7.1/test/basic/test_common.c 2016-06-21 03:27:12.000000000 +0200 +++ new/libva-1.7.2/test/basic/test_common.c 2016-08-25 04:42:40.000000000 +0200 @@ -109,6 +109,12 @@ PROFILE(VC1Advanced) PROFILE(JPEGBaseline) PROFILE(VP8Version0_3) + PROFILE(HEVCMain) + PROFILE(HEVCMain10) + PROFILE(VP9Profile0) + PROFILE(VP9Profile1) + PROFILE(VP9Profile2) + PROFILE(VP9Profile3) } ASSERT(0); return "Unknown"; @@ -127,6 +133,7 @@ ENTRYPOINT(Deblocking) ENTRYPOINT(EncSlice) ENTRYPOINT(EncPicture) + ENTRYPOINT(EncSliceLP) ENTRYPOINT(VideoProc) } ASSERT(0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/common/Makefile.in new/libva-1.7.2/test/common/Makefile.in --- old/libva-1.7.1/test/common/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/test/common/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -398,9 +398,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/common/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/common/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/common/Makefile + $(AUTOMAKE) --gnu test/common/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/decode/Makefile.in new/libva-1.7.2/test/decode/Makefile.in --- old/libva-1.7.1/test/decode/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/test/decode/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -393,9 +393,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/decode/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/decode/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/decode/Makefile + $(AUTOMAKE) --gnu test/decode/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/decode/tinyjpeg.c new/libva-1.7.2/test/decode/tinyjpeg.c --- old/libva-1.7.1/test/decode/tinyjpeg.c 2016-06-21 03:27:12.000000000 +0200 +++ new/libva-1.7.2/test/decode/tinyjpeg.c 2016-08-25 04:42:40.000000000 +0200 @@ -154,19 +154,23 @@ static int build_default_huffman_tables(struct jdec_private *priv) { int i = 0; - if (priv->default_huffman_table_initialized) - return 0; + if (priv->default_huffman_table_initialized) + return 0; for (i = 0; i < 4; i++) { priv->HTDC_valid[i] = 1; - memcpy(priv->HTDC[i].bits, default_huffman_table_param.huffman_table[i].num_dc_codes, 16); - memcpy(priv->HTDC[i].values, default_huffman_table_param.huffman_table[i].dc_values, 16); + memcpy(priv->HTDC[i].bits, default_huffman_table_param.huffman_table[i%2].num_dc_codes, + sizeof(default_huffman_table_param.huffman_table[i%2].num_dc_codes)); + memcpy(priv->HTDC[i].values, default_huffman_table_param.huffman_table[i%2].dc_values, + sizeof(default_huffman_table_param.huffman_table[i%2].dc_values)); priv->HTAC_valid[i] = 1; - memcpy(priv->HTAC[i].bits, default_huffman_table_param.huffman_table[i].num_ac_codes, 16); - memcpy(priv->HTAC[i].values, default_huffman_table_param.huffman_table[i].ac_values, 256); + memcpy(priv->HTAC[i].bits, default_huffman_table_param.huffman_table[i%2].num_ac_codes, + sizeof(default_huffman_table_param.huffman_table[i%2].num_ac_codes)); + memcpy(priv->HTAC[i].values, default_huffman_table_param.huffman_table[i%2].ac_values, + sizeof(default_huffman_table_param.huffman_table[i%2].ac_values)); } - priv->default_huffman_table_initialized = 1; - return 0; + priv->default_huffman_table_initialized = 1; + return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/encode/Makefile.in new/libva-1.7.2/test/encode/Makefile.in --- old/libva-1.7.1/test/encode/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/test/encode/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -417,9 +417,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/encode/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/encode/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/encode/Makefile + $(AUTOMAKE) --gnu test/encode/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/encode/avcenc.c new/libva-1.7.2/test/encode/avcenc.c --- old/libva-1.7.1/test/encode/avcenc.c 2016-06-16 02:57:03.000000000 +0200 +++ new/libva-1.7.2/test/encode/avcenc.c 2016-09-02 06:22:21.000000000 +0200 @@ -91,6 +91,7 @@ static int frame_bit_rate = -1; static int frame_rate = 30; static int ip_period = 1; +static int roi_test_enable = 0; static VAEntrypoint select_entrypoint = VAEntrypointEncSlice; @@ -106,6 +107,7 @@ {"fb", required_argument, 0, 2}, {"mode", required_argument, 0, 3}, {"low-power", no_argument, 0, 4}, + {"roi-test", no_argument, 0, 5}, { NULL, 0, NULL, 0} }; @@ -154,6 +156,7 @@ VABufferID packed_sei_header_param_buf_id; /* the SEI buffer */ VABufferID packed_sei_buf_id; VABufferID misc_parameter_hrd_buf_id; + VABufferID misc_parameter_roi_buf_id; int num_slices; int codedbuf_i_size; @@ -185,7 +188,7 @@ { VAEntrypoint entrypoints[5]; int num_entrypoints,slice_entrypoint; - VAConfigAttrib attrib[2]; + VAConfigAttrib attrib[3]; int major_ver, minor_ver; VAStatus va_status; @@ -209,8 +212,11 @@ /* find out the format for the render target, and rate control mode */ attrib[0].type = VAConfigAttribRTFormat; attrib[1].type = VAConfigAttribRateControl; + + /* This is to query whether the ROI is supported */ + attrib[2].type = VAConfigAttribEncROI; vaGetConfigAttributes(va_dpy, avcenc_context.profile, select_entrypoint, - &attrib[0], 2); + &attrib[0], 3); if ((attrib[0].value & VA_RT_FORMAT_YUV420) == 0) { /* not find desired YUV420 RT format */ @@ -223,11 +229,30 @@ assert(0); } + if (roi_test_enable){ + if (attrib[2].value != VA_ATTRIB_NOT_SUPPORTED) { + VAConfigAttribValEncROI *roi_config = (VAConfigAttribValEncROI *)&(attrib[2].value); + if(roi_config->bits.num_roi_regions == 0 || + roi_config->bits.roi_rc_qp_delat_support == 0) { + roi_test_enable = 0; + printf("WARNING: do not support ROI or ROI delta QP ! \n"); + } + } else { + roi_test_enable = 0; + printf("WARNING: do not support VAConfigAttribValEncROI! \n"); + } + } + attrib[0].value = VA_RT_FORMAT_YUV420; /* set to desired RT format */ attrib[1].value = avcenc_context.rate_control_method; /* set to desired RC mode */ - va_status = vaCreateConfig(va_dpy, avcenc_context.profile, select_entrypoint, - &attrib[0], 2,&avcenc_context.config_id); + if (roi_test_enable){ + va_status = vaCreateConfig(va_dpy, avcenc_context.profile, select_entrypoint, + &attrib[0], 3,&avcenc_context.config_id); + }else { + va_status = vaCreateConfig(va_dpy, avcenc_context.profile, select_entrypoint, + &attrib[0], 2,&avcenc_context.config_id); + } CHECK_VASTATUS(va_status, "vaCreateConfig"); /* Create a context for this decode pipe */ @@ -814,13 +839,65 @@ vaUnmapBuffer(va_dpy, avcenc_context.misc_parameter_hrd_buf_id); + /* ROI parameter: hard code for test on only one region (0,0,120,120) with qp_delta=4 */ + if(roi_test_enable) + { + VAEncMiscParameterBufferROI *misc_roi_param; + + int roi_num = 1; + vaCreateBuffer(va_dpy, + avcenc_context.context_id, + VAEncMiscParameterBufferType, + sizeof(VAEncMiscParameterBuffer) + sizeof(VAEncMiscParameterBufferROI) + roi_num * sizeof(VAEncROI), + 1, + NULL, + &avcenc_context.misc_parameter_roi_buf_id); + vaMapBuffer(va_dpy, + avcenc_context.misc_parameter_roi_buf_id, + (void **)&misc_param); + misc_param->type = VAEncMiscParameterTypeROI; + misc_roi_param = (VAEncMiscParameterBufferROI *)misc_param->data; + { + misc_roi_param->roi_flags.bits.roi_value_is_qp_delta = 1; + /* + * Max/Min delta_qp is only used in CBR mode. It is ingored under CQP mode. + * max_delta_qp means the allowed upper bound of qp delta. (qp + X) + * min_delta_qp means the allowed lower bound of qp delta. (qp -X) + * So it will be better that it is positive. Otherwise the driver will + * use the default bound setting. + */ + misc_roi_param->max_delta_qp = 3; + misc_roi_param->min_delta_qp = 3; + /* one example of ROI region conf. + * please change it on the fly. + */ + VAEncROI *region_roi =(VAEncROI *)((char *)misc_param + sizeof(VAEncMiscParameterBuffer) + + sizeof(VAEncMiscParameterBufferROI)); + + /* + * Under CQP mode roi_value specifies the qp_delta that is added to frame qp + * Under CBR mode roi_value specifies the important level (positive means that + * it is important. negative means that it is less important). + */ + region_roi->roi_value = 4; + region_roi->roi_rectangle.x = 0; + region_roi->roi_rectangle.y = 0; + region_roi->roi_rectangle.width = (120 < picture_width/4)? 120:picture_width/4; + region_roi->roi_rectangle.height = (120 < picture_height/4)? 120:picture_height/4; + + misc_roi_param->roi = region_roi; + misc_roi_param->num_roi = 1; + } + + vaUnmapBuffer(va_dpy, avcenc_context.misc_parameter_roi_buf_id); + } return 0; } int avcenc_render_picture() { VAStatus va_status; - VABufferID va_buffers[10]; + VABufferID va_buffers[20]; unsigned int num_va_buffers = 0; int i; @@ -848,6 +925,9 @@ if (avcenc_context.misc_parameter_hrd_buf_id != VA_INVALID_ID) va_buffers[num_va_buffers++] = avcenc_context.misc_parameter_hrd_buf_id; + if (avcenc_context.misc_parameter_roi_buf_id != VA_INVALID_ID) + va_buffers[num_va_buffers++] = avcenc_context.misc_parameter_roi_buf_id; + va_status = vaBeginPicture(va_dpy, avcenc_context.context_id, surface_ids[avcenc_context.current_input_surface]); @@ -904,6 +984,7 @@ avcenc_destroy_buffers(&avcenc_context.slice_param_buf_id[0], avcenc_context.num_slices); avcenc_destroy_buffers(&avcenc_context.codedbuf_buf_id, 1); avcenc_destroy_buffers(&avcenc_context.misc_parameter_hrd_buf_id, 1); + avcenc_destroy_buffers(&avcenc_context.misc_parameter_roi_buf_id, 1); memset(avcenc_context.slice_param, 0, sizeof(avcenc_context.slice_param)); avcenc_context.num_slices = 0; @@ -953,6 +1034,7 @@ { bs->max_size_in_dword = BITSTREAM_ALLOCATE_STEPPING; bs->buffer = calloc(bs->max_size_in_dword * sizeof(int), 1); + assert(bs->buffer); bs->bit_offset = 0; } @@ -990,6 +1072,7 @@ if (pos + 1 == bs->max_size_in_dword) { bs->max_size_in_dword += BITSTREAM_ALLOCATE_STEPPING; bs->buffer = realloc(bs->buffer, bs->max_size_in_dword * sizeof(unsigned int)); + assert(bs->buffer); } bs->buffer[pos + 1] = val; @@ -1691,7 +1774,7 @@ static void show_help() { - printf("Usage: avnenc <width> <height> <input_yuvfile> <output_avcfile> [--qp=qpvalue|--fb=framebitrate] [--mode=0(I frames only)/1(I and P frames)/2(I, P and B frames)] [--low-power]\n"); + printf("Usage: avnenc <width> <height> <input_yuvfile> <output_avcfile> [--qp=qpvalue|--fb=framebitrate] [--mode=0(I frames only)/1(I and P frames)/2(I, P and B frames)] [--low-power] [--roi-test]\n"); } static void avcenc_context_seq_param_init(VAEncSequenceParameterBufferH264 *seq_param, @@ -1831,6 +1914,7 @@ avcenc_context.upload_thread_value = -1; avcenc_context.packed_sei_header_param_buf_id = VA_INVALID_ID; avcenc_context.packed_sei_buf_id = VA_INVALID_ID; + avcenc_context.misc_parameter_roi_buf_id = VA_INVALID_ID; if (qp_value == -1) avcenc_context.rate_control_method = VA_RC_CBR; @@ -1874,7 +1958,7 @@ picture_height_in_mbs = (picture_height + 15) / 16; if (argc > 5) { - char o; + int o; optind = 5; @@ -1926,6 +2010,10 @@ select_entrypoint = VAEntrypointEncSliceLP; break; + case 5: // roi-test enable/disable + roi_test_enable = 1; + break; + default: show_help(); return -1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/encode/h264encode.c new/libva-1.7.2/test/encode/h264encode.c --- old/libva-1.7.1/test/encode/h264encode.c 2016-06-21 03:27:12.000000000 +0200 +++ new/libva-1.7.2/test/encode/h264encode.c 2016-08-25 04:42:40.000000000 +0200 @@ -197,6 +197,7 @@ { bs->max_size_in_dword = BITSTREAM_ALLOCATE_STEPPING; bs->buffer = calloc(bs->max_size_in_dword * sizeof(int), 1); + assert(bs->buffer); bs->bit_offset = 0; } @@ -234,6 +235,7 @@ if (pos + 1 == bs->max_size_in_dword) { bs->max_size_in_dword += BITSTREAM_ALLOCATE_STEPPING; bs->buffer = realloc(bs->buffer, bs->max_size_in_dword * sizeof(unsigned int)); + assert(bs->buffer); } bs->buffer[pos + 1] = val; @@ -858,7 +860,7 @@ static int process_cmdline(int argc, char *argv[]) { - char c; + int c; const struct option long_opts[] = { {"help", no_argument, NULL, 0 }, {"bitrate", required_argument, NULL, 1 }, @@ -1940,13 +1942,47 @@ if (srcyuv_fourcc == VA_FOURCC_NV12) { int uv_size = 2 * (frame_width/2) * (frame_height/2); dst_Y = malloc(2*uv_size); + if(dst_Y == NULL) { + printf("Failed to allocate memory for dst_Y\n"); + exit(1); + } + dst_U = malloc(uv_size); + if(dst_U == NULL) { + printf("Failed to allocate memory for dst_U\n"); + free(dst_Y); + exit(1); + } + + memset(dst_Y, 0, 2*uv_size); + memset(dst_U, 0, uv_size); } else if (srcyuv_fourcc == VA_FOURCC_IYUV || srcyuv_fourcc == VA_FOURCC_YV12) { int uv_size = (frame_width/2) * (frame_height/2); dst_Y = malloc(4*uv_size); + if(dst_Y == NULL) { + printf("Failed to allocate memory for dst_Y\n"); + exit(1); + } + dst_U = malloc(uv_size); + if(dst_U == NULL) { + printf("Failed to allocate memory for dst_U\n"); + free(dst_Y); + exit(1); + } + dst_V = malloc(uv_size); + if(dst_V == NULL) { + printf("Failed to allocate memory for dst_V\n"); + free(dst_Y); + free(dst_U); + exit(1); + } + + memset(dst_Y, 0, 4*uv_size); + memset(dst_U, 0, uv_size); + memset(dst_V, 0, uv_size); } else { printf("Unsupported source YUV format\n"); exit(1); @@ -1973,9 +2009,6 @@ fwrite(dst_V, uv_size, 1, recyuv_fp); fwrite(dst_U, uv_size, 1, recyuv_fp); } - } else { - printf("Unsupported YUV format\n"); - exit(1); } if (dst_Y) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/encode/jpegenc_utils.h new/libva-1.7.2/test/encode/jpegenc_utils.h --- old/libva-1.7.1/test/encode/jpegenc_utils.h 2016-06-03 07:54:23.000000000 +0200 +++ new/libva-1.7.2/test/encode/jpegenc_utils.h 2016-08-25 04:42:40.000000000 +0200 @@ -65,6 +65,7 @@ { bs->max_size_in_dword = BITSTREAM_ALLOCATE_STEPPING; bs->buffer = calloc(bs->max_size_in_dword * sizeof(int), 1); + assert(bs->buffer); bs->bit_offset = 0; } @@ -105,6 +106,7 @@ if (pos + 1 == bs->max_size_in_dword) { bs->max_size_in_dword += BITSTREAM_ALLOCATE_STEPPING; bs->buffer = realloc(bs->buffer, bs->max_size_in_dword * sizeof(unsigned int)); + assert(bs->buffer); } bs->buffer[pos + 1] = val; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/encode/mpeg2vaenc.c new/libva-1.7.2/test/encode/mpeg2vaenc.c --- old/libva-1.7.1/test/encode/mpeg2vaenc.c 2016-06-03 07:54:23.000000000 +0200 +++ new/libva-1.7.2/test/encode/mpeg2vaenc.c 2016-08-25 04:42:40.000000000 +0200 @@ -831,6 +831,7 @@ max_entrypoints = vaMaxNumEntrypoints(ctx->va_dpy); entrypoint_list = malloc(max_entrypoints * sizeof(VAEntrypoint)); + assert(entrypoint_list); vaQueryConfigEntrypoints(ctx->va_dpy, ctx->profile, entrypoint_list, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/loadsurface.h new/libva-1.7.2/test/loadsurface.h --- old/libva-1.7.1/test/loadsurface.h 2016-06-21 03:27:12.000000000 +0200 +++ new/libva-1.7.2/test/loadsurface.h 2016-08-25 04:42:40.000000000 +0200 @@ -72,10 +72,30 @@ if (width != 640 || height != 480) { /* need to scale the pic */ pic_y = (unsigned char *)malloc(width * height); + if(pic_y == NULL) { + printf("Failed to allocate memory for pic_y\n"); + return -1; + } + pic_u = (unsigned char *)malloc(width * height/4); - pic_v = (unsigned char *)malloc(width * height/4); + if(pic_u == NULL) { + printf("Failed to allocate memory for pic_u\n"); + free(pic_y); + return -1; + } + pic_v = (unsigned char *)malloc(width * height/4); + if(pic_v == NULL) { + printf("Failed to allocate memory for pic_v\n"); + free(pic_y); + free(pic_u); + return -1; + } allocated = 1; + + memset(pic_y, 0, width * height); + memset(pic_u, 0, width * height /4); + memset(pic_v, 0, width * height /4); scale_2dimage(pic_y_old, 640, 480, pic_y, width, height); @@ -133,7 +153,6 @@ } } - if (allocated) { free(pic_y); free(pic_u); @@ -352,9 +371,12 @@ v_ptr = src_U + row * (src_width/2); u_ptr = src_V + row * (src_width/2); } - for(j = 0; j < src_width/2; j++) { - U_row[2*j] = u_ptr[j]; - U_row[2*j+1] = v_ptr[j]; + if ((src_fourcc == VA_FOURCC_IYUV) || + (src_fourcc == VA_FOURCC_YV12)) { + for(j = 0; j < src_width/2; j++) { + U_row[2*j] = u_ptr[j]; + U_row[2*j+1] = v_ptr[j]; + } } break; case VA_FOURCC_IYUV: @@ -442,9 +464,12 @@ v_ptr = dst_U + row * (dst_width/2); u_ptr = dst_V + row * (dst_width/2); } - for(j = 0; j < dst_width/2; j++) { - u_ptr[j] = U_row[2*j]; - v_ptr[j] = U_row[2*j+1]; + if ((dst_fourcc == VA_FOURCC_IYUV) || + (dst_fourcc == VA_FOURCC_YV12)) { + for(j = 0; j < dst_width/2; j++) { + u_ptr[j] = U_row[2*j]; + v_ptr[j] = U_row[2*j+1]; + } } break; case VA_FOURCC_IYUV: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/putsurface/Makefile.in new/libva-1.7.2/test/putsurface/Makefile.in --- old/libva-1.7.1/test/putsurface/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/test/putsurface/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -397,9 +397,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/putsurface/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/putsurface/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/putsurface/Makefile + $(AUTOMAKE) --gnu test/putsurface/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/putsurface/putsurface_common.c new/libva-1.7.2/test/putsurface/putsurface_common.c --- old/libva-1.7.1/test/putsurface/putsurface_common.c 2016-06-21 03:27:12.000000000 +0200 +++ new/libva-1.7.2/test/putsurface/putsurface_common.c 2016-08-25 04:42:40.000000000 +0200 @@ -350,9 +350,6 @@ static int upload_source_YUV_once_for_all() { - VAImage surface_image; - void *surface_p=NULL, *U_start,*V_start; - VAStatus va_status; int box_width_loc=8; int row_shift_loc=0; int i; @@ -517,7 +514,7 @@ VAStatus va_status; pthread_t thread1; int ret; - char c; + int c; int i; char str_src_fmt[5], str_dst_fmt[5]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/putsurface/putsurface_wayland.c new/libva-1.7.2/test/putsurface/putsurface_wayland.c --- old/libva-1.7.1/test/putsurface/putsurface_wayland.c 2016-06-03 07:54:23.000000000 +0200 +++ new/libva-1.7.2/test/putsurface/putsurface_wayland.c 2016-08-25 04:42:40.000000000 +0200 @@ -25,6 +25,7 @@ #include <stddef.h> #include <errno.h> #include <sys/select.h> +#include <assert.h> #ifdef IN_LIBVA # include "va/wayland/va_wayland.h" #else @@ -141,6 +142,7 @@ struct wl_callback *callback; VAStatus va_status; struct wl_buffer *buffer; + int ret = 0; if (!wl_drawable) return VA_STATUS_ERROR_INVALID_SURFACE; @@ -152,8 +154,8 @@ /* Wait for the previous frame to complete redraw */ if (wl_drawable->redraw_pending) { wl_display_flush(d->display); - while (wl_drawable->redraw_pending) - wl_display_dispatch(wl_drawable->display); + while (wl_drawable->redraw_pending && ret >=0) + ret = wl_display_dispatch(wl_drawable->display); } va_status = vaGetSurfaceBufferWl(va_dpy, va_surface, VA_FRAME_PICTURE, &buffer); @@ -207,8 +209,10 @@ return NULL; d->display = wl_display_connect(NULL); - if (!d->display) + if (!d->display){ + free(d); return NULL; + } wl_display_set_user_data(d->display, d); d->registry = wl_display_get_registry(d->display); @@ -255,6 +259,7 @@ wl_shell_surface_set_toplevel(shell_surface); drawable1 = malloc(sizeof(*drawable1)); + assert(drawable1); drawable1->display = display; drawable1->surface = surface1; drawable1->redraw_pending = 0; @@ -270,6 +275,7 @@ wl_shell_surface_set_toplevel(shell_surface_2); drawable2 = malloc(sizeof(*drawable2)); + assert(drawable2); drawable2->display = display; drawable1->surface = surface2; drawable2->redraw_pending = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/test/vainfo/Makefile.in new/libva-1.7.2/test/vainfo/Makefile.in --- old/libva-1.7.1/test/vainfo/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/test/vainfo/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -375,9 +375,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/vainfo/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/vainfo/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/vainfo/Makefile + $(AUTOMAKE) --gnu test/vainfo/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/Makefile.in new/libva-1.7.2/va/Makefile.in --- old/libva-1.7.1/va/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/va/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -569,9 +569,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 .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/drm/Makefile.in new/libva-1.7.2/va/drm/Makefile.in --- old/libva-1.7.1/va/drm/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/va/drm/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -409,9 +409,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 .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/egl/Makefile.in new/libva-1.7.2/va/egl/Makefile.in --- old/libva-1.7.1/va/egl/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/va/egl/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -401,9 +401,9 @@ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign va/egl/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu va/egl/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign va/egl/Makefile + $(AUTOMAKE) --gnu va/egl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/glx/Makefile.in new/libva-1.7.2/va/glx/Makefile.in --- old/libva-1.7.1/va/glx/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/va/glx/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -410,9 +410,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 .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/va.c new/libva-1.7.2/va/va.c --- old/libva-1.7.1/va/va.c 2016-06-21 03:27:12.000000000 +0200 +++ new/libva-1.7.2/va/va.c 2016-08-25 04:42:40.000000000 +0200 @@ -74,8 +74,10 @@ continue; if (strcmp(token, env) == 0) { - if (env_value) + if (env_value) { strncpy(env_value,value, 1024); + env_value[1023] = '\0'; + } fclose(fp); @@ -88,8 +90,10 @@ /* no setting in config file, use env setting */ value = getenv(env); if (value) { - if (env_value) + if (env_value) { strncpy(env_value, value, 1024); + env_value[1023] = '\0'; + } return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/va.h new/libva-1.7.2/va/va.h --- old/libva-1.7.1/va/va.h 2016-06-21 03:27:12.000000000 +0200 +++ new/libva-1.7.2/va/va.h 2016-09-02 06:19:24.000000000 +0200 @@ -593,12 +593,31 @@ struct { /** \brief The number of ROI regions supported, 0 if ROI is not supported. */ unsigned int num_roi_regions : 8; - /** \brief Indicates if ROI priority indication is supported when - * VAConfigAttribRateControl != VA_RC_CQP, else only ROI delta QP added on top of - * the frame level QP is supported when VAConfigAttribRateControl == VA_RC_CQP. + /** + * \brief A flag indicates whether ROI priority is supported + * + * \ref roi_rc_priority_support equal to 1 specifies the underlying driver supports + * ROI priority when VAConfigAttribRateControl != VA_RC_CQP, user can use \c roi_value + * in #VAEncROI to set ROI priority. \ref roi_rc_priority_support equal to 0 specifies + * the underlying driver doesn't support ROI priority. + * + * User should ignore \ref roi_rc_priority_support when VAConfigAttribRateControl == VA_RC_CQP + * because ROI delta QP is always required when VAConfigAttribRateControl == VA_RC_CQP. */ - unsigned int roi_rc_priority_support : 1; - unsigned int reserved : 23; + unsigned int roi_rc_priority_support : 1; + /** + * \brief A flag indicates whether ROI delta QP is supported + * + * \ref roi_rc_qp_delat_support equal to 1 specifies the underlying driver supports + * ROI delta QP when VAConfigAttribRateControl != VA_RC_CQP, user can use \c roi_value + * in #VAEncROI to set ROI delta QP. \ref roi_rc_qp_delat_support equal to 0 specifies + * the underlying driver doesn't support ROI delta QP. + * + * User should ignore \ref roi_rc_qp_delat_support when VAConfigAttribRateControl == VA_RC_CQP + * because ROI delta QP is always required when VAConfigAttribRateControl == VA_RC_CQP. + */ + unsigned int roi_rc_qp_delat_support : 1; + unsigned int reserved : 22; } bits; unsigned int value; } VAConfigAttribValEncROI; @@ -1268,15 +1287,24 @@ * codec coding units. It is relative to frame coordinates for the frame case and * to field coordinates for the field case. */ VARectangle roi_rectangle; - /** \brief When VAConfigAttribRateControl == VA_RC_CQP then roi_value specifes the - * delta QP that will be added on top of the frame level QP. For other rate control - * modes, roi_value specifies the priority of the ROI region relative to the non-ROI - * region. It can be positive (more important) or negative (less important) values - * and is compared with non-ROI region (taken as value 0). - * E.g. ROI region with roi_value -3 is less important than the non-ROI region - * (roi_value implied to be 0) which is less important than ROI region with - * roi_value +2. For overlapping regions, the roi_value that is first in the ROI - * array will have priority. */ + /** + * \brief ROI value + * + * \ref roi_value specifies ROI delta QP or ROI priority. + * -- ROI delta QP is the value that will be added on top of the frame level QP. + * -- ROI priority specifies the priority of a region, it can be positive (more important) + * or negative (less important) values and is compared with non-ROI region (taken as value 0), + * E.g. ROI region with \ref roi_value -3 is less important than the non-ROI region (\ref roi_value + * implied to be 0) which is less important than ROI region with roi_value +2. For overlapping + * regions, the roi_value that is first in the ROI array will have priority. + * + * \ref roi_value always specifes ROI delta QP when VAConfigAttribRateControl == VA_RC_CQP, no matter + * the value of \c roi_value_is_qp_delta in #VAEncMiscParameterBufferROI. + * + * \ref roi_value depends on \c roi_value_is_qp_delta in #VAEncMiscParameterBufferROI when + * VAConfigAttribRateControl != VA_RC_CQP. \ref roi_value specifies ROI_delta QP if \c roi_value_is_qp_delta + * in VAEncMiscParameterBufferROI is 1, otherwise \ref roi_value specifies ROI priority. + */ char roi_value; } VAEncROI; @@ -1293,6 +1321,25 @@ /** \brief Pointer to a VAEncROI array with num_roi elements. It is relative to frame * coordinates for the frame case and to field coordinates for the field case.*/ VAEncROI *roi; + union { + struct { + /** + * \brief An indication for roi value. + * + * \ref roi_value_is_qp_delta equal to 1 indicates \c roi_value in #VAEncROI should + * be used as ROI delta QP. \ref roi_value_is_qp_delta equal to 0 indicates \c roi_value + * in #VAEncROI should be used as ROI priority. + * + * \ref roi_value_is_qp_delta is only available when VAConfigAttribRateControl != VA_RC_CQP, + * the setting must comply with \c roi_rc_priority_support and \c roi_rc_qp_delat_support in + * #VAConfigAttribValEncROI. The underlying driver should ignore this field + * when VAConfigAttribRateControl == VA_RC_CQP. + */ + uint32_t roi_value_is_qp_delta : 1; + uint32_t reserved : 31; + } bits; + uint32_t value; + } roi_flags; } VAEncMiscParameterBufferROI; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/va_trace.c new/libva-1.7.2/va/va_trace.c --- old/libva-1.7.1/va/va_trace.c 2016-06-21 03:27:12.000000000 +0200 +++ new/libva-1.7.2/va/va_trace.c 2016-08-25 04:42:40.000000000 +0200 @@ -546,6 +546,7 @@ FILE *fp = NULL; strncpy(env_value, fn_env, 1024); + env_value[1023] = '\0'; FILE_NAME_SUFFIX(env_value, 1024, "ctx-", (unsigned int)ptra_ctx->trace_context); @@ -594,6 +595,7 @@ char env_value[1024]; strncpy(env_value, pva_trace->fn_log_env, 1024); + env_value[1023] = '\0'; FILE_NAME_SUFFIX(env_value, 1024, "thd-", (unsigned int)thd_id); @@ -733,7 +735,6 @@ { char env_value[1024]; unsigned short suffix = 0xffff & ((unsigned int)time(NULL)); - int trace_index = 0; FILE *tmp; struct va_trace *pva_trace = calloc(sizeof(struct va_trace), 1); struct trace_context *trace_ctx = calloc(sizeof(struct trace_context), 1); @@ -939,7 +940,7 @@ static void va_TraceSurface(VADisplay dpy, VAContextID context) { - unsigned int i, j; + unsigned int i; unsigned int fourcc; /* following are output argument */ unsigned int luma_stride; unsigned int chroma_u_stride; @@ -951,7 +952,6 @@ void *buffer = NULL; unsigned char *Y_data, *UV_data, *tmp; VAStatus va_status; - unsigned char check_sum = 0; DPY2TRACECTX(dpy, context, VA_INVALID_ID); if (!trace_ctx->trace_fp_surface) @@ -1510,9 +1510,6 @@ VABufferType type; unsigned int size; unsigned int num_elements; - - VACodedBufferSegment *buf_list; - int i = 0; if (buf_id == VA_INVALID_ID) return; @@ -1882,7 +1879,7 @@ va_TraceMsg(trace_ctx,"*VAHuffmanTableBufferJPEG\n"); for (i = 0; i < 2; ++i) { - va_TraceMsg(trace_ctx,"\tload_huffman_table[%d] =%u\n", i, p->load_huffman_table[0]); + va_TraceMsg(trace_ctx,"\tload_huffman_table[%d] =%u\n", i, p->load_huffman_table[i]); va_TraceMsg(trace_ctx,"\thuffman_table[%d] =\n", i); memset(tmp, 0, sizeof tmp); for (j = 0; j < 16; ++j) { @@ -3123,7 +3120,6 @@ { VAEncPackedHeaderParameterBuffer* p = (VAEncPackedHeaderParameterBuffer*)data; DPY2TRACECTX(dpy, context, VA_INVALID_ID); - int i; if (!p) return; @@ -3546,6 +3542,34 @@ return; } +static void va_TraceVAEncSequenceParameterBufferVP9( + VADisplay dpy, + VAContextID context, + VABufferID buffer, + VABufferType type, + unsigned int size, + unsigned int num_elements, + void *data) +{ + VAEncSequenceParameterBufferVP9 *p = (VAEncSequenceParameterBufferVP9 *)data; + DPY2TRACECTX(dpy, context, VA_INVALID_ID); + int i; + + va_TraceMsg(trace_ctx, "\t--VAEncSequenceParameterBufferVP9\n"); + + va_TraceMsg(trace_ctx, "\tmax_frame_height = %d\n", p->max_frame_height); + va_TraceMsg(trace_ctx, "\tmax_frame_width = %d\n", p->max_frame_width); + va_TraceMsg(trace_ctx, "\tkf_auto = %d\n", p->kf_auto); + va_TraceMsg(trace_ctx, "\tkf_min_dist = %d\n", p->kf_min_dist); + va_TraceMsg(trace_ctx, "\tkf_max_dist = %d\n", p->kf_max_dist); + va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second); + va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period); + + va_TraceMsg(trace_ctx, NULL); + + return; +} + static void va_TraceVAPictureParameterBufferVP9( VADisplay dpy, VAContextID context, @@ -3557,7 +3581,7 @@ { VADecPictureParameterBufferVP9 *p = (VADecPictureParameterBufferVP9 *)data; DPY2TRACECTX(dpy, context, VA_INVALID_ID); - int i,j; + int i; va_TraceMsg(trace_ctx, "\t--VAPictureParameterBufferVP9\n"); @@ -3680,6 +3704,95 @@ return; } +static void va_TraceVAEncPictureParameterBufferVP9( + VADisplay dpy, + VAContextID context, + VABufferID buffer, + VABufferType type, + unsigned int size, + unsigned int num_elements, + void *data) +{ + VAEncPictureParameterBufferVP9 *p = (VAEncPictureParameterBufferVP9 *)data; + DPY2TRACECTX(dpy, context, VA_INVALID_ID); + int i; + + va_TraceMsg(trace_ctx, "\t--VAEncPictureParameterBufferVP9\n"); + va_TraceMsg(trace_ctx, "\tframe_width_src = %d\n", p->frame_width_src); + va_TraceMsg(trace_ctx, "\tframe_height_src = %d\n", p->frame_height_src); + va_TraceMsg(trace_ctx, "\tframe_width_dst = %d\n", p->frame_width_dst); + va_TraceMsg(trace_ctx, "\tframe_height_dst = %d\n", p->frame_height_dst); + va_TraceMsg(trace_ctx, "\treconstructed_frame = 0x%08x\n", p->reconstructed_frame); + + for(i=0;i<8;i++) + va_TraceMsg(trace_ctx, "\treference_frames[%d] = 0x%08x\n", i, p->reference_frames[i]); + + va_TraceMsg(trace_ctx, "\tcoded_buf = 0x%x\n", p->coded_buf); + + va_TraceMsg(trace_ctx, "\tref_flags.bits.force_kf = %d\n", p->ref_flags.bits.force_kf); + va_TraceMsg(trace_ctx, "\tref_flags.bits.ref_frame_ctrl_l0 = %d\n", p->ref_flags.bits.ref_frame_ctrl_l0); + va_TraceMsg(trace_ctx, "\tref_flags.bits.ref_frame_ctrl_l1 = %d\n", p->ref_flags.bits.ref_frame_ctrl_l1); + va_TraceMsg(trace_ctx, "\tref_flags.bits.ref_last_idx = %d\n", p->ref_flags.bits.ref_last_idx); + va_TraceMsg(trace_ctx, "\tref_flags.bits.ref_last_sign_bias = %d\n", p->ref_flags.bits.ref_last_sign_bias); + va_TraceMsg(trace_ctx, "\tref_flags.bits.ref_gf_idx = %d\n", p->ref_flags.bits.ref_gf_idx); + va_TraceMsg(trace_ctx, "\tref_flags.bits.ref_gf_sign_bias = %d\n", p->ref_flags.bits.ref_gf_sign_bias); + va_TraceMsg(trace_ctx, "\tref_flags.bits.ref_arf_idx = %d\n", p->ref_flags.bits.ref_arf_idx); + va_TraceMsg(trace_ctx, "\tref_flags.bits.ref_arf_sign_bias = %d\n", p->ref_flags.bits.ref_arf_sign_bias); + va_TraceMsg(trace_ctx, "\tref_flags.bits.temporal_id = %d\n", p->ref_flags.bits.temporal_id); + va_TraceMsg(trace_ctx, "\tref_flags.bits.reserved = %d\n", p->ref_flags.bits.reserved); + + va_TraceMsg(trace_ctx, "\tpic_flags.bits.frame_type = %d\n", p->pic_flags.bits.frame_type); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.show_frame = %d\n", p->pic_flags.bits.show_frame); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.error_resilient_mode = %d\n", p->pic_flags.bits.error_resilient_mode); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.intra_only = %d\n", p->pic_flags.bits.intra_only); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.allow_high_precision_mv = %d\n", p->pic_flags.bits.allow_high_precision_mv); + + va_TraceMsg(trace_ctx, "\tpic_flags.bits.mcomp_filter_type = %d\n", p->pic_flags.bits.mcomp_filter_type); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.frame_parallel_decoding_mode = %d\n", p->pic_flags.bits.frame_parallel_decoding_mode); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.reset_frame_context = %d\n", p->pic_flags.bits.reset_frame_context); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.refresh_frame_context = %d\n", p->pic_flags.bits.refresh_frame_context); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.frame_context_idx = %d\n", p->pic_flags.bits.frame_context_idx); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.segmentation_enabled = %d\n", p->pic_flags.bits.segmentation_enabled); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.segmentation_temporal_update = %d\n", p->pic_flags.bits.segmentation_temporal_update); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.segmentation_update_map = %d\n", p->pic_flags.bits.segmentation_update_map); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.lossless_mode = %d\n", p->pic_flags.bits.lossless_mode); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.comp_prediction_mode = %d\n", p->pic_flags.bits.comp_prediction_mode); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.auto_segmentation = %d\n", p->pic_flags.bits.auto_segmentation); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.super_frame_flag = %d\n", p->pic_flags.bits.super_frame_flag); + va_TraceMsg(trace_ctx, "\tpic_flags.bits.reserved = %d\n", p->pic_flags.bits.reserved); + + va_TraceMsg(trace_ctx, "\trefresh_frame_flags = %d\n", p->refresh_frame_flags); + va_TraceMsg(trace_ctx, "\tluma_ac_qindex = %d\n", p->luma_ac_qindex); + va_TraceMsg(trace_ctx, "\tluma_dc_qindex_delta = %d\n", p->luma_dc_qindex_delta); + va_TraceMsg(trace_ctx, "\tchroma_ac_qindex_delta = %d\n", p->chroma_ac_qindex_delta); + va_TraceMsg(trace_ctx, "\tchroma_dc_qindex_delta = %d\n", p->chroma_dc_qindex_delta); + va_TraceMsg(trace_ctx, "\tfilter_level = %d\n", p->filter_level); + va_TraceMsg(trace_ctx, "\tsharpness_level = %d\n", p->sharpness_level); + + for(i=0;i<4;i++) + va_TraceMsg(trace_ctx, "\tref_lf_delta[%d] = %d\n", i, p->ref_lf_delta[i]); + for(i=0;i<2;i++) + va_TraceMsg(trace_ctx, "\tmode_lf_delta[%d] = %d\n", i, p->mode_lf_delta[i]); + + + va_TraceMsg(trace_ctx, "\tbit_offset_ref_lf_delta = %d\n", p->bit_offset_ref_lf_delta); + va_TraceMsg(trace_ctx, "\tbit_offset_mode_lf_delta = %d\n", p->bit_offset_mode_lf_delta); + va_TraceMsg(trace_ctx, "\tbit_offset_lf_level = %d\n", p->bit_offset_lf_level); + va_TraceMsg(trace_ctx, "\tbit_offset_qindex = %d\n", p->bit_offset_qindex); + va_TraceMsg(trace_ctx, "\tbit_offset_first_partition_size = %d\n", p->bit_offset_first_partition_size); + va_TraceMsg(trace_ctx, "\tbit_offset_segmentation = %d\n", p->bit_offset_segmentation); + va_TraceMsg(trace_ctx, "\tbit_size_segmentation = %d\n", p->bit_size_segmentation); + va_TraceMsg(trace_ctx, "\tlog2_tile_rows = %d\n", p->log2_tile_rows); + va_TraceMsg(trace_ctx, "\tlog2_tile_columns = %d\n", p->log2_tile_columns); + va_TraceMsg(trace_ctx, "\tskip_frame_flag = %d\n", p->skip_frame_flag); + va_TraceMsg(trace_ctx, "\tnumber_skip_frames = %d\n", p->number_skip_frames); + va_TraceMsg(trace_ctx, "\tskip_frames_size = %d\n", p->skip_frames_size); + + va_TraceMsg(trace_ctx, NULL); + + return; +} + static void va_TraceVASliceParameterBufferVP9( VADisplay dpy, VAContextID context, @@ -4325,9 +4438,18 @@ case VAPictureParameterBufferType: va_TraceVAPictureParameterBufferVP9(dpy, context, buffer, type, size, num_elements, pbuf); break; + case VAEncSequenceParameterBufferType: + va_TraceVAEncSequenceParameterBufferVP9(dpy, context, buffer, type, size, num_elements, pbuf); + break; + case VAEncPictureParameterBufferType: + va_TraceVAEncPictureParameterBufferVP9(dpy, context, buffer, type, size, num_elements, pbuf); + break; case VASliceParameterBufferType: va_TraceVASliceParameterBufferVP9(dpy, context, buffer, type, size, num_elements, pbuf); break; + case VAEncMiscParameterBufferType: + va_TraceVAEncMiscParameterBuffer(dpy, context, buffer, type, size, num_elements, pbuf); + break; default: va_TraceVABuffers(dpy, context, buffer, type, size, num_elements, pbuf); break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/va_version.h new/libva-1.7.2/va/va_version.h --- old/libva-1.7.1/va/va_version.h 2016-06-21 03:33:08.000000000 +0200 +++ new/libva-1.7.2/va/va_version.h 2016-09-05 04:30:36.000000000 +0200 @@ -44,14 +44,14 @@ * * The micro version of VA-API (3, if %VA_VERSION is 1.2.3) */ -#define VA_MICRO_VERSION 2 +#define VA_MICRO_VERSION 3 /** * VA_VERSION: * * The full version of VA-API, like 1.2.3 */ -#define VA_VERSION 0.39.2 +#define VA_VERSION 0.39.3 /** * VA_VERSION_S: @@ -59,7 +59,7 @@ * The full version of VA-API, in string form (suited for string * concatenation) */ -#define VA_VERSION_S "0.39.2" +#define VA_VERSION_S "0.39.3" /** * VA_VERSION_HEX: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/wayland/Makefile.in new/libva-1.7.2/va/wayland/Makefile.in --- old/libva-1.7.1/va/wayland/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/va/wayland/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -425,9 +425,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 .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/wayland/va_wayland_drm.c new/libva-1.7.2/va/wayland/va_wayland_drm.c --- old/libva-1.7.1/va/wayland/va_wayland_drm.c 2016-06-03 07:54:23.000000000 +0200 +++ new/libva-1.7.2/va/wayland/va_wayland_drm.c 2016-09-02 08:37:44.000000000 +0200 @@ -171,7 +171,6 @@ VADriverContextP const ctx = pDisplayContext->pDriverContext; struct va_wayland_drm_context *wl_drm_ctx; struct drm_state *drm_state; - uint32_t id; wl_drm_ctx = malloc(sizeof(*wl_drm_ctx)); if (!wl_drm_ctx) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/wayland/va_wayland_emgd.c new/libva-1.7.2/va/wayland/va_wayland_emgd.c --- old/libva-1.7.1/va/wayland/va_wayland_emgd.c 2016-06-03 07:54:23.000000000 +0200 +++ new/libva-1.7.2/va/wayland/va_wayland_emgd.c 2016-08-25 04:42:40.000000000 +0200 @@ -115,7 +115,6 @@ VADriverContextP const ctx = pDisplayContext->pDriverContext; VADisplayContextWaylandEMGD *wl_emgd_ctx; struct drm_state *drm_state; - uint32_t id; wl_emgd_ctx = malloc(sizeof(*wl_emgd_ctx)); if (!wl_emgd_ctx) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/wayland/wayland-drm-client-protocol.h new/libva-1.7.2/va/wayland/wayland-drm-client-protocol.h --- old/libva-1.7.1/va/wayland/wayland-drm-client-protocol.h 2016-06-21 03:33:08.000000000 +0200 +++ new/libva-1.7.2/va/wayland/wayland-drm-client-protocol.h 2016-09-02 08:37:44.000000000 +0200 @@ -117,21 +117,21 @@ struct wl_drm_listener { /** - * device - (none) - * @name: (none) + * device - device + * @name: name */ void (*device)(void *data, struct wl_drm *wl_drm, const char *name); /** - * format - (none) - * @format: (none) + * format - format + * @format: format */ void (*format)(void *data, struct wl_drm *wl_drm, uint32_t format); /** - * authenticated - (none) + * authenticated - authenticated */ void (*authenticated)(void *data, struct wl_drm *wl_drm); @@ -179,8 +179,13 @@ { struct wl_proxy *id; - id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_drm, - WL_DRM_CREATE_BUFFER, &wl_buffer_interface, NULL, name, width, height, stride, format); + id = wl_proxy_create((struct wl_proxy *) wl_drm, + &wl_buffer_interface); + if (!id) + return NULL; + + wl_proxy_marshal((struct wl_proxy *) wl_drm, + WL_DRM_CREATE_BUFFER, id, name, width, height, stride, format); return (struct wl_buffer *) id; } @@ -190,8 +195,13 @@ { struct wl_proxy *id; - id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_drm, - WL_DRM_CREATE_PLANAR_BUFFER, &wl_buffer_interface, NULL, name, width, height, format, offset0, stride0, offset1, stride1, offset2, stride2); + id = wl_proxy_create((struct wl_proxy *) wl_drm, + &wl_buffer_interface); + if (!id) + return NULL; + + wl_proxy_marshal((struct wl_proxy *) wl_drm, + WL_DRM_CREATE_PLANAR_BUFFER, id, name, width, height, format, offset0, stride0, offset1, stride1, offset2, stride2); return (struct wl_buffer *) id; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-1.7.1/va/x11/Makefile.in new/libva-1.7.2/va/x11/Makefile.in --- old/libva-1.7.1/va/x11/Makefile.in 2016-06-21 03:33:04.000000000 +0200 +++ new/libva-1.7.2/va/x11/Makefile.in 2016-09-05 04:30:33.000000000 +0200 @@ -418,9 +418,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 .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \