Indian Runner Duck Release

1,508 views
Skip to first unread message

Johann Koenig

unread,
Apr 3, 2015, 5:09:36 PM4/3/15
to codec...@webmproject.org

libvpx is long overdue for a release. We have made 1.4.0 available for download[0] and in the indianrunnerduck branch. Much like the Indian Runner Duck, the theme of this release is less bugs, less bloat and more speed.


This release is ABI incompatible with 1.3.0. It drops the compatibility layer, requiring VPX_IMG_FMT_* instead of IMG_FMT_*, and adds several codec controls for VP9. Most of these incompatibilities can be easily resolved for downstream projects[1] since the API has no significant changes. obj_int_extract has been removed[2], making integrating libvpx into your build system much simpler.


Changes since the Release Candidate include fixes to the scaling in the joint motion search[3] and the ARM high bit depth build[4]. A bug in the Frame Parallel decoder for high bit depth material was discovered[5] and is fixed in master but will not make this release.


As always, please continue to test with your systems and let us know via the bug tracker[6] or the mailing list[7] if you encounter any issues.


What’s new?

  • Fixes a VP9 bitstream issue in Profile 1. This only affects non-YUV 4:2:0 files.

  • Significant algorithmic improvements to VP9 encoding, support for YUV 4:2:2 and 4:4:4 colorspaces as well as high bit depth (10 and 12 bit)

  • More functions are now optimized for VP9 encoding and decoding

  • VP9 encodes are faster with multithreaded encoding on by default. There is also an updated wiki page discussing recommended encode options[8].

  • VP9 decoder now has two multithreaded modes: tile based and frame based. The encoder now enables these by default to help ensure your encoded content will be able to take advantage of these modes.

  • 64bit support for ARM thanks to intrinsics instead of ARM assembly.


What’s not in this release?

  • Work is ongoing for VP9 realtime encoding and while much of it is available in this release we encourage people interested in this use-case to check out tip of tree for the latest improvements.

  • The API is finalized for frame parallel multithreaded decoding and we encourage interested folks to experiment with it and report any issues you encounter. However, there are known issues with high bit depth files and non-420 content.


[0] http://downloads.webmproject.org/releases/webm/index.html

[1] https://bugzilla.gnome.org/show_bug.cgi?id=739476

[2] https://code.google.com/p/webm/issues/detail?id=710

[3] https://gerrit.chromium.org/gerrit/74184

[4] https://gerrit.chromium.org/gerrit/74237

[5] https://code.google.com/p/webm/issues/detail?id=981

[6] https://code.google.com/p/webm/issues/list

[7] https://groups.google.com/a/webmproject.org/forum/#!forum/codec-devel

[8] http://wiki.webmproject.org/ffmpeg/vp9-encoding-guide

Timothy B. Terriberry

unread,
Apr 3, 2015, 5:20:15 PM4/3/15
to codec...@webmproject.org
'Johann Koenig' via Codec Developers wrote:
> changes. obj_int_extract has been removed[2], making integrating libvpx
> into your build system much simpler.

\o/

> *
>
> 64bit support for ARM thanks to intrinsics instead of ARM assembly.

How have you found these to perform, generally? From talking with some
folks at Linaro, it seems gcc 4.9's support is still rather sub-optimal
on aarch64 (though obviously they want to improve that).

Johann Koenig

unread,
Apr 4, 2015, 3:05:26 AM4/4/15
to codec...@webmproject.org
Linaro contributed the vast majority of the assembly->intrinsics
conversion[0]. For most functions on 32bit it was within a few
percent. Some were even faster. For 64bit we never had assembly so
everything was an improvement. I really enjoy having one source file
for both but we're bound to run into limitations of the compiler. Many
of those limitations have been fixed and I'd like to see even more
attention on the intrinsics. They have the potential to be
significantly better than the assembly.

Ittiam has been getting better performance for some functions with assembly[1]

[0] https://gerrit.chromium.org/gerrit/#/q/owner:%22James+Yu%22,n,z
[1] https://github.com/ittiamvpx/libvpx/commits/master

smar...@gmail.com

unread,
Apr 4, 2015, 10:39:48 AM4/4/15
to codec...@webmproject.org


On Friday, April 3, 2015 at 11:09:36 PM UTC+2, Johann wrote:

libvpx is long overdue for a release. We have made 1.4.0 available for download[0] and in the indianrunnerduck branch. Much like the Indian Runner Duck, the theme of this release is less bugs, less bloat and more speed.

Great!
 

Changes since the Release Candidate include fixes to the scaling in the joint motion search[3] and the ARM high bit depth build[4]. A bug in the Frame Parallel decoder for high bit depth material was discovered[5] and is fixed in master but will not make this release.

Do you plan to make more frequent releases from now on?

j...@v2v.cc

unread,
Apr 4, 2015, 10:51:08 AM4/4/15
to codec...@webmproject.org
On 04/03/2015 11:09 PM, 'Johann Koenig' via Codec Developers wrote:
> libvpx is long overdue for a release. We have made 1.4.0 available for
> download[0] and in the indianrunnerduck branch. Much like the Indian
> Runner Duck <http://en.wikipedia.org/wiki/Indian_Runner_duck>, the theme
> of this release is less bugs, less bloat and more speed.

Great to see 1.4.0 released. Are there plans to also release tarballs
with bug fixes this time?

Like 1.4.1, 1.4.2 etc. 1.3 had fixes like that but sadly there was never
a 1.3.1 tarball/tag. This made it more complicated for Linux
distributions and other parties to know what a good point to update was.

and a note about some outdated links:

Downloads at the bottom of http://www.webmproject.org/ and
http://www.webmproject.org/code/releases/ still link to the old location
on code.google.com instead of
http://downloads.webmproject.org/releases/webm/index.html


Johann Koenig

unread,
Apr 6, 2015, 8:14:26 AM4/6/15
to codec...@webmproject.org
On Sat, Apr 4, 2015 at 10:39 AM, <smar...@gmail.com> wrote:
> Do you plan to make more frequent releases from now on?

Yes

Johann Koenig

unread,
Apr 6, 2015, 8:15:45 AM4/6/15
to codec...@webmproject.org
On Sat, Apr 4, 2015 at 10:51 AM, <j...@v2v.cc> wrote:
> Great to see 1.4.0 released. Are there plans to also release tarballs with
> bug fixes this time?

If there are issues which warrant it, yes.

Anil

unread,
May 5, 2015, 5:33:03 PM5/5/15
to codec...@webmproject.org
Is 64bit Android build supported?
Running the configure command, I don't see aarch64 in the list of android targets
I am guessing arm64-darwin-gcc is for 64bit ios build

Supported targets:
    armv6-darwin-gcc         armv6-linux-rvct         armv6-linux-gcc
    armv6-none-rvct
    arm64-darwin-gcc
    armv7-android-gcc        armv7-darwin-gcc         armv7-linux-rvct
    armv7-linux-gcc          armv7-none-rvct          armv7-win32-vs11
    armv7-win32-vs12
    armv7s-darwin-gcc

Thanks
Anil



Johann Koenig

unread,
May 7, 2015, 7:22:09 PM5/7/15
to codec...@webmproject.org
On Tue, May 5, 2015 at 2:33 PM, Anil <asunil....@gmail.com> wrote:
> Is 64bit Android build supported?

Kind of - you can --force-target=arm64-android-gcc but there might be
some build system bugs.
Reply all
Reply to author
Forward
0 new messages