| OLD | NEW |
| 1 Contains the sources used to compile FFmpeg binaries used by Google Chrome and | 1 Contains the sources used to compile FFmpeg binaries used by Google Chrome and |
| 2 Chromium. | 2 Chromium. |
| 3 | 3 |
| 4 The FFmpeg source is from Alexander Strange's ffmpeg-mt branch: | 4 The FFmpeg source is from Alexander Strange's ffmpeg-mt branch: |
| 5 git://gitorious.org/~astrange/ffmpeg/ffmpeg-mt.git | 5 git://gitorious.org/~astrange/ffmpeg/ffmpeg-mt.git |
| 6 | 6 |
| 7 Date: Monday June 16 2010 | 7 Date: Monday June 23 2010 |
| 8 Commit: febe154099b8f31817e8c047cb3c8dee51b52117 | 8 Commit: 7e928f69148f6c90d35715f4380accb6fc4e88c4 |
| 9 This corresponds to 23596 in the mainline ffmpeg repository. | 9 This corresponds to 23671 in the mainline ffmpeg repository. |
| 10 | 10 |
| 11 The libswscale source is from the public libswscale repository: | 11 The libswscale source is from the public libswscale repository: |
| 12 git://git.ffmpeg.org/libswscale | 12 git://git.ffmpeg.org/libswscale |
| 13 Date: Monday June 16 2010 | 13 Date: Monday June 23 2010 |
| 14 Commit: 0eac904069b4398edd7d57784eb56883b26ee380 | 14 Commit: 0eac904069b4398edd7d57784eb56883b26ee380 |
| 15 | 15 |
| 16 libvpx source | 16 libvpx source |
| 17 http://webm.googlecode.com/files/libvpx-0.9.1.zip | 17 http://webm.googlecode.com/files/libvpx-0.9.1.zip |
| 18 Date: Monday June 17 2010 | 18 Date: Monday June 17 2010 |
| 19 | 19 |
| 20 The static_pthread_O2.patch does two things. First, it uses -O2 instead of | 20 The static_pthread_O2.patch does two things. First, it uses -O2 instead of |
| 21 -O3 to build ffmpeg. This yields a significant savings in binary size, and | 21 -O3 to build ffmpeg. This yields a significant savings in binary size, and |
| 22 also improve performance (lower CPU usage) on Pentium4 and Core. | 22 also improve performance (lower CPU usage) on Pentium4 and Core. |
| 23 Second, the patch adds a modification that statically links pthreadGC2 | 23 Second, the patch adds a modification that statically links pthreadGC2 |
| 24 into avcodec-52.dll on an MSYS/MinGW build in Windows. This reduces the | 24 into avcodec-52.dll on an MSYS/MinGW build in Windows. This reduces the |
| 25 number of DLLs required for distribution, and lowers the total size of the | 25 number of DLLs required for distribution, and lowers the total size of the |
| 26 binaries. | 26 binaries. |
| 27 | 27 |
| 28 Steps for extracting: | 28 Steps for extracting: |
| 29 # 1) Extract ffmpeg-mt, which creates the directory ffmpeg-mt: | 29 # 1) Extract ffmpeg-mt, which creates the directory ffmpeg-mt: |
| 30 cd /cygdrive/c/src/chromium/deps/third_party/ffmpeg |
| 30 rm -rf ffmpeg-mt | 31 rm -rf ffmpeg-mt |
| 31 tar xf ffmpeg-mt.tar.gz | 32 tar xf ffmpeg-mt.tar.gz |
| 32 # 2) Extract libswscale in place: | 33 # 2) Extract libswscale in place: |
| 33 cd ffmpeg-mt | 34 cd ffmpeg-mt |
| 34 tar xf ../libswscale.tar.gz | 35 tar xf ../libswscale.tar.gz |
| 35 # 3) Apply patches: | 36 # 3) Apply patches: |
| 36 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/01_static_pthr
ead_O2.patch | 37 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/01_static_pthr
ead_O2.patch |
| 37 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/02_mov_dref_lo
oping.patch | 38 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/02_mov_dref_lo
oping.patch |
| 38 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/03_mpeg4_video
_to_elementary_stream.patch | 39 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/03_mpeg4_video
_to_elementary_stream.patch |
| 39 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/04_vc1_bsfs.pa
tch | 40 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/04_vc1_bsfs.pa
tch |
| 40 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/05_respect_fla
c_dirac_configure.patch | 41 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/05_respect_fla
c_dirac_configure.patch |
| 41 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/06_remove_deco
de_on_config_no_svq3.patch | 42 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/06_remove_deco
de_on_config_no_svq3.patch |
| 42 patch -p1 --no-backup-if-mismatch < ../patches/ugly/07_get_bits_overrun.p
atch | 43 patch -p1 --no-backup-if-mismatch < ../patches/ugly/07_get_bits_overrun.p
atch |
| 43 patch -p1 --no-backup-if-mismatch < ../patches/ugly/08_enforce_theora_oob
.patch | 44 patch -p1 --no-backup-if-mismatch < ../patches/ugly/08_enforce_theora_oob
.patch |
| 44 patch -p1 --no-backup-if-mismatch < ../patches/ugly/09_enforce_vorbis_oob
_divzero.patch | 45 patch -p1 --no-backup-if-mismatch < ../patches/ugly/09_enforce_vorbis_oob
_divzero.patch |
| 45 patch -p1 --no-backup-if-mismatch < ../patches/ugly/10_aac_oob_read.patch | 46 patch -p1 --no-backup-if-mismatch < ../patches/ugly/10_aac_oob_read.patch |
| 46 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/12_vp3_key_fra
me_after_flush.patch | 47 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/11_mkv_buffer_
overflow.patch |
| 47 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/15_mkv_buffer_
overflow.patch | |
| 48 cd .. | 48 cd .. |
| 49 | 49 |
| 50 There is also a script "make_src_tree.sh" that automates most of the steps | 50 There is also a script "make_src_tree.sh" that automates most of the steps |
| 51 above for you. It is currently only tested on linux. | 51 above for you. It is currently only tested on linux. |
| 52 | 52 |
| 53 NOTE: Under Windows it is recommended to use Chromium's MinGW/MSYS environment | 53 NOTE: Under Windows it is recommended to use Chromium's MinGW/MSYS environment |
| 54 or 7-Zip to extract the archives. We've experienced issues when using WinRAR. | 54 or 7-Zip to extract the archives. We've experienced issues when using WinRAR. |
| 55 | 55 |
| 56 Since FFmpeg is sandboxed inside the render process, we're only interested in | 56 Since FFmpeg is sandboxed inside the render process, we're only interested in |
| 57 building the absolute minimum. | 57 building the absolute minimum. |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 rm -rf orig | 196 rm -rf orig |
| 197 cp -R ffmpeg-mt orig | 197 cp -R ffmpeg-mt orig |
| 198 cd ffmpeg-mt | 198 cd ffmpeg-mt |
| 199 patch -p1 --no-backup-if-mismatch < ../patches/ugly/10_aac_oob_read.patch | 199 patch -p1 --no-backup-if-mismatch < ../patches/ugly/10_aac_oob_read.patch |
| 200 cd .. | 200 cd .. |
| 201 diff -rpu -N orig ffmpeg-mt | 201 diff -rpu -N orig ffmpeg-mt |
| 202 diff -rpu -N orig ffmpeg-mt >patches/ugly/10_aac_oob_read.patch | 202 diff -rpu -N orig ffmpeg-mt >patches/ugly/10_aac_oob_read.patch |
| 203 rm -rf orig | 203 rm -rf orig |
| 204 cp -R ffmpeg-mt orig | 204 cp -R ffmpeg-mt orig |
| 205 cd ffmpeg-mt | 205 cd ffmpeg-mt |
| 206 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/12_vp3_key_fra
me_after_flush.patch | 206 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/11_mkv_buffer_
overflow.patch |
| 207 cd .. | 207 cd .. |
| 208 diff -rpu -N orig ffmpeg-mt | 208 diff -rpu -N orig ffmpeg-mt |
| 209 diff -rpu -N orig ffmpeg-mt >patches/to_upstream/12_vp3_key_frame_after_f
lush.patch | 209 diff -rpu -N orig ffmpeg-mt >patches/to_upstream/11_mkv_buffer_overflow.p
atch |
| 210 | 210 |
| 211 rm -rf orig | |
| 212 cp -R ffmpeg-mt orig | |
| 213 cd ffmpeg-mt | |
| 214 patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/15_mkv_buffer_
overflow.patch | |
| 215 cd .. | |
| 216 diff -rpu -N orig ffmpeg-mt | |
| 217 diff -rpu -N orig ffmpeg-mt >patches/to_upstream/15_mkv_buffer_overflow.p
atch | |
| 218 | |
| OLD | NEW |