chromium/third_party/libvpx/README.chromium

Name: libvpx
URL: https://chromium.googlesource.com/webm/libvpx
Version: N/A
Revision: fbf63dff1f528d44f24bd662abb89fd01a4a1c25
CPEPrefix: cpe:/a:webmproject:libvpx:1.14.1
License: BSD
License File: source/libvpx/LICENSE
Security Critical: yes
Shipped: yes

Description:
Contains the sources used to compile libvpx binaries used by Google Chrome and
Chromium.

The libvpx source is from webmproject.org:
  https://www.webmproject.org/code/

Please follow these steps to update libvpx source code:

1. Update the code:
     roll_dep.py \
       -r <libvpx OWNER> \
       --log-limit 20 \
       --roll-to <libvpx hash> \
       src/third_party/libvpx/source/libvpx

   Use the generated commit message for the roll.

2. Generate .gni and config files:

     cd third_party/libvpx
     ./generate_gni.sh

   Update 'Revision' and 'CPEPrefix' in this file if necessary.

3. Amend the commit created by the first step:

     git commit -a --amend

   Add `Bug: b:308446709` to the commit message.

4. Upload the change to Gerrit:

     git cl upload

   Run tryjobs:

     git cl try

5. Send out for review when all tryjobs pass. Submit it when +1 is granted.

Tools needed to build libvpx:

- generate_gni.sh

Generate config and .gni 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.

The PGO (Profile-Guided Optimization) test cases located in the tests/pgo
directory require a set of test data. To download this test data, execute
the following command:

     python3 ./source/libvpx/test/android/get_files.py \
       -i tests/pgo/pgo-test-data.sha1 \
       -o ../../out/Default/ \
       -u http://downloads.webmproject.org/test_data/libvpx