Hello community, here is the log from the commit of package libva for openSUSE:Factory checked in at 2018-07-22 23:38:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libva (Old) and /work/SRC/openSUSE:Factory/.libva.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva" Sun Jul 22 23:38:05 2018 rev:43 rq:623442 version:2.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libva/libva-gl.changes 2018-05-10 15:44:10.408756818 +0200 +++ /work/SRC/openSUSE:Factory/.libva.new/libva-gl.changes 2018-07-22 23:38:08.144198818 +0200 @@ -1,0 +2,14 @@ +Tue Jul 17 11:33:23 CEST 2018 - [email protected] + +- Update to 2.2.0: + * Bump VA-API version to 1.2.0 and libva to 2.2.0 + * Add support for hevc range extension decoding + * Add support for fast intra prediction in HEVC FEI + * Add 10/12-bit YUV render target formats + * Add fourcc code for Y210/Y216/Y410/Y416/RGB565/BGR565 + * Add VA_STATUS_ERROR_NOT_ENOUGH_BUFFER + * Add VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT + * Improve documentation +- Use license tag + +------------------------------------------------------------------- libva.changes: same change Old: ---- libva-2.1.0.tar.bz2 libva-2.1.0.tar.bz2.sha1sum New: ---- libva-2.2.0.tar.bz2 libva-2.2.0.tar.bz2.sha1sum ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libva-gl.spec ++++++ --- /var/tmp/diff_new_pack.AbKly7/_old 2018-07-22 23:38:09.584198342 +0200 +++ /var/tmp/diff_new_pack.AbKly7/_new 2018-07-22 23:38:09.584198342 +0200 @@ -29,7 +29,7 @@ Name: libva-gl %define _name libva -Version: 2.1.0 +Version: 2.2.0 Release: 0 Summary: Video Acceleration (VA) API License: MIT @@ -221,7 +221,7 @@ %else %files -n libva%{sover} -%doc COPYING +%license COPYING %{_libdir}/libva.so.* %files -n libva-x11-%{sover} ++++++ libva.spec ++++++ --- /var/tmp/diff_new_pack.AbKly7/_old 2018-07-22 23:38:09.604198335 +0200 +++ /var/tmp/diff_new_pack.AbKly7/_new 2018-07-22 23:38:09.604198335 +0200 @@ -29,7 +29,7 @@ Name: libva %define _name libva -Version: 2.1.0 +Version: 2.2.0 Release: 0 Summary: Video Acceleration (VA) API License: MIT @@ -221,7 +221,7 @@ %else %files -n libva%{sover} -%doc COPYING +%license COPYING %{_libdir}/libva.so.* %files -n libva-x11-%{sover} ++++++ libva-2.1.0.tar.bz2 -> libva-2.2.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/NEWS new/libva-2.2.0/NEWS --- old/libva-2.1.0/NEWS 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/NEWS 2018-07-11 09:55:37.000000000 +0200 @@ -1,6 +1,16 @@ -libva NEWS -- summary of user visible changes. 2018-02-12 +libva NEWS -- summary of user visible changes. 2018-07-11 Copyright (C) 2009-2018 Intel Corporation +Version 2.2.0 - 11.July.2018 +* Bump VA-API version to 1.2.0 and libva to 2.2.0 +* Add support for hevc range extension decoding +* Add support for fast intra prediction in HEVC FEI +* Add 10/12-bit YUV render target formats +* Add fourcc code for Y210/Y216/Y410/Y416/RGB565/BGR565 +* Add VA_STATUS_ERROR_NOT_ENOUGH_BUFFER +* Add VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT +* Improve documentation + Version 2.1.0 - 12.Feb.2018 * Bump VA-API version to 1.1.0 and libva to 2.1.0 * Add API for multi-frame processing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/configure new/libva-2.2.0/configure --- old/libva-2.1.0/configure 2018-02-12 08:14:33.000000000 +0100 +++ new/libva-2.2.0/configure 2018-07-11 09:55:41.000000000 +0200 @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libva 2.1.0. +# Generated by GNU Autoconf 2.69 for libva 2.2.0. # -# Report bugs to <https://github.com/01org/libva/issues/new>. +# Report bugs to <https://github.com/intel/libva/issues/new>. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -275,7 +275,7 @@ $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell [email protected] and -$0: https://github.com/01org/libva/issues/new about your +$0: https://github.com/intel/libva/issues/new about your $0: system, including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -590,10 +590,10 @@ # Identity of this package. PACKAGE_NAME='libva' PACKAGE_TARNAME='libva' -PACKAGE_VERSION='2.1.0' -PACKAGE_STRING='libva 2.1.0' -PACKAGE_BUGREPORT='https://github.com/01org/libva/issues/new' -PACKAGE_URL='https://github.com/01org/libva' +PACKAGE_VERSION='2.2.0' +PACKAGE_STRING='libva 2.2.0' +PACKAGE_BUGREPORT='https://github.com/intel/libva/issues/new' +PACKAGE_URL='https://github.com/intel/libva' ac_unique_file="Makefile.am" # Factoring default headers for most tests. @@ -1392,7 +1392,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.1.0 to adapt to many kinds of systems. +\`configure' configures libva 2.2.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1463,7 +1463,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libva 2.1.0:";; + short | recursive ) echo "Configuration of libva 2.2.0:";; esac cat <<\_ACEOF @@ -1537,8 +1537,8 @@ Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. -Report bugs to <https://github.com/01org/libva/issues/new>. -libva home page: <https://github.com/01org/libva>. +Report bugs to <https://github.com/intel/libva/issues/new>. +libva home page: <https://github.com/intel/libva>. _ACEOF ac_status=$? fi @@ -1601,7 +1601,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libva configure 2.1.0 +libva configure 2.2.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2068,7 +2068,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## -------------------------------------------------------- ## -## Report this to https://github.com/01org/libva/issues/new ## +## Report this to https://github.com/intel/libva/issues/new ## ## -------------------------------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; @@ -2091,7 +2091,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.1.0, which was +It was created by libva $as_me 2.2.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2957,7 +2957,7 @@ # Define the identity of the package. PACKAGE='libva' - VERSION='2.1.0' + VERSION='2.2.0' cat >>confdefs.h <<_ACEOF @@ -3097,26 +3097,26 @@ VA_API_MAJOR_VERSION=1 -VA_API_MINOR_VERSION=1 +VA_API_MINOR_VERSION=2 VA_API_MICRO_VERSION=0 -VA_API_VERSION=1.1.0 +VA_API_VERSION=1.2.0 LIBVA_MAJOR_VERSION=2 -LIBVA_MINOR_VERSION=1 +LIBVA_MINOR_VERSION=2 LIBVA_MICRO_VERSION=0 -LIBVA_VERSION=2.1.0 +LIBVA_VERSION=2.2.0 -LIBVA_LT_CURRENT=102 +LIBVA_LT_CURRENT=202 LIBVA_LT_REV=0 -LIBVA_LT_AGE=100 +LIBVA_LT_AGE=200 LIBVA_LT_VERSION="$LIBVA_LT_CURRENT:$LIBVA_LT_REV:$LIBVA_LT_AGE" LIBVA_LT_LDFLAGS="-version-info $LIBVA_LT_VERSION" @@ -18472,7 +18472,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.1.0, which was +This file was extended by libva $as_me 2.2.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18532,14 +18532,14 @@ Configuration commands: $config_commands -Report bugs to <https://github.com/01org/libva/issues/new>. -libva home page: <https://github.com/01org/libva>." +Report bugs to <https://github.com/intel/libva/issues/new>. +libva home page: <https://github.com/intel/libva>." _ACEOF 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.1.0 +libva config.status 2.2.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.1.0/configure.ac new/libva-2.2.0/configure.ac --- old/libva-2.1.0/configure.ac 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/configure.ac 2018-07-11 09:55:37.000000000 +0200 @@ -27,7 +27,7 @@ # - reset micro version to zero when minor version is incremented # - reset minor version to zero when major version is incremented m4_define([va_api_major_version], [1]) -m4_define([va_api_minor_version], [1]) +m4_define([va_api_minor_version], [2]) m4_define([va_api_micro_version], [0]) m4_define([va_api_version], @@ -84,9 +84,9 @@ AC_PREREQ(2.57) AC_INIT([libva], [libva_version], - [https://github.com/01org/libva/issues/new], + [https://github.com/intel/libva/issues/new], [libva], - [https://github.com/01org/libva]) + [https://github.com/intel/libva]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_MACRO_DIR([m4]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/Makefile.am new/libva-2.2.0/va/Makefile.am --- old/libva-2.1.0/va/Makefile.am 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/va/Makefile.am 2018-07-11 09:55:37.000000000 +0200 @@ -75,11 +75,17 @@ -Wl,-version-script,${srcdir}/libva.syms \ $(NULL) +libva_cflags = \ + -Wall \ + -fstack-protector \ + $(NULL) + lib_LTLIBRARIES = libva.la libvaincludedir = ${includedir}/va libvainclude_HEADERS = $(libva_source_h) noinst_HEADERS = $(libva_source_h_priv) libva_la_SOURCES = $(libva_source_c) +libva_la_CFLAGS = $(libva_cflags) libva_la_LDFLAGS = $(libva_ldflags) libva_la_DEPENDENCIES = libva.syms libva_la_LIBADD = $(LIBVA_LIBS) -ldl @@ -88,6 +94,7 @@ SUBDIRS += drm lib_LTLIBRARIES += libva-drm.la libva_drm_la_SOURCES = +libva_drm_la_CFLAGS = $(libva_cflags) libva_drm_la_LDFLAGS = $(LDADD) libva_drm_la_DEPENDENCIES = libva.la drm/libva_drm.la libva_drm_la_LIBADD = libva.la drm/libva_drm.la \ @@ -99,6 +106,7 @@ lib_LTLIBRARIES += libva-x11.la libva_source_h += va_x11.h libva_x11_la_SOURCES = +libva_x11_la_CFLAGS = $(libva_cflags) libva_x11_la_LDFLAGS = $(LDADD) libva_x11_la_DEPENDENCIES = libva.la x11/libva_x11.la libva_x11_la_LIBADD = libva.la x11/libva_x11.la \ @@ -109,6 +117,7 @@ SUBDIRS += glx lib_LTLIBRARIES += libva-glx.la libva_glx_la_SOURCES = +libva_glx_la_CFLAGS = $(libva_cflags) libva_glx_la_LDFLAGS = $(LDADD) libva_glx_la_DEPENDENCIES = libva.la glx/libva_glx.la libva-x11.la libva_glx_la_LIBADD = libva.la glx/libva_glx.la libva-x11.la \ @@ -119,6 +128,7 @@ SUBDIRS += wayland lib_LTLIBRARIES += libva-wayland.la libva_wayland_la_SOURCES = +libva_wayland_la_CFLAGS = $(libva_cflags) libva_wayland_la_LDFLAGS = $(LDADD) libva_wayland_la_DEPENDENCIES = libva.la wayland/libva_wayland.la libva_wayland_la_LIBADD = libva.la wayland/libva_wayland.la \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/Makefile.in new/libva-2.2.0/va/Makefile.in --- old/libva-2.1.0/va/Makefile.in 2018-02-12 08:14:34.000000000 +0100 +++ new/libva-2.2.0/va/Makefile.in 2018-07-11 09:55:42.000000000 +0200 @@ -171,34 +171,35 @@ am__v_lt_0 = --silent am__v_lt_1 = libva_drm_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libva_drm_la_LDFLAGS) $(LDFLAGS) -o $@ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libva_drm_la_CFLAGS) \ + $(CFLAGS) $(libva_drm_la_LDFLAGS) $(LDFLAGS) -o $@ @USE_DRM_TRUE@am_libva_drm_la_rpath = -rpath $(libdir) am_libva_glx_la_OBJECTS = libva_glx_la_OBJECTS = $(am_libva_glx_la_OBJECTS) libva_glx_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libva_glx_la_LDFLAGS) $(LDFLAGS) -o $@ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libva_glx_la_CFLAGS) \ + $(CFLAGS) $(libva_glx_la_LDFLAGS) $(LDFLAGS) -o $@ @USE_GLX_TRUE@am_libva_glx_la_rpath = -rpath $(libdir) am_libva_wayland_la_OBJECTS = libva_wayland_la_OBJECTS = $(am_libva_wayland_la_OBJECTS) libva_wayland_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(libva_wayland_la_LDFLAGS) $(LDFLAGS) \ - -o $@ + $(libva_wayland_la_CFLAGS) $(CFLAGS) \ + $(libva_wayland_la_LDFLAGS) $(LDFLAGS) -o $@ @USE_WAYLAND_TRUE@am_libva_wayland_la_rpath = -rpath $(libdir) am_libva_x11_la_OBJECTS = libva_x11_la_OBJECTS = $(am_libva_x11_la_OBJECTS) libva_x11_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libva_x11_la_LDFLAGS) $(LDFLAGS) -o $@ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libva_x11_la_CFLAGS) \ + $(CFLAGS) $(libva_x11_la_LDFLAGS) $(LDFLAGS) -o $@ @USE_X11_TRUE@am_libva_x11_la_rpath = -rpath $(libdir) -am__objects_1 = va.lo va_compat.lo va_fool.lo va_str.lo va_trace.lo +am__objects_1 = libva_la-va.lo libva_la-va_compat.lo \ + libva_la-va_fool.lo libva_la-va_str.lo libva_la-va_trace.lo am_libva_la_OBJECTS = $(am__objects_1) libva_la_OBJECTS = $(am_libva_la_OBJECTS) libva_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libva_la_LDFLAGS) $(LDFLAGS) -o $@ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libva_la_CFLAGS) \ + $(CFLAGS) $(libva_la_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -498,34 +499,44 @@ -Wl,-version-script,${srcdir}/libva.syms \ $(NULL) +libva_cflags = \ + -Wall \ + -fstack-protector \ + $(NULL) + lib_LTLIBRARIES = libva.la $(am__append_2) $(am__append_4) \ $(am__append_7) $(am__append_9) libvaincludedir = ${includedir}/va libvainclude_HEADERS = $(libva_source_h) noinst_HEADERS = $(libva_source_h_priv) libva_la_SOURCES = $(libva_source_c) +libva_la_CFLAGS = $(libva_cflags) libva_la_LDFLAGS = $(libva_ldflags) libva_la_DEPENDENCIES = libva.syms libva_la_LIBADD = $(LIBVA_LIBS) -ldl @USE_DRM_TRUE@libva_drm_la_SOURCES = +@USE_DRM_TRUE@libva_drm_la_CFLAGS = $(libva_cflags) @USE_DRM_TRUE@libva_drm_la_LDFLAGS = $(LDADD) @USE_DRM_TRUE@libva_drm_la_DEPENDENCIES = libva.la drm/libva_drm.la @USE_DRM_TRUE@libva_drm_la_LIBADD = libva.la drm/libva_drm.la \ @USE_DRM_TRUE@ $(LIBVA_LIBS) $(DRM_LIBS) -ldl @USE_X11_TRUE@libva_x11_la_SOURCES = +@USE_X11_TRUE@libva_x11_la_CFLAGS = $(libva_cflags) @USE_X11_TRUE@libva_x11_la_LDFLAGS = $(LDADD) @USE_X11_TRUE@libva_x11_la_DEPENDENCIES = libva.la x11/libva_x11.la @USE_X11_TRUE@libva_x11_la_LIBADD = libva.la x11/libva_x11.la \ @USE_X11_TRUE@ $(LIBVA_LIBS) $(X11_LIBS) $(XEXT_LIBS) $(XFIXES_LIBS) $(DRM_LIBS) -ldl @USE_GLX_TRUE@libva_glx_la_SOURCES = +@USE_GLX_TRUE@libva_glx_la_CFLAGS = $(libva_cflags) @USE_GLX_TRUE@libva_glx_la_LDFLAGS = $(LDADD) @USE_GLX_TRUE@libva_glx_la_DEPENDENCIES = libva.la glx/libva_glx.la libva-x11.la @USE_GLX_TRUE@libva_glx_la_LIBADD = libva.la glx/libva_glx.la libva-x11.la \ @USE_GLX_TRUE@ $(GLX_LIBS) -ldl @USE_WAYLAND_TRUE@libva_wayland_la_SOURCES = +@USE_WAYLAND_TRUE@libva_wayland_la_CFLAGS = $(libva_cflags) @USE_WAYLAND_TRUE@libva_wayland_la_LDFLAGS = $(LDADD) @USE_WAYLAND_TRUE@libva_wayland_la_DEPENDENCIES = libva.la wayland/libva_wayland.la @USE_WAYLAND_TRUE@libva_wayland_la_LIBADD = libva.la wayland/libva_wayland.la \ @@ -633,11 +644,11 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/va.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/va_compat.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/va_fool.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/va_str.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/va_trace.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libva_la-va.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libva_la-va_compat.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libva_la-va_fool.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libva_la-va_str.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libva_la-va_trace.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -660,6 +671,41 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< +libva_la-va.lo: va.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -MT libva_la-va.lo -MD -MP -MF $(DEPDIR)/libva_la-va.Tpo -c -o libva_la-va.lo `test -f 'va.c' || echo '$(srcdir)/'`va.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libva_la-va.Tpo $(DEPDIR)/libva_la-va.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='va.c' object='libva_la-va.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -c -o libva_la-va.lo `test -f 'va.c' || echo '$(srcdir)/'`va.c + +libva_la-va_compat.lo: va_compat.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -MT libva_la-va_compat.lo -MD -MP -MF $(DEPDIR)/libva_la-va_compat.Tpo -c -o libva_la-va_compat.lo `test -f 'va_compat.c' || echo '$(srcdir)/'`va_compat.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libva_la-va_compat.Tpo $(DEPDIR)/libva_la-va_compat.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='va_compat.c' object='libva_la-va_compat.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -c -o libva_la-va_compat.lo `test -f 'va_compat.c' || echo '$(srcdir)/'`va_compat.c + +libva_la-va_fool.lo: va_fool.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -MT libva_la-va_fool.lo -MD -MP -MF $(DEPDIR)/libva_la-va_fool.Tpo -c -o libva_la-va_fool.lo `test -f 'va_fool.c' || echo '$(srcdir)/'`va_fool.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libva_la-va_fool.Tpo $(DEPDIR)/libva_la-va_fool.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='va_fool.c' object='libva_la-va_fool.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -c -o libva_la-va_fool.lo `test -f 'va_fool.c' || echo '$(srcdir)/'`va_fool.c + +libva_la-va_str.lo: va_str.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -MT libva_la-va_str.lo -MD -MP -MF $(DEPDIR)/libva_la-va_str.Tpo -c -o libva_la-va_str.lo `test -f 'va_str.c' || echo '$(srcdir)/'`va_str.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libva_la-va_str.Tpo $(DEPDIR)/libva_la-va_str.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='va_str.c' object='libva_la-va_str.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -c -o libva_la-va_str.lo `test -f 'va_str.c' || echo '$(srcdir)/'`va_str.c + +libva_la-va_trace.lo: va_trace.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -MT libva_la-va_trace.lo -MD -MP -MF $(DEPDIR)/libva_la-va_trace.Tpo -c -o libva_la-va_trace.lo `test -f 'va_trace.c' || echo '$(srcdir)/'`va_trace.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libva_la-va_trace.Tpo $(DEPDIR)/libva_la-va_trace.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='va_trace.c' object='libva_la-va_trace.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libva_la_CFLAGS) $(CFLAGS) -c -o libva_la-va_trace.lo `test -f 'va_trace.c' || echo '$(srcdir)/'`va_trace.c + mostlyclean-libtool: -rm -f *.lo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/va.c new/libva-2.2.0/va/va.c --- old/libva-2.1.0/va/va.c 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/va/va.c 2018-07-11 09:55:37.000000000 +0200 @@ -402,6 +402,7 @@ int minor; } compatible_versions[] = { { VA_MAJOR_VERSION, VA_MINOR_VERSION }, + { VA_MAJOR_VERSION, 1 }, { VA_MAJOR_VERSION, 0 }, { -1, } }; @@ -594,6 +595,8 @@ return "HW busy now"; case VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE: return "an unsupported memory type was supplied"; + case VA_STATUS_ERROR_NOT_ENOUGH_BUFFER: + return "allocated memory size is not enough for input or output"; case VA_STATUS_ERROR_UNKNOWN: return "unknown libva error"; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/va.h new/libva-2.2.0/va/va.h --- old/libva-2.1.0/va/va.h 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/va/va.h 2018-07-11 09:55:37.000000000 +0200 @@ -86,7 +86,7 @@ extern "C" { #endif -#ifdef __GNUC__ +#if defined(__GNUC__) && !defined(__COVERITY__) #define va_deprecated __attribute__((deprecated)) #if __GNUC__ >= 6 #define va_deprecated_enum va_deprecated @@ -210,6 +210,8 @@ #define VA_STATUS_ERROR_HW_BUSY 0x00000022 /** \brief An unsupported memory type was supplied. */ #define VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE 0x00000024 +/** \brief Indicate allocated buffer size is not enough for input or output. */ +#define VA_STATUS_ERROR_NOT_ENOUGH_BUFFER 0x00000025 #define VA_STATUS_ERROR_UNKNOWN 0xFFFFFFFF /** De-interlacing flags for vaPutSurface() */ @@ -373,7 +375,16 @@ VAProfileVP9Profile0 = 19, VAProfileVP9Profile1 = 20, VAProfileVP9Profile2 = 21, - VAProfileVP9Profile3 = 22 + VAProfileVP9Profile3 = 22, + VAProfileHEVCMain12 = 23, + VAProfileHEVCMain422_10 = 24, + VAProfileHEVCMain422_12 = 25, + VAProfileHEVCMain444 = 26, + VAProfileHEVCMain444_10 = 27, + VAProfileHEVCMain444_12 = 28, + VAProfileHEVCSccMain = 29, + VAProfileHEVCSccMain10 = 30, + VAProfileHEVCSccMain444 = 31 } VAProfile; /** @@ -752,27 +763,30 @@ uint32_t value; /* OR'd flags (bits) for this attribute */ } VAConfigAttrib; -/** attribute value for VAConfigAttribRTFormat */ -#define VA_RT_FORMAT_YUV420 0x00000001 -#define VA_RT_FORMAT_YUV422 0x00000002 -#define VA_RT_FORMAT_YUV444 0x00000004 -#define VA_RT_FORMAT_YUV411 0x00000008 -#define VA_RT_FORMAT_YUV400 0x00000010 -/** YUV formats with more than 8 bpp */ -#define VA_RT_FORMAT_YUV420_10BPP 0x00000100 -/** RGB formats */ -#define VA_RT_FORMAT_RGB16 0x00010000 -#define VA_RT_FORMAT_RGB32 0x00020000 -/* RGBP covers RGBP and BGRP fourcc */ -#define VA_RT_FORMAT_RGBP 0x00100000 -/** - * RGB 10-bit packed format with upper 2 bits as alpha channel. - * The existing pre-defined fourcc codes can be used to signal - * the position of each component for this RT format. - */ -#define VA_RT_FORMAT_RGB32_10BPP 0x00200000 +/* Attribute values for VAConfigAttribRTFormat. */ + +#define VA_RT_FORMAT_YUV420 0x00000001 ///< YUV 4:2:0 8-bit. +#define VA_RT_FORMAT_YUV422 0x00000002 ///< YUV 4:2:2 8-bit. +#define VA_RT_FORMAT_YUV444 0x00000004 ///< YUV 4:4:4 8-bit. +#define VA_RT_FORMAT_YUV411 0x00000008 ///< YUV 4:1:1 8-bit. +#define VA_RT_FORMAT_YUV400 0x00000010 ///< Greyscale 8-bit. +#define VA_RT_FORMAT_YUV420_10 0x00000100 ///< YUV 4:2:0 10-bit. +#define VA_RT_FORMAT_YUV422_10 0x00000200 ///< YUV 4:2:2 10-bit. +#define VA_RT_FORMAT_YUV444_10 0x00000400 ///< YUV 4:4:4 10-bit. +#define VA_RT_FORMAT_YUV420_12 0x00001000 ///< YUV 4:2:0 12-bit. +#define VA_RT_FORMAT_YUV422_12 0x00002000 ///< YUV 4:2:2 12-bit. +#define VA_RT_FORMAT_YUV444_12 0x00004000 ///< YUV 4:4:4 12-bit. + +#define VA_RT_FORMAT_RGB16 0x00010000 ///< Packed RGB, 16 bits per pixel. +#define VA_RT_FORMAT_RGB32 0x00020000 ///< Packed RGB, 32 bits per pixel, 8 bits per colour sample. +#define VA_RT_FORMAT_RGBP 0x00100000 ///< Planar RGB, 8 bits per sample. +#define VA_RT_FORMAT_RGB32_10 0x00200000 ///< Packed RGB, 32 bits per pixel, 10 bits per colour sample. + #define VA_RT_FORMAT_PROTECTED 0x80000000 +#define VA_RT_FORMAT_RGB32_10BPP VA_RT_FORMAT_RGB32_10 ///< @deprecated use VA_RT_FORMAT_RGB32_10 instead. +#define VA_RT_FORMAT_YUV420_10BPP VA_RT_FORMAT_YUV420_10 ///< @deprecated use VA_RT_FORMAT_YUV420_10 instead. + /** @name Attribute values for VAConfigAttribRateControl */ /**@{*/ /** \brief Driver does not support any form of rate control. */ @@ -1319,6 +1333,9 @@ #define VA_SURFACE_ATTRIB_USAGE_HINT_VPP_WRITE 0x00000008 /** \brief Surface used for display. */ #define VA_SURFACE_ATTRIB_USAGE_HINT_DISPLAY 0x00000010 +/** \brief Surface used for export to third-party APIs, e.g. via + * vaExportSurfaceHandle(). */ +#define VA_SURFACE_ATTRIB_USAGE_HINT_EXPORT 0x00000020 /**@}*/ @@ -1805,37 +1822,70 @@ /** \brief Rate control parameters */ typedef struct _VAEncMiscParameterRateControl { - /* this is the maximum bit-rate to be constrained by the rate control implementation */ + /** The maximum bit-rate which the the rate controller should generate. */ uint32_t bits_per_second; - /* this is the bit-rate the rate control is targeting, as a percentage of the maximum - * bit-rate for example if target_percentage is 95 then the rate control will target - * a bit-rate that is 95% of the maximum bit-rate + /** The target bit-rate which the rate controller should generate, as a percentage of the + * maximum bit-rate. + * + * In CBR mode this value is ignored (treated as 100%). */ uint32_t target_percentage; - /* windows size in milliseconds. For example if this is set to 500, - * then the rate control will guarantee the target bit-rate over a 500 ms window + /** Rate control window size in milliseconds. + * + * The rate controller will attempt to guarantee that the target and maximum bit-rates are + * correct over this window. */ uint32_t window_size; - /* initial QP at I frames */ + /** Initial quantiser value used at the start of the stream. + * + * Ignored if set to zero. + */ uint32_t initial_qp; + /** Minimum quantiser value to use. + * + * The quantiser will not go below the value - if this limit is hit, the output bitrate may + * be lower than the target. Ignored if set to zero. + */ uint32_t min_qp; + /** Basic unit size. + * + * Only used by some drivers - see driver documentation for details. Set to zero if unused. + */ uint32_t basic_unit_size; union { struct { + /** Force rate controller reset. + * + * The next frame will be treated as the start of a new stream, with all rate + * controller state reset to its initial values. + */ uint32_t reset : 1; - uint32_t disable_frame_skip : 1; /* Disable frame skip in rate control mode */ - uint32_t disable_bit_stuffing : 1; /* Disable bit stuffing in rate control mode */ - uint32_t mb_rate_control : 4; /* Control VA_RC_MB 0: default, 1: enable, 2: disable, other: reserved*/ - /* - * The temporal layer that the rate control parameters are specified for. + /** Disable frame skip in rate control mode. */ + uint32_t disable_frame_skip : 1; + /** Disable bit stuffing in rate control mode. */ + uint32_t disable_bit_stuffing : 1; + /** Macroblock-level rate control. + * + * 0: use default, 1: always enable, 2: always disable, other: reserved. + * + * This feature is only available if VAConfigAttribRateControl has the + * \ref VA_RC_MB bit set. */ + uint32_t mb_rate_control : 4; + /** The temporal layer that these rate control parameters apply to. */ uint32_t temporal_id : 8; - uint32_t cfs_I_frames : 1; /* I frame also follows CFS */ + /** Ensure that intra frames also conform to the constant frame size. */ + uint32_t cfs_I_frames : 1; + /** Enable parallel rate control for hierarchical B frames. + * + * See \ref VA_RC_PARALLEL. + */ uint32_t enable_parallel_brc : 1; uint32_t enable_dynamic_scaling : 1; - /** \brief Frame Tolerance Mode + /** Frame tolerance mode. + * * Indicates the tolerance the application has to variations in the frame size. * For example, wireless display scenarios may require very steady bit rate to * reduce buffering time. It affects the rate control algorithm used, @@ -1849,19 +1899,36 @@ * other -- invalid. */ uint32_t frame_tolerance_mode : 2; + /** Reserved for future use, must be zero. */ uint32_t reserved : 12; } bits; uint32_t value; } rc_flags; - uint32_t ICQ_quality_factor; /* Initial ICQ quality factor: 1-51. */ - /** \brief Reserved bytes for future use, must be zero */ + /** Initial quality factor used in ICQ mode. + * + * This value must be between 1 and 51. + */ + uint32_t ICQ_quality_factor; + /** Maximum quantiser value to use. + * + * The quantiser will not go above this value - if this limit is hit, the output bitrate + * may exceed the target. Ignored if set to zero. + */ uint32_t max_qp; + /** Reserved bytes for future use, must be zero. */ uint32_t va_reserved[VA_PADDING_MEDIUM - 2]; } VAEncMiscParameterRateControl; +/** Encode framerate parameters. + * + * Sets the encode framerate used by the rate controller. This should be + * provided in all modes using a bitrate target (variable framerate is not + * supported). + */ typedef struct _VAEncMiscParameterFrameRate { - /* + /** Encode framerate. + * * The framerate is specified as a number of frames per second, as a * fraction. The denominator of the fraction is given in the top half * (the high two bytes) of the framerate field, and the numerator is @@ -1884,10 +1951,9 @@ { struct { - /* - * The temporal id the framerate parameters are specified for. - */ + /** The temporal layer that these framerate parameters apply to. */ uint32_t temporal_id : 8; + /** Reserved for future use, must be zero. */ uint32_t reserved : 24; } bits; uint32_t value; @@ -1962,10 +2028,33 @@ uint32_t va_reserved[VA_PADDING_LOW]; } VAEncMiscParameterRIR; +/** HRD / VBV buffering parameters for encoding. + * + * This sets the HRD / VBV parameters which will be used by the rate + * controller for encoding. It should be specified in modes using a bitrate + * target when the buffering of the output stream needs to be constrained. + * + * If not provided, the encoder may use arbitrary amounts of buffering. + */ typedef struct _VAEncMiscParameterHRD { - uint32_t initial_buffer_fullness; /* in bits */ - uint32_t buffer_size; /* in bits */ + /** The initial fullness of the HRD coded picture buffer, in bits. + * + * This sets how full the CPB is when encoding begins - that is, how much + * buffering will happen on the decoder side before the first frame. + * The CPB fullness will be reset to this value after any rate control + * reset (a change in parameters or an explicit reset). + * + * For H.264, it should match the value of initial_cpb_removal_delay in + * buffering_period SEI messages. + */ + uint32_t initial_buffer_fullness; + /** The HRD coded picture buffer size, in bits. + * + * For H.264, it should match the value of cpb_size_value_minus1 in the VUI + * parameters. + */ + uint32_t buffer_size; /** \brief Reserved bytes for future use, must be zero */ uint32_t va_reserved[VA_PADDING_LOW]; @@ -3547,56 +3636,224 @@ ((unsigned long)(unsigned char) (ch0) | ((unsigned long)(unsigned char) (ch1) << 8) | \ ((unsigned long)(unsigned char) (ch2) << 16) | ((unsigned long)(unsigned char) (ch3) << 24 )) -/* - * Pre-defined fourcc codes +/* Pre-defined fourcc codes. */ + +/** NV12: two-plane 8-bit YUV 4:2:0. + * The first plane contains Y, the second plane contains U and V in pairs of bytes. */ #define VA_FOURCC_NV12 0x3231564E +/** NV21: two-plane 8-bit YUV 4:2:0. + * Same as NV12, but with U and V swapped. + */ #define VA_FOURCC_NV21 0x3132564E + +/** AI44: packed 4-bit YA. + * + * The bottom half of each byte contains luma, the top half contains alpha. + */ #define VA_FOURCC_AI44 0x34344149 + +/** RGBA: packed 8-bit RGBA. + * + * Four bytes per pixel: red, green, blue, alpha. + */ #define VA_FOURCC_RGBA 0x41424752 +/** RGBX: packed 8-bit RGB. + * + * Four bytes per pixel: red, green, blue, unspecified. + */ #define VA_FOURCC_RGBX 0x58424752 +/** BGRA: packed 8-bit RGBA. + * + * Four bytes per pixel: blue, green, red, alpha. + */ #define VA_FOURCC_BGRA 0x41524742 +/** BGRX: packed 8-bit RGB. + * + * Four bytes per pixel: blue, green, red, unspecified. + */ #define VA_FOURCC_BGRX 0x58524742 +/** ARGB: packed 8-bit RGBA. + * + * Four bytes per pixel: alpha, red, green, blue. + */ #define VA_FOURCC_ARGB 0x42475241 +/** XRGB: packed 8-bit RGB. + * + * Four bytes per pixel: unspecified, red, green, blue. + */ #define VA_FOURCC_XRGB 0x42475258 +/** ABGR: packed 8-bit RGBA. + * + * Four bytes per pixel: alpha, blue, green, red. + */ #define VA_FOURCC_ABGR 0x52474241 +/** XBGR: packed 8-bit RGB. + * + * Four bytes per pixel: unspecified, blue, green, red. + */ #define VA_FOURCC_XBGR 0x52474258 + +/** UYUV: packed 8-bit YUV 4:2:2. + * + * Four bytes per pair of pixels: U, Y, U, V. + */ #define VA_FOURCC_UYVY 0x59565955 +/** YUY2: packed 8-bit YUV 4:2:2. + * + * Four bytes per pair of pixels: Y, U, Y, V. + */ #define VA_FOURCC_YUY2 0x32595559 +/** AYUV: packed 8-bit YUVA 4:4:4. + * + * Four bytes per pixel: A, Y, U, V. + */ #define VA_FOURCC_AYUV 0x56555941 +/** NV11: two-plane 8-bit YUV 4:1:1. + * + * The first plane contains Y, the second plane contains U and V in pairs of bytes. + */ #define VA_FOURCC_NV11 0x3131564e +/** YV12: three-plane 8-bit YUV 4:2:0. + * + * The three planes contain Y, V and U respectively. + */ #define VA_FOURCC_YV12 0x32315659 +/** P208: two-plane 8-bit YUV 4:2:2. + * + * The first plane contains Y, the second plane contains U and V in pairs of bytes. + */ #define VA_FOURCC_P208 0x38303250 -/* IYUV same as I420, but most user perfer I420, will deprecate it */ -#define VA_FOURCC_IYUV 0x56555949 +/** I420: three-plane 8-bit YUV 4:2:0. + * + * The three planes contain Y, U and V respectively. + */ #define VA_FOURCC_I420 0x30323449 +/** YV24: three-plane 8-bit YUV 4:4:4. + * + * The three planes contain Y, V and U respectively. + */ #define VA_FOURCC_YV24 0x34325659 +/** YV32: four-plane 8-bit YUVA 4:4:4 + * + * The four planes contain Y, V, U and A respectively. + */ #define VA_FOURCC_YV32 0x32335659 +/** Y800: 8-bit greyscale. + */ #define VA_FOURCC_Y800 0x30303859 +/** IMC3: three-plane 8-bit YUV 4:2:0. + * + * Equivalent to YV12, but with the additional constraint that the pitch of all three planes + * must be the same. + */ #define VA_FOURCC_IMC3 0x33434D49 +/** 411P: three-plane 8-bit YUV 4:1:1. + * + * The three planes contain Y, U and V respectively. + */ #define VA_FOURCC_411P 0x50313134 +/** 411R: three-plane 8-bit YUV. + * + * The subsampling is the transpose of 4:1:1 - full chroma appears on every fourth line. + * The three planes contain Y, U and V respectively. + */ +#define VA_FOURCC_411R 0x52313134 +/** 422H: three-plane 8-bit YUV 4:2:2. + * + * The three planes contain Y, U and V respectively. + */ #define VA_FOURCC_422H 0x48323234 +/** 422V: three-plane 8-bit YUV 4:4:0. + * + * The three planes contain Y, U and V respectively. + */ #define VA_FOURCC_422V 0x56323234 +/** 444P: three-plane 8-bit YUV 4:4:4. + * + * The three planes contain Y, U and V respectively. + */ #define VA_FOURCC_444P 0x50343434 + +/** RGBP: three-plane 8-bit RGB. + * + * The three planes contain red, green and blue respectively. + */ #define VA_FOURCC_RGBP 0x50424752 +/** BGRP: three-plane 8-bit RGB. + * + * The three planes contain blue, green and red respectively. + */ #define VA_FOURCC_BGRP 0x50524742 -#define VA_FOURCC_411R 0x52313134 /* rotated 411P */ -/** - * Planar YUV 4:2:2. - * 8-bit Y plane, followed by 8-bit 2x1 subsampled V and U planes +/** RG16: packed 5/6-bit RGB. + * + * Each pixel is a two-byte little-endian value. + * Red, green and blue are found in bits 15:11, 10:5, 4:0 respectively. + */ +#define VA_FOURCC_RGB565 0x36314752 +/** BG16: packed 5/6-bit RGB. + * + * Each pixel is a two-byte little-endian value. + * Blue, green and red are found in bits 15:11, 10:5, 4:0 respectively. + */ +#define VA_FOURCC_BGR565 0x36314742 + +/** Y210: packed 10-bit YUV 4:2:2. + * + * Eight bytes represent a pair of pixels. Each sample is a two-byte little-endian value, + * with the bottom six bits ignored. The samples are in the order Y, U, Y, V. + */ +#define VA_FOURCC_Y210 0x30313259 +/** Y216: packed 16-bit YUV 4:2:2. + * + * Eight bytes represent a pair of pixels. Each sample is a two-byte little-endian value. + * The samples are in the order Y, U, Y, V. + */ +#define VA_FOURCC_Y216 0x36313259 +/** Y410: packed 10-bit YUVA 4:4:4. + * + * Each pixel is a four-byte little-endian value. + * A, V, Y, U are found in bits 31:30, 29:20, 19:10, 9:0 respectively. + */ +#define VA_FOURCC_Y410 0x30313459 +/** Y416: packed 16-bit YUVA 4:4:4. + * + * Each pixel is a set of four samples, each of which is a two-byte little-endian value. + * The samples are in the order A, V, Y, U. + */ +#define VA_FOURCC_Y416 0x36313459 + +/** YV16: three-plane 8-bit YUV 4:2:2. + * + * The three planes contain Y, V and U respectively. */ #define VA_FOURCC_YV16 0x36315659 -/** - * 10-bit and 16-bit Planar YUV 4:2:0. +/** P010: two-plane 10-bit YUV 4:2:0. + * + * Each sample is a two-byte little-endian value with the bottom six bits ignored. + * The first plane contains Y, the second plane contains U and V in pairs of samples. */ #define VA_FOURCC_P010 0x30313050 +/** P016: two-plane 16-bit YUV 4:2:0. + * + * Each sample is a two-byte little-endian value. The first plane contains Y, the second + * plane contains U and V in pairs of samples. + */ #define VA_FOURCC_P016 0x36313050 -/** - * 10-bit Planar YUV 420 and occupy the lower 10-bit. +/** I010: three-plane 10-bit YUV 4:2:0. + * + * Each sample is a two-byte little-endian value with the top six bits ignored. + * The three planes contain Y, V and U respectively. */ #define VA_FOURCC_I010 0x30313049 +/** IYUV: three-plane 8-bit YUV 4:2:0. + * + * @deprecated Use I420 instead. + */ +#define VA_FOURCC_IYUV 0x56555949 + /* byte order */ #define VA_LSB_FIRST 1 #define VA_MSB_FIRST 2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/va_dec_hevc.h new/libva-2.2.0/va/va_dec_hevc.h --- old/libva-2.1.0/va/va_dec_hevc.h 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/va/va_dec_hevc.h 2018-07-11 09:55:37.000000000 +0200 @@ -195,6 +195,166 @@ } VAPictureParameterBufferHEVC; /** + * \brief HEVC Decoding Picture Parameter Buffer Structure for Range Extension + * + * This structure conveys picture level HEVC Range Extension parameters + * and should be sent once per frame. This data structure should be sent + * together with VAPictureParameterBufferHEVC in a single buffer of + * \ref VAPictureParameterBufferHEVCExtension since each frame + * of HEVC range extension contains both picture level parameters and picture + * level range extension parameters. They should be parsed together. The buffer + * type is same as \ref VAPictureParameterBufferHEVC. + * + */ +typedef struct _VAPictureParameterBufferHEVCRext +{ + union + { + struct + { + /** \brief HEVC range extension flags + * The following flags bears the same syntax and semantics as + * those defined in HEVC bit stream spec. + */ + uint32_t transform_skip_rotation_enabled_flag : 1; + uint32_t transform_skip_context_enabled_flag : 1; + uint32_t implicit_rdpcm_enabled_flag : 1; + uint32_t explicit_rdpcm_enabled_flag : 1; + uint32_t extended_precision_processing_flag : 1; + uint32_t intra_smoothing_disabled_flag : 1; + uint32_t high_precision_offsets_enabled_flag : 1; + uint32_t persistent_rice_adaptation_enabled_flag : 1; + uint32_t cabac_bypass_alignment_enabled_flag : 1; + uint32_t cross_component_prediction_enabled_flag : 1; + uint32_t chroma_qp_offset_list_enabled_flag : 1; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t reserved : 21; + } bits; + uint32_t value; + } range_extension_pic_fields; + + /** \brief HEVC range extension flags + * The following flags bears the same syntax and semantics as + * those defined in HEVC bit stream spec. + */ + uint8_t diff_cu_chroma_qp_offset_depth; + uint8_t chroma_qp_offset_list_len_minus1; + uint8_t log2_sao_offset_scale_luma; + uint8_t log2_sao_offset_scale_chroma; + uint8_t log2_max_transform_skip_block_size_minus2; + int8_t cb_qp_offset_list[6]; + int8_t cr_qp_offset_list[6]; +} VAPictureParameterBufferHEVCRext; + +/** + *\brief HEVC Decoding Picture Parameter Buffer Structure for + *Screen Content extension + * + *This structure conveys picture level HEVC Scc parameters + *and should be sent once per frame. This data structure should be sent + *together with VAPictureParameterBufferHEVC and VAPictureParameterBufferHEVCRext + *in a single buffer of \ref VAPictureParameterBufferHEVCExtension since each + *frame of HEVC SCC contains picture level parameters, picture level range + *extension parameters and picture level Scc parameters. They should be parsed + *together and the buffer type is same as \ref VAPictureParameterBufferHEVC. + * + */ +typedef struct _VAPictureParameterBufferHEVCScc +{ + union + { + struct + { + /** \brief HEVC Scc extension flags + * The following flags bears the same syntax and semantics as + * those defined in HEVC bit stream spec. + */ + /* indicates if intra block copy (IBC) is enabled or not. */ + uint32_t pps_curr_pic_ref_enabled_flag : 1; + /* indicates if Palette Mode is enabled or not. */ + uint32_t palette_mode_enabled_flag : 1; + /* controls the presence and inference of the use_integer_mv_flag syntax + * in slice segment header that specifies the resolution of motion + * vectors for inter prediction. + */ + uint32_t motion_vector_resolution_control_idc : 2; + /* specifies that the intra boundary filtering process is + * disabled or not for intra prediction. + */ + uint32_t intra_boundary_filtering_disabled_flag : 1; + /* specifies that an adaptive colour transform may be applied + * to the residual in the decoding process. + */ + uint32_t residual_adaptive_colour_transform_enabled_flag : 1; + + /* specifies that slice_act_y_qp_offset, slice_act_cb_qp_offset, + * slice_act_cr_qp_offset are present in the slice header + */ + uint32_t pps_slice_act_qp_offsets_present_flag : 1; + + /** \brief Reserved bytes for future use, must be zero */ + uint32_t reserved : 25; + } bits; + uint32_t value; + } screen_content_pic_fields; + + /* specifies the maximum allowed palette size. */ + uint8_t palette_max_size; + /* Correspond to HEVC syntax elements of the same names. + * It specifies the difference between the maximum allowed palette + * predictor size and the maximum allowed palette size. + * App needs to enforce that the variable PaletteMaxPredictorSize, + * which is derived as follows: + * PaletteMaxPredictorSize = palette_max_size + delta_palette_max_predictor_size + * should have a value range of [0..128]. + */ + uint8_t delta_palette_max_predictor_size; + /** \brief Size of initial palette predictor. + * It is derived from pps_num_palette_predictor_initializer or + * sps_num_palette_predictor_initializer_minus1. + * Details in HEVC SCC spec section 9.3.2.3. + */ + uint8_t predictor_palette_size; + /** \brief Palette predictor initializer. + * It is derived from pps_palette_predictor_initializers[][] + * or sps_palette_predictor_initializers[][]. + * Details in HEVC SCC spec section 9.3.2.3. + */ + uint16_t predictor_palette_entries[3][128]; + /* are used to determine the offsets that are applied to the + * quantization parameter values for the luma, Cb and Cr + * components, respectively. + */ + int8_t pps_act_y_qp_offset_plus5; + int8_t pps_act_cb_qp_offset_plus5; + int8_t pps_act_cr_qp_offset_plus3; +} VAPictureParameterBufferHEVCScc; + +/** + * \brief HEVC Decoding Picture Parameter Buffer Structure including Extensions + * + * This structure conveys picture level HEVC parameters including basic version 1 + * and range extension and screen content extension. + * The data buffer should be sent once per frame. + * + */ +typedef struct _VAPictureParameterBufferHEVCExtension +{ + /** \brief basic HEVC picture parameters data structure + */ + VAPictureParameterBufferHEVC base; + + /** \brief HEVC range extension picture parameters data structure + */ + VAPictureParameterBufferHEVCRext rext; + + /** \brief HEVC screen content picture parameters data structure + */ + VAPictureParameterBufferHEVCScc scc; +} VAPictureParameterBufferHEVCExtension; + +/** * \brief HEVC Slice Parameter Buffer Structure For Long Format * * VASliceParameterBufferHEVC structure should be accompanied by a @@ -327,7 +487,79 @@ uint32_t va_reserved[VA_PADDING_LOW]; } VASliceParameterBufferHEVC; +/** + * \brief HEVC Extented Slice Parameter Buffer Structure For Long Format + * + * This data structure contains extension profiles (range extension and screen content). + * + * VASliceParameterBufferHEVCRext structure should be accompanied by a + * slice data buffer, which holds the whole raw slice NAL unit bit streams + * including start code prefix and emulation prevention bytes not removed. + * + * This structure conveys parameters related to slice segment header and should + * be sent once per slice with VASliceParameterBufferHEVC in a single buffer of + * \ref VASliceParameterBufferHEVCExtension and the buffer type is same as \ref + * VASliceParameterBufferHEVC. + * + * For short format, this data structure is not sent by application. + * + */ +typedef struct _VASliceParameterBufferHEVCRext +{ + /* below four parameters are used to replace data types of the + * corresponding parameters of those in \# VASliceParameterBufferHEVC. + */ + int16_t luma_offset_l0[15]; + int16_t ChromaOffsetL0[15][2]; + int16_t luma_offset_l1[15]; + int16_t ChromaOffsetL1[15][2]; + + union + { + struct + { + uint32_t cu_chroma_qp_offset_enabled_flag : 1; + uint32_t use_integer_mv_flag : 1; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t reserved : 30; + } bits; + uint32_t value; + } slice_ext_flags; + + /** \brief Screen Content Extension parameters. + * data range [-12..12] + */ + int8_t slice_act_y_qp_offset; + int8_t slice_act_cb_qp_offset; + int8_t slice_act_cr_qp_offset; +} VASliceParameterBufferHEVCRext; + +/** + * \brief HEVC Decoding Slice Parameter Buffer Structure For Long Format including Extensions + * + * This data structure contains both baseline HEVC profiles (main, main10) + * and extension profiles (range extension and screen content). + * + * VASliceParameterBufferHEVCExtension structure should be accompanied by a + * slice data buffer, which holds the whole raw slice NAL unit bit streams + * including start code prefix and emulation prevention bytes not removed. + * + * This structure conveys parameters related to slice segment header and should + * be sent once per slice. For HEVC range extension and HEVC Scc decoding, + * application should parse both basic slice parameters and extented slice + * parameters into this buffer structure and sent it. + * + * For short format, this data structure is not sent by application. + * + */ +typedef struct _VASliceParameterBufferHEVCExtension +{ + /** \brief baseline HEVC slice parameters data structure */ + VASliceParameterBufferHEVC base; + /** \brief extented HEVC slice parameters data structure */ + VASliceParameterBufferHEVCRext rext; +} VASliceParameterBufferHEVCExtension; /** * \brief HEVC Inverse Quantization Matrix Buffer Structure diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/va_drmcommon.h new/libva-2.2.0/va/va_drmcommon.h --- old/libva-2.1.0/va/va_drmcommon.h 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/va/va_drmcommon.h 2018-07-11 09:55:37.000000000 +0200 @@ -92,7 +92,7 @@ * * This can currently only be used for export. * - * For export, call vaAcquireSurfaceHandle() with mem_type set to + * For export, call vaExportSurfaceHandle() with mem_type set to * VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2 and pass a pointer to an * instance of this structure to fill. * If VA_EXPORT_SURFACE_SEPARATE_LAYERS is specified on export, each diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/va_fei_hevc.h new/libva-2.2.0/va/va_fei_hevc.h --- old/libva-2.1.0/va/va_fei_hevc.h 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/va/va_fei_hevc.h 2018-07-11 09:55:37.000000000 +0200 @@ -165,7 +165,10 @@ uint32_t search_window : 8; /** \brief number of internal MV predictors for IME searches */ uint32_t max_num_ime_search_center : 3; - uint32_t reserved2 : 5; + /** \brief fast intra prediction enabling bit. It is used as a trade-off between speed and quality. + * The flag will be ignored if it's unsupported in the driver*/ + uint32_t fast_intra_mode : 1; + uint32_t reserved2 : 4; /** \brief specifies number of splits that encoder could be run concurrently * 1: level 1, default value diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/va_str.c new/libva-2.2.0/va/va_str.c --- old/libva-2.1.0/va/va_str.c 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/va/va_str.c 2018-07-11 09:55:37.000000000 +0200 @@ -52,6 +52,15 @@ TOSTR(VAProfileVP9Profile1); TOSTR(VAProfileVP9Profile2); TOSTR(VAProfileVP9Profile3); + TOSTR(VAProfileHEVCMain12); + TOSTR(VAProfileHEVCMain422_10); + TOSTR(VAProfileHEVCMain422_12); + TOSTR(VAProfileHEVCMain444); + TOSTR(VAProfileHEVCMain444_10); + TOSTR(VAProfileHEVCMain444_12); + TOSTR(VAProfileHEVCSccMain); + TOSTR(VAProfileHEVCSccMain10); + TOSTR(VAProfileHEVCSccMain444); default: break; } return "<unknown profile>"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/va_trace.c new/libva-2.2.0/va/va_trace.c --- old/libva-2.1.0/va/va_trace.c 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/va/va_trace.c 2018-07-11 09:55:37.000000000 +0200 @@ -3179,7 +3179,7 @@ VAEncMiscParameterFrameRate *p = (VAEncMiscParameterFrameRate *)tmp->data; va_TraceMsg(trace_ctx, "\t--VAEncMiscParameterFrameRate\n"); va_TraceMsg(trace_ctx, "\tframerate = %d\n", p->framerate); - + va_TraceMsg(trace_ctx, "\tframerate_flags.temporal_id = %d\n", p->framerate_flags.bits.temporal_id); break; } case VAEncMiscParameterTypeRateControl: @@ -3198,6 +3198,12 @@ va_TraceMsg(trace_ctx, "\trc_flags.disable_bit_stuffing = %d\n", p->rc_flags.bits.disable_bit_stuffing); va_TraceMsg(trace_ctx, "\trc_flags.mb_rate_control = %d\n", p->rc_flags.bits.mb_rate_control); va_TraceMsg(trace_ctx, "\trc_flags.temporal_id = %d\n", p->rc_flags.bits.temporal_id); + va_TraceMsg(trace_ctx, "\trc_flags.cfs_I_frames = %d\n", p->rc_flags.bits.cfs_I_frames); + va_TraceMsg(trace_ctx, "\trc_flags.enable_parallel_brc = %d\n", p->rc_flags.bits.enable_parallel_brc); + va_TraceMsg(trace_ctx, "\trc_flags.enable_dynamic_scaling = %d\n", p->rc_flags.bits.enable_dynamic_scaling); + va_TraceMsg(trace_ctx, "\trc_flags.frame_tolerance_mode = %d\n", p->rc_flags.bits.frame_tolerance_mode); + va_TraceMsg(trace_ctx, "\tICQ_quality_factor = %d\n", p->ICQ_quality_factor); + va_TraceMsg(trace_ctx, "\tmax_qp = %d\n", p->max_qp); break; } case VAEncMiscParameterTypeMaxSliceSize: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/va_version.h new/libva-2.2.0/va/va_version.h --- old/libva-2.1.0/va/va_version.h 2018-02-12 08:14:38.000000000 +0100 +++ new/libva-2.2.0/va/va_version.h 2018-07-11 09:55:45.000000000 +0200 @@ -37,7 +37,7 @@ * * The minor version of VA-API (2, if %VA_VERSION is 1.2.3) */ -#define VA_MINOR_VERSION 1 +#define VA_MINOR_VERSION 2 /** * VA_MICRO_VERSION: @@ -51,7 +51,7 @@ * * The full version of VA-API, like 1.2.3 */ -#define VA_VERSION 1.1.0 +#define VA_VERSION 1.2.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.1.0" +#define VA_VERSION_S "1.2.0" /** * VA_VERSION_HEX: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libva-2.1.0/va/x11/va_dricommon.c new/libva-2.2.0/va/x11/va_dricommon.c --- old/libva-2.1.0/va/x11/va_dricommon.c 2018-02-12 08:14:29.000000000 +0100 +++ new/libva-2.2.0/va/x11/va_dricommon.c 2018-07-11 09:55:37.000000000 +0200 @@ -90,6 +90,7 @@ if (dri_drawable == dri_state->drawable_hash[i]) { dri_state->destroyDrawable(ctx, dri_drawable); dri_state->drawable_hash[i] = NULL; + return; } i++; } ++++++ libva-2.1.0.tar.bz2.sha1sum -> libva-2.2.0.tar.bz2.sha1sum ++++++ --- /work/SRC/openSUSE:Factory/libva/libva-2.1.0.tar.bz2.sha1sum 2018-05-10 15:44:10.392757405 +0200 +++ /work/SRC/openSUSE:Factory/.libva.new/libva-2.2.0.tar.bz2.sha1sum 2018-07-22 23:38:08.128198824 +0200 @@ -1 +1 @@ -9ecde2b6c9deda16e895a0b00b8aef3a765acb4c libva-2.1.0.tar.bz2 +5b19d2fbf532f14e24c3bedb4074238a1d7f1686 libva-2.2.0.tar.bz2
