diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-27 21:51:46 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-27 21:51:46 +0000 |
commit | e75e65a1f01b449abe40ab1f96c79ebd57dfe0ca (patch) | |
tree | 2cb32b0c9d06475c2bcd587af1404b9a25e0b80a /media | |
parent | d746a77a9806aef78119a4688a08064980687ce1 (diff) | |
download | chromium_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.h | 59 | ||||
-rw-r--r-- | media/filters/ffmpeg_video_decoder.cc | 12 | ||||
-rw-r--r-- | media/filters/ffmpeg_video_decoder_unittest.cc | 2 | ||||
-rw-r--r-- | media/filters/omx_video_decoder.cc | 12 | ||||
-rw-r--r-- | media/media.gyp | 3 | ||||
-rw-r--r-- | media/tools/omx_test/omx_test.cc | 2 | ||||
-rw-r--r-- | media/video/ffmpeg_video_decode_engine.cc | 4 | ||||
-rw-r--r-- | media/video/ffmpeg_video_decode_engine.h | 2 | ||||
-rw-r--r-- | media/video/ffmpeg_video_decode_engine_unittest.cc | 2 | ||||
-rw-r--r-- | media/video/mft_h264_decode_engine.cc | 2 | ||||
-rw-r--r-- | media/video/mft_h264_decode_engine.h | 2 | ||||
-rw-r--r-- | media/video/mft_h264_decode_engine_unittest.cc | 6 | ||||
-rw-r--r-- | media/video/omx_video_decode_engine.cc | 2 | ||||
-rw-r--r-- | media/video/omx_video_decode_engine.h | 2 | ||||
-rw-r--r-- | media/video/video_decode_engine.h | 47 | ||||
-rw-r--r-- | media/video/video_mock_objects.h | 2 |
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()); |