| Index: chromium/patches/to_upstream/01_static_pthread_O2.patch
|
| diff --git a/chromium/patches/to_upstream/01_static_pthread_O2.patch b/chromium/patches/to_upstream/01_static_pthread_O2.patch
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..399e0c3f61a926b929944732da6473d916571303
|
| --- /dev/null
|
| +++ b/chromium/patches/to_upstream/01_static_pthread_O2.patch
|
| @@ -0,0 +1,72 @@
|
| +diff -wurp -N orig/configure ffmpeg/configure
|
| +--- orig/configure 2011-07-12 20:46:31.912987236 -0700
|
| ++++ ffmpeg/configure 2011-07-12 20:46:32.033313125 -0700
|
| +@@ -1946,7 +1946,7 @@ elif $cc -v 2>&1 | grep -qi ^gcc; then
|
| + CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
|
| + AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
|
| + fi
|
| +- speed_cflags='-O3'
|
| ++ speed_cflags='-O2'
|
| + size_cflags='-Os'
|
| + elif $cc --version 2>/dev/null | grep -q Intel; then
|
| + cc_type=icc
|
| +@@ -2098,6 +2098,7 @@ elif $cc -v 2>&1 | grep -q Open64; then
|
| + cc_ident=$($cc -v 2>&1 | head -n1 | tr -d :)
|
| + CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
|
| + AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@'
|
| ++# O2 produces smaller/faster code on P4 and same performance on Core/Atom.
|
| + speed_cflags='-O2'
|
| + size_cflags='-Os'
|
| + filter_cflags='filter_out -Wdisabled-optimization|-Wtype-limits|-fno-signed-zeros'
|
| +@@ -2852,6 +2853,10 @@ if ! disabled pthreads && ! enabled w32t
|
| + add_extralibs -pthreads
|
| + elif check_func pthread_create -lpthreadGC2; then
|
| + add_extralibs -lpthreadGC2
|
| ++# static pthreads improves startup time
|
| ++ elif check_func pthread_create -lpthreadGC2 -lws2_32; then
|
| ++ add_cflags -DPTW32_STATIC_LIB
|
| ++ add_extralibs -lpthreadGC2 -lws2_32
|
| + elif ! check_lib pthread.h pthread_create -lpthread; then
|
| + disable pthreads
|
| + fi
|
| +@@ -3085,7 +3090,8 @@ elif enabled ccc; then
|
| + elif enabled gcc; then
|
| + check_cflags -fno-tree-vectorize
|
| + check_cflags -Werror=implicit-function-declaration
|
| +- check_cflags -Werror=missing-prototypes
|
| ++# Removed to allow msys gcc 4.2.1-sjlj to compile
|
| ++# check_cflags -Werror=missing-prototypes
|
| + elif enabled llvm_gcc; then
|
| + check_cflags -mllvm -stack-alignment=16
|
| + elif enabled clang; then
|
| +diff -wurp -N orig/libavcodec/allcodecs.c ffmpeg/libavcodec/allcodecs.c
|
| +--- orig/libavcodec/allcodecs.c 2011-07-12 20:46:31.952992143 -0700
|
| ++++ ffmpeg/libavcodec/allcodecs.c 2011-07-12 20:46:32.033313125 -0700
|
| +@@ -45,6 +45,15 @@
|
| + extern AVBitStreamFilter ff_##x##_bsf; \
|
| + if(CONFIG_##X##_BSF) av_register_bitstream_filter(&ff_##x##_bsf); }
|
| +
|
| ++#ifdef PTW32_STATIC_LIB
|
| ++#include "pthread.h"
|
| ++static void detach_ptw32(void)
|
| ++{
|
| ++ pthread_win32_thread_detach_np();
|
| ++ pthread_win32_process_detach_np();
|
| ++}
|
| ++#endif
|
| ++
|
| + void avcodec_register_all(void)
|
| + {
|
| + static int initialized;
|
| +@@ -53,6 +62,11 @@ void avcodec_register_all(void)
|
| + return;
|
| + initialized = 1;
|
| +
|
| ++#ifdef PTW32_STATIC_LIB
|
| ++ pthread_win32_process_attach_np();
|
| ++ pthread_win32_thread_attach_np();
|
| ++ atexit(detach_ptw32);
|
| ++#endif
|
| + /* hardware accelerators */
|
| + REGISTER_HWACCEL (H263_VAAPI, h263_vaapi);
|
| + REGISTER_HWACCEL (H264_DXVA2, h264_dxva2);
|
|
|