diff options
author | Moonchild <mcwerewolf@gmail.com> | 2018-04-27 19:15:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-27 19:15:26 +0200 |
commit | c75dae3ed21bfa5a8ae46cd83d18329af5bea05a (patch) | |
tree | ef657c38feb2368a3c86765778d1f068aa5eb614 /media/ffvpx/README_MCP | |
parent | c82c6d960a7f19d6595171f9705c43514f20c1ec (diff) | |
parent | 6ada4b14e4cfc91f5f1b2556623cab691f3ab813 (diff) | |
download | UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar.gz UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar.lz UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar.xz UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.zip |
Merge pull request #275 from trav90/ffvpx-resync
Resync ffvpx code with 3.4.2-release from upstream
Diffstat (limited to 'media/ffvpx/README_MCP')
-rw-r--r-- | media/ffvpx/README_MCP | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/media/ffvpx/README_MCP b/media/ffvpx/README_MCP new file mode 100644 index 000000000..4555e08da --- /dev/null +++ b/media/ffvpx/README_MCP @@ -0,0 +1,48 @@ +This directory contains files used in goanna builds from FFmpeg +(http://ffmpeg.org). The current files are from FFmpeg as of +Release 3.4.2 +All source files match their path from the library's source archive. + +Currently, we only use the vp8 and vp9 portion of the library, and only on x86 +based platforms. If this changes, configuration files will most likely +need to be updated. + +AVX2 must be disabled on Linux 32 bits due to the use of yasm 1.1 on the build bots. +Once yasm is upgraded to 1.2 or later, AVX2 code could be re-enabled. +Add --disable-avx2 to configure on those platforms. + +configuration files were generated as follow using the configure script: +./configure --disable-everything --disable-protocols --disable-demuxers --disable-muxers --disable-filters --disable-programs --disable-doc --disable-parsers --enable-parser=vp8 --enable-parser=vp9 --enable-decoder=vp8 --enable-decoder=vp9 --disable-static --enable-shared --disable-debug --disable-sdl2 --disable-libxcb --disable-securetransport --disable-iconv --disable-swresample --disable-swscale --disable-avdevice --disable-avfilter --disable-avformat --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --enable-decoder=flac --enable-asm --enable-x86asm + +config*: +replace: /HAVE_(MALLOC_H|ARC4RANDOM|LOCALTIME_R|MEMALIGN|POSIX_MEMALIGN)/d + +config_darwin32.h: +add to configure command: --disable-asm --disable-yasm --cc='clang -m32' + +config_unix32.h: +add to configure command: --disable-asm --disable-x86asm --cc='clang -m32' +replace: s/HAVE_SYSCTL 1/HAVE_SYSCTL 0/ and s/HAVE_MEMALIGN 1/HAVE_MEMALIGN 0/ and s/HAVE_POSIX_MEMALIGN 1/HAVE_POSIX_MEMALIGN 0/ + + +config_unix32.h/config_unix64.h/config_unix64.asm: +replace: s/HAVE_SYSCTL 1/HAVE_SYSCTL 0 + +config_win32/64.h/asm: +add to configure command: --toolchain=msvc + +Regenerate defaults_disabled.{h,asm} with: +$ grep -E ".*_(INDEV|OUTDEV|DECODER|ENCODER|DEMUXER|MUXER|PARSER|FILTER|HWACCEL|PROTOCOL|ENCODERS|DECODERS|HWACCELS|INDEVS|OUTDEVS|FILTERS|DEMUXERS|MUXERS|PROTOCOLS) 0" config.h > ~/Work/Mozilla/mozilla-central/media/ffvpx/defaults_disabled.h +$ grep -E ".*_(INDEV|OUTDEV|DECODER|ENCODER|DEMUXER|MUXER|PARSER|FILTER|HWACCEL|PROTOCOL|ENCODERS|DECODERS|HWACCELS|INDEVS|OUTDEVS|FILTERS|DEMUXERS|MUXERS|PROTOCOLS) 0" config.asm > ~/Work/Mozilla/mozilla-central/media/ffvpx/defaults_disabled.asm + +All new decoders/muxers/encoders/... should be added in the list of dummy functions found in libavcodec/dummy_funcs.c +otherwise linkage will fail on Windows. On other platforms they are optimised out and aren't necessary. +The GNU comm utility is a useful tool to compare and extract only the changes. + +To update the source tree, perform a diff on the files listed in FILES. +The diffs should typically apply to the ffvpx tree. +e.g. something like this would do: +Run in the ffmpeg original tree: +$ for i in `cat $PATH_CENTRAL/media/ffvpx/FILES`; do diff $REV_LASTSYNC HEAD >> patch.diff; done +Then apply patch.diff on the ffvpx tree. +Compilation will reveal if any files are missing. |