| Index: chromium/patches/README.chromium
|
| diff --git a/chromium/patches/README.chromium b/chromium/patches/README.chromium
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..707683eb761b0981cc51a69c3f9cdc420f8d13e6
|
| --- /dev/null
|
| +++ b/chromium/patches/README.chromium
|
| @@ -0,0 +1,362 @@
|
| +Name: ffmpeg
|
| +Version: 0.9.7
|
| +
|
| +Description:
|
| +Contains the sources used to compile FFmpeg binaries used by Google Chrome and
|
| +Chromium.
|
| +
|
| +The FFmpeg source is from ToT of the main ffmpeg branch:
|
| + http://git.videolan.org/?p=ffmpeg.git;a=commit;h=bb258fb995a42112d1fe14f53ec599b2cd19b707
|
| + Date: Tue, 12 Jul 2011 22:42:11
|
| + Commit: bb258fb995a42112d1fe14f53ec599b2cd19b707
|
| +
|
| +libvpx source
|
| + http://webm.googlecode.com/files/libvpx-v0.9.7-p1.zip
|
| + git://review.webmproject.org/libvpx.git
|
| + Date: Tuesday August 16 2011
|
| + Version: v0.9.7p1 (cayuga)
|
| + Commit: 20307c70ae96c45b9b00338989b952fb334e4fc9
|
| +
|
| +The following process is intended to run from msys
|
| +
|
| +Steps for extracting:
|
| +
|
| +AUTOMATIC:
|
| +
|
| + 1) On linux, mac and windows/mingw run
|
| +
|
| + rm -rf sources/patched-ffmpeg
|
| + ./make_src_tree.sh ffmpeg.tar.gz source/patched-ffmpeg patches
|
| +
|
| +MANUAL: This can be useful when having to adjust patches.
|
| +
|
| + 1) Extract ffmpeg, which creates the directory ffmpeg:
|
| + cd /c/src/chrome/deps/third_party/ffmpeg
|
| + rm -rf ffmpeg
|
| + tar xf ffmpeg.tar.gz
|
| +
|
| + 2) Apply patches (from within the source/ directory):
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/01_static_pthread_O2.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/05_respect_flac_dirac_configure.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/07_get_bits_overrun.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/08_enforce_theora_oob.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/09_enforce_vorbis_oob_divzero.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/10_aac_oob_read.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/11_mkv_buffer_overflow.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/12_ogg_seek_to_zero.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/13_remove_avcore.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/14_vp8_encode_options.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/15_webp_ffmpeg.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/25_ogg_index.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/30_enforce_mp3_oob.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/31_remove_attribute_deprecated.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/32_add_rawdec_for_mac_win.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/34_ogg_memcpy.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/35_oggdec_duration.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/from_upstream/36_theora_flush.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/37_VP8_armv6_optimizations.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/from_upstream/38_webm_cues_before_first_cluster.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/39_VP8_fix_oob_read_writes.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/40_MKV_fix_oob_write.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/41_matroska_cluster_incremental.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/42_vp8_fix_segmentation_maps.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/43_mkv_seekahead_revalidate.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/44_vorbis_oob_read.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/45_mkv_fix_segmap_cache_overflow.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/46_vp3_fix_double_free_invalid_read.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/47_vp3_fix_infloop_and_memleak.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/48_vorbis_residue_buffer.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/49_vorbis_buffer_defense.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/50_vp8_fix_frame_size_changes.patch
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/52_vorbis_fix_floor1_vector_int_overflow.patch
|
| + cd ..
|
| +
|
| +
|
| +NOTE: Under Windows it is recommended to use Chromium's MinGW/MSYS environment
|
| +or 7-Zip to extract the archives. We've experienced issues when using WinRAR.
|
| +
|
| +Since FFmpeg is sandboxed inside the render process, we're only interested in
|
| +building the absolute minimum.
|
| +
|
| +Refer to build_ffmpeg.sh for configuration flags for Chromium and Google Chrome.
|
| +
|
| +To clean up patches so there is no fuzzing
|
| + 1) Extract ffmpeg, which creates the directory ffmpeg:
|
| + cd /c/src/chrome/deps/third_party/ffmpeg
|
| + rm -rf ffmpeg
|
| + tar xf ffmpeg.tar.gz
|
| +
|
| + 2) Apply patches:
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/01_static_pthread_O2.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/01_static_pthread_O2.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/05_respect_flac_dirac_configure.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/05_respect_flac_dirac_configure.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/07_get_bits_overrun.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/ugly/07_get_bits_overrun.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/08_enforce_theora_oob.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/ugly/08_enforce_theora_oob.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/09_enforce_vorbis_oob_divzero.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/ugly/09_enforce_vorbis_oob_divzero.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/10_aac_oob_read.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/ugly/10_aac_oob_read.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/11_mkv_buffer_overflow.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/11_mkv_buffer_overflow.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/12_ogg_seek_to_zero.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/12_ogg_seek_to_zero.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/13_remove_avcore.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/ugly/13_remove_avcore.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/14_vp8_encode_options.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/14_vp8_encode_options.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/15_webp_ffmpeg.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/15_webp_ffmpeg.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/25_ogg_index.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/25_ogg_index.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/30_enforce_mp3_oob.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/ugly/30_enforce_mp3_oob.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/31_remove_attribute_deprecated.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/ugly/31_remove_attribute_deprecated.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/32_add_rawdec_to_Makefile.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/ugly/32_add_rawdec_to_Makefile.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/34_ogg_memcpy.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/34_ogg_memcpy.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/35_oggdec_duration.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/35_oggdec_duration.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/from_upstream/36_theora_flush.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/from_upstream/36_theora_flush.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/37_VP8_armv6_optimizations.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/37_VP8_armv6_optimizations.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/from_upstream/38_webm_cues_before_first_cluster.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/from_upstream/38_webm_cues_before_first_cluster.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/39_VP8_fix_oob_read_writes.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/39_VP8_fix_oob_read_writes.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/40_MKV_fix_oob_write.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/40_MKV_fix_oob_write.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/ugly/41_matroska_cluster_incremental.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/41_matroska_cluster_incremental.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/42_vp8_fix_segmentation_maps.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/42_vp8_fix_segmentation_maps.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/43_mkv_seekahead_revalidate.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/43_mkv_seekahead_revalidate.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/44_vorbis_oob_read.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/44_vorbis_oob_read.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/45_mkv_fix_segmap_cache_overflow.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/45_mkv_fix_segmap_cache_overflow.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/46_vp3_fix_double_free_invalid_read.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/46_vp3_fix_double_free_invalid_read.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/47_vp3_fix_infloop_and_memleak.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/47_vp3_fix_infloop_and_memleak.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/48_vorbis_residue_buffer.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/48_vorbis_residue_buffer.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/49_vorbis_buffer_defense.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/49_vorbis_buffer_defense.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/50_vp8_fix_frame_size_changes.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/50_vp8_fix_frame_size_changes.patch
|
| +
|
| + rm -rf orig
|
| + cp -R ffmpeg orig
|
| + cd ffmpeg
|
| + patch -p1 --no-backup-if-mismatch < ../patches/to_upstream/52_vorbis_fix_floor1_vector_int_overflow.patch
|
| + cd ..
|
| + diff -wurp -N orig ffmpeg
|
| + diff -wurp -N orig ffmpeg >patches/to_upstream/52_vorbis_fix_floor1_vector_int_overflow.patch
|
| +
|
| +Testing
|
| + Updates should be tested against
|
| + a) http://wiki.xiph.org/TheoraTestsuite
|
| + b) WebKit Layout Tests
|
| + http://www.chromium.org/developers/testing/webkit-layout-tests
|
| + make -r test_shell BUILDTYPE=Debug -j16
|
| + make -r ImageDiff BUILDTYPE=Debug -j16
|
| + make -r DumpRenderTree BUILDTYPE=Debug -j16
|
| + ./webkit/tools/layout_tests/run_webkit_tests.sh --debug media/\*
|
|
|