diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-03 02:50:27 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-03 02:50:27 +0000 |
commit | 25ea4f05da1024bc0c4ee33b655cd562be71853c (patch) | |
tree | b2fe68b51efa93c95ec7e1d476ac7e17ba0cc062 /media/video/mft_h264_decode_engine.h | |
parent | 401ea4406626191d8994d64f13e1164859d8bb4c (diff) | |
download | chromium_src-25ea4f05da1024bc0c4ee33b655cd562be71853c.zip chromium_src-25ea4f05da1024bc0c4ee33b655cd562be71853c.tar.gz chromium_src-25ea4f05da1024bc0c4ee33b655cd562be71853c.tar.bz2 |
Removing defunct Media Foundation based video decode engines and devices.
These have been unused for quite some time and are getting in the way of refactoring/improving video decoding code.
BUG=none
TEST=the world still compiles
Review URL: http://codereview.chromium.org/7065050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87753 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/video/mft_h264_decode_engine.h')
-rw-r--r-- | media/video/mft_h264_decode_engine.h | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/media/video/mft_h264_decode_engine.h b/media/video/mft_h264_decode_engine.h deleted file mode 100644 index a6ff52c..0000000 --- a/media/video/mft_h264_decode_engine.h +++ /dev/null @@ -1,106 +0,0 @@ -// 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. -// -// MFT H.264 decode engine. - -#ifndef MEDIA_VIDEO_MFT_H264_DECODE_ENGINE_H_ -#define MEDIA_VIDEO_MFT_H264_DECODE_ENGINE_H_ - -// TODO(imcheng): Get rid of this header by: -// - forward declaring IMFTransform and its IID as in -// mft_h264_decode_engine_context.h -// - turning the general SendMFTMessage method into specific methods -// (SendFlushMessage, SendDrainMessage, etc.) to avoid having -// MFT_MESSAGE_TYPE in here -#include <mfidl.h> -#include <vector> - -#include "base/gtest_prod_util.h" -#include "base/win/scoped_comptr.h" -#include "media/video/video_decode_engine.h" - -struct IDirect3DSurface9; -extern "C" const GUID IID_IDirect3DSurface9; - -class MessageLoop; - -namespace media { - -class VideoDecodeContext; - -class MftH264DecodeEngine : public media::VideoDecodeEngine { - public: - typedef enum { - kUninitialized, // un-initialized. - kNormal, // normal playing state. - kFlushing, // upon received Flush(), before FlushDone() - kEosDrain, // upon input EOS received. - kStopped, // upon output EOS received. - } State; - - explicit MftH264DecodeEngine(bool use_dxva); - virtual ~MftH264DecodeEngine(); - - // VideoDecodeEngine implementation. - virtual void Initialize(MessageLoop* message_loop, - media::VideoDecodeEngine::EventHandler* event_handler, - VideoDecodeContext* context, - const VideoDecoderConfig& config); - virtual void Uninitialize(); - virtual void Flush(); - virtual void Seek(); - virtual void ConsumeVideoSample(scoped_refptr<Buffer> buffer); - virtual void ProduceVideoFrame(scoped_refptr<VideoFrame> frame); - - bool use_dxva() const { return use_dxva_; } - State state() const { return state_; } - - private: - friend class MftH264DecodeEngineTest; - FRIEND_TEST_ALL_PREFIXES(MftH264DecodeEngineTest, LibraryInit); - - // TODO(jiesun): Find a way to move all these to GpuVideoService.. - static bool StartupComLibraries(); - static void ShutdownComLibraries(); - bool EnableDxva(); - - bool InitInternal(); - bool InitDecodeEngine(); - void AllocFramesFromContext(); - bool CheckDecodeEngineDxvaSupport(); - bool SetDecodeEngineMediaTypes(); - bool SetDecodeEngineInputMediaType(); - bool SetDecodeEngineOutputMediaType(const GUID subtype); - bool SendMFTMessage(MFT_MESSAGE_TYPE msg); - bool GetStreamsInfoAndBufferReqs(); - bool DoDecode(const PipelineStatistics& statistics); - void OnAllocFramesDone(); - void OnUploadVideoFrameDone( - base::win::ScopedComPtr<IDirect3DSurface9, - &IID_IDirect3DSurface9> surface, - scoped_refptr<media::VideoFrame> frame, PipelineStatistics statistics); - - bool use_dxva_; - base::win::ScopedComPtr<IMFTransform> decode_engine_; - - MFT_INPUT_STREAM_INFO input_stream_info_; - MFT_OUTPUT_STREAM_INFO output_stream_info_; - - State state_; - - int width_; - int height_; - - VideoDecodeEngine::EventHandler* event_handler_; - VideoCodecInfo info_; - - VideoDecodeContext* context_; - std::vector<scoped_refptr<VideoFrame> > output_frames_; - - DISALLOW_COPY_AND_ASSIGN(MftH264DecodeEngine); -}; - -} // namespace media - -#endif // MEDIA_VIDEO_MFT_H264_DECODE_ENGINE_H_ |