Hello community,

here is the log from the commit of package libass for openSUSE:Factory checked 
in at 2017-06-12 15:26:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libass (Old)
 and      /work/SRC/openSUSE:Factory/.libass.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libass"

Mon Jun 12 15:26:40 2017 rev:41 rq:501356 version:0.13.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/libass/libass.changes    2017-02-22 
13:47:56.876028216 +0100
+++ /work/SRC/openSUSE:Factory/.libass.new/libass.changes       2017-06-12 
15:26:44.340538159 +0200
@@ -1,0 +2,16 @@
+Tue Jun  6 10:32:46 UTC 2017 - [email protected]
+
+- Update to version 0.13.7
+  * Fix invalid memory accesses with BorderStyle=4
+  * Fix change detection bug on frame resizes
+  * Fix cache bugs with border size
+  * Reduce precision of border width in font outline caching
+  * Don't treat :;<=>? as hexadecimal digits in color headers
+  * Fix parsing of unusual Alignment values in ASS style definitions
+  * Fix potential truncation in timestamp parsing
+  * Treat negative PlayResX/PlayResY like VSFilter
+  * Fixes to parsing of embedded fonts
+  * Remove arbitrary bitmap limit (fixes issues with subtitle rendering at 4K)
+  * Allow using shadow offset to adjust size of background with BorderStyle=4
+
+-------------------------------------------------------------------

Old:
----
  libass-0.13.6.tar.xz

New:
----
  libass-0.13.7.tar.xz

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

Other differences:
------------------
++++++ libass.spec ++++++
--- /var/tmp/diff_new_pack.T1r0Ap/_old  2017-06-12 15:26:46.428243556 +0200
+++ /var/tmp/diff_new_pack.T1r0Ap/_new  2017-06-12 15:26:46.428243556 +0200
@@ -18,7 +18,7 @@
 
 %define sover   9
 Name:           libass
-Version:        0.13.6
+Version:        0.13.7
 Release:        0
 Summary:        Library for SSA/ASS-formatted subtitle rendering
 License:        ISC

++++++ libass-0.13.6.tar.xz -> libass-0.13.7.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/Changelog new/libass-0.13.7/Changelog
--- old/libass-0.13.6/Changelog 2017-01-03 20:31:50.000000000 +0100
+++ new/libass-0.13.7/Changelog 2017-06-03 18:51:35.000000000 +0200
@@ -1,3 +1,17 @@
+libass (0.13.7)
+ * Fix invalid memory accesses with BorderStyle=4
+ * Fix change detection bug on frame resizes
+ * Fix cache bugs with border size
+ * Reduce precision of border width in font outline caching
+ * Don't treat :;<=>? as hexadecimal digits in color headers
+ * Fix parsing of unusual Alignment values in ASS style definitions
+ * Fix potential truncation in timestamp parsing
+ * Treat negative PlayResX/PlayResY like VSFilter
+ * Fixes to parsing of embedded fonts
+ * Remove arbitrary bitmap limit (fixes issues with subtitle rendering at 4K)
+ * Allow using shadow offset to adjust size of background with BorderStyle=4
+ * Fix TrueType/OpenType font collection handling with the DirectWrite backend
+
 libass (0.13.6)
  * Bump ABI version to account for the new Justify field in ASS_Style
    that was added in 0.13.5.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/Makefile.in 
new/libass-0.13.7/Makefile.in
--- old/libass-0.13.6/Makefile.in       2017-01-03 20:32:12.000000000 +0100
+++ new/libass-0.13.7/Makefile.in       2017-06-03 19:06:00.000000000 +0200
@@ -364,6 +364,7 @@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/config.guess 
new/libass-0.13.7/config.guess
--- old/libass-0.13.6/config.guess      2017-01-03 20:32:12.000000000 +0100
+++ new/libass-0.13.7/config.guess      2017-06-03 19:06:00.000000000 +0200
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-11-04'
+timestamp='2015-08-20'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -168,20 +168,27 @@
        # Note: NetBSD doesn't particularly care about the vendor
        # portion of the name.  We always set it to "unknown".
        sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+       UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+           /sbin/$sysctl 2>/dev/null || \
+           /usr/sbin/$sysctl 2>/dev/null || \
+           echo unknown)`
        case "${UNAME_MACHINE_ARCH}" in
            armeb) machine=armeb-unknown ;;
            arm*) machine=arm-unknown ;;
            sh3el) machine=shl-unknown ;;
            sh3eb) machine=sh-unknown ;;
            sh5el) machine=sh5le-unknown ;;
+           earmv*)
+               arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 
's,^e\(armv[0-9]\).*$,\1,'`
+               endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 
's,^.*\(eb\)$,\1,p'`
+               machine=${arch}${endian}-unknown
+               ;;
            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
        esac
        # The Operating System including object format, if it has switched
        # to ELF recently, or will in the future.
        case "${UNAME_MACHINE_ARCH}" in
-           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+           arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
                eval $set_cc_for_build
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
                        | grep -q __ELF__
@@ -197,6 +204,13 @@
                os=netbsd
                ;;
        esac
+       # Determine ABI tags.
+       case "${UNAME_MACHINE_ARCH}" in
+           earm*)
+               expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+               abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+               ;;
+       esac
        # The OS release
        # Debian GNU/NetBSD machines have a different userland, and
        # thus, need a distinct triplet. However, they do not need
@@ -207,13 +221,13 @@
                release='-gnu'
                ;;
            *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. 
-f1,2`
                ;;
        esac
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
+       echo "${machine}-${os}${release}${abi}"
        exit ;;
     *:Bitrig:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -235,6 +249,9 @@
     *:MirBSD:*:*)
        echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
        exit ;;
+    *:Sortix:*:*)
+       echo ${UNAME_MACHINE}-unknown-sortix
+       exit ;;
     alpha:OSF1:*:*)
        case $UNAME_RELEASE in
        *4.0)
@@ -933,6 +950,9 @@
     crisv32:Linux:*:*)
        echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
+    e2k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
     frv:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
@@ -1021,7 +1041,7 @@
        echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
        exit ;;
     xtensa*:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/config.sub new/libass-0.13.7/config.sub
--- old/libass-0.13.6/config.sub        2017-01-03 20:32:12.000000000 +0100
+++ new/libass-0.13.7/config.sub        2017-06-03 19:06:00.000000000 +0200
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-12-03'
+timestamp='2015-08-20'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,7 +117,7 @@
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | 
kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
@@ -255,12 +255,13 @@
        | arc | arceb \
        | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
        | avr | avr32 \
+       | ba \
        | be32 | be64 \
        | bfin \
        | c4x | c8051 | clipper \
        | d10v | d30v | dlx | dsp16xx \
-       | epiphany \
-       | fido | fr30 | frv \
+       | e2k | epiphany \
+       | fido | fr30 | frv | ft32 \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | hexagon \
        | i370 | i860 | i960 | ia64 \
@@ -305,7 +306,7 @@
        | riscv32 | riscv64 \
        | rl78 | rx \
        | score \
-       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | 
shbe | shle | sh[1234]le | sh3ele \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | 
shbe | shle | sh[1234]le | sh3ele \
        | sh64 | sh64le \
        | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | 
sparclite \
        | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -376,12 +377,13 @@
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
+       | ba-* \
        | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
        | c8051-* | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
+       | e2k-* | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -428,12 +430,13 @@
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | pyramid-* \
+       | riscv32-* | riscv64-* \
        | rl78-* | romp-* | rs6000-* | rx-* \
        | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* 
| sheb-* | shbe-* \
        | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
        | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | 
sparclet-* \
        | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
        | tahoe-* \
        | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
        | tile*-* \
@@ -518,6 +521,9 @@
                basic_machine=i386-pc
                os=-aros
                ;;
+        asmjs)
+               basic_machine=asmjs-unknown
+               ;;
        aux)
                basic_machine=m68k-apple
                os=-aux
@@ -1373,7 +1379,7 @@
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | 
-solaris* \
              | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* | -aros* \
+             | -aos* | -aros* | -cloudabi* | -sortix* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/configure new/libass-0.13.7/configure
--- old/libass-0.13.6/configure 2017-01-03 20:32:11.000000000 +0100
+++ new/libass-0.13.7/configure 2017-06-03 19:06:00.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libass 0.13.6.
+# Generated by GNU Autoconf 2.69 for libass 0.13.7.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='libass'
 PACKAGE_TARNAME='libass'
-PACKAGE_VERSION='0.13.6'
-PACKAGE_STRING='libass 0.13.6'
+PACKAGE_VERSION='0.13.7'
+PACKAGE_STRING='libass 0.13.7'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -772,6 +772,7 @@
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -878,6 +879,7 @@
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1130,6 +1132,15 @@
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1267,7 +1278,7 @@
 for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
                datadir sysconfdir sharedstatedir localstatedir includedir \
                oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
+               libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1380,7 +1391,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libass 0.13.6 to adapt to many kinds of systems.
+\`configure' configures libass 0.13.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1420,6 +1431,7 @@
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -1450,7 +1462,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libass 0.13.6:";;
+     short | recursive ) echo "Configuration of libass 0.13.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1601,7 +1613,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libass configure 0.13.6
+libass configure 0.13.7
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2020,7 +2032,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libass $as_me 0.13.6, which was
+It was created by libass $as_me 0.13.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2883,7 +2895,7 @@
 
 # Define the identity of the package.
  PACKAGE='libass'
- VERSION='0.13.6'
+ VERSION='0.13.7'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5327,7 +5339,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern 
/lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -9020,6 +9032,9 @@
   openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    link_all_deplibs=no
+    ;;
   esac
 
   ld_shlibs=yes
@@ -9274,7 +9289,7 @@
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -9944,6 +9959,7 @@
        if test yes = "$lt_cv_irix_exported_symbol"; then
           archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs 
$compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all 
"$wl-set_version $wl$verstring"` $wl-update_registry 
$wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
        fi
+       link_all_deplibs=no
       else
        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname 
$soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` 
-update_registry $output_objdir/so_locations -o $lib'
        archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags 
-soname $soname `test -n "$verstring" && func_echo_all "-set_version 
$verstring"` -update_registry $output_objdir/so_locations -exports_file 
$export_symbols -o $lib'
@@ -9965,7 +9981,7 @@
       esac
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  
# a.out
       else
@@ -11080,6 +11096,18 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -15109,7 +15137,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libass $as_me 0.13.6, which was
+This file was extended by libass $as_me 0.13.7, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15175,7 +15203,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libass config.status 0.13.6
+libass config.status 0.13.7
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/configure.ac 
new/libass-0.13.7/configure.ac
--- old/libass-0.13.6/configure.ac      2017-01-03 20:31:50.000000000 +0100
+++ new/libass-0.13.7/configure.ac      2017-06-03 18:52:37.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT(libass, 0.13.6)
+AC_INIT(libass, 0.13.7)
 AM_INIT_AUTOMAKE
 AC_CONFIG_MACRO_DIR([m4])
 # Disable Fortran checks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/install-sh new/libass-0.13.7/install-sh
--- old/libass-0.13.6/install-sh        2017-01-03 20:32:12.000000000 +0100
+++ new/libass-0.13.7/install-sh        2017-06-03 19:06:00.000000000 +0200
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2014-09-12.12; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -324,34 +324,41 @@
             # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
             ;;
           *)
+            # $RANDOM is not portable (e.g. dash);  use it when possible to
+            # lower collision chance
             tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 
2>/dev/null; exit $ret' 0
 
+            # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
+            # create the $tmpdir first (and fail if unsuccessful) to make sure
+            # that nobody tries to guess the $tmpdir name.
             if (umask $mkdir_umask &&
-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+                $mkdirprog $mkdir_mode "$tmpdir" &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 
2>&1
             then
               if test -z "$dir_arg" || {
                    # Check for POSIX incompatibilities with -m.
                    # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
                    # other-writable bit of parent directory when it shouldn't.
                    # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   test_tmpdir="$tmpdir/a"
+                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
                    case $ls_ld_tmpdir in
                      d????-?r-*) different_mode=700;;
                      d????-?--*) different_mode=755;;
                      *) false;;
                    esac &&
-                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
                      test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
                    }
                  }
               then posix_mkdir=:
               fi
-              rmdir "$tmpdir/d" "$tmpdir"
+              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
             else
               # Remove any dirs left behind by ancient mkdir implementations.
-              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
             fi
             trap '' 0;;
         esac;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/Makefile.am 
new/libass-0.13.7/libass/Makefile.am
--- old/libass-0.13.6/libass/Makefile.am        2017-01-03 20:31:50.000000000 
+0100
+++ new/libass-0.13.7/libass/Makefile.am        2017-06-03 18:58:43.000000000 
+0200
@@ -3,7 +3,7 @@
             -Wpointer-arith -Wredundant-decls -D_GNU_SOURCE
 
 LIBASS_LT_CURRENT = 9
-LIBASS_LT_REVISION = 0
+LIBASS_LT_REVISION = 1
 LIBASS_LT_AGE = 0
 
 yasm_verbose = $(yasm_verbose_$(V))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/Makefile.in 
new/libass-0.13.7/libass/Makefile.in
--- old/libass-0.13.6/libass/Makefile.in        2017-01-03 20:32:13.000000000 
+0100
+++ new/libass-0.13.7/libass/Makefile.in        2017-06-03 19:06:00.000000000 
+0200
@@ -374,6 +374,7 @@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -388,7 +389,7 @@
             -Wpointer-arith -Wredundant-decls -D_GNU_SOURCE
 
 LIBASS_LT_CURRENT = 9
-LIBASS_LT_REVISION = 0
+LIBASS_LT_REVISION = 1
 LIBASS_LT_AGE = 0
 yasm_verbose = $(yasm_verbose_$(V))
 yasm_verbose_ = $(yasm_verbose_$(AM_DEFAULT_VERBOSITY))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass.c 
new/libass-0.13.7/libass/ass.c
--- old/libass-0.13.6/libass/ass.c      2016-12-29 01:48:05.000000000 +0100
+++ new/libass-0.13.7/libass/ass.c      2017-06-03 18:45:15.000000000 +0200
@@ -232,24 +232,10 @@
         ass_msg(library, MSGL_WARN, "Bad timestamp");
         return 0;
     }
-    tm = ((h * 60LL + m) * 60 + s) * 1000 + ms * 10;
+    tm = ((h * 60LL + m) * 60 + s) * 1000 + ms * 10LL;
     return tm;
 }
 
-/**
- * \brief converts numpad-style align to align.
- */
-static int numpad2align(int val)
-{
-    int res, v;
-    v = (val - 1) / 3;          // 0, 1 or 2 for vertical alignment
-    if (v != 0)
-        v = 3 - v;
-    res = ((val - 1) % 3) + 1;  // horizontal alignment
-    res += v * 4;
-    return res;
-}
-
 #define NEXT(str,token) \
        token = next_token(&str); \
        if (!token) break;
@@ -673,24 +659,18 @@
     return 0;
 }
 
-// Copied from mkvtoolnix
-static unsigned char *decode_chars(unsigned char c1, unsigned char c2,
-                                   unsigned char c3, unsigned char c4,
-                                   unsigned char *dst, int cnt)
+static unsigned char *decode_chars(const unsigned char *src,
+                                   unsigned char *dst, int cnt_in)
 {
-    uint32_t value;
-    unsigned char bytes[3];
-    int i;
-
-    value =
-        ((c1 - 33) << 18) + ((c2 - 33) << 12) + ((c3 - 33) << 6) + (c4 -
-                                                                    33);
-    bytes[2] = value & 0xff;
-    bytes[1] = (value & 0xff00) >> 8;
-    bytes[0] = (value & 0xff0000) >> 16;
-
-    for (i = 0; i < cnt; ++i)
-        *dst++ = bytes[i];
+    uint32_t value = 0;
+    for (int i = 0; i < cnt_in; i++)
+        value |= (uint32_t) ((src[i] - 33u) & 63) << 6 * (3 - i);
+
+    *dst++ = value >> 16;
+    if (cnt_in >= 3)
+        *dst++ = value >> 8 & 0xff;
+    if (cnt_in >= 4)
+        *dst++ = value & 0xff;
     return dst;
 }
 
@@ -710,21 +690,21 @@
         ass_msg(track->library, MSGL_ERR, "Bad encoded data size");
         goto error_decode_font;
     }
-    buf = malloc(size / 4 * 3 + 2);
+    buf = malloc(size / 4 * 3 + FFMAX(size % 4 - 1, 0));
     if (!buf)
         goto error_decode_font;
     q = buf;
     for (i = 0, p = (unsigned char *) track->parser_priv->fontdata;
          i < size / 4; i++, p += 4) {
-        q = decode_chars(p[0], p[1], p[2], p[3], q, 3);
+        q = decode_chars(p, q, 4);
     }
     if (size % 4 == 2) {
-        q = decode_chars(p[0], p[1], 0, 0, q, 1);
+        q = decode_chars(p, q, 2);
     } else if (size % 4 == 3) {
-        q = decode_chars(p[0], p[1], p[2], 0, q, 2);
+        q = decode_chars(p, q, 3);
     }
     dsize = q - buf;
-    assert(dsize <= size / 4 * 3 + 2);
+    assert(dsize == size / 4 * 3 + FFMAX(size % 4 - 1, 0));
 
     if (track->library->extract_fonts) {
         ass_add_font(track->library, track->parser_priv->fontname,
@@ -764,14 +744,9 @@
     }
 
     len = strlen(str);
-    if (len > 80) {
-        ass_msg(track->library, MSGL_WARN, "Font line too long: %d, %s",
-                len, str);
-        return 0;
-    }
     if (track->parser_priv->fontdata_used + len >
         track->parser_priv->fontdata_size) {
-        track->parser_priv->fontdata_size += 100 * 1024;
+        track->parser_priv->fontdata_size += FFMAX(len, 100 * 1024);
         track->parser_priv->fontdata =
             realloc(track->parser_priv->fontdata,
                     track->parser_priv->fontdata_size);
@@ -1357,28 +1332,28 @@
  */
 void ass_lazy_track_init(ASS_Library *lib, ASS_Track *track)
 {
-    if (track->PlayResX && track->PlayResY)
+    if (track->PlayResX > 0 && track->PlayResY > 0)
         return;
-    if (!track->PlayResX && !track->PlayResY) {
+    if (track->PlayResX <= 0 && track->PlayResY <= 0) {
         ass_msg(lib, MSGL_WARN,
                "Neither PlayResX nor PlayResY defined. Assuming 384x288");
         track->PlayResX = 384;
         track->PlayResY = 288;
     } else {
-        if (!track->PlayResY && track->PlayResX == 1280) {
+        if (track->PlayResY <= 0 && track->PlayResX == 1280) {
             track->PlayResY = 1024;
             ass_msg(lib, MSGL_WARN,
                    "PlayResY undefined, setting to %d", track->PlayResY);
-        } else if (!track->PlayResY) {
-            track->PlayResY = track->PlayResX * 3 / 4;
+        } else if (track->PlayResY <= 0) {
+            track->PlayResY = FFMAX(1, track->PlayResX * 3 / 4);
             ass_msg(lib, MSGL_WARN,
                    "PlayResY undefined, setting to %d", track->PlayResY);
-        } else if (!track->PlayResX && track->PlayResY == 1024) {
+        } else if (track->PlayResX <= 0 && track->PlayResY == 1024) {
             track->PlayResX = 1280;
             ass_msg(lib, MSGL_WARN,
                    "PlayResX undefined, setting to %d", track->PlayResX);
-        } else if (!track->PlayResX) {
-            track->PlayResX = track->PlayResY * 4 / 3;
+        } else if (track->PlayResX <= 0) {
+            track->PlayResX = FFMAX(1, track->PlayResY * 4 / 3);
             ass_msg(lib, MSGL_WARN,
                    "PlayResX undefined, setting to %d", track->PlayResX);
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass.h 
new/libass-0.13.7/libass/ass.h
--- old/libass-0.13.6/libass/ass.h      2017-01-03 20:31:50.000000000 +0100
+++ new/libass-0.13.7/libass/ass.h      2017-06-03 18:52:24.000000000 +0200
@@ -24,7 +24,7 @@
 #include <stdarg.h>
 #include "ass_types.h"
 
-#define LIBASS_VERSION 0x01306000
+#define LIBASS_VERSION 0x01307000
 
 #ifdef __cplusplus
 extern "C" {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_bitmap.c 
new/libass-0.13.7/libass/ass_bitmap.c
--- old/libass-0.13.6/libass/ass_bitmap.c       2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_bitmap.c       2017-06-03 18:45:15.000000000 
+0200
@@ -219,7 +219,7 @@
 
     int mask = (1 << render_priv->engine->tile_order) - 1;
 
-    if (w < 0 || h < 0 || w > 8000000 / FFMAX(h, 1) ||
+    if (w < 0 || h < 0 ||
         w > INT_MAX - (2 * bord + mask) || h > INT_MAX - (2 * bord + mask)) {
         ass_msg(render_priv->library, MSGL_WARN, "Glyph bounding box too 
large: %dx%dpx",
                 w, h);
@@ -280,7 +280,7 @@
     bbox.xMin >>= 6;
     bbox.yMax >>= 6;
 
-    if (w < 0 || h < 0 || w > 8000000 / FFMAX(h, 1) ||
+    if (w < 0 || h < 0 ||
         w > INT_MAX - 2 * bord || h > INT_MAX - 2 * bord) {
         ass_msg(render_priv->library, MSGL_WARN, "Glyph bounding box too 
large: %dx%dpx",
                 w, h);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_cache_template.h 
new/libass-0.13.7/libass/ass_cache_template.h
--- old/libass-0.13.6/libass/ass_cache_template.h       2016-12-29 
01:48:05.000000000 +0100
+++ new/libass-0.13.7/libass/ass_cache_template.h       2017-06-03 
18:45:15.000000000 +0200
@@ -90,7 +90,7 @@
     GENERIC(int, italic)
     GENERIC(unsigned, scale_x) // 16.16
     GENERIC(unsigned, scale_y) // 16.16
-    FTVECTOR(outline) // border width, 16.16
+    FTVECTOR(outline) // border width, 26.6
     GENERIC(unsigned, flags)    // glyph decoration flags
     GENERIC(unsigned, border_style)
     GENERIC(int, hspacing) // 16.16
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_directwrite.c 
new/libass-0.13.7/libass/ass_directwrite.c
--- old/libass-0.13.6/libass/ass_directwrite.c  2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_directwrite.c  2017-06-03 18:45:15.000000000 
+0200
@@ -352,6 +352,19 @@
 }
 
 /*
+ * Lazily return index of font. It requires the FontFace to be present, which 
is expensive to initialize.
+ */
+static unsigned get_font_index(void *data)
+{
+    FontPrivate *priv = (FontPrivate *)data;
+
+    if (!init_font_private_face(priv))
+        return 0;
+
+    return IDWriteFontFace_GetIndex(priv->face);
+}
+
+/*
  * Check if the passed font has a specific unicode character.
  */
 static bool check_glyph(void *data, uint32_t code)
@@ -719,6 +732,7 @@
     .destroy_provider   = destroy_provider,
     .get_substitutions  = get_substitutions,
     .get_fallback       = get_fallback,
+    .get_font_index     = get_font_index,
 };
 
 typedef HRESULT (WINAPI *DWriteCreateFactoryFn)(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_font.h 
new/libass-0.13.7/libass/ass_font.h
--- old/libass-0.13.6/libass/ass_font.h 2016-12-29 01:48:05.000000000 +0100
+++ new/libass-0.13.7/libass/ass_font.h 2017-06-03 18:45:15.000000000 +0200
@@ -80,7 +80,7 @@
 void outline_transform(const ASS_Outline *outline, const FT_Matrix *matrix);
 void outline_get_cbox(const ASS_Outline *outline, FT_BBox *cbox);
 void fix_freetype_stroker(ASS_Outline *outline, int border_x, int border_y);
-int outline_alloc(ASS_Outline *outline, size_t n_contours, size_t n_points);
+int outline_alloc(ASS_Outline *outline, size_t n_points, size_t n_contours);
 ASS_Outline *outline_convert(const FT_Outline *source);
 ASS_Outline *outline_copy(const ASS_Outline *source);
 void outline_free(ASS_Outline *outline);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_fontconfig.c 
new/libass-0.13.7/libass/ass_fontconfig.c
--- old/libass-0.13.6/libass/ass_fontconfig.c   2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_fontconfig.c   2017-06-03 18:45:15.000000000 
+0200
@@ -148,9 +148,10 @@
         meta.fullnames = fullnames;
 
         // read PostScript name
-        meta.postscript_name = NULL;
-        FcPatternGetString(pat, FC_POSTSCRIPT_NAME, 0,
-                           (FcChar8 **)&meta.postscript_name);
+        result = FcPatternGetString(pat, FC_POSTSCRIPT_NAME, 0,
+                (FcChar8 **)&meta.postscript_name);
+        if (result != FcResultMatch)
+            meta.postscript_name = NULL;
 
         ass_font_provider_add_font(provider, &meta, path, index, (void *)pat);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_fontselect.c 
new/libass-0.13.7/libass/ass_fontselect.c
--- old/libass-0.13.6/libass/ass_fontselect.c   2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_fontselect.c   2017-06-03 18:45:15.000000000 
+0200
@@ -588,14 +588,20 @@
     // found anything?
     char *result = NULL;
     if (selected) {
+        ASS_FontProvider *provider = selected->provider;
+
         // successfully matched, set up return values
         *postscript_name = selected->postscript_name;
-        *index = selected->index;
         *uid   = selected->uid;
 
+        // use lazy evaluation for index if applicable
+        if (provider->funcs.get_font_index) {
+            *index = provider->funcs.get_font_index(selected->priv);
+        } else
+            *index = selected->index;
+
         // set up memory stream if there is no path
         if (selected->path == NULL) {
-            ASS_FontProvider *provider = selected->provider;
             stream->func = provider->funcs.get_data;
             stream->priv = selected->priv;
             // Prefer PostScript name because it is unique. This is only
@@ -607,6 +613,7 @@
                 result = selected->families[0];
         } else
             result = selected->path;
+
     }
 
     return result;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_fontselect.h 
new/libass-0.13.7/libass/ass_fontselect.h
--- old/libass-0.13.6/libass/ass_fontselect.h   2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_fontselect.h   2017-06-03 18:45:15.000000000 
+0200
@@ -71,6 +71,16 @@
 typedef bool    (*CheckGlyphFunc)(void *font_priv, uint32_t codepoint);
 
 /**
+* Get index of a font in context of a font collection.
+* This function is optional and may be needed to initialize the font index
+* lazily.
+*
+* \param font_priv font private data
+* \return font index inside the collection, or 0 in case of a single font
+*/
+typedef unsigned    (*GetFontIndex)(void *font_priv);
+
+/**
  * Destroy a font's private data.
  *
  *  \param font_priv font private data
@@ -150,6 +160,7 @@
     MatchFontsFunc      match_fonts;            /* optional */
     SubstituteFontFunc  get_substitutions;      /* optional */
     GetFallbackFunc     get_fallback;           /* optional */
+    GetFontIndex        get_font_index;         /* optional */
 } ASS_FontProviderFuncs;
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_parse.c 
new/libass-0.13.7/libass/ass_parse.c
--- old/libass-0.13.6/libass/ass_parse.c        2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_parse.c        2017-06-03 18:45:15.000000000 
+0200
@@ -566,14 +566,9 @@
     } else if (tag("an")) {
         int val = argtoi(*args);
         if ((render_priv->state.parsed_tags & PARSED_A) == 0) {
-            if (val >= 1 && val <= 9) {
-                int v = (val - 1) / 3;      // 0, 1 or 2 for vertical alignment
-                if (v != 0)
-                    v = 3 - v;
-                val = ((val - 1) % 3) + 1;  // horizontal alignment
-                val += v * 4;
-                render_priv->state.alignment = val;
-            } else
+            if (val >= 1 && val <= 9)
+                render_priv->state.alignment = numpad2align(val);
+            else
                 render_priv->state.alignment =
                     render_priv->state.style->Alignment;
             render_priv->state.parsed_tags |= PARSED_A;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_render.c 
new/libass-0.13.7/libass/ass_render.c
--- old/libass-0.13.6/libass/ass_render.c       2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_render.c       2017-06-03 18:45:15.000000000 
+0200
@@ -406,25 +406,17 @@
     b_y1 = bm->h;
 
     tmp = dst_x - clip_x0;
-    if (tmp < 0) {
+    if (tmp < 0)
         b_x0 = -tmp;
-        render_priv->state.has_clips = 1;
-    }
     tmp = dst_y - clip_y0;
-    if (tmp < 0) {
+    if (tmp < 0)
         b_y0 = -tmp;
-        render_priv->state.has_clips = 1;
-    }
     tmp = clip_x1 - dst_x - bm->w;
-    if (tmp < 0) {
+    if (tmp < 0)
         b_x1 = bm->w + tmp;
-        render_priv->state.has_clips = 1;
-    }
     tmp = clip_y1 - dst_y - bm->h;
-    if (tmp < 0) {
+    if (tmp < 0)
         b_y1 = bm->h + tmp;
-        render_priv->state.has_clips = 1;
-    }
 
     if ((b_y0 >= b_y1) || (b_x0 >= b_x1))
         return tail;
@@ -523,8 +515,6 @@
         int aleft, atop, bleft, btop;
         unsigned char *abuffer, *bbuffer, *nbuffer;
 
-        render_priv->state.has_clips = 1;
-
         abuffer = cur->bitmap;
         bbuffer = clip_bm->buffer;
         ax = cur->dst_x;
@@ -882,7 +872,6 @@
 {
     render_priv->state.event = event;
     render_priv->state.parsed_tags = 0;
-    render_priv->state.has_clips = 0;
     render_priv->state.evt_type = EVENT_NORMAL;
 
     reset_render_context(render_priv, NULL);
@@ -1095,8 +1084,8 @@
         outline_key->type = OUTLINE_DRAWING;
         key->scale_x = double_to_d16(info->scale_x);
         key->scale_y = double_to_d16(info->scale_y);
-        key->outline.x = double_to_d16(info->border_x);
-        key->outline.y = double_to_d16(info->border_y);
+        key->outline.x = double_to_d6(info->border_x * priv->border_scale);
+        key->outline.y = double_to_d6(info->border_y * priv->border_scale);
         key->border_style = info->border_style;
         // hpacing only matters for opaque box borders (see draw_opaque_box),
         // so for normal borders, maximize cache utility by ignoring it
@@ -1117,8 +1106,8 @@
         key->italic = info->italic;
         key->scale_x = double_to_d16(info->scale_x);
         key->scale_y = double_to_d16(info->scale_y);
-        key->outline.x = double_to_d16(info->border_x);
-        key->outline.y = double_to_d16(info->border_y);
+        key->outline.x = double_to_d6(info->border_x * priv->border_scale);
+        key->outline.y = double_to_d6(info->border_y * priv->border_scale);
         key->flags = info->flags;
         key->border_style = info->border_style;
         key->hspacing =
@@ -2413,15 +2402,27 @@
 
 static void add_background(ASS_Renderer *render_priv, EventImages 
*event_images)
 {
-    void *nbuffer = ass_aligned_alloc(1, event_images->width * 
event_images->height, false);
+    double size_x = render_priv->state.shadow_x > 0 ?
+                    render_priv->state.shadow_x * render_priv->border_scale : 
0;
+    double size_y = render_priv->state.shadow_y > 0 ?
+                    render_priv->state.shadow_y * render_priv->border_scale : 
0;
+    int left    = event_images->left - size_x;
+    int top     = event_images->top  - size_y;
+    int right   = event_images->left + event_images->width  + size_x;
+    int bottom  = event_images->top  + event_images->height + size_y;
+    left        = FFMINMAX(left,   0, render_priv->width);
+    top         = FFMINMAX(top,    0, render_priv->height);
+    right       = FFMINMAX(right,  0, render_priv->width);
+    bottom      = FFMINMAX(bottom, 0, render_priv->height);
+    int w = right - left;
+    int h = bottom - top;
+    if (w < 1 || h < 1)
+        return;
+    void *nbuffer = ass_aligned_alloc(1, w * h, false);
     if (!nbuffer)
         return;
-    memset(nbuffer, 0xFF, event_images->width * event_images->height);
-    ASS_Image *img = my_draw_bitmap(nbuffer, event_images->width,
-                                    event_images->height,
-                                    event_images->width,
-                                    event_images->left,
-                                    event_images->top,
+    memset(nbuffer, 0xFF, w * h);
+    ASS_Image *img = my_draw_bitmap(nbuffer, w, h, w, left, top,
                                     render_priv->state.c[3], NULL);
     if (img) {
         img->next = event_images->imgs;
@@ -2945,9 +2946,6 @@
     ASS_Image *img, *img2;
     int diff;
 
-    if (priv->state.has_clips)
-        return 2;
-
     img = priv->prev_images_root;
     img2 = priv->images_root;
     diff = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_render.h 
new/libass-0.13.7/libass/ass_render.h
--- old/libass-0.13.6/libass/ass_render.h       2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_render.h       2017-06-03 18:45:15.000000000 
+0200
@@ -213,7 +213,6 @@
     ASS_Event *event;
     ASS_Style *style;
     int parsed_tags;
-    int has_clips;              // clips that conflict with cache change 
detection
 
     ASS_Font *font;
     double font_size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_render_api.c 
new/libass-0.13.7/libass/ass_render_api.c
--- old/libass-0.13.6/libass/ass_render_api.c   2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_render_api.c   2017-06-03 18:45:15.000000000 
+0200
@@ -27,11 +27,9 @@
     ASS_Settings *settings = &priv->settings;
 
     priv->render_id++;
-    ass_frame_unref(priv->images_root);
     ass_cache_empty(priv->cache.composite_cache);
     ass_cache_empty(priv->cache.bitmap_cache);
     ass_cache_empty(priv->cache.outline_cache);
-    priv->images_root = NULL;
 
     priv->width = settings->frame_width;
     priv->height = settings->frame_height;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_utils.c 
new/libass-0.13.7/libass/ass_utils.c
--- old/libass-0.13.6/libass/ass_utils.c        2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_utils.c        2017-06-03 18:45:15.000000000 
+0200
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdint.h>
+#include <limits.h>
 #include <inttypes.h>
 
 #include "ass_library.h"
@@ -192,7 +193,7 @@
 
     while (1) {
         int digit;
-        if (*p >= '0' && *p < base + '0')
+        if (*p >= '0' && *p < FFMIN(base, 10) + '0')
             digit = *p - '0';
         else if (*p >= 'a' && *p < base - 10 + 'a')
             digit = *p - 'a' + 10;
@@ -327,6 +328,28 @@
     return YCBCR_UNKNOWN;
 }
 
+/**
+ * \brief converts numpad-style align to align.
+ */
+int numpad2align(int val)
+{
+    if (val < -INT_MAX)
+        // Pick an alignment somewhat arbitrarily. VSFilter handles
+        // INT32_MIN as a mix of 1, 2 and 3, so prefer one of those values.
+        val = 2;
+    else if (val < 0)
+        val = -val;
+
+    int res = ((val - 1) % 3) + 1;  // horizontal alignment
+    if (val <= 3)
+        res |= VALIGN_SUB;
+    else if (val <= 6)
+        res |= VALIGN_CENTER;
+    else
+        res |= VALIGN_TOP;
+    return res;
+}
+
 void ass_msg(ASS_Library *priv, int lvl, const char *fmt, ...)
 {
     va_list va;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/ass_utils.h 
new/libass-0.13.7/libass/ass_utils.h
--- old/libass-0.13.6/libass/ass_utils.h        2016-12-29 01:48:05.000000000 
+0100
+++ new/libass-0.13.7/libass/ass_utils.h        2017-06-03 18:45:15.000000000 
+0200
@@ -87,6 +87,7 @@
 uint32_t parse_color_header(char *str);
 char parse_bool(char *str);
 int parse_ycbcr_matrix(char *str);
+int numpad2align(int val);
 unsigned ass_utf8_get_char(char **str);
 unsigned ass_utf8_put_char(char *dest, uint32_t ch);
 void ass_utf16be_to_utf8(char *dst, size_t dst_size, uint8_t *src, size_t 
src_size);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/libass/dwrite_c.h 
new/libass-0.13.7/libass/dwrite_c.h
--- old/libass-0.13.6/libass/dwrite_c.h 2016-12-29 01:48:05.000000000 +0100
+++ new/libass-0.13.7/libass/dwrite_c.h 2017-06-03 18:45:15.000000000 +0200
@@ -335,6 +335,8 @@
         UINT32 *numberOfFiles,
         IDWriteFontFile **fontFiles) PURE;
 
+    STDMETHOD_(UINT32, GetIndex)(THIS) PURE;
+
     /* rest dropped */
     END_INTERFACE
 };
@@ -342,6 +344,7 @@
 #define IDWriteFontFace_Release(This) (This)->lpVtbl->Release(This)
 #define IDWriteFontFace_GetType(This) (This)->lpVtbl->GetType(This)
 #define IDWriteFontFace_GetFiles(This,fontFiles,b) 
(This)->lpVtbl->GetFiles(This,fontFiles,b)
+#define IDWriteFontFace_GetIndex(This) (This)->lpVtbl->GetIndex(This)
 #endif /*COBJMACROS*/
 
 #undef  INTERFACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/ltmain.sh new/libass-0.13.7/ltmain.sh
--- old/libass-0.13.6/ltmain.sh 2017-01-03 20:32:07.000000000 +0100
+++ new/libass-0.13.7/ltmain.sh 2017-06-03 19:05:58.000000000 +0200
@@ -31,7 +31,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.4.6
+VERSION="2.4.6 Debian-2.4.6-0.1"
 package_revision=2.4.6
 
 
@@ -2073,7 +2073,7 @@
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
 Report bugs to <[email protected]>.
-GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
 General help using GNU software: <http://www.gnu.org/gethelp/>."
     exit 0
 }
@@ -7272,10 +7272,13 @@
       # -tp=*                Portland pgcc target processor selection
       # --sysroot=*          for sysroot support
       # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time 
optimization
+      # -specs=*             GCC specs files
       # -stdlib=*            select c++ std lib with clang
+      # -fsanitize=*         Clang/GCC memory and address sanitizer
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
       
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+      
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+      -specs=*|-fsanitize=*)
         func_quote_for_eval "$arg"
        arg=$func_quote_for_eval_result
         func_append compile_command " $arg"
@@ -7568,7 +7571,10 @@
        case $pass in
        dlopen) libs=$dlfiles ;;
        dlpreopen) libs=$dlprefiles ;;
-       link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+       link)
+         libs="$deplibs %DEPLIBS%"
+         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+         ;;
        esac
       fi
       if test lib,dlpreopen = "$linkmode,$pass"; then
@@ -7887,19 +7893,19 @@
            # It is a libtool convenience library, so add in its objects.
            func_append convenience " $ladir/$objdir/$old_library"
            func_append old_convenience " $ladir/$objdir/$old_library"
+           tmp_libs=
+           for deplib in $dependency_libs; do
+             deplibs="$deplib $deplibs"
+             if $opt_preserve_dup_deps; then
+               case "$tmp_libs " in
+               *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+               esac
+             fi
+             func_append tmp_libs " $deplib"
+           done
          elif test prog != "$linkmode" && test lib != "$linkmode"; then
            func_fatal_error "'$lib' is not a convenience library"
          fi
-         tmp_libs=
-         for deplib in $dependency_libs; do
-           deplibs="$deplib $deplibs"
-           if $opt_preserve_dup_deps; then
-             case "$tmp_libs " in
-             *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-             esac
-           fi
-           func_append tmp_libs " $deplib"
-         done
          continue
        fi # $pass = conv
 
@@ -8823,6 +8829,9 @@
            revision=$number_minor
            lt_irix_increment=no
            ;;
+         *)
+           func_fatal_configuration "$modename: unknown library version type 
'$version_type'"
+           ;;
          esac
          ;;
        no)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/m4/libtool.m4 
new/libass-0.13.7/m4/libtool.m4
--- old/libass-0.13.6/m4/libtool.m4     2017-01-03 20:32:07.000000000 +0100
+++ new/libass-0.13.7/m4/libtool.m4     2017-06-03 19:05:58.000000000 +0200
@@ -2887,6 +2887,18 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix 
${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -3546,7 +3558,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern 
/lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -4424,7 +4436,7 @@
            ;;
        esac
        ;;
-      netbsd*)
+      netbsd* | netbsdelf*-gnu)
        ;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4936,6 +4948,9 @@
       ;;
     esac
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | 
$global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -4998,6 +5013,9 @@
   openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5252,7 +5270,7 @@
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs 
$linker_flags -o $lib'
        wlarc=
@@ -5773,6 +5791,7 @@
        if test yes = "$lt_cv_irix_exported_symbol"; then
           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs 
$deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && 
func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry 
$wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
        fi
+       _LT_TAGVAR(link_all_deplibs, $1)=no
       else
        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags -soname $soname `test -n "$verstring" && func_echo_all 
"-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags -soname $soname `test -n "$verstring" && func_echo_all 
"-set_version $verstring"` -update_registry $output_objdir/so_locations 
-exports_file $export_symbols -o $lib'
@@ -5794,7 +5813,7 @@
       esac
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs 
$linker_flags'  # a.out
       else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/profile/Makefile.in 
new/libass-0.13.7/profile/Makefile.in
--- old/libass-0.13.6/profile/Makefile.in       2017-01-03 20:32:13.000000000 
+0100
+++ new/libass-0.13.7/profile/Makefile.in       2017-06-03 19:06:00.000000000 
+0200
@@ -304,6 +304,7 @@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libass-0.13.6/test/Makefile.in 
new/libass-0.13.7/test/Makefile.in
--- old/libass-0.13.6/test/Makefile.in  2017-01-03 20:32:13.000000000 +0100
+++ new/libass-0.13.7/test/Makefile.in  2017-06-03 19:06:00.000000000 +0200
@@ -304,6 +304,7 @@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@


Reply via email to