commit libva for openSUSE:Factory
Hello community, here is the log from the commit of package libva for openSUSE:Factory checked in at 2019-02-01 11:43:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libva (Old) and /work/SRC/openSUSE:Factory/.libva.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "libva" Fri Feb 1 11:43:12 2019 rev:45 rq:668840 version:2.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libva/libva-gl.changes 2018-11-06 15:24:49.912572555 +0100 +++ /work/SRC/openSUSE:Factory/.libva.new.28833/libva-gl.changes 2019-02-01 11:43:15.392687386 +0100 @@ -1,0 +2,18 @@ +Sat Jan 26 20:27:33 UTC 2019 - bjorn.lie@gmail.com + +- Update to version 2.4.0: + * va_TraceSurface support for VA_FOURCC_P010 + * Add pointer to struct wl_interface for driver to use + * (integrate) va: fix new line symbol in error message + * av: avoid driver path truncation + * Fix compilation warning (uninit and wrong variable types) for + Android O MR1 + * Allow import of the DRM PRIME 2 memory type + * android: ignore unimportant compile warnnings + * compile: fix sign/unsign compare in va_trace.c + * android: replace utils/Log.h with log/log.h + * High Dynamic Range Tone Mapping: Add a new filter for input + metadata and some comments + * Remove restrictions on vaSetDriverName() + +------------------------------------------------------------------- libva.changes: same change Old: ---- libva-2.3.0.tar.bz2 libva-2.3.0.tar.bz2.sha1sum New: ---- libva-2.4.0.tar.bz2 libva-2.4.0.tar.bz2.sha1sum ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libva-gl.spec ++++++ --- /var/tmp/diff_new_pack.SM7Lzo/_old 2019-02-01 11:43:17.176685554 +0100 +++ /var/tmp/diff_new_pack.SM7Lzo/_new 2019-02-01 11:43:17.180685549 +0100 @@ -1,7 +1,7 @@ # # spec file for package libva-gl # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,7 +29,7 @@ Name: libva-gl %define _name libva -Version: 2.3.0 +Version: 2.4.0 Release: 0 Summary: Video Acceleration (VA) API License: MIT ++++++ libva.spec ++++++ --- /var/tmp/diff_new_pack.SM7Lzo/_old 2019-02-01 11:43:17.196685533 +0100 +++ /var/tmp/diff_new_pack.SM7Lzo/_new 2019-02-01 11:43:17.200685529 +0100 @@ -1,7 +1,7 @@ # # spec file for package libva # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,7 +29,7 @@ Name: libva %define _name libva -Version: 2.3.0 +Version: 2.4.0 Release: 0 Summary: Video Acceleration (VA) API License: MIT ++++++ libva-2.3.0.tar.bz2 -> libva-2.4.0.tar.bz2 ++++++ ++++ 3941 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/NEWS new/libva-2.4.0/NEWS --- old/libva-2.3.0/NEWS 2018-10-23 15:52:41.000000000 +0200 +++ new/libva-2.4.0/NEWS 2019-01-25 19:40:26.000000000 +0100 @@ -1,5 +1,18 @@ -libva NEWS -- summary of user visible changes. 2018-09-30 -Copyright (C) 2009-2018 Intel Corporation +libva NEWS -- summary of user visible changes. 2019-01-25 +Copyright (C) 2009-2019 Intel Corporation + +version 2.4.0 - 25.Jan.2019 +* va_TraceSurface support for VA_FOURCC_P010 +* Add pointer to struct wl_interface for driver to use +* (integrate) va: fix new line symbol in error message +* av: avoid driver path truncation +* Fix compilation warning (uninit and wrong variable types) for Android O MR1 +* Allow import of the DRM PRIME 2 memory type +* android: ignore unimportant compile warnnings +* compile: fix sign/unsign compare in va_trace.c +* android: replace utils/Log.h with log/log.h +* High Dynamic Range Tone Mapping: Add a new filter for input metadata and some comments. +* Remove restrictions on vaSetDriverName() version 2.3.0 - 30.Sep.2018 * Bump VA-API version to 1.3.0 and libva to 2.3.0 @@ -12,7 +25,7 @@ * Add new BRC mode definition QVBR * Add more complete colour properties for use in VPP -Version 2.2.0 - DD.July.2018 +Version 2.2.0 - 12.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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/compile new/libva-2.4.0/compile --- old/libva-2.3.0/compile 2018-10-23 15:52:00.000000000 +0200 +++ new/libva-2.4.0/compile 2018-12-26 11:22:44.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey <tromey@cygnus.com>. # # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/configure.ac new/libva-2.4.0/configure.ac --- old/libva-2.3.0/configure.ac 2018-10-23 15:52:41.000000000 +0200 +++ new/libva-2.4.0/configure.ac 2019-01-25 19:47:35.000000000 +0100 @@ -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], [3]) +m4_define([va_api_minor_version], [4]) m4_define([va_api_micro_version], [0]) m4_define([va_api_version], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/m4/ltsugar.m4 new/libva-2.4.0/m4/ltsugar.m4 --- old/libva-2.3.0/m4/ltsugar.m4 2018-10-23 15:51:57.000000000 +0200 +++ new/libva-2.4.0/m4/ltsugar.m4 2018-12-26 11:22:44.000000000 +0100 @@ -1,7 +1,6 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives @@ -34,7 +33,7 @@ # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support -# Autoconf-2.59, which quotes differently. +# Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], @@ -45,7 +44,7 @@ # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/m4/lt~obsolete.m4 new/libva-2.4.0/m4/lt~obsolete.m4 --- old/libva-2.3.0/m4/lt~obsolete.m4 2018-10-23 15:51:58.000000000 +0200 +++ new/libva-2.4.0/m4/lt~obsolete.m4 2018-12-26 11:22:44.000000000 +0100 @@ -1,7 +1,6 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives @@ -12,7 +11,7 @@ # These exist entirely to fool aclocal when bootstrapping libtool. # -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # @@ -26,7 +25,7 @@ # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/missing new/libva-2.4.0/missing --- old/libva-2.3.0/missing 2018-10-23 15:52:00.000000000 +0200 +++ new/libva-2.4.0/missing 2018-12-26 11:22:45.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2012-06-26.16; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -160,7 +160,7 @@ ;; autom4te*) echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." + echo "the 'automa4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/drm/va_drm_utils.c new/libva-2.4.0/va/drm/va_drm_utils.c --- old/libva-2.3.0/va/drm/va_drm_utils.c 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/drm/va_drm_utils.c 2019-01-25 19:00:10.000000000 +0100 @@ -44,7 +44,7 @@ { "nouveau", 7, "nouveau" }, // Mesa Gallium driver { "radeon", 6, "r600" }, // Mesa Gallium driver { "amdgpu", 6, "radeonsi" }, // Mesa Gallium driver - { NULL, } + { NULL, 0, NULL } }; /* Returns the VA driver name for the active display */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/sysdeps.h new/libva-2.4.0/va/sysdeps.h --- old/libva-2.3.0/va/sysdeps.h 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/sysdeps.h 2019-01-25 19:00:10.000000000 +0100 @@ -45,7 +45,7 @@ # define LIBVA_VERSION_S "1.1.0" /* Android logging utilities */ -# include <utils/Log.h> +# include <log/log.h> #endif #if defined __GNUC__ && defined HAVE_GNUC_VISIBILITY_ATTRIBUTE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/va.c new/libva-2.4.0/va/va.c --- old/libva-2.3.0/va/va.c 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/va.c 2019-01-25 19:00:10.000000000 +0100 @@ -39,7 +39,7 @@ #include <dlfcn.h> #include <unistd.h> #ifdef ANDROID -#include <cutils/log.h> +#include <log/log.h> /* support versions < JellyBean */ #ifndef ALOGE #define ALOGE LOGE @@ -349,6 +349,23 @@ return pDisplayContext->vaGetDriverName(pDisplayContext, driver_name); } +static char *va_getDriverPath(const char *driver_dir, const char *driver_name) +{ + int n = snprintf(0, 0, "%s/%s%s", driver_dir, driver_name, DRIVER_EXTENSION); + if (n < 0) + return NULL; + char *driver_path = (char *) malloc(n + 1); + if (!driver_path) + return NULL; + n = snprintf(driver_path, n + 1, "%s/%s%s", + driver_dir, driver_name, DRIVER_EXTENSION); + if (n < 0) { + free(driver_path); + return NULL; + } + return driver_path; +} + static VAStatus va_openDriver(VADisplay dpy, char *driver_name) { VADriverContextP ctx = CTX(dpy); @@ -367,21 +384,14 @@ driver_dir = strtok_r(search_path, ":", &saveptr); while (driver_dir) { void *handle = NULL; - char *driver_path = (char *) malloc( strlen(driver_dir) + - strlen(driver_name) + - strlen(DRIVER_EXTENSION) + 2 ); + char *driver_path = va_getDriverPath(driver_dir, driver_name); if (!driver_path) { - va_errorMessage(dpy, "%s L%d Out of memory!n", + va_errorMessage(dpy, "%s L%d Out of memory\n", __FUNCTION__, __LINE__); free(search_path); return VA_STATUS_ERROR_ALLOCATION_FAILED; } - strncpy( driver_path, driver_dir, strlen(driver_dir) + 1); - strncat( driver_path, "/", strlen("/") ); - strncat( driver_path, driver_name, strlen(driver_name) ); - strncat( driver_path, DRIVER_EXTENSION, strlen(DRIVER_EXTENSION) ); - va_infoMessage(dpy, "Trying to open %s\n", driver_path); #ifndef ANDROID handle = dlopen( driver_path, RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE ); @@ -402,10 +412,11 @@ int minor; } compatible_versions[] = { { VA_MAJOR_VERSION, VA_MINOR_VERSION }, + { VA_MAJOR_VERSION, 3 }, { VA_MAJOR_VERSION, 2 }, { VA_MAJOR_VERSION, 1 }, { VA_MAJOR_VERSION, 0 }, - { -1, } + { -1, -1} }; for (i = 0; compatible_versions[i].major >= 0; i++) { @@ -604,13 +615,6 @@ return "unknown libva error / description missing"; } -const static char *prefer_driver_list[4] = { - "i965", - "hybrid", - "pvr", - "iHD", -}; - VAStatus vaSetDriverName( VADisplay dpy, char *driver_name @@ -619,15 +623,8 @@ VADriverContextP ctx; VAStatus vaStatus = VA_STATUS_SUCCESS; char *override_driver_name = NULL; - int i, found; ctx = CTX(dpy); - if (geteuid() != getuid()) { - vaStatus = VA_STATUS_ERROR_OPERATION_FAILED; - va_errorMessage(dpy, "no permission to vaSetDriverName\n"); - return vaStatus; - } - if (strlen(driver_name) == 0 || strlen(driver_name) >=256) { vaStatus = VA_STATUS_ERROR_INVALID_PARAMETER; va_errorMessage(dpy, "vaSetDriverName returns %s\n", @@ -635,25 +632,7 @@ return vaStatus; } - found = 0; - for (i = 0; i < sizeof(prefer_driver_list) / sizeof(char *); i++) { - if (strlen(prefer_driver_list[i]) != strlen(driver_name)) - continue; - if (!strncmp(prefer_driver_list[i], driver_name, strlen(driver_name))) { - found = 1; - break; - } - } - - if (!found) { - vaStatus = VA_STATUS_ERROR_INVALID_PARAMETER; - va_errorMessage(dpy, "vaSetDriverName returns %s. Incorrect parameter\n", - vaErrorStr(vaStatus)); - return vaStatus; - } - override_driver_name = strdup(driver_name); - if (!override_driver_name) { vaStatus = VA_STATUS_ERROR_ALLOCATION_FAILED; va_errorMessage(dpy, "vaSetDriverName returns %s. Out of Memory\n", @@ -974,7 +953,7 @@ { VASurfaceAttribMinHeight, VAGenericValueTypeInteger }, { VASurfaceAttribMaxHeight, VAGenericValueTypeInteger }, { VASurfaceAttribMemoryType, VAGenericValueTypeInteger }, - { VASurfaceAttribNone, } + { VASurfaceAttribNone, VAGenericValueTypeInteger } }; if (!out_attribs || !out_num_attribs_ptr) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/va.h new/libva-2.4.0/va/va.h --- old/libva-2.3.0/va/va.h 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/va.h 2019-01-25 19:00:10.000000000 +0100 @@ -1260,7 +1260,12 @@ VASurfaceAttribMaxHeight, /** \brief Surface memory type expressed in bit fields (int, read/write). */ VASurfaceAttribMemoryType, - /** \brief External buffer descriptor (pointer, write). */ + /** \brief External buffer descriptor (pointer, write). + * + * Refer to the documentation for the memory type being created to + * determine what descriptor structure to pass here. If not otherwise + * stated, the common VASurfaceAttribExternalBuffers should be used. + */ VASurfaceAttribExternalBufferDescriptor, /** \brief Surface usage hint, gives the driver a hint of intended usage * to optimize allocation (e.g. tiling) (int, read/write). */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/va_drmcommon.h new/libva-2.4.0/va/va_drmcommon.h --- old/libva-2.3.0/va/va_drmcommon.h 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/va_drmcommon.h 2019-01-25 19:00:10.000000000 +0100 @@ -90,8 +90,6 @@ /** * \brief External buffer descriptor for a DRM PRIME surface. * - * This can currently only be used for export. - * * 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. @@ -101,6 +99,23 @@ * one of DRM_FORMAT_GR88. * If VA_EXPORT_SURFACE_COMPOSED_LAYERS is specified on export, * there will be exactly one layer. + * + * For import, call vaCreateSurfaces() with the MemoryType attribute + * set to VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2 and the + * ExternalBufferDescriptor attribute set to point to an array of + * num_surfaces instances of this structure. + * The number of planes which need to be provided for a given layer + * is dependent on both the format and the format modifier used for + * the objects containing it. For example, the format DRM_FORMAT_RGBA + * normally requires one plane, but with the format modifier + * I915_FORMAT_MOD_Y_TILED_CCS it requires two planes - the first + * being the main data plane and the second containing the color + * control surface. + * Note that a given driver may only support a subset of possible + * representations of a particular format. For example, it may only + * support NV12 surfaces when they are contained within a single DRM + * object, and therefore fail to create such surfaces if the two + * planes are in different DRM objects. */ typedef struct _VADRMPRIMESurfaceDescriptor { /** Pixel format fourcc of the whole surface (VA_FOURCC_*). */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/va_fool.c new/libva-2.4.0/va/va_fool.c --- old/libva-2.3.0/va/va_fool.c 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/va_fool.c 2019-01-25 19:00:10.000000000 +0100 @@ -265,7 +265,7 @@ static int va_FoolFillCodedBufEnc(VADisplay dpy, struct fool_context *fool_ctx) { char file_name[1024]; - struct stat file_stat = {0}; + struct stat file_stat = {}; VACodedBufferSegment *codedbuf; int i, fd = -1; ssize_t ret; @@ -311,7 +311,7 @@ static int va_FoolFillCodedBufJPG(VADisplay dpy, struct fool_context *fool_ctx) { - struct stat file_stat = {0}; + struct stat file_stat = {}; VACodedBufferSegment *codedbuf; int fd = -1; ssize_t ret; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/va_trace.c new/libva-2.4.0/va/va_trace.c --- old/libva-2.3.0/va/va_trace.c 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/va_trace.c 2019-01-25 19:00:10.000000000 +0100 @@ -185,7 +185,7 @@ #define DPY2TRACECTX(dpy, context, buf_id) \ struct va_trace *pva_trace = NULL; \ struct trace_context *trace_ctx = NULL; \ - int ctx_id = context; \ + VAContextID ctx_id = context; \ \ pva_trace = (struct va_trace *)(((VADisplayContextP)dpy)->vatrace); \ if(!pva_trace) \ @@ -955,6 +955,7 @@ unsigned int buffer_name; void *buffer = NULL; unsigned char *Y_data, *UV_data, *tmp; + unsigned int pixel_byte; VAStatus va_status; DPY2TRACECTX(dpy, context, VA_INVALID_ID); @@ -1001,20 +1002,27 @@ Y_data = (unsigned char*)buffer; UV_data = (unsigned char*)buffer + chroma_u_offset; + if (fourcc == VA_FOURCC_P010) + pixel_byte = 2; + else + pixel_byte = 1; + tmp = Y_data + luma_stride * trace_ctx->trace_surface_yoff; + for (i=0; i<trace_ctx->trace_surface_height; i++) { fwrite(tmp + trace_ctx->trace_surface_xoff, trace_ctx->trace_surface_width, - 1, trace_ctx->trace_fp_surface); + pixel_byte, trace_ctx->trace_fp_surface); tmp += luma_stride; } + tmp = UV_data + chroma_u_stride * trace_ctx->trace_surface_yoff / 2; - if (fourcc == VA_FOURCC_NV12) { + if (fourcc == VA_FOURCC_NV12 || fourcc == VA_FOURCC_P010) { for (i=0; i<trace_ctx->trace_surface_height/2; i++) { fwrite(tmp + trace_ctx->trace_surface_xoff, trace_ctx->trace_surface_width, - 1, trace_ctx->trace_fp_surface); + pixel_byte, trace_ctx->trace_fp_surface); tmp += chroma_u_stride; } @@ -1134,7 +1142,7 @@ va_TraceMsg(trace_ctx, "\t\tvalue.value.p = %p\n", p->value.value.p); if ((p->type == VASurfaceAttribExternalBufferDescriptor) && p->value.value.p) { VASurfaceAttribExternalBuffers *tmp = (VASurfaceAttribExternalBuffers *) p->value.value.p; - int j; + uint32_t j; va_TraceMsg(trace_ctx, "\t\t--VASurfaceAttribExternalBufferDescriptor\n"); va_TraceMsg(trace_ctx, "\t\t pixel_format=0x%08x\n", tmp->pixel_format); @@ -4629,7 +4637,7 @@ unsigned int size; unsigned int num_elements; VAProcFilterParameterBufferBase *base_filter = NULL; - int i; + unsigned int i; DPY2TRACECTX(dpy, context, VA_INVALID_ID); @@ -4694,7 +4702,7 @@ ) { VAProcPipelineParameterBuffer *p = (VAProcPipelineParameterBuffer *)data; - int i; + uint32_t i; DPY2TRACECTX(dpy, context, VA_INVALID_ID); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/va_version.h new/libva-2.4.0/va/va_version.h --- old/libva-2.3.0/va/va_version.h 2018-10-23 15:52:51.000000000 +0200 +++ new/libva-2.4.0/va/va_version.h 2019-01-25 20:09:20.000000000 +0100 @@ -37,7 +37,7 @@ * * The minor version of VA-API (2, if %VA_VERSION is 1.2.3) */ -#define VA_MINOR_VERSION 3 +#define VA_MINOR_VERSION 4 /** * VA_MICRO_VERSION: @@ -51,7 +51,7 @@ * * The full version of VA-API, like 1.2.3 */ -#define VA_VERSION 1.3.0 +#define VA_VERSION 1.4.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.3.0" +#define VA_VERSION_S "1.4.0" /** * VA_VERSION_HEX: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/va_vpp.h new/libva-2.4.0/va/va_vpp.h --- old/libva-2.3.0/va/va_vpp.h 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/va_vpp.h 2019-01-25 19:00:10.000000000 +0100 @@ -436,7 +436,9 @@ typedef enum _VAProcHighDynamicRangeMetadataType { VAProcHighDynamicRangeMetadataNone = 0, /** \brief Metadata type for HDR10. */ - VAProcHighDynamicRangeMetadataHDR10 + VAProcHighDynamicRangeMetadataHDR10, + /** \brief Number of Metadata type. */ + VAProcHighDynamicRangeMetadataTypeCount } VAProcHighDynamicRangeMetadataType; /** \brief Video Processing Mode. */ @@ -703,7 +705,20 @@ uint8_t reserved[3]; } VAProcColorProperties; -/** \berief Describes High Dynamic Range Meta Data for HDR10. */ +/** \berief Describes High Dynamic Range Meta Data for HDR10. + * + * Specifies the colour volume(the colour primaries, white point and luminance range) of + * a display considered to be the mastering display for the associated video content -e.g., + * the colour volume of a display that was used for viewing while authoring the video content. + * See ITU-T H.265 D.3.27 Mastering display colour volume SEI message semantics. + * + * Specifies upper bounds for the nominal light level of the content. See ITU-T H.265 D.3.35 + * Content light level information SEI message semantics. + * + * This structure can be used to indicate the HDR10 metadata for 1) the content which was authored; + * 2) the display on which the content will be presented. If it is for display, max_content_light_level + * and max_pic_average_light_level are ignored. + */ typedef struct _VAHdrMetaDataHDR10 { /** @@ -1217,6 +1232,22 @@ uint16_t va_reserved[VA_PADDING_HIGH]; } VAProcFilterParameterBufferHVSNoiseReduction; +/** \brief High Dynamic Range(HDR) Tone Mapping filter parametrization. */ +typedef struct _VAProcFilterParameterBufferHDRToneMapping { + /** \brief Filter type. Shall be set to #VAProcFilterHighDynamicRangeToneMapping.*/ + VAProcFilterType type; + /** + * \brief High Dynamic Range metadata, could be HDR10 etc. + * + * This metadata is mainly for the input surface. Given that dynamic metadata is changing + * on frame-by-frame or scene-by-scene basis for HDR10 plus, differentiate the metadata + * for the input and output. + */ + VAHdrMetaData data; + /** \brief Reserved bytes for future use, must be zero */ + uint32_t va_reserved[VA_PADDING_HIGH]; +} VAProcFilterParameterBufferHDRToneMapping; + /** * \brief Default filter cap specification (single range value). * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/wayland/va_backend_wayland.h new/libva-2.4.0/va/wayland/va_backend_wayland.h --- old/libva-2.3.0/va/wayland/va_backend_wayland.h 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/wayland/va_backend_wayland.h 2019-01-25 19:00:10.000000000 +0100 @@ -64,8 +64,16 @@ /** \brief Indicate whether buffer sharing with prime fd is supported. */ unsigned int has_prime_sharing; + /** + * Pointer to an implementation of struct wl_interface + * + * It is set by libva-wayland when a context is created, then the backend + * driver may reuse it. + */ + const void *wl_interface; + /** \brief Reserved bytes for future use, must be zero */ - unsigned long reserved[8]; + unsigned long reserved[7]; }; #endif /* VA_BACKEND_WAYLAND_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libva-2.3.0/va/wayland/va_wayland_drm.c new/libva-2.4.0/va/wayland/va_wayland_drm.c --- old/libva-2.3.0/va/wayland/va_wayland_drm.c 2018-10-23 15:50:59.000000000 +0200 +++ new/libva-2.4.0/va/wayland/va_wayland_drm.c 2019-01-25 19:00:10.000000000 +0100 @@ -136,6 +136,7 @@ struct VADriverVTableWayland *vtable = ctx->vtable_wayland; vtable->has_prime_sharing = 0; + vtable->wl_interface = NULL; wl_drm_ctx->is_authenticated = 0; @@ -222,6 +223,8 @@ struct VADriverVTableWayland *vtable = ctx->vtable_wayland; struct wl_display *wrapped_display = NULL; + vtable->wl_interface = NULL; + wl_drm_ctx = malloc(sizeof(*wl_drm_ctx)); if (!wl_drm_ctx) { va_wayland_error("could not allocate wl_drm_ctx"); @@ -300,6 +303,7 @@ goto end; } + vtable->wl_interface = &wl_drm_interface; result = true; end: ++++++ libva-2.3.0.tar.bz2.sha1sum -> libva-2.4.0.tar.bz2.sha1sum ++++++ --- /work/SRC/openSUSE:Factory/libva/libva-2.3.0.tar.bz2.sha1sum 2018-11-06 15:24:48.772574288 +0100 +++ /work/SRC/openSUSE:Factory/.libva.new.28833/libva-2.4.0.tar.bz2.sha1sum 2019-02-01 11:43:14.752688044 +0100 @@ -1 +1 @@ -e1138529355cce78fa2edc7c5b1c5aeb40dd0ce5 libva-2.3.0.tar.bz2 +2e7b69ebb615d039b9253d4708eeec889b812dbf libva-2.4.0.tar.bz2
participants (1)
-
root