Index: media/video/ffmpeg_video_decode_engine.cc |
diff --git a/media/video/ffmpeg_video_decode_engine.cc b/media/video/ffmpeg_video_decode_engine.cc |
index 4af73a188cae27d86be40ebc0e940f96ccaaa5f1..9ee02da2fc20dc2cbfa6e398bac875044882847c 100644 |
--- a/media/video/ffmpeg_video_decode_engine.cc |
+++ b/media/video/ffmpeg_video_decode_engine.cc |
@@ -120,6 +120,7 @@ void FFmpegVideoDecodeEngine::Initialize( |
kNoTimestamp); |
frame_queue_available_.push_back(video_frame); |
} |
+ |
codec_context_->thread_count = decode_threads; |
if (codec && |
avcodec_open(codec_context_, codec) >= 0 && |
@@ -132,6 +133,18 @@ void FFmpegVideoDecodeEngine::Initialize( |
void FFmpegVideoDecodeEngine::ConsumeVideoSample( |
scoped_refptr<Buffer> buffer) { |
+ static int i = -1; |
+ |
+ if (i >= 0) { |
scherkus (not reviewing)
2011/08/11 01:26:29
woah!??
what's all this doing
acolwell GONE FROM CHROMIUM
2011/08/11 23:54:40
Oops. This is how I was extracting data for test f
|
+ char filename[100]; |
+ sprintf(filename, "vp8-frame-%d", i++); |
+ printf("%s\n", filename); |
+ FILE* f = fopen(filename, "wb"); |
+ DCHECK(f); |
+ fwrite(buffer->GetData(), buffer->GetDataSize(), 1, f); |
+ fclose(f); |
+ } |
+ |
pending_input_buffers_--; |
if (flush_pending_) { |
TryToFinishPendingFlush(); |
@@ -186,7 +199,6 @@ void FFmpegVideoDecodeEngine::DecodeFrame(scoped_refptr<Buffer> buffer) { |
av_frame_.get(), |
&frame_decoded, |
&packet); |
- |
// Log the problem if we can't decode a video frame and exit early. |
if (result < 0) { |
LOG(ERROR) << "Error decoding a video frame with timestamp: " |
@@ -303,24 +315,6 @@ void FFmpegVideoDecodeEngine::ReadInput() { |
event_handler_->ProduceVideoSample(NULL); |
} |
-VideoFrame::Format FFmpegVideoDecodeEngine::GetSurfaceFormat() const { |
- // J (Motion JPEG) versions of YUV are full range 0..255. |
- // Regular (MPEG) YUV is 16..240. |
- // For now we will ignore the distinction and treat them the same. |
- switch (codec_context_->pix_fmt) { |
- case PIX_FMT_YUV420P: |
- case PIX_FMT_YUVJ420P: |
- return VideoFrame::YV12; |
- case PIX_FMT_YUV422P: |
- case PIX_FMT_YUVJ422P: |
- return VideoFrame::YV16; |
- default: |
- // TODO(scherkus): More formats here? |
- break; |
- } |
- return VideoFrame::INVALID; |
-} |
- |
} // namespace media |
// Disable refcounting for this object because this object only lives |