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]
