2015-11-12 11:37:51 +03:00
|
|
|
This directory contains files used in gecko builds from FFmpeg
|
2015-12-03 16:43:47 +03:00
|
|
|
(http://ffmpeg.org). The current files are from FFmpeg as of
|
2017-10-24 22:44:23 +03:00
|
|
|
revision n3.4-1-g587fadaef1
|
2015-11-12 11:37:51 +03:00
|
|
|
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.
|
2015-11-17 09:47:36 +03:00
|
|
|
|
2016-02-16 04:05:12 +03:00
|
|
|
AVX2 must be disabled on Linux due to the use of yasm 1.1 on the build bots.
|
2015-11-17 09:47:36 +03:00
|
|
|
Once yasm is upgraded to 1.2 or later, AVX2 code could be re-enabled.
|
2016-02-16 04:05:12 +03:00
|
|
|
Add --disable-avx2 to configure on those platforms.
|
2015-12-03 16:44:57 +03:00
|
|
|
|
|
|
|
configuration files were generated as follow using the configure script:
|
2017-10-30 19:36:39 +03:00
|
|
|
./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-yasm
|
2015-12-03 16:44:57 +03:00
|
|
|
|
2016-04-09 13:48:50 +03:00
|
|
|
config*:
|
|
|
|
replace: /HAVE_(MALLOC_H|ARC4RANDOM|LOCALTIME_R|MEMALIGN|POSIX_MEMALIGN)/d
|
|
|
|
|
2015-12-03 16:44:57 +03:00
|
|
|
config_darwin32.h:
|
|
|
|
add to configure command: --disable-asm --disable-yasm --cc='clang -m32'
|
|
|
|
|
|
|
|
config_unix32.h:
|
|
|
|
add to configure command: --disable-asm --disable-yasm --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_unix64.h/config_unix64.asm:
|
|
|
|
replace: s/HAVE_SYSCTL 1/HAVE_SYSCTL 0
|
|
|
|
|
|
|
|
config_win32/64.h/asm:
|
|
|
|
add to configure command: --toolchain=msvc
|
2017-10-24 22:44:23 +03:00
|
|
|
|
|
|
|
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.
|
2017-10-26 13:55:35 +03:00
|
|
|
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.
|
2017-10-24 22:44:23 +03:00
|
|
|
|
|
|
|
Compilation will reveal if any files are missing.
|