Skip to content

Compilation

hwrenx edited this page Aug 3, 2018 · 5 revisions

Windows

Preparations

Use visual studio 2013 or later version

  • *.sh Error
    A shell executor, i.e. the bash in git for windows, is needed and should be found in PATH variable. For example, the path C:\Program Files\Git\bin can be added if git-for-windows is installed.

  • yasm Error
    vsyasm is needed and 1.2.0 is suggested for windows platform. It can be downloaded through: http://yasm.tortall.net/Download.html . A later version 1.3.0 (unofficial revision, please read the instructions of yasm to build it for your work), can be found in https://github.com/luofalei/yasm/tree/vs2013 .

The installation of vsyasm is as follows (if you were using VS2013):

(1) Copy `vsyasm.exe` to the following directory, 
    "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\"
(2)	Copy the other 3 files in `vsyasm` to the `MSBuild template` directorty, as follows, 
    "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\"
(3) Re-open the solution. 

Compilation

  1. Opendavs2/build/vs2013/davs2.sln with VS2013(or later version)
  2. Set davs2 as start project
  3. Compiling

Linux

Preparations

dAVS2 needs support of a series of libs under Linux. Lib asked while compiling should be installed.

Compilation

  1. Step into davs2/build/linux
  2. Run ./confiugre with compile options
  3. Run make
  4. Run make install (optional)

Configure Options

Usage: ./configure [options]

Help:
  -h, --help               print this message

Standard options:
  --prefix=PREFIX          install architecture-independent files in PREFIX
                           [/usr/local]
  --exec-prefix=EPREFIX    install architecture-dependent files in EPREFIX
                           [PREFIX]
  --bindir=DIR             install binaries in DIR [EPREFIX/bin]
  --libdir=DIR             install libs in DIR [EPREFIX/lib]
  --includedir=DIR         install includes in DIR [PREFIX/include]
  --extra-asflags=EASFLAGS add EASFLAGS to ASFLAGS
  --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS
  --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS
  --extra-rcflags=ERCFLAGS add ERCFLAGS to RCFLAGS

Configuration options:
  --disable-cli            disable cli
  --system-libdavs2     use system libdavs2 instead of internal
  --enable-shared          build shared library
  --enable-static          build static library
  --disable-opencl         disable OpenCL features
  --disable-gpl            disable GPL-only features
  --disable-thread         disable multithreaded encoding
  --disable-win32thread    disable win32threads (windows only)
  --disable-interlaced     disable interlaced encoding support
  --bit-depth=BIT_DEPTH    set output bit depth (8-10) [8]
  --chroma-format=FORMAT   output chroma format (420, 422, 444, all) [all]

Advanced options:
  --disable-asm            disable platform-specific assembly optimizations
  --enable-lto             enable link-time optimization
  --enable-debug           add -g
  --enable-gprof           add -pg
  --enable-strip           add -s
  --enable-pic             build position-independent code

Cross-compilation:
  --host=HOST              build programs to run on HOST
  --cross-prefix=PREFIX    use PREFIX for compilation tools
  --sysroot=SYSROOT        root of cross-build tree
Clone this wiki locally