New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 19 users
Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2011
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocked on:
issue 52082

Blocking:
issue 47285
issue 57212

Restricted
  • Only users with EditIssue permission may comment.



Sign in to add a comment
Switch Chromium to ffmpeg native vp8 decoder
Project Member Reported by fbarchard@chromium.org, Jul 31 2010 Back to list
This issue is to track issues with switching from libvpx to ffmpeg vp8 for decoding webm video.

Some possible concerns:
performance
portability 
security review
compatibility

 
Labels: webm
July 18 ffmpeg-mt is an older vp8, which is ~ 1/2 the performance of libvpx.
Aug 01 ffmpeg-mt improves performance. Performance is 21% slower than libvpx, due mostly to lack of threads for partition token decoding, and 30% better if threads are disabled. (on x86)

To configure this is the libvpx based configure for chromium.  The libvpx specifics are at the end the config.

./configure --disable-everything --disable-decoders --disable-protocols --disable-parsers --disable-avfilter --disable-avcore --disable-avdevice --disable-ffmpeg --disable-ffplay --disable-ffserver --disable-ffprobe --enable-shared --disable-static --disable-debug --disable-network --disable-gpl --disable-bzlib --disable-zlib --enable-decoder=theora --enable-decoder=vorbis --enable-demuxer=ogg --enable-pthreads --enable-yasm --enable-memalign-hack --cc=gcc-sjlj --prefix=./chromium-ffmpeg --enable-libvpx --enable-decoder=libvpx --enable-demuxer=matroska --extra-cflags='-I../../usr/local/include'

This is a configure for ff vp8.  Replace
 --enable-libvpx --enable-decoder=libvpx
with
 --enable-decoder=vp8
./configure --disable-everything --disable-decoders --disable-protocols --disable-parsers --disable-avfilter --disable-avcore --disable-avdevice --disable-ffmpeg --disable-ffplay --disable-ffserver --disable-ffprobe --enable-shared --disable-static --disable-debug --disable-network --disable-gpl --disable-bzlib --disable-zlib --enable-decoder=theora --enable-decoder=vorbis --enable-demuxer=ogg --enable-pthreads --enable-yasm --enable-memalign-hack --cc=gcc-sjlj --prefix=./chromium8-ffmpeg --enable-decoder=vp8 --enable-demuxer=matroska

Aug 1 version of ffmpeg has a bug in avcodec/Makefile.  Here is a patch
--- ffmpeg-mt\libavcodec\Makefile       2010-08-02 09:47:05 -0700
+++ source\patched-ffmpeg-mt\libavcodec\Makefile        2010-08-02 10:19:57 -0700
@@ -380,7 +380,7 @@ OBJS-$(CONFIG_VP5_DECODER)             +
 OBJS-$(CONFIG_VP6_DECODER)             += vp6.o vp56.o vp56data.o vp56dsp.o \
                                           vp3dsp.o vp6dsp.o huffman.o cabac.o
 OBJS-$(CONFIG_VP8_DECODER)             += vp8.o vp8dsp.o vp56.o vp56data.o \
-                                          h264pred.o cabac.o
+                                          vp56dsp.o h264pred.o cabac.o
 OBJS-$(CONFIG_VQA_DECODER)             += vqavideo.o
 OBJS-$(CONFIG_WAVPACK_DECODER)         += wavpack.o
 OBJS-$(CONFIG_WMAPRO_DECODER)          += wmaprodec.o wma.o

MEMORY USAGE
Size could be a factor.  Both disc space and memory usage.

Chromium configuration with libvpx
 883,200 avcodec-52.dll
>size avcodec-52.dll
   text    data     bss     dec     hex filename
 875048    5484  303280 1183812  121044 avcodec-52.dll

Chromium configuration with ff vp8
895,488 avcodec-52.dll
>size avcodec-52.dll
   text    data     bss     dec     hex filename
 887847    5092  303296 1196235  1240cb avcodec-52.dll

Size increase with ff vp8 was unexpected.  Perhaps due to extraneous vp56 code?
ff vp8 takes 12423 bytes more memory (per instance); A drawback but not enough to be a show stopper.  XP perf test will fail if VM grows by hundreds of K, but not 10's of K.

Comment 3 by karen@chromium.org, Aug 2 2010
Labels: Mstone-7
Diego removed two vp56 objects from the vp8 decoder reducing library size by 25k. 
Re size
@alex
Thanks Alex.  I dont see his review for that?  I'm testing against ffmpeg-mt from earlier today (aug 2) so it would have to be a recent patch or I've already got the benefit of that.

Re compatibility
A quick test shows ff vp8 is still bit exact with libvpx.  More testing needed for regression and security issues.

Performance
Chromium uses ffmpeg-mt with 3 threads.  This makes a huge difference on multicore machines.

libvpx
ffmpeg_tests.exe tulip2.webm
FPS:     313.27

ffmpeg vp8
FPS:     231.38

ffmpeg-mt mp4
FPS:     226.15


Here's a graph of performance vs threads.  (head revisions Aug 3)

threadfps.jpg
28.1 KB View Download
Size update
Thanks to Diego, ffvp8 takes the lead on size:

ffvp8
Y:\dll\chromium8>size avcodec-52.dll avformat-52.dll avutil-50.dll
   text    data     bss     dec     hex filename
 826002    4012  303040 1133054  1149fe avcodec-52.dll
 145656    3692    2624  151972   251a4 avformat-52.dll
  81342    1628   18800  101770   18d8a avutil-50.dll

libvpx
Y:\dll\chromium>size avcodec-52.dll avformat-52.dll avutil-50.dll
   text    data     bss     dec     hex filename
 828873    4592  303024 1136489  115769 avcodec-52.dll
 145720    3692    2624  152036   251e4 avformat-52.dll
  81406    1628   18800  101834   18dca avutil-50.dll

On Atom N270 with no threads, head version of ffmpeg vs libvpx 0.9.1
(tulip2.webm - 1280x720 29.97 fps, 2 mbit/s, profile 0)

libvpx
FPS:      33.61

ffmpeg vp8
FPS:      45.77

ffmpeg-mt mp4
FPS:      27.13


An updated libvpx (head of git) improves threading and SIMD a bit.
The loop filter is multithreaded.  memcpy has been eliminated.
On Nehalem 2.6 Ghz 8 core using 3 threads, using ffmpeg_tests on tulip 720p 2 mbit (attached)

libvpx
FPS:     380.71

ffmpeg-mt mp4
FPS:     315.02

libvpx size went up 4k.

Blockedon: 52082
Comment 11 Deleted
Labels: -Pri-2 Pri-3
Given the faster release cycles this isn't really viable/needed for Mstone-7.  I'm perfectly content sticking with libvpx for another release or two.
Labels: -Mstone-7 Mstone-8
Aug 11 ffmpeg-mt update improved performance on all codecs and is now in trunk.

libvpx
FPS:     384.68

ffmpeg vp8
FPS:     250.18

ffmpeg-mt mp4
FPS:     331.38

ogg is now multithreaded
FPS:     661.34

Labels: -Mstone-8 Mstone-X
chromium 8 includes vp8 encoding, so libvpx is needed for encoding.  This impacts code size in favor of libvpx that shares code between encoder and decode

libvpx encode/decode size
   text    data     bss     dec     hex filename
1253342   11640  378272 1643254  1912f6 avcodec-52.dll

ff vp8 decode, libvpx encode size
   text    data     bss     dec     hex filename
1319888   11712  378256 1709856  1a1720 avcodec-52.dll

Performance remains in favor of libvpx due to multicore partition decoding

media_bench --video-threads=2 --stream=video tulip2.webm
* Stream #0: libvpx (libvpx VP8)
  Stream #1: vorbis (Vorbis)

     Frames:        500
      Total:    1953.13 ms
  Summation:    1560.09 ms
    Average:       3.12 ms
     StdDev:       1.08 ms
        FPS:     320.49

ff vp8
media_bench.exe --video-threads=2 --stream=video tulip2.webm
* Stream #0: vp8 (On2 VP8)
  Stream #1: vorbis (Vorbis)

     Frames:        500
      Total:    2754.38 ms
  Summation:    2170.72 ms
    Average:       4.34 ms
     StdDev:       1.93 ms
        FPS:     230.34

This is how to configure chromium with ff vp8 decode and libvpx encode

./configure --disable-everything --disable-network --disable-swscale --disable-amd3dnow --disable-amd3dnowext --enable-shared --enable-libvpx --enable-decoder=theora,vorbis,vp8,pcm_u8,pcm_s16le,pcm_f32le --enable-encoder=libvpx --enable-demuxer=ogg,matroska,wav --enable-memalign-hack --cc=gcc-sjlj

When ffmpeg and/or ffmpeg-mt support multicore decoding, ff vp8 should be a performance win.
Status: Available
I reexamined this.  Performance of both codecs improved, but libvpx improved more and remains faster due to multicore decoding, even on Atom.
chromoting requires a vp8 encoder, so ff vp8+libvpx encoder grew in file/memory size compared to libvpx enc/dec. 
ff vp8 now has arm/neon code.
The most compelling reason to switch will be performance, if/when ff vp8 supports multithreaded decoding - either partitions or ffmpeg-mt.
Comment 18 by rbultje@google.com, Apr 13 2011
http://permalink.gmane.org/gmane.comp.video.libav.devel/1431

Is a patch that implements vp8-multithreading. Gives a 3x speedup with -threads 4 on a 2x2core Mac Pro. I hope Frank can help me run the official Chrome benchmarks on it. I'll see how well it scales on a many-core machine when I get access to one.
The latest ff vp8 with MT is a clear performance win.  The following are fps on Atom N270 (1 core / 2 threads), running the 'red' 1920x1080x30 video:

Atom     libvpx FFMpeg VP8
1 Thread  31.81     46.90
2 Threads 41.95     60.84

Chrome uses 2 threads.  This is with libvpx built with Intel c, vs ffmpeg gcc.  libvpx built with GCC is 11% slower.
ff vp8 scales up to 16 threads nicely, for what its worth, but its the low end netbooks and arm that struggle for performance and battery life.
Labels: -ffmpeg -webm -Mstone-X
Owner: ihf@chromium.org
Status: Started
ihf has a patch for this
Comment 21 by ihf@chromium.org, Jul 26 2011
Should be live with
http://src.chromium.org/viewvc/chrome?view=rev&revision=94027
Multithreading has not been turned on. Ronald is working on it.
Comment 22 by ihf@chromium.org, Aug 5 2011
To correct me slightly. We switched to ffmpeg VP8 for ChromeOS and ChromiumOS only. This is because we need it for ARM and to test how it behaves. With good experience we should be able to switch all Chrome/Chromium for Win/Mac/Linux as well.
Labels: Mstone-15 OS-All ImportantForVideo
Owner: ----
Status: Available
Owner: scherkus@chromium.org
Status: Started
ran a ton of benchmarks on a variety of machines (chromebooks, windows boxes, linux boxes) and ffvp8 is the way to go for a variety of reasons

CL coming soon...
For those interested, removing libvpx but adding ffvp8 still shaves off ~400k or so.

Letting clients link directly to libvpx also means the linker can do an even better job at minimizing code size.
scherkus@ - I'm guessing this would be done by Mstone-14?
Project Member Comment 29 by bugdroid1@chromium.org, Aug 17 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=97071

------------------------------------------------------------------------
r97071 | scherkus@chromium.org | Tue Aug 16 17:54:15 PDT 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/mac/ia32/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/linux/ia32/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/linux/arm/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/linux/x64/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromiumOS/linux/x64/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromeOS/linux/ia32/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/win/ia32/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/linux/arm-neon/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/mac/ia32/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/linux/ia32/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/linux/x64/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromiumOS/linux/x64/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/ffmpeg_generated.gypi?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromeOS/linux/arm-neon/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/binaries/win/avformat-53.dll?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/mac/ia32/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromeOS/linux/ia32/config.asm?r1=97071&r2=97070&pathrev=97071
 D http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/avcodec-53.novpx_sigs?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/linux/arm/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromiumOS/linux/arm/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/copy_config.sh?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromeOS/linux/x64/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/win/ia32/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/ffmpeg.gyp?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/linux/ia32/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromiumOS/linux/ia32/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/build_ffmpeg.sh?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/linux/x64/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/win/ia32/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/binaries/win/avutil-51.dll?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/mac/ia32/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromeOS/linux/x64/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/linux/arm-neon/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromiumOS/linux/arm-neon/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chrome/linux/ia32/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromiumOS/linux/ia32/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/avcodec-53.sigs?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/ChromeOS/linux/arm/config.h?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/linux/x64/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/ffmpeg_stub_headers.fragment?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/binaries/win/avcodec-53.dll?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/source/config/Chromium/win/ia32/config.asm?r1=97071&r2=97070&pathrev=97071
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/libvpx.gyp?r1=97071&r2=97070&pathrev=97071

Remove libvpx from FFmpeg in favour of ffvp8.

Clients in Chromium code can now link directly to libvpx without depending on FFmpeg / InitializeMediaLibrary().

BUG= 50811 
TEST=remoting_unittests, media_unittests, layout tests

Review URL: http://codereview.chromium.org/7659006
------------------------------------------------------------------------
Is there any chance this can be done for/milestone changed to Mstone-14?
Project Member Comment 31 by bugdroid1@chromium.org, Aug 18 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=97324

------------------------------------------------------------------------
r97324 | scherkus@chromium.org | Thu Aug 18 10:17:01 PDT 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/libvpx.gyp?r1=97324&r2=97323&pathrev=97324

Fix ARM and add -fvisibility=hidden back to libvpx since its linked statically.

BUG= 50811 
TEST=build on ARM, check binaries with nm

Review URL: http://codereview.chromium.org/7677008
------------------------------------------------------------------------
Project Member Comment 32 by bugdroid1@chromium.org, Aug 18 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=97356

------------------------------------------------------------------------
r97356 | scherkus@chromium.org | Thu Aug 18 13:54:51 PDT 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/decoder/x86/dequantize_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/dct_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/sad_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/iwalsh_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/variance_impl_ssse3.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_ssse3.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/subtract_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/postproc_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/postproc_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/quantize_ssse3.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/iwalsh_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/fwalsh_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/dct_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/ssim_opt.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/variance_impl_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/recon_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/recon_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/variance_impl_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/temporal_filter_apply_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vpx_ports/x86_abi_support.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/quantize_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vpx_ports/emms.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/subtract_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/sad_ssse3.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/quantize_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/sad_sse2.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/sad_sse3.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/encodeopt.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/encoder/x86/sad_sse4.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_mmx.asm?r1=97356&r2=97355&pathrev=97356
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_sse2.asm?r1=97356&r2=97355&pathrev=97356
 A http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/patches/ugly/02_private_symbols.patch?r1=97356&r2=97355&pathrev=97356

Define PRIVATE and add it to all global symbols so we don't export assembly functions.

BUG= 50811 
TEST=build a target w/ libvpx (like remoting_unittests) and observe no vp* symbols are global exported

Review URL: http://codereview.chromium.org/7655050
------------------------------------------------------------------------
Project Member Comment 33 by bugdroid1@chromium.org, Aug 19 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=97416

------------------------------------------------------------------------
r97416 | scherkus@chromium.org | Thu Aug 18 20:13:22 PDT 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_mmx.asm?r1=97416&r2=97415&pathrev=97416

Few extra assembly globals that I missed from r97356.

BUG= 50811 
TEST=mac verify_order script
------------------------------------------------------------------------
Project Member Comment 34 by bugdroid1@chromium.org, Aug 19 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=97421

------------------------------------------------------------------------
r97421 | scherkus@chromium.org | Thu Aug 18 21:05:59 PDT 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/remoting/host/simple_host_process.cc?r1=97421&r2=97420&pathrev=97421
 M http://src.chromium.org/viewvc/chrome/trunk/src/DEPS?r1=97421&r2=97420&pathrev=97421
 M http://src.chromium.org/viewvc/chrome/trunk/src/remoting/remoting.gyp?r1=97421&r2=97420&pathrev=97421
 M http://src.chromium.org/viewvc/chrome/trunk/src/remoting/run_all_unittests.cc?r1=97421&r2=97420&pathrev=97421

Roll ffmpeg/libvpx deps to switch to ffvp8.

BUG= 50811 
TEST=remoting_unittests, media_unittests, layout tests

Review URL: http://codereview.chromium.org/7657005
------------------------------------------------------------------------
Status: Fixed
Blocking: 57212
Blocking: 47285
Labels: -ImportantForVideo Hotlist-NeededForVideo
Project Member Comment 39 by bugdroid1@chromium.org, Oct 13 2012
Blockedon: -chromium:52082 chromium:52082
Blocking: -chromium:57212 -chromium:47285 chromium:57212 chromium:47285
Labels: Restrict-AddIssueComment-Commit
This issue has been closed for some time. No one will pay attention to new comments.
If you are seeing this bug or have new data, please click New Issue to start a new bug.
Project Member Comment 40 by bugdroid1@chromium.org, Mar 10 2013
Labels: -Area-WebKit -Feature-Media -Mstone-15 Cr-Content Cr-Internals-Media M-15
Project Member Comment 41 by bugdroid1@chromium.org, Mar 13 2013
Labels: -Restrict-AddIssueComment-Commit Restrict-AddIssueComment-EditIssue
Project Member Comment 42 by bugdroid1@chromium.org, Apr 6 2013
Labels: -Cr-Content Cr-Blink
Sign in to add a comment