Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Side by Side Diff: media/video/mft_h264_decode_engine.cc

Issue 6628020: Cleaning up src/media to be consistent with static versus anonymous namespaces. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src
Patch Set: fix namespaces Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/video/mft_h264_decode_engine.h" 5 #include "media/video/mft_h264_decode_engine.h"
6 6
7 #include <d3d9.h> 7 #include <d3d9.h>
8 #include <dxva2api.h> 8 #include <dxva2api.h>
9 #include <initguid.h> 9 #include <initguid.h>
10 #include <mfapi.h> 10 #include <mfapi.h>
11 // Placed after mfapi.h to avoid linking strmiids.lib for MR_BUFFER_SERVICE. 11 // Placed after mfapi.h to avoid linking strmiids.lib for MR_BUFFER_SERVICE.
12 #include <evr.h> 12 #include <evr.h>
13 #include <mferror.h> 13 #include <mferror.h>
14 #include <wmcodecdsp.h> 14 #include <wmcodecdsp.h>
15 15
16 #include "base/time.h" 16 #include "base/time.h"
17 #include "base/message_loop.h" 17 #include "base/message_loop.h"
18 #include "media/base/limits.h" 18 #include "media/base/limits.h"
19 #include "media/base/pipeline.h" 19 #include "media/base/pipeline.h"
20 #include "media/video/video_decode_context.h" 20 #include "media/video/video_decode_context.h"
21 21
22 #pragma comment(lib, "dxva2.lib") 22 #pragma comment(lib, "dxva2.lib")
23 #pragma comment(lib, "d3d9.lib") 23 #pragma comment(lib, "d3d9.lib")
24 #pragma comment(lib, "mf.lib") 24 #pragma comment(lib, "mf.lib")
25 #pragma comment(lib, "mfplat.lib") 25 #pragma comment(lib, "mfplat.lib")
26 26
27 using base::TimeDelta; 27 using base::TimeDelta;
28 28
29 namespace { 29 namespace media {
30 30
31 // Creates an empty Media Foundation sample with no buffers. 31 // Creates an empty Media Foundation sample with no buffers.
32 static IMFSample* CreateEmptySample() { 32 static IMFSample* CreateEmptySample() {
33 HRESULT hr; 33 HRESULT hr;
34 ScopedComPtr<IMFSample> sample; 34 ScopedComPtr<IMFSample> sample;
35 hr = MFCreateSample(sample.Receive()); 35 hr = MFCreateSample(sample.Receive());
36 if (FAILED(hr)) { 36 if (FAILED(hr)) {
37 LOG(ERROR) << "Unable to create an empty sample"; 37 LOG(ERROR) << "Unable to create an empty sample";
38 return NULL; 38 return NULL;
39 } 39 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 CHECK(SUCCEEDED(buffer->Unlock())); 125 CHECK(SUCCEEDED(buffer->Unlock()));
126 hr = buffer->SetCurrentLength(size); 126 hr = buffer->SetCurrentLength(size);
127 if (FAILED(hr)) { 127 if (FAILED(hr)) {
128 LOG(ERROR) << "Failed to set current length to " << size; 128 LOG(ERROR) << "Failed to set current length to " << size;
129 return NULL; 129 return NULL;
130 } 130 }
131 VLOG(1) << __FUNCTION__ << " wrote " << size << " bytes into input sample"; 131 VLOG(1) << __FUNCTION__ << " wrote " << size << " bytes into input sample";
132 return sample.Detach(); 132 return sample.Detach();
133 } 133 }
134 134
135 const GUID ConvertVideoFrameFormatToGuid(media::VideoFrame::Format format) { 135 const GUID ConvertVideoFrameFormatToGuid(VideoFrame::Format format) {
136 switch (format) { 136 switch (format) {
137 case media::VideoFrame::NV12: 137 case VideoFrame::NV12:
138 return MFVideoFormat_NV12; 138 return MFVideoFormat_NV12;
139 case media::VideoFrame::YV12: 139 case VideoFrame::YV12:
140 return MFVideoFormat_YV12; 140 return MFVideoFormat_YV12;
141 default: 141 default:
142 NOTREACHED() << "Unsupported VideoFrame format"; 142 NOTREACHED() << "Unsupported VideoFrame format";
143 return GUID_NULL; 143 return GUID_NULL;
144 } 144 }
145 NOTREACHED(); 145 NOTREACHED();
146 return GUID_NULL; 146 return GUID_NULL;
147 } 147 }
148 148
149 } // namespace
150
151 namespace media {
152
153 // public methods 149 // public methods
154 150
155 MftH264DecodeEngine::MftH264DecodeEngine(bool use_dxva) 151 MftH264DecodeEngine::MftH264DecodeEngine(bool use_dxva)
156 : use_dxva_(use_dxva), 152 : use_dxva_(use_dxva),
157 state_(kUninitialized), 153 state_(kUninitialized),
158 event_handler_(NULL), 154 event_handler_(NULL),
159 context_(NULL) { 155 context_(NULL) {
160 memset(&input_stream_info_, 0, sizeof(input_stream_info_)); 156 memset(&input_stream_info_, 0, sizeof(input_stream_info_));
161 memset(&output_stream_info_, 0, sizeof(output_stream_info_)); 157 memset(&output_stream_info_, 0, sizeof(output_stream_info_));
162 memset(&config_, 0, sizeof(config_)); 158 memset(&config_, 0, sizeof(config_));
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 uint8* dst_y = static_cast<uint8*>(frame->data(VideoFrame::kYPlane)); 678 uint8* dst_y = static_cast<uint8*>(frame->data(VideoFrame::kYPlane));
683 679
684 memcpy(dst_y, src_y, current_length); 680 memcpy(dst_y, src_y, current_length);
685 CHECK(SUCCEEDED(output_buffer->Unlock())); 681 CHECK(SUCCEEDED(output_buffer->Unlock()));
686 event_handler_->ConsumeVideoFrame(frame, statistics); 682 event_handler_->ConsumeVideoFrame(frame, statistics);
687 return true; 683 return true;
688 } 684 }
689 685
690 void MftH264DecodeEngine::OnUploadVideoFrameDone( 686 void MftH264DecodeEngine::OnUploadVideoFrameDone(
691 ScopedComPtr<IDirect3DSurface9, &IID_IDirect3DSurface9> surface, 687 ScopedComPtr<IDirect3DSurface9, &IID_IDirect3DSurface9> surface,
692 scoped_refptr<media::VideoFrame> frame, 688 scoped_refptr<VideoFrame> frame,
693 PipelineStatistics statistics) { 689 PipelineStatistics statistics) {
694 // After this method is exited the reference to surface is released. 690 // After this method is exited the reference to surface is released.
695 event_handler_->ConsumeVideoFrame(frame, statistics); 691 event_handler_->ConsumeVideoFrame(frame, statistics);
696 } 692 }
697 693
698 } // namespace media 694 } // namespace media
699 695
700 DISABLE_RUNNABLE_METHOD_REFCOUNT(media::MftH264DecodeEngine); 696 DISABLE_RUNNABLE_METHOD_REFCOUNT(media::MftH264DecodeEngine);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698