Hello community,

here is the log from the commit of package libvdpau for openSUSE:Factory 
checked in at 2014-12-29 00:34:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvdpau (Old)
 and      /work/SRC/openSUSE:Factory/.libvdpau.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libvdpau"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libvdpau/libvdpau.changes        2014-07-10 
09:32:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libvdpau.new/libvdpau.changes   2014-12-29 
00:34:17.000000000 +0100
@@ -1,0 +2,53 @@
+Tue Dec 23 08:21:08 UTC 2014 - [email protected]
+
+- Update libvpaud to version 0.9
+  This release adds several new decoder profiles:
+    - VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE
+    - VDP_DECODER_PROFILE_H264_EXTENDED
+    - VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH
+    - VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH
+    - VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE
+
+  In addition, this release includes a number of packaging and compiler warning
+  fixes and clarifies the ABI policy to include the size of the data structures
+  defined in vdpau.h.  It also fixes a race condition that could be triggered
+  when two threads call VdpDeviceCreateX11 simultaneously.
+
+  * vdpau_x11.h: update stale comment about how libvdpau finds drivers
+  * vdpau.h: define a more strict ABI policy
+  * trace: properly annotate private functions as static
+  * vdpau: do not export _vdp_DRI2* functions
+  * Clarify type of source_surface as VDP_INVALID_HANDLE
+  * vdpau_x11 - fix typo
+  * Add support for H.264 Hi444PP in VDPAU API
+  * vdpau_trace: Fix GCC 4.8 build warnings
+  * vdpau_wrapper: remove unused parameter warnings
+  * test: do not clobber CFLAGS
+  * test: remove assignment-as-truth-value warning
+  * test: fix incomplete prototype
+  * vdpau.h: improve constant expansion safety
+  * vdpau: define some more H.264/AVC decoding profiles
+  * configure: add test for POSIX threads
+  * vdpau_wrapper: make the fixes initialization thread-safe
+  * vdpau_wrapper: make initialization of library handles thread-safe
+  * vdpau_wrapper: protect concurrent access to _imp_get_proc_address
+
+- Updated vdpauinfo to version 0.9
+
+  This release adds support for the new profiles added in libvdpau 0.9.  It
+  also adds the ability to display which indexed color formats are supported by
+  the PutBits interface.
+
+  Finally, it adds the command line options --display and --screen, which can
+  be used to select which X server and screen to query rather than having to 
+  set the $DISPLAY environment variable.
+
+  * Set the AM_INIT_AUTOMAKE foreign flag
+  * vdpauinfo: add option processing
+  * vdpauinfo: print supported PutBits indexed color formats
+  * Support new H.264 profiles added in libvdpau 0.9
+  * List profiles that are not supported as well
+
+- rebased patches
+
+-------------------------------------------------------------------

Old:
----
  libvdpau-0.8.tar.bz2
  vdpauinfo-0.1.tar.gz

New:
----
  libvdpau-0.9.tar.bz2
  vdpauinfo-0.9.tar.gz

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

Other differences:
------------------
++++++ libvdpau.spec ++++++
--- /var/tmp/diff_new_pack.A5hUqk/_old  2014-12-29 00:34:20.000000000 +0100
+++ /var/tmp/diff_new_pack.A5hUqk/_new  2014-12-29 00:34:20.000000000 +0100
@@ -17,22 +17,25 @@
 
 
 Name:           libvdpau
-Version:        0.8
+Version:        0.9
 Release:        0
 Summary:        VDPAU wrapper and trace libraries
 License:        MIT
 Group:          System/Libraries
-Url:            http://people.freedesktop.org/~aplattner
+Url:            http://www.freedesktop.org/wiki/Software/VDPAU/
 Source:         
http://people.freedesktop.org/~aplattner/vdpau/%{name}-%{version}.tar.bz2
-Source1:        vdpauinfo-0.1.tar.gz
+Source1:        
http://people.freedesktop.org/~aplattner/vdpau/vdpauinfo-%{version}.tar.gz
 Source2:        README
 Source99:       baselibs.conf
 Source100:      %{name}-rpmlintrc
-Patch:          vdpauinfo-missing-lX11.diff
+# PATCH-FIX-OPENSUSE vdpauinfo-missing-lX11.diff -- add missing lX11 library
+Patch0:         vdpauinfo-missing-lX11.diff
+# PATCH-FIX-OPENSUSE libvdpau-nopdftex.patch -- don't requires pdftex for 
building
 Patch1:         libvdpau-nopdftex.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  doxygen
+BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  graphviz
 BuildRequires:  libtool
@@ -84,9 +87,9 @@
 
 %prep
 %setup -q -b1
-%patch1 -p0
+%patch1 -p1
 pushd ../vdpauinfo-*
-%patch -p0
+%patch0 -p1
 popd
 
 %build
@@ -113,6 +116,8 @@
 
 cp $RPM_SOURCE_DIR/README .
 
+%fdupes -s $RPM_BUILD_ROOT/%{_datadir}/doc/
+
 %post -n libvdpau1 -p /sbin/ldconfig
 
 %postun -n libvdpau1 -p /sbin/ldconfig

++++++ libvdpau-0.8.tar.bz2 -> libvdpau-0.9.tar.bz2 ++++++
++++ 30458 lines of diff (skipped)

++++++ libvdpau-nopdftex.patch ++++++
--- /var/tmp/diff_new_pack.A5hUqk/_old  2014-12-29 00:34:20.000000000 +0100
+++ /var/tmp/diff_new_pack.A5hUqk/_new  2014-12-29 00:34:20.000000000 +0100
@@ -1,6 +1,7 @@
---- configure.ac.old   2012-06-26 14:21:28.000000000 +0200
-+++ configure.ac       2012-06-26 14:22:30.000000000 +0200
-@@ -48,11 +48,9 @@ AC_ARG_ENABLE(documentation, AS_HELP_STR
+diff -ur libvdpau-0.9.orig/configure.ac libvdpau-0.9/configure.ac
+--- libvdpau-0.9.orig/configure.ac     2014-12-19 18:32:57.000000000 +0100
++++ libvdpau-0.9/configure.ac  2014-12-23 09:09:51.170774748 +0100
+@@ -56,11 +56,9 @@
  if test "x$DOCS" != xno; then
      AC_CHECK_TOOL([DOXYGEN], [doxygen], [no])
      AC_CHECK_TOOL([DOT], [dot], [no])
@@ -12,7 +13,7 @@
  fi
  if test "x$DOCS" = xyes; then
      if test "x$DOXYGEN" = xno; then
-@@ -61,11 +59,8 @@ if test "x$DOCS" = xyes; then
+@@ -69,11 +67,8 @@
      if test "x$DOT" = xno; then
          AC_ERROR([Documentation enabled but dot was not found in your path.  
Please install graphviz])
      fi

++++++ vdpauinfo-0.1.tar.gz -> vdpauinfo-0.9.tar.gz ++++++
++++ 4144 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/vdpauinfo-0.1/AUTHORS new/vdpauinfo-0.9/AUTHORS
--- old/vdpauinfo-0.1/AUTHORS   2012-11-20 18:54:49.000000000 +0100
+++ new/vdpauinfo-0.9/AUTHORS   1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-Wladimir J. van der Laan
-Aaron Plattner
-Rajib Mahapatra
-José Hiram Soltren
-Andy Ritger
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/vdpauinfo-0.1/ChangeLog new/vdpauinfo-0.9/ChangeLog
--- old/vdpauinfo-0.1/ChangeLog 2013-10-22 23:51:38.000000000 +0200
+++ new/vdpauinfo-0.9/ChangeLog 2014-12-19 21:52:52.000000000 +0100
@@ -1,3 +1,75 @@
+commit 4a4feb8af58a94a2acd86528c58ffc71ec0c1cc7
+Author: Aaron Plattner <[email protected]>
+Date:   Fri Dec 19 12:45:22 2014 -0800
+
+    Bump version to 0.9
+    
+    Rather than raising the version number to 1.0 now that all of the TODO 
items are
+    checked off, I figured it would be easier to keep the version tied to the
+    version of libvdpau, since new libvdpau releases that define new profiles 
always
+    need corresponding changes to vdpauinfo.
+    
+    Signed-off-by: Aaron Plattner <[email protected]>
+
+commit aae67cf348ddf36bf7274afd7d809b7018f15d61
+Author: Aaron Plattner <[email protected]>
+Date:   Fri Dec 19 11:10:58 2014 -0800
+
+    List profiles that are not supported as well
+    
+    For profiles that are defined by libvdpau but not supported by the backend,
+    print a line indicating that they're not supported.
+    
+    Signed-off-by: Aaron Plattner <[email protected]>
+
+commit 2ecd4961fd6fb292aab064221c21456a059811cc
+Author: Aaron Plattner <[email protected]>
+Date:   Tue Nov 4 15:10:44 2014 -0800
+
+    Support new H.264 profiles added in libvdpau 0.9
+    
+    The new profile names are slightly longer, so widen the table to preserve 
column
+    alignment.
+    
+    Signed-off-by: Aaron Plattner <[email protected]>
+
+commit 178f33ec5ad1c7f0cb31458fa6eb675bb96f0420
+Author: Aaron Plattner <[email protected]>
+Date:   Fri Sep 12 15:30:23 2014 -0700
+
+    vdpauinfo: print supported PutBits indexed color formats
+    
+    This parallels the loop that prints supported YCbCr formats.  There is 
only one
+    palette color format currently, so just use that for the query.
+    
+    Signed-off-by: Aaron Plattner <[email protected]>
+    Reviewed-by: José Hiram Soltren <[email protected]>
+
+commit d53f9271ccaff73a964c43cedcf8ed2cdb0bd353
+Author: Aaron Plattner <[email protected]>
+Date:   Thu Aug 28 10:27:31 2014 -0700
+
+    vdpauinfo: add option processing
+    
+    Add a rudimentary option parser.  Parse the options --display and 
--screen, to
+    specify the argument to XOpenDisplay and the screen within the X display 
to use,
+    respectively.
+    
+    Signed-off-by: Aaron Plattner <[email protected]>
+    Reviewed-by: Stephen Warren <[email protected]>
+
+commit f8f18bfde792e0de2d51ef02dc96707318c1aafb
+Author: Aaron Plattner <[email protected]>
+Date:   Thu Aug 28 10:23:28 2014 -0700
+
+    Set the AM_INIT_AUTOMAKE foreign flag
+    
+    Turning on 'foreign' lets us delete pointless files like AUTHORS and NEWS.
+    Interested parties can get the author list using 'git log | git shortlog 
-s'.
+    
+    Signed-off-by: Aaron Plattner <[email protected]>
+    Acked-by: Stephen Warren <[email protected]>
+
 commit a7cc3fa5760b8915853223f487f054c9100c2795
 Author: Aaron Plattner <[email protected]>
 Date:   Tue Oct 22 14:48:38 2013 -0700
@@ -79,7 +151,7 @@
     (e.g. here, where it said 0.0.2 when the version is really 0.0.6).
 
 commit 9041dc8fc10312967e9398912a0d655d9cccff72
-Merge: fb75470 f2ced6a
+Merge: fb754701e83d f2ced6afa0d0
 Author: Aaron Plattner <[email protected]>
 Date:   Wed Nov 14 16:59:34 2012 -0800
 
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/vdpauinfo-0.1/configure.ac new/vdpauinfo-0.9/configure.ac
--- old/vdpauinfo-0.1/configure.ac      2013-10-22 23:51:27.000000000 +0200
+++ new/vdpauinfo-0.9/configure.ac      2014-12-19 21:45:11.000000000 +0100
@@ -1,12 +1,12 @@
 AC_PREREQ([2.57])
-AC_INIT(vdpauinfo,[0.1],[[email protected]],vdpauinfo)
-AM_INIT_AUTOMAKE([dist-bzip2])
+AC_INIT(vdpauinfo,[0.9],[[email protected]],vdpauinfo)
+AM_INIT_AUTOMAKE([dist-bzip2 foreign])
 AM_MAINTAINER_MODE
 
 AC_PROG_CXX
 AC_PROG_INSTALL
 
-PKG_CHECK_MODULES(VDPAU, x11 [vdpau >= 0.2])
+PKG_CHECK_MODULES(VDPAU, x11 [vdpau >= 0.9])
 VDPAUINFO_CXXFLAGS="$VDPAUINFO_CXXFLAGS $VDPAU_CFLAGS"
 VDPAUINFO_LIBS="$VDPAUINFO_LIBS $VDPAU_LIBS"
 
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/vdpauinfo-0.1/missing new/vdpauinfo-0.9/missing
--- old/vdpauinfo-0.1/missing   2012-12-14 17:36:27.000000000 +0100
+++ new/vdpauinfo-0.9/missing   2014-08-28 19:23:18.000000000 +0200
@@ -1,11 +1,10 @@
 #! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <[email protected]>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -26,68 +25,40 @@
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
+case $1 in
 
-msg="missing on your system"
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
 
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
 
   -h|--h|--he|--hel|--help)
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
 
 Options:
   -h, --help      display this help and exit
   -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
 
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <[email protected]>."
     exit $?
@@ -99,228 +70,141 @@
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
 esac
 
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
 
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' 
${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
 
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  autom4te*)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo "#! /bin/sh"
-       echo "# Created by GNU Automake missing as a replacement of"
-       echo "#  $ $@"
-       echo "exit 0"
-       chmod +x $file
-       exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f y.tab.h; then
-       echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f lex.yy.c; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-        you modified a dependency of a manual page.  You may need the
-        \`Help2man' package in order for those modifications to take
-        effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo ".ab help2man is required to generate this page"
-       exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /^@setfilename/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
 
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'autom4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
+    ;;
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
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/vdpauinfo-0.1/vdpauinfo.cpp new/vdpauinfo-0.9/vdpauinfo.cpp
--- old/vdpauinfo-0.1/vdpauinfo.cpp     2013-10-22 23:51:27.000000000 +0200
+++ new/vdpauinfo-0.9/vdpauinfo.cpp     2014-12-19 21:21:10.000000000 +0100
@@ -2,6 +2,7 @@
 Query and display NVIDIA VDPAU capabilities, a la glxinfo
 
 Copyright (c) 2008 Wladimir J. van der Laan
+Copyright (c) 2014 NVIDIA Corporation
 
 Permission is hereby granted, free of charge, to any person
 obtaining a copy of this software and associated documentation
@@ -24,12 +25,11 @@
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 OTHER DEALINGS IN THE SOFTWARE.
 */
-/// TODO
-/// - parse display/screen from command line
-/// - list color table formats for queryOutputSurface
 
+#include <stdarg.h>
 #include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #include <vdpau/vdpau.h>
 #include <vdpau/vdpau_x11.h>
 
@@ -94,11 +94,6 @@
 };
 const size_t indexed_type_count = sizeof(indexed_types)/sizeof(Desc);
 
-Desc color_table_formats[] = {
-{"B8G8R8X8", VDP_COLOR_TABLE_FORMAT_B8G8R8X8},
-};
-const size_t color_table_format_count = 
sizeof(color_table_formats)/sizeof(Desc);
-
 
 void queryVideoSurface(VDPDeviceImpl *device)
 {
@@ -164,11 +159,24 @@
                     printf("%s ", ycbcr_types[y].name);
                 }
             }
+
+            for(int y=0; y<indexed_type_count; ++y)
+            {
+                // There is currently only one color table format.  This will
+                // have to be reconsidered if additional color table formats 
are
+                // added.
+                rv = device->OutputSurfaceQueryPutBitsIndexedCapabilities(
+                    device->device, rgb_types[x].id, indexed_types[y].id,
+                    VDP_COLOR_TABLE_FORMAT_B8G8R8X8, &is_supported);
+                if(rv == VDP_STATUS_OK && is_supported)
+                {
+                    printf("%s ", indexed_types[y].name);
+                }
+            }
+
             printf("\n");
         }
     }
-    // OutputSurfaceQueryPutBitsIndexedCapabilities
-    //   rgba, idx, colortable -> supported
 }
 
 /***************** Bitmap surface ****************/
@@ -344,6 +352,11 @@
 {"DIVX5_MOBILE",       VDP_DECODER_PROFILE_DIVX5_MOBILE},
 {"DIVX5_HOME_THEATER", VDP_DECODER_PROFILE_DIVX5_HOME_THEATER},
 {"DIVX5_HD_1080P",     VDP_DECODER_PROFILE_DIVX5_HD_1080P},
+{"H264_CONSTRAINED_BASELINE",   VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE},
+{"H264_EXTENDED",               VDP_DECODER_PROFILE_H264_EXTENDED},
+{"H264_PROGRESSIVE_HIGH",       VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH},
+{"H264_CONSTRAINED_HIGH",       VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH},
+{"H264_HIGH_444_PREDICTIVE",    VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE},
 };
 const size_t decoder_profile_count = sizeof(decoder_profiles)/sizeof(Desc);
 
@@ -351,8 +364,8 @@
 {
     VdpStatus rv;
     printf("\nDecoder capabilities:\n\n");
-    printf("name               level macbs width height\n");
-    printf("-------------------------------------------\n");
+    printf("name                        level macbs width height\n");
+    printf("----------------------------------------------------\n");
     for(int x=0; x<decoder_profile_count; ++x)
     {
         VdpBool is_supported;
@@ -362,27 +375,106 @@
             &is_supported, &max_level, &max_macroblocks, &max_width, 
&max_height);
         if(rv == VDP_STATUS_OK && is_supported)
         {
-            printf("%-20s %2i %5i %5i %5i\n", decoder_profiles[x].name,
+            printf("%-30s %2i %5i %5i %5i\n", decoder_profiles[x].name,
                 max_level, max_macroblocks, max_width, max_height);
+        } else {
+            printf("%-30s --- not supported ---\n", decoder_profiles[x].name);
         }
     }
 }
 
+static void usage(const char *argv0) _X_NORETURN;
+static void usage(const char *argv0)
+{
+    printf("Usage: %s [--display displayname] [--screen screen_number]\n", 
argv0);
+    printf("  --display displayname     Server to query\n");
+    printf("  --screen screen_number    X screen to query\n");
+    printf("  --help                    Print this help text\n");
+    exit(0);
+}
+
+static void invalid_argument(const char *argv0, const char *fmt, ...) 
_X_ATTRIBUTE_PRINTF(2, 3) _X_NORETURN;
+static void invalid_argument(const char *argv0, const char *fmt, ...)
+{
+    va_list ap;
+    va_start(ap, fmt);
+
+    fprintf(stderr, "%s: ", argv0);
+    vfprintf(stderr, fmt, ap);
+    fprintf(stderr, "Try '%s --help' for more information.\n", argv0);
+
+    va_end(ap);
+    exit(-1);
+}
+
+struct Options {
+    char *display_name;
+    int screen;
+};
+
+static struct Options parse_options(int argc, char **argv)
+{
+    struct Options o;
+
+    o.display_name = XDisplayName(NULL);
+    o.screen = -1;
+
+    for(int i = 1; i < argc;)
+    {
+        const char *arg = argv[i++];
+
+        if(strcmp(arg, "--display") == 0)
+        {
+            if(i >= argc)
+                invalid_argument(argv[0], "--display requires an argument\n");
+            o.display_name = XDisplayName(argv[i++]);
+        }
+        else if(strcmp(arg, "--screen") == 0)
+        {
+            if(i >= argc)
+                invalid_argument(argv[0], "--screen requires an argument\n");
+
+            char *end;
+            o.screen = strtol(argv[i], &end, 0);
+            if(end == argv[i] || *end != '\0')
+                invalid_argument(argv[0], "could not parse '%s' as a 
number\n", argv[i]);
+            if(o.screen < 0)
+                invalid_argument(argv[0], "--screen argument cannot be 
negative\n");
+            i++;
+        }
+        else if(strcmp(arg, "-h") == 0 || strcmp(arg, "--help") == 0)
+        {
+            usage(argv[0]);
+        }
+        else
+        {
+            invalid_argument(argv[0], "unrecognized option '%s'\n", arg);
+        }
+    }
+
+    return o;
+}
 
 int main(int argc, char **argv)
 {
+    /* Parse options */
+    struct Options o = parse_options(argc, argv);
+
     /* Create an X Display */
-    Display *display;
-    int screen;
-    char *display_name = XDisplayName(NULL);
-    if ((display=XOpenDisplay(display_name)) == NULL)
+    Display *display = XOpenDisplay(o.display_name);
+    if(!display)
     {
-        fprintf(stderr,"vdpauinfo: cannot connect to X server %s\n",
-              XDisplayName(display_name));
+        fprintf(stderr,"%s: cannot connect to X server %s\n", argv[0],
+                o.display_name);
         exit(-1);
     }
-    screen = DefaultScreen(display);
-    printf("display: %s   screen: %i\n", display_name, screen);
+
+    int screen = (o.screen == -1) ? DefaultScreen(display) : o.screen;
+    if(screen >= ScreenCount(display))
+        invalid_argument(argv[0], "screen %d requested but X server only has 
%d screen%s\n",
+                         screen, ScreenCount(display),
+                         ScreenCount(display) == 1 ? "" : "s");
+    printf("display: %s   screen: %i\n", o.display_name, screen);
 
     /* Create device */
     VdpDevice device;

++++++ vdpauinfo-missing-lX11.diff ++++++
--- /var/tmp/diff_new_pack.A5hUqk/_old  2014-12-29 00:34:20.000000000 +0100
+++ /var/tmp/diff_new_pack.A5hUqk/_new  2014-12-29 00:34:20.000000000 +0100
@@ -1,11 +0,0 @@
---- configure.ac.orig  2011-08-29 16:31:04.069536000 +0200
-+++ configure.ac       2011-08-29 16:31:31.424105000 +0200
-@@ -8,7 +8,7 @@
- 
- PKG_CHECK_MODULES(VDPAU, x11 [vdpau >= 0.2])
- VDPAUINFO_CXXFLAGS="$VDPAUINFO_CXXFLAGS $VDPAU_CFLAGS"
--VDPAUINFO_LIBS="$VDPAUINFO_LIBS $VDPAU_LIBS"
-+VDPAUINFO_LIBS="$VDPAUINFO_LIBS $VDPAU_LIBS -lX11"
- 
- AC_SUBST(VDPAUINFO_CXXFLAGS)
- AC_SUBST(VDPAUINFO_LIBS)

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to