summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-27 21:51:46 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-27 21:51:46 +0000
commite75e65a1f01b449abe40ab1f96c79ebd57dfe0ca (patch)
tree2cb32b0c9d06475c2bcd587af1404b9a25e0b80a /media
parentd746a77a9806aef78119a4688a08064980687ce1 (diff)
downloadchromium_src-e75e65a1f01b449abe40ab1f96c79ebd57dfe0ca.zip
chromium_src-e75e65a1f01b449abe40ab1f96c79ebd57dfe0ca.tar.gz
chromium_src-e75e65a1f01b449abe40ab1f96c79ebd57dfe0ca.tar.bz2
Rename VideoCodecConfig to VideoDecoderConfig and move to media/base/video_decoder_config.{cc,h}.
BUG=none TEST=compiles Review URL: http://codereview.chromium.org/6905065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83226 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r--media/base/video_decoder_config.cc (renamed from media/video/video_decode_engine.cc)32
-rw-r--r--media/base/video_decoder_config.h59
-rw-r--r--media/filters/ffmpeg_video_decoder.cc12
-rw-r--r--media/filters/ffmpeg_video_decoder_unittest.cc2
-rw-r--r--media/filters/omx_video_decoder.cc12
-rw-r--r--media/media.gyp3
-rw-r--r--media/tools/omx_test/omx_test.cc2
-rw-r--r--media/video/ffmpeg_video_decode_engine.cc4
-rw-r--r--media/video/ffmpeg_video_decode_engine.h2
-rw-r--r--media/video/ffmpeg_video_decode_engine_unittest.cc2
-rw-r--r--media/video/mft_h264_decode_engine.cc2
-rw-r--r--media/video/mft_h264_decode_engine.h2
-rw-r--r--media/video/mft_h264_decode_engine_unittest.cc6
-rw-r--r--media/video/omx_video_decode_engine.cc2
-rw-r--r--media/video/omx_video_decode_engine.h2
-rw-r--r--media/video/video_decode_engine.h47
-rw-r--r--media/video/video_mock_objects.h2
17 files changed, 105 insertions, 88 deletions
diff --git a/media/video/video_decode_engine.cc b/media/base/video_decoder_config.cc
index ca0093f..abcd80b 100644
--- a/media/video/video_decode_engine.cc
+++ b/media/base/video_decoder_config.cc
@@ -2,19 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "media/video/video_decode_engine.h"
+#include "media/base/video_decoder_config.h"
#include "base/logging.h"
namespace media {
-VideoCodecConfig::VideoCodecConfig(VideoCodec codec,
- int width,
- int height,
- int frame_rate_numerator,
- int frame_rate_denominator,
- uint8* extra_data,
- size_t extra_data_size)
+VideoDecoderConfig::VideoDecoderConfig(VideoCodec codec,
+ int width,
+ int height,
+ int frame_rate_numerator,
+ int frame_rate_denominator,
+ uint8* extra_data,
+ size_t extra_data_size)
: codec_(codec),
width_(width),
height_(height),
@@ -28,33 +28,33 @@ VideoCodecConfig::VideoCodecConfig(VideoCodec codec,
}
}
-VideoCodecConfig::~VideoCodecConfig() {}
+VideoDecoderConfig::~VideoDecoderConfig() {}
-VideoCodec VideoCodecConfig::codec() const {
+VideoCodec VideoDecoderConfig::codec() const {
return codec_;
}
-int VideoCodecConfig::width() const {
+int VideoDecoderConfig::width() const {
return width_;
}
-int VideoCodecConfig::height() const {
+int VideoDecoderConfig::height() const {
return height_;
}
-int VideoCodecConfig::frame_rate_numerator() const {
+int VideoDecoderConfig::frame_rate_numerator() const {
return frame_rate_numerator_;
}
-int VideoCodecConfig::frame_rate_denominator() const {
+int VideoDecoderConfig::frame_rate_denominator() const {
return frame_rate_denominator_;
}
-uint8* VideoCodecConfig::extra_data() const {
+uint8* VideoDecoderConfig::extra_data() const {
return extra_data_.get();
}
-size_t VideoCodecConfig::extra_data_size() const {
+size_t VideoDecoderConfig::extra_data_size() const {
return extra_data_size_;
}
diff --git a/media/base/video_decoder_config.h b/media/base/video_decoder_config.h
new file mode 100644
index 0000000..9ce582b
--- /dev/null
+++ b/media/base/video_decoder_config.h
@@ -0,0 +1,59 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef MEDIA_BASE_VIDEO_DECODER_CONFIG_H_
+#define MEDIA_BASE_VIDEO_DECODER_CONFIG_H_
+
+#include "base/basictypes.h"
+#include "base/memory/scoped_ptr.h"
+
+namespace media {
+
+enum VideoCodec {
+ kUnknown,
+ kCodecH264,
+ kCodecVC1,
+ kCodecMPEG2,
+ kCodecMPEG4,
+ kCodecTheora,
+ kCodecVP8,
+};
+
+class VideoDecoderConfig {
+ public:
+ VideoDecoderConfig(VideoCodec codec, int width, int height,
+ int frame_rate_numerator, int frame_rate_denominator,
+ uint8* extra_data, size_t extra_data_size);
+ ~VideoDecoderConfig();
+
+ VideoCodec codec() const;
+ int width() const;
+ int height() const;
+ int frame_rate_numerator() const;
+ int frame_rate_denominator() const;
+ uint8* extra_data() const;
+ size_t extra_data_size() const;
+
+ private:
+ VideoCodec codec_;
+
+ // Container's concept of width and height of this video.
+ int width_;
+ int height_;
+
+ // Frame rate in seconds expressed as a fraction.
+ // TODO(scherkus): fairly certain decoders don't require frame rates.
+ int frame_rate_numerator_;
+ int frame_rate_denominator_;
+
+ // Optional byte data required to initialize video decoders.
+ scoped_array<uint8> extra_data_;
+ size_t extra_data_size_;
+
+ DISALLOW_IMPLICIT_CONSTRUCTORS(VideoDecoderConfig);
+};
+
+} // namespace media
+
+#endif // MEDIA_BASE_VIDEO_DECODER_CONFIG_H_
diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc
index c8626b2..81af909 100644
--- a/media/filters/ffmpeg_video_decoder.cc
+++ b/media/filters/ffmpeg_video_decoder.cc
@@ -71,12 +71,12 @@ void FFmpegVideoDecoder::Initialize(DemuxerStream* demuxer_stream,
return;
}
- VideoCodecConfig config(CodecIDToVideoCodec(av_stream->codec->codec_id),
- width, height,
- av_stream->r_frame_rate.num,
- av_stream->r_frame_rate.den,
- av_stream->codec->extradata,
- av_stream->codec->extradata_size);
+ VideoDecoderConfig config(CodecIDToVideoCodec(av_stream->codec->codec_id),
+ width, height,
+ av_stream->r_frame_rate.num,
+ av_stream->r_frame_rate.den,
+ av_stream->codec->extradata,
+ av_stream->codec->extradata_size);
state_ = kInitializing;
decode_engine_->Initialize(message_loop_, this, NULL, config);
}
diff --git a/media/filters/ffmpeg_video_decoder_unittest.cc b/media/filters/ffmpeg_video_decoder_unittest.cc
index a56619c..5a8303b 100644
--- a/media/filters/ffmpeg_video_decoder_unittest.cc
+++ b/media/filters/ffmpeg_video_decoder_unittest.cc
@@ -72,7 +72,7 @@ class MockVideoDecodeEngine : public VideoDecodeEngine {
MOCK_METHOD4(Initialize, void(MessageLoop* message_loop,
VideoDecodeEngine::EventHandler* event_handler,
VideoDecodeContext* context,
- const VideoCodecConfig& config));
+ const VideoDecoderConfig& config));
MOCK_METHOD1(ConsumeVideoSample, void(scoped_refptr<Buffer> buffer));
MOCK_METHOD1(ProduceVideoFrame, void(scoped_refptr<VideoFrame> buffer));
MOCK_METHOD0(Uninitialize, void());
diff --git a/media/filters/omx_video_decoder.cc b/media/filters/omx_video_decoder.cc
index 0dd551f..43034c6d 100644
--- a/media/filters/omx_video_decoder.cc
+++ b/media/filters/omx_video_decoder.cc
@@ -71,12 +71,12 @@ void OmxVideoDecoder::Initialize(DemuxerStream* demuxer_stream,
return;
}
- VideoCodecConfig config(CodecIDToVideoCodec(av_stream->codec->codec_id),
- width, height,
- av_stream->r_frame_rate.num,
- av_stream->r_frame_rate.den,
- av_stream->codec->extradata,
- av_stream->codec->extradata_size);
+ VideoDecoderConfig config(CodecIDToVideoCodec(av_stream->codec->codec_id),
+ width, height,
+ av_stream->r_frame_rate.num,
+ av_stream->r_frame_rate.den,
+ av_stream->codec->extradata,
+ av_stream->codec->extradata_size);
decode_engine_->Initialize(message_loop_, this, NULL, config);
}
diff --git a/media/media.gyp b/media/media.gyp
index d7d61bf..650c790 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -123,6 +123,8 @@
'base/seekable_buffer.h',
'base/state_matrix.cc',
'base/state_matrix.h',
+ 'base/video_decoder_config.cc',
+ 'base/video_decoder_config.h',
'base/video_frame.cc',
'base/video_frame.h',
'ffmpeg/ffmpeg_common.cc',
@@ -177,7 +179,6 @@
'video/ffmpeg_video_decode_engine.h',
'video/video_decode_accelerator.cc',
'video/video_decode_accelerator.h',
- 'video/video_decode_engine.cc',
'video/video_decode_engine.h',
],
'direct_dependent_settings': {
diff --git a/media/tools/omx_test/omx_test.cc b/media/tools/omx_test/omx_test.cc
index 5a22deb..ebba0b1 100644
--- a/media/tools/omx_test/omx_test.cc
+++ b/media/tools/omx_test/omx_test.cc
@@ -170,7 +170,7 @@ class TestApp : public base::RefCountedThreadSafe<TestApp>,
void Run() {
StartProfiler();
- media::VideoCodecConfig config(
+ media::VideoDecoderConfig config(
media::CodecIDToVideoCodec(av_stream_->codec->codec_id),
av_stream_->codec->coded_width,
av_stream_->codec->coded_height,
diff --git a/media/video/ffmpeg_video_decode_engine.cc b/media/video/ffmpeg_video_decode_engine.cc
index f9a1996..4ebfb30 100644
--- a/media/video/ffmpeg_video_decode_engine.cc
+++ b/media/video/ffmpeg_video_decode_engine.cc
@@ -42,7 +42,7 @@ void FFmpegVideoDecodeEngine::Initialize(
MessageLoop* message_loop,
VideoDecodeEngine::EventHandler* event_handler,
VideoDecodeContext* context,
- const VideoCodecConfig& config) {
+ const VideoDecoderConfig& config) {
allocator_.reset(new FFmpegVideoAllocator());
// Always try to use three threads for video decoding. There is little reason
@@ -60,7 +60,7 @@ void FFmpegVideoDecodeEngine::Initialize(
// Initialize AVCodecContext structure.
codec_context_ = avcodec_alloc_context();
- // TODO(scherkus): should video format get passed in via VideoCodecConfig?
+ // TODO(scherkus): should video format get passed in via VideoDecoderConfig?
codec_context_->pix_fmt = PIX_FMT_YUV420P;
codec_context_->codec_type = AVMEDIA_TYPE_VIDEO;
codec_context_->codec_id = VideoCodecToCodecID(config.codec());
diff --git a/media/video/ffmpeg_video_decode_engine.h b/media/video/ffmpeg_video_decode_engine.h
index ab2ad83..6742246 100644
--- a/media/video/ffmpeg_video_decode_engine.h
+++ b/media/video/ffmpeg_video_decode_engine.h
@@ -28,7 +28,7 @@ class FFmpegVideoDecodeEngine : public VideoDecodeEngine {
virtual void Initialize(MessageLoop* message_loop,
VideoDecodeEngine::EventHandler* event_handler,
VideoDecodeContext* context,
- const VideoCodecConfig& config);
+ const VideoDecoderConfig& config);
virtual void ConsumeVideoSample(scoped_refptr<Buffer> buffer);
virtual void ProduceVideoFrame(scoped_refptr<VideoFrame> frame);
virtual void Uninitialize();
diff --git a/media/video/ffmpeg_video_decode_engine_unittest.cc b/media/video/ffmpeg_video_decode_engine_unittest.cc
index 8e8dcbf..994d2c5 100644
--- a/media/video/ffmpeg_video_decode_engine_unittest.cc
+++ b/media/video/ffmpeg_video_decode_engine_unittest.cc
@@ -146,7 +146,7 @@ class FFmpegVideoDecodeEngineTest : public testing::Test,
}
protected:
- VideoCodecConfig config_;
+ VideoDecoderConfig config_;
VideoCodecInfo info_;
scoped_refptr<VideoFrame> video_frame_;
scoped_ptr<FFmpegVideoDecodeEngine> test_engine_;
diff --git a/media/video/mft_h264_decode_engine.cc b/media/video/mft_h264_decode_engine.cc
index e1eb60a..e084738 100644
--- a/media/video/mft_h264_decode_engine.cc
+++ b/media/video/mft_h264_decode_engine.cc
@@ -167,7 +167,7 @@ void MftH264DecodeEngine::Initialize(
MessageLoop* message_loop,
VideoDecodeEngine::EventHandler* event_handler,
VideoDecodeContext* context,
- const VideoCodecConfig& config) {
+ const VideoDecoderConfig& config) {
DCHECK(!use_dxva_ || context);
if (state_ != kUninitialized) {
LOG(ERROR) << "Initialize: invalid state";
diff --git a/media/video/mft_h264_decode_engine.h b/media/video/mft_h264_decode_engine.h
index 9a2ca5d..a6ff52c 100644
--- a/media/video/mft_h264_decode_engine.h
+++ b/media/video/mft_h264_decode_engine.h
@@ -46,7 +46,7 @@ class MftH264DecodeEngine : public media::VideoDecodeEngine {
virtual void Initialize(MessageLoop* message_loop,
media::VideoDecodeEngine::EventHandler* event_handler,
VideoDecodeContext* context,
- const VideoCodecConfig& config);
+ const VideoDecoderConfig& config);
virtual void Uninitialize();
virtual void Flush();
virtual void Seek();
diff --git a/media/video/mft_h264_decode_engine_unittest.cc b/media/video/mft_h264_decode_engine_unittest.cc
index 2c3727d..60d2a77 100644
--- a/media/video/mft_h264_decode_engine_unittest.cc
+++ b/media/video/mft_h264_decode_engine_unittest.cc
@@ -198,7 +198,7 @@ class MftH264DecodeEngineTest : public testing::Test {
ASSERT_TRUE(engine_.get());
}
void InitDecodeEngine(int width, int height) {
- VideoCodecConfig config;
+ VideoDecoderConfig config;
config.width = width;
config.height = height;
@@ -237,7 +237,7 @@ class MftH264DecodeEngineTest : public testing::Test {
ASSERT_TRUE(reader->GetWidth(&actual_width));
ASSERT_TRUE(reader->GetHeight(&actual_height));
- VideoCodecConfig config;
+ VideoDecoderConfig config;
CreateDrawWindow(config.width, config.height);
GetDecodeEngine(dxva);
InitDecodeEngine();
@@ -303,7 +303,7 @@ TEST_F(MftH264DecodeEngineTest, DecoderUninitializedAtFirst) {
}
TEST_F(MftH264DecodeEngineTest, DecoderInitMissingArgs) {
- VideoCodecConfig config;
+ VideoDecoderConfig config;
GetDecodeEngine(false);
engine_->Initialize(NULL, NULL, NULL, config);
EXPECT_EQ(MftH264DecodeEngine::kUninitialized, engine_->state());
diff --git a/media/video/omx_video_decode_engine.cc b/media/video/omx_video_decode_engine.cc
index a6996d3..d799ecd 100644
--- a/media/video/omx_video_decode_engine.cc
+++ b/media/video/omx_video_decode_engine.cc
@@ -84,7 +84,7 @@ void OmxVideoDecodeEngine::Initialize(
MessageLoop* message_loop,
VideoDecodeEngine::EventHandler* event_handler,
VideoDecodeContext* context,
- const VideoCodecConfig& config) {
+ const VideoDecoderConfig& config) {
DCHECK_EQ(message_loop, MessageLoop::current());
message_loop_ = message_loop;
diff --git a/media/video/omx_video_decode_engine.h b/media/video/omx_video_decode_engine.h
index 07370a9..26b6bcf 100644
--- a/media/video/omx_video_decode_engine.h
+++ b/media/video/omx_video_decode_engine.h
@@ -28,7 +28,7 @@ class OmxVideoDecodeEngine : public VideoDecodeEngine {
virtual void Initialize(MessageLoop* message_loop,
VideoDecodeEngine::EventHandler* event_handler,
VideoDecodeContext* context,
- const VideoCodecConfig& config);
+ const VideoDecoderConfig& config);
virtual void ConsumeVideoSample(scoped_refptr<Buffer> buffer);
virtual void ProduceVideoFrame(scoped_refptr<VideoFrame> frame);
virtual void Uninitialize();
diff --git a/media/video/video_decode_engine.h b/media/video/video_decode_engine.h
index 46a87d7..c82ba80 100644
--- a/media/video/video_decode_engine.h
+++ b/media/video/video_decode_engine.h
@@ -7,6 +7,7 @@
#include "base/callback.h"
#include "base/memory/scoped_ptr.h"
+#include "media/base/video_decoder_config.h"
#include "media/base/video_frame.h"
class MessageLoop;
@@ -18,50 +19,6 @@ class VideoDecodeContext;
struct PipelineStatistics;
-enum VideoCodec {
- kUnknown,
- kCodecH264,
- kCodecVC1,
- kCodecMPEG2,
- kCodecMPEG4,
- kCodecTheora,
- kCodecVP8,
-};
-
-class VideoCodecConfig {
- public:
- VideoCodecConfig(VideoCodec codec, int width, int height,
- int frame_rate_numerator, int frame_rate_denominator,
- uint8* extra_data, size_t extra_data_size);
- ~VideoCodecConfig();
-
- VideoCodec codec() const;
- int width() const;
- int height() const;
- int frame_rate_numerator() const;
- int frame_rate_denominator() const;
- uint8* extra_data() const;
- size_t extra_data_size() const;
-
- private:
- VideoCodec codec_;
-
- // Container's concept of width and height of this video.
- int width_;
- int height_;
-
- // Frame rate in seconds expressed as a fraction.
- // TODO(scherkus): fairly certain decoders don't require frame rates.
- int frame_rate_numerator_;
- int frame_rate_denominator_;
-
- // Optional byte data requied to initialize video decoders.
- scoped_array<uint8> extra_data_;
- size_t extra_data_size_;
-
- DISALLOW_COPY_AND_ASSIGN(VideoCodecConfig);
-};
-
struct VideoStreamInfo {
VideoFrame::Format surface_format;
VideoFrame::SurfaceType surface_type;
@@ -144,7 +101,7 @@ class VideoDecodeEngine {
virtual void Initialize(MessageLoop* message_loop,
EventHandler* event_handler,
VideoDecodeContext* context,
- const VideoCodecConfig& config) = 0;
+ const VideoDecoderConfig& config) = 0;
// Uninitialize the engine. Engine should destroy all resources and call
// EventHandler::OnUninitializeComplete().
diff --git a/media/video/video_mock_objects.h b/media/video/video_mock_objects.h
index 96ea3fa..4b8ec64 100644
--- a/media/video/video_mock_objects.h
+++ b/media/video/video_mock_objects.h
@@ -19,7 +19,7 @@ class MockVideoDecodeEngine : public VideoDecodeEngine {
MOCK_METHOD4(Initialize, void(MessageLoop* message_loop,
EventHandler* event_handler,
VideoDecodeContext* context,
- const VideoCodecConfig& config));
+ const VideoDecoderConfig& config));
MOCK_METHOD0(Uninitialize, void());
MOCK_METHOD0(Flush, void());
MOCK_METHOD0(Seek, void());