diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-08 05:46:50 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-08 05:46:50 +0000 |
commit | d741b57d94f8d8ec49cc597588ca2780d38c06d9 (patch) | |
tree | 039cac25a8f85ca5d4da053fac22469d225a20e8 /media/video/mft_h264_decode_engine.h | |
parent | 1ffca254514b4da587e46d1367b217eca22d5932 (diff) | |
download | chromium_src-d741b57d94f8d8ec49cc597588ca2780d38c06d9.zip chromium_src-d741b57d94f8d8ec49cc597588ca2780d38c06d9.tar.gz chromium_src-d741b57d94f8d8ec49cc597588ca2780d38c06d9.tar.bz2 |
Revert "Move MFT H264 video decoder implementation and connect it to GpuVideoDecoder"
This reverts commit 8462483619e253dca3717d51e340ed839a6cab1d.
Revert "Fix build failure."
This reverts commit 8dcd363637ac2e59f9472c0793a0b1fd3c2ad4c7.
TBR=scherkus
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3601019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61922 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 | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/media/video/mft_h264_decode_engine.h b/media/video/mft_h264_decode_engine.h deleted file mode 100644 index e13dce9..0000000 --- a/media/video/mft_h264_decode_engine.h +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright (c) 2010 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 "base/gtest_prod_util.h" -#include "base/scoped_comptr_win.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 VideoCodecConfig& 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(); - void OnAllocFramesDone(); - void OnUploadVideoFrameDone( - ScopedComPtr<IDirect3DSurface9, &IID_IDirect3DSurface9> surface, - scoped_refptr<media::VideoFrame> frame); - - bool use_dxva_; - ScopedComPtr<IMFTransform> decode_engine_; - - MFT_INPUT_STREAM_INFO input_stream_info_; - MFT_OUTPUT_STREAM_INFO output_stream_info_; - - State state_; - - VideoDecodeEngine::EventHandler* event_handler_; - VideoCodecConfig config_; - 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_ |