Name: libvpx
URL: http://www.webmproject.org
Version: v1.5.0
License: BSD
License File: libvpx/LICENSE

Date: Thursday November 19 2015
Branch: javanwhistlingduck
Commit: cbecf57f3e0d85a7b7f97f3ab7c507f6fe640a93

Description:
Contains the sources used to compile libvpx.

The libvpx source is from webmproject.org:
  https://chromium.googlesource.com/webm/libvpx

Notes on updating libvpx source code:

Please follow these steps to update libvpx source code:

1. Update libvpx source tree. Look for "Current HEAD: <hash>" output to update
   README.android. Look for "git log from upstream: <git log>" output to add
   to the commit message.

   ./update_libvpx.sh [branch name]

2. Generate updated .gypi and config files.

   ./generate_config.sh

3. Update this file with any Version, Date, Branch, or Commit changes. The
   version is in the file source/config/vpx_version.h

4. Remove the following unwanted files/directories:
   * external/libvpx/libvpx/vp10

5. Commit the changes. The commit message should look like this and is printed
   by update_libvpx.sh:
   libvpx: Pull from upstream

   Current HEAD: <hash>

   git log from upstream:
   a6b2070 <git commit message 1>
   08dabbc <git commit message 2>
   c29fb02 <git commit message 3>

Tools needed to build libvpx:

- generate_config.sh

Generate config files that contain the source list for each platform.
Configuration for the build is taken from vpx_config.h for each platform.

- lint_config.sh

A tool to verify vpx_config.h and vpx_config.asm are matched. This also
prints the final configuration after checking.

