diff options
author | fbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-12 20:12:05 +0000 |
---|---|---|
committer | fbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-12 20:12:05 +0000 |
commit | 737eb9a961130e5098f173cf754a57a72159d4f9 (patch) | |
tree | eee95417652404d48201f420e97e9d665bfc880e /media | |
parent | 54edf059ac09e5a495a96a23ef30e9e2666fdb2a (diff) | |
download | chromium_src-737eb9a961130e5098f173cf754a57a72159d4f9.zip chromium_src-737eb9a961130e5098f173cf754a57a72159d4f9.tar.gz chromium_src-737eb9a961130e5098f173cf754a57a72159d4f9.tar.bz2 |
xRevert 62319 - re-enable ogg threads
BUG=53967
TEST=ogv videos still play but more efficiently
Review URL: http://codereview.chromium.org/3723004
TBR=fbarchard@chromium.org
Review URL: http://codereview.chromium.org/3737002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62326 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r-- | media/test/ffmpeg_tests/ffmpeg_tests.cc | 9 | ||||
-rw-r--r-- | media/video/ffmpeg_video_decode_engine.cc | 6 |
2 files changed, 12 insertions, 3 deletions
diff --git a/media/test/ffmpeg_tests/ffmpeg_tests.cc b/media/test/ffmpeg_tests/ffmpeg_tests.cc index d594c4e..5745fe9 100644 --- a/media/test/ffmpeg_tests/ffmpeg_tests.cc +++ b/media/test/ffmpeg_tests/ffmpeg_tests.cc @@ -33,7 +33,7 @@ #if defined(OS_WIN) // Enable to build with exception handler -// #define ENABLE_WINDOWS_EXCEPTIONS 1 +//#define ENABLE_WINDOWS_EXCEPTIONS 1 #ifdef ENABLE_WINDOWS_EXCEPTIONS // warning: disable warning about exception handler. @@ -221,6 +221,13 @@ int main(int argc, const char** argv) { return 1; } + // TODO(fbarchard): On next ffmpeg roll, retest if this work around is needed. + if (codec_context->codec_id == CODEC_ID_THEORA) { + std::cerr << "Warning: Disabling threads to avoid Theora bug " + << in_path.value() << std::endl; + video_threads = 1; + } + codec_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK; codec_context->error_recognition = FF_ER_CAREFUL; diff --git a/media/video/ffmpeg_video_decode_engine.cc b/media/video/ffmpeg_video_decode_engine.cc index 6dac790..7a8181b 100644 --- a/media/video/ffmpeg_video_decode_engine.cc +++ b/media/video/ffmpeg_video_decode_engine.cc @@ -39,7 +39,7 @@ void FFmpegVideoDecodeEngine::Initialize( const VideoCodecConfig& config) { allocator_.reset(new FFmpegVideoAllocator()); - // Always try to use two threads for video decoding. There is little reason + // Always try to use three threads for video decoding. There is little reason // not to since current day CPUs tend to be multi-core and we measured // performance benefits on older machines such as P4s with hyperthreading. // @@ -71,7 +71,9 @@ void FFmpegVideoDecodeEngine::Initialize( } // TODO(fbarchard): Improve thread logic based on size / codec. - int decode_threads = kDecodeThreads; + // TODO(fbarchard): Fix bug affecting video-cookie.html + int decode_threads = (codec_context_->codec_id == CODEC_ID_THEORA) ? + 1 : kDecodeThreads; const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); std::string threads(cmd_line->GetSwitchValueASCII(switches::kVideoThreads)); |