summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorfbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-12 20:12:05 +0000
committerfbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-12 20:12:05 +0000
commit737eb9a961130e5098f173cf754a57a72159d4f9 (patch)
treeeee95417652404d48201f420e97e9d665bfc880e /media
parent54edf059ac09e5a495a96a23ef30e9e2666fdb2a (diff)
downloadchromium_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.cc9
-rw-r--r--media/video/ffmpeg_video_decode_engine.cc6
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));