Index: README.chromium |
=================================================================== |
--- README.chromium (revision 41250) |
+++ README.chromium (working copy) |
@@ -24,27 +24,23 @@ |
Steps for extracting: |
1) Extract ffmpeg-mt, which creates the directory ffmpeg-mt: |
- tar xzvf ffmpeg-mt.tar.gz |
- 2) Descend into the newly created ffmpeg-mt directory: |
- cd ffmpeg-mt |
+ tar xf ffmpeg-mt.tar.gz |
3) Extract libswscale in place: |
- tar xzvf ../libswscale.tar.gz |
+ cd ffmpeg-mt |
+ tar xf ../libswscale.tar.gz |
4) Apply the static_pthread_O2.patch: |
patch -p1 < ../patches/to_upstream/01_static_pthread_O2.patch |
5) Apply additional security patches: |
patch -p1 < ../patches/to_upstream/02_mov_dref_looping.patch |
- patch -p1 < ../patches/to_upstream/03_aac_zero_bands.patch |
patch -p1 < ../patches/to_upstream/04_mpeg4_video_to_elementary_stream.patch |
patch -p1 < ../patches/to_upstream/05_vc1_bsfs.patch |
patch -p1 < ../patches/to_upstream/06_respect_flac_dirac_configure.patch |
patch -p1 < ../patches/to_upstream/08_ogg_seek_missing_first_frame.patch |
patch -p1 < ../patches/to_upstream/09_remove_decode_on_config_no_svq3.patch |
- patch -p1 < ../patches/to_upstream/10_resolve_text_relocations.patch |
patch -p1 < ../patches/ugly/13_get_bits_overrun.patch |
patch -p1 < ../patches/ugly/14_enforce_theora_oob.patch |
- patch -p1 < ../patches/ugly/15_enforce_vorbis_oob.patch |
- patch -p1 < ../patches/ugly/16_avoid_floor_divzero.patch |
- patch -p1 < ../patches/ugly/17_aac_oob_read.patch |
+ patch -p1 < ../patches/ugly/15_enforce_vorbis_oob_divzero.patch |
+ patch -p1 < ../patches/ugly/16_aac_oob_read.patch |
There is also a script "make_src_tree.sh" that automates most of the steps |
above for you. It is currently only tested on linux. |
@@ -60,27 +56,27 @@ |
./configure --disable-ffmpeg --disable-ffplay --disable-ffserver \ |
--enable-shared --disable-static --disable-debug \ |
- --disable-network --disable-encoders --disable-decoders \ |
- --disable-hwaccels --disable-muxers --disable-demuxers \ |
- --disable-parsers --disable-bsfs --disable-protocols \ |
- --disable-devices --disable-filters --disable-gpl \ |
- --enable-decoder=theora --enable-decoder=vorbis \ |
- --enable-demuxer=ogg --enable-pthreads --enable-yasm \ |
- --prefix=./chromium-ffmpeg |
+ --disable-network --disable-encoders --disable-decoders \ |
+ --disable-hwaccels --disable-muxers --disable-demuxers \ |
+ --disable-parsers --disable-bsfs --disable-protocols \ |
+ --disable-devices --disable-filters --disable-gpl \ |
+ --enable-decoder=theora --enable-decoder=vorbis \ |
+ --enable-demuxer=ogg --enable-pthreads --enable-yasm \ |
+ --prefix=./chromium-ffmpeg |
The following flags are used for Google Chrome, which also include non-free |
decoders (H.264, AAC and MP3): |
./configure --disable-ffmpeg --disable-ffplay --disable-ffserver \ |
--enable-shared --disable-static --disable-debug \ |
- --disable-network --disable-encoders --disable-decoders \ |
- --disable-hwaccels --disable-muxers --disable-demuxers \ |
- --disable-parsers --disable-bsfs --disable-protocols \ |
- --disable-devices --disable-filters --disable-gpl \ |
+ --disable-network --disable-encoders --disable-decoders \ |
+ --disable-hwaccels --disable-muxers --disable-demuxers \ |
+ --disable-parsers --disable-bsfs --disable-protocols \ |
+ --disable-devices --disable-filters --disable-gpl \ |
--enable-decoder=theora --enable-decoder=vorbis \ |
- --enable-demuxer=ogg --enable-decoder=aac --enable-decoder=h264 \ |
- --enable-decoder=mp3 --enable-demuxer=mp3 --enable-demuxer=mov \ |
- --enable-parser=mpegaudio --enable-pthreads --enable-yasm \ |
- --prefix=./chrome-ffmpeg |
+ --enable-demuxer=ogg --enable-decoder=aac --enable-decoder=h264 \ |
+ --enable-decoder=mp3 --enable-demuxer=mp3 --enable-demuxer=mov \ |
+ --enable-parser=mpegaudio --enable-pthreads --enable-yasm \ |
+ --prefix=./chrome-ffmpeg |
If building on Windows with Chromium's MinGW/MSYS environment, add the following: |
--target-os=mingw32 --enable-memalign-hack --cc=gcc-sjlj |