ref: d55cab425d57b7e73894ac62e28ac505b6b4d6f1
parent: 90c1cc651592f2dbad517ceb65dc0c0fef3d0dbc
parent: b41ffb53f1000ab2227c1736d8c1355aa5081c40
author: Jerome Jiang <[email protected]>
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 <[email protected]>
Erik Niemeyer <[email protected]> <[email protected]>
Fyodor Kyslov <[email protected]>
+Gregor Jasny <[email protected]>
+Gregor Jasny <[email protected]> <[email protected]>
Guillaume Martres <[email protected]> <[email protected]>
Hangyu Kuang <[email protected]>
Hui Su <[email protected]>
--- a/AUTHORS
+++ b/AUTHORS
@@ -37,6 +37,7 @@
Clement Courbet <[email protected]>
Daniele Castagna <[email protected]>
Daniel Kang <[email protected]>
+Daniel Sommermann <[email protected]>
Dan Zhu <[email protected]>
Deb Mukherjee <[email protected]>
Deepa K G <[email protected]>
@@ -73,6 +74,7 @@
Jacek Caban <[email protected]>
Jacky Chen <[email protected]>
James Berry <[email protected]>
+James Touton <[email protected]>
James Yu <[email protected]>
James Zern <[email protected]>
Jan Gerber <[email protected]>
@@ -82,11 +84,14 @@
Jeff Faust <[email protected]>
Jeff Muizelaar <[email protected]>
Jeff Petkau <[email protected]>
+Jeremy Leconte <[email protected]>
Jerome Jiang <[email protected]>
Jia Jia <[email protected]>
Jian Zhou <[email protected]>
Jim Bankoski <[email protected]>
+jinbo <[email protected]>
Jingning Han <[email protected]>
+Joel Fernandes <[email protected]>
Joey Parrish <[email protected]>
Johann Koenig <[email protected]>
John Koleszar <[email protected]>
--- 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