shithub: libvpx

Download patch

ref: d55cab425d57b7e73894ac62e28ac505b6b4d6f1
parent: 90c1cc651592f2dbad517ceb65dc0c0fef3d0dbc
parent: b41ffb53f1000ab2227c1736d8c1355aa5081c40
author: Jerome Jiang <jianj@google.com>
date: Wed Mar 24 12:39:19 EDT 2021

Release v1.10.0 Ruddy Duck
 
 2021-03-09 v1.10.0 "Ruddy Duck"
 
   This maintenance release adds support for darwin20 and new codec controls, as
   well as numerous bug fixes.
 
   - Upgrading:
 
     New codec control is added to disable loopfilter for VP9.
 
     New encoder control is added to disable feature to increase Q on overshoot
     detection for CBR.
 
     Configure support for darwin20 is added.
 
     New codec control is added for VP9 rate control. The control ID of this
     interface is VP9E_SET_EXTERNAL_RATE_CONTROL. To make VP9 use a customized
     external rate control model, users will have to implement each callback
     function in vpx_rc_funcs_t and register them using libvpx API
     vpx_codec_control_() with the control ID.
 
   - Enhancement:
 
     Use -std=gnu++11 instead of -std=c++11 for c++ files.
 
   - Bug fixes:
 
     Override assembler with --as option of configure for MSVS.
 
     Fix several compilation issues with gcc 4.8.5.
 
     Fix to resetting rate control for temporal layers.
 
     Fix to the rate control stats of SVC example encoder when number of spatial
     layers is 1.
 
     Fix to reusing motion vectors from the base spatial layer in SVC.
 
     2 pass related flags removed from SVC example encoder.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEjacMOyM4sBK6sw7lHBwamipF1NQFAmBbzA0ACgkQHBwamipF
 1NSX3g/6AsbPwe/umT7HpxIVSQu6RWOVhoKL9UmI5Sa0Peduz+qQ1FlOh96ahLh1
 diqxLaJnYigkWlkcqfWeiBzCaroh6XGaFPnFhJQwlr10Lw9CcPabmShNbkWQModx
 9hRJI5Yx8X8z2GpZilg+ISkP7kP+6wAb/rInwXFVEXMpYOHiR8jdTe9KhiK9mX9+
 7qDrLW061EO9ceNkQGl21xZhHllC951Di3OtGuD+ttxmF16jbKYKSTkwonr27cxD
 Nm58ScD3BBVNAyXeJuS101W4CqiQYtX7Ma//hu5j3bpjl2TUzAe7rhPdQkZMUGdW
 kyBLuqd/3mLP3XE3AK7b+PSazrAfBboODH772Bt29xVZ4jfOvxDjnbGAhEHr/GnM
 iAnTRsM2xzQw7lezyoodtQtioRhIzOfYpsympC5lUe0/yLliOAV9/D904T29wz8A
 XwV7QP4XFtWl0XqMpjLIxdkbex7J4yWBF+B1kYVOYGofmZh/5zocZqpJ6U6vABQa
 2nY9Xd+wUrCUin16XpAjNcJv13c61bnmEggwBxTDc+5GM0fKcBHjQnxdbmQPfnxD
 e19lNdM7uJHfCh6VJlcidoq7RRuWxgztTkXqEpeK8FPWKYeHtZHTJp3r+wpjKl4V
 XFQDsWDed/oTdODxTymdGyv/B3kKlBOJCVpfiGN+4PJo/eTS97M=
 =NoWy
 -----END PGP SIGNATURE-----

Merge tag 'v1.10.0'

Release v1.10.0 Ruddy Duck

2021-03-09 v1.10.0 "Ruddy Duck"

  This maintenance release adds support for darwin20 and new codec controls, as
  well as numerous bug fixes.

  - Upgrading:

    New codec control is added to disable loopfilter for VP9.

    New encoder control is added to disable feature to increase Q on overshoot
    detection for CBR.

    Configure support for darwin20 is added.

    New codec control is added for VP9 rate control. The control ID of this
    interface is VP9E_SET_EXTERNAL_RATE_CONTROL. To make VP9 use a customized
    external rate control model, users will have to implement each callback
    function in vpx_rc_funcs_t and register them using libvpx API
    vpx_codec_control_() with the control ID.

  - Enhancement:

    Use -std=gnu++11 instead of -std=c++11 for c++ files.

  - Bug fixes:

    Override assembler with --as option of configure for MSVS.

    Fix several compilation issues with gcc 4.8.5.

    Fix to resetting rate control for temporal layers.

    Fix to the rate control stats of SVC example encoder when number of spatial
    layers is 1.

    Fix to reusing motion vectors from the base spatial layer in SVC.

    2 pass related flags removed from SVC example encoder.

Bug: webm:1712

Change-Id: I4d807da7aee5a4d9d7a7af66b927983622e9cefa

--- a/.mailmap
+++ b/.mailmap
@@ -12,6 +12,8 @@
 Elliott Karpilovsky <elliottk@google.com>
 Erik Niemeyer <erik.a.niemeyer@intel.com> <erik.a.niemeyer@gmail.com>
 Fyodor Kyslov <kyslov@google.com>
+Gregor Jasny <gjasny@gmail.com>
+Gregor Jasny <gjasny@gmail.com> <gjasny@googlemail.com>
 Guillaume Martres <gmartres@google.com> <smarter3@gmail.com>
 Hangyu Kuang <hkuang@google.com>
 Hui Su <huisu@google.com>
--- a/AUTHORS
+++ b/AUTHORS
@@ -37,6 +37,7 @@
 Clement Courbet <courbet@google.com>
 Daniele Castagna <dcastagna@chromium.org>
 Daniel Kang <ddkang@google.com>
+Daniel Sommermann <dcsommer@gmail.com>
 Dan Zhu <zxdan@google.com>
 Deb Mukherjee <debargha@google.com>
 Deepa K G <deepa.kg@ittiam.com>
@@ -73,6 +74,7 @@
 Jacek Caban <cjacek@gmail.com>
 Jacky Chen <jackychen@google.com>
 James Berry <jamesberry@google.com>
+James Touton <bekenn@gmail.com>
 James Yu <james.yu@linaro.org>
 James Zern <jzern@google.com>
 Jan Gerber <j@mailb.org>
@@ -82,11 +84,14 @@
 Jeff Faust <jfaust@google.com>
 Jeff Muizelaar <jmuizelaar@mozilla.com>
 Jeff Petkau <jpet@chromium.org>
+Jeremy Leconte <jleconte@google.com>
 Jerome Jiang <jianj@google.com>
 Jia Jia <jia.jia@linaro.org>
 Jian Zhou <zhoujian@google.com>
 Jim Bankoski <jimbankoski@google.com>
+jinbo <jinbo-hf@loongson.cn>
 Jingning Han <jingning@google.com>
+Joel Fernandes <joelaf@google.com>
 Joey Parrish <joeyparrish@google.com>
 Johann Koenig <johannkoenig@google.com>
 John Koleszar <jkoleszar@google.com>
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,33 @@
+2021-03-09 v1.10.0 "Ruddy Duck"
+  This maintenance release adds support for darwin20 and new codec controls, as
+  well as numerous bug fixes.
+
+  - Upgrading:
+    New codec control is added to disable loopfilter for VP9.
+
+    New encoder control is added to disable feature to increase Q on overshoot
+    detection for CBR.
+
+    Configure support for darwin20 is added.
+
+    New codec control is added for VP9 rate control. The control ID of this
+    interface is VP9E_SET_EXTERNAL_RATE_CONTROL. To make VP9 use a customized
+    external rate control model, users will have to implement each callback
+    function in vpx_rc_funcs_t and register them using libvpx API
+    vpx_codec_control_() with the control ID.
+
+  - Enhancement:
+    Use -std=gnu++11 instead of -std=c++11 for c++ files.
+
+  - Bug fixes:
+    Override assembler with --as option of configure for MSVS.
+    Fix several compilation issues with gcc 4.8.5.
+    Fix to resetting rate control for temporal layers.
+    Fix to the rate control stats of SVC example encoder when number of spatial
+    layers is 1.
+    Fix to reusing motion vectors from the base spatial layer in SVC.
+    2 pass related flags removed from SVC example encoder.
+
 2020-07-29 v1.9.0 "Quacking Duck"
   This release adds support for NV12, a separate library for rate control, as
   well as incremental improvements.
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README - 20 July 2020
+README - 08 March 2021
 
 Welcome to the WebM VP8/VP9 Codec SDK!
 
@@ -10,14 +10,14 @@
   1. Prerequisites
 
     * All x86 targets require the Yasm[1] assembler be installed[2].
-    * All Windows builds require that Cygwin[3] be installed.
-    * Building the documentation requires Doxygen[4]. If you do not
+    * All Windows builds require that Cygwin[3] or MSYS2[4] be installed.
+    * Building the documentation requires Doxygen[5]. If you do not
       have this package, the install-docs option will be disabled.
-    * Downloading the data for the unit tests requires curl[5] and sha1sum.
+    * Downloading the data for the unit tests requires curl[6] and sha1sum.
       sha1sum is provided via the GNU coreutils, installed by default on
       many *nix platforms, as well as MinGW and Cygwin. If coreutils is not
       available, a compatible version of sha1sum can be built from
-      source[6]. These requirements are optional if not running the unit
+      source[7]. These requirements are optional if not running the unit
       tests.
 
     [1]: http://www.tortall.net/projects/yasm
@@ -26,9 +26,10 @@
          yasm-<version>-<arch>.exe to yasm.exe and place it in:
          Program Files (x86)/Microsoft Visual Studio/2017/<level>/Common7/Tools/
     [3]: http://www.cygwin.com
-    [4]: http://www.doxygen.org
-    [5]: http://curl.haxx.se
-    [6]: http://www.microbrew.org/tools/md5sha1sum/
+    [4]: http://www.msys2.org/
+    [5]: http://www.doxygen.org
+    [6]: http://curl.haxx.se
+    [7]: http://www.microbrew.org/tools/md5sha1sum/
 
   2. Out-of-tree builds
   Out of tree builds are a supported method of building the application. For
--- a/libs.mk
+++ b/libs.mk
@@ -287,8 +287,20 @@
 LIBS-$(if yes,$(CONFIG_STATIC)) += $(BUILD_PFX)libvpx.a $(BUILD_PFX)libvpx_g.a
 $(BUILD_PFX)libvpx_g.a: $(LIBVPX_OBJS)
 
+# Updating version info.
+# https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
+# For libtool: c=<current>, a=<age>, r=<revision>
+# libtool generates .so file as .so.[c-a].a.r, while -version-info c:r:a is
+# passed to libtool.
+#
+# libvpx library file is generated as libvpx.so.<MAJOR>.<MINOR>.<PATCH>
+# MAJOR = c-a, MINOR = a, PATCH = r
+#
+# To determine SO_VERSION_{MAJOR,MINOR,PATCH}, calculate c,a,r with current
+# SO_VERSION_* then follow the rules in the link to detemine the new version
+# (c1, a1, r1) and set MAJOR to [c1-a1], MINOR to a1 and PATCH to r1
 SO_VERSION_MAJOR := 6
-SO_VERSION_MINOR := 3
+SO_VERSION_MINOR := 4
 SO_VERSION_PATCH := 0
 ifeq ($(filter darwin%,$(TGT_OS)),$(TGT_OS))
 LIBVPX_SO               := libvpx.$(SO_VERSION_MAJOR).dylib