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