5 kx v1.12.0 Torrent Duck
5 kx
5 kx Welcome to the WebM VP8/VP9 Codec SDK!
5 kx
5 kx COMPILING THE APPLICATIONS/LIBRARIES:
5 kx The build system used is similar to autotools. Building generally consists of
5 kx "configuring" with your desired build options, then using GNU make to build
5 kx the application.
5 kx
5 kx 1. Prerequisites
5 kx
5 kx * All x86 targets require the Yasm[1] assembler be installed[2].
5 kx * All Windows builds require that Cygwin[3] or MSYS2[4] be installed.
5 kx * Building the documentation requires Doxygen[5]. If you do not
5 kx have this package, the install-docs option will be disabled.
5 kx * Downloading the data for the unit tests requires curl[6] and sha1sum.
5 kx sha1sum is provided via the GNU coreutils, installed by default on
5 kx many *nix platforms, as well as MinGW and Cygwin. If coreutils is not
5 kx available, a compatible version of sha1sum can be built from
5 kx source[7]. These requirements are optional if not running the unit
5 kx tests.
5 kx
5 kx [1]: http://www.tortall.net/projects/yasm
5 kx [2]: For Visual Studio the base yasm binary (not vsyasm) should be in the
5 kx PATH for Visual Studio. For VS2017 it is sufficient to rename
5 kx yasm-<version>-<arch>.exe to yasm.exe and place it in:
5 kx Program Files (x86)/Microsoft Visual Studio/2017/<level>/Common7/Tools/
5 kx [3]: http://www.cygwin.com
5 kx [4]: http://www.msys2.org/
5 kx [5]: http://www.doxygen.org
5 kx [6]: http://curl.haxx.se
5 kx [7]: http://www.microbrew.org/tools/md5sha1sum/
5 kx
5 kx 2. Out-of-tree builds
5 kx Out of tree builds are a supported method of building the application. For
5 kx an out of tree build, the source tree is kept separate from the object
5 kx files produced during compilation. For instance:
5 kx
5 kx $ mkdir build
5 kx $ cd build
5 kx $ ../libvpx/configure <options>
5 kx $ make
5 kx
5 kx 3. Configuration options
5 kx The 'configure' script supports a number of options. The --help option can be
5 kx used to get a list of supported options:
5 kx $ ../libvpx/configure --help
5 kx
5 kx 4. Compiler analyzers
5 kx Compilers have added sanitizers which instrument binaries with information
5 kx about address calculation, memory usage, threading, undefined behavior, and
5 kx other common errors. To simplify building libvpx with some of these features
5 kx use tools/set_analyzer_env.sh before running configure. It will set the
5 kx compiler and necessary flags for building as well as environment variables
5 kx read by the analyzer when testing the binaries.
5 kx $ source ../libvpx/tools/set_analyzer_env.sh address
5 kx
5 kx 5. Cross development
5 kx For cross development, the most notable option is the --target option. The
5 kx most up-to-date list of supported targets can be found at the bottom of the
5 kx --help output of the configure script. As of this writing, the list of
5 kx available targets is:
5 kx
5 kx arm64-android-gcc
5 kx arm64-darwin-gcc
5 kx arm64-darwin20-gcc
5 kx arm64-linux-gcc
5 kx arm64-win64-gcc
5 kx arm64-win64-vs15
5 kx armv7-android-gcc
5 kx armv7-darwin-gcc
5 kx armv7-linux-rvct
5 kx armv7-linux-gcc
5 kx armv7-none-rvct
5 kx armv7-win32-gcc
5 kx armv7-win32-vs14
5 kx armv7-win32-vs15
5 kx armv7s-darwin-gcc
5 kx armv8-linux-gcc
5 kx mips32-linux-gcc
5 kx mips32r2-linux-gcc
5 kx mips32r5-linux-gcc
5 kx mips64-linux-gcc
5 kx ppc64le-linux-gcc
5 kx riscv64-linux-gcc
5 kx sparc-solaris-gcc
5 kx x86-android-gcc
5 kx x86-darwin8-gcc
5 kx x86-darwin8-icc
5 kx x86-darwin9-gcc
5 kx x86-darwin9-icc
5 kx x86-darwin10-gcc
5 kx x86-darwin11-gcc
5 kx x86-darwin12-gcc
5 kx x86-darwin13-gcc
5 kx x86-darwin14-gcc
5 kx x86-darwin15-gcc
5 kx x86-darwin16-gcc
5 kx x86-darwin17-gcc
5 kx x86-iphonesimulator-gcc
5 kx x86-linux-gcc
5 kx x86-linux-icc
5 kx x86-os2-gcc
5 kx x86-solaris-gcc
5 kx x86-win32-gcc
5 kx x86-win32-vs14
5 kx x86-win32-vs15
5 kx x86-win32-vs16
5 kx x86-win32-vs17
5 kx x86_64-android-gcc
5 kx x86_64-darwin9-gcc
5 kx x86_64-darwin10-gcc
5 kx x86_64-darwin11-gcc
5 kx x86_64-darwin12-gcc
5 kx x86_64-darwin13-gcc
5 kx x86_64-darwin14-gcc
5 kx x86_64-darwin15-gcc
5 kx x86_64-darwin16-gcc
5 kx x86_64-darwin17-gcc
5 kx x86_64-darwin18-gcc
5 kx x86_64-darwin19-gcc
5 kx x86_64-darwin20-gcc
5 kx x86_64-iphonesimulator-gcc
5 kx x86_64-linux-gcc
5 kx x86_64-linux-icc
5 kx x86_64-solaris-gcc
5 kx x86_64-win64-gcc
5 kx x86_64-win64-vs14
5 kx x86_64-win64-vs15
5 kx x86_64-win64-vs16
5 kx x86_64-win64-vs17
5 kx generic-gnu
5 kx
5 kx The generic-gnu target, in conjunction with the CROSS environment variable,
5 kx can be used to cross compile architectures that aren't explicitly listed, if
5 kx the toolchain is a cross GNU (gcc/binutils) toolchain. Other POSIX toolchains
5 kx will likely work as well. For instance, to build using the mipsel-linux-uclibc
5 kx toolchain, the following command could be used (note, POSIX SH syntax, adapt
5 kx to your shell as necessary):
5 kx
5 kx $ CROSS=mipsel-linux-uclibc- ../libvpx/configure
5 kx
5 kx In addition, the executables to be invoked can be overridden by specifying the
5 kx environment variables: CC, AR, LD, AS, STRIP, NM. Additional flags can be
5 kx passed to these executables with CFLAGS, LDFLAGS, and ASFLAGS.
5 kx
5 kx 6. Configuration errors
5 kx If the configuration step fails, the first step is to look in the error log.
5 kx This defaults to config.log. This should give a good indication of what went
5 kx wrong. If not, contact us for support.
5 kx
5 kx VP8/VP9 TEST VECTORS:
5 kx The test vectors can be downloaded and verified using the build system after
5 kx running configure. To specify an alternate directory the
5 kx LIBVPX_TEST_DATA_PATH environment variable can be used.
5 kx
5 kx $ ./configure --enable-unit-tests
5 kx $ LIBVPX_TEST_DATA_PATH=../libvpx-test-data make testdata
5 kx
5 kx CODE STYLE:
5 kx The coding style used by this project is enforced with clang-format using the
5 kx configuration contained in the .clang-format file in the root of the
5 kx repository.
5 kx
5 kx Before pushing changes for review you can format your code with:
5 kx # Apply clang-format to modified .c, .h and .cc files
5 kx $ clang-format -i --style=file \
5 kx $(git diff --name-only --diff-filter=ACMR '*.[hc]' '*.cc')
5 kx
5 kx Check the .clang-format file for the version used to generate it if there is
5 kx any difference between your local formatting and the review system.
5 kx
5 kx See also: http://clang.llvm.org/docs/ClangFormat.html
5 kx
5 kx SUPPORT
5 kx This library is an open source project supported by its community. Please
5 kx email webm-discuss@webmproject.org for help.
5 kx