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

Side by Side Diff: media/video/capture/file_video_capture_device.cc

Issue 897483002: Refactored pixel format resize operations in media/video/capture into a function called VideoCaptu… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added checks for unsupported pixel formats. Created 5 years, 10 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/capture/file_video_capture_device.h" 5 #include "media/video/capture/file_video_capture_device.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/strings/string_number_conversions.h" 11 #include "base/strings/string_number_conversions.h"
12 #include "base/strings/string_piece.h" 12 #include "base/strings/string_piece.h"
13 #include "media/video/capture/video_capture_types.h"
13 14
14 namespace media { 15 namespace media {
15 static const int kY4MHeaderMaxSize = 200; 16 static const int kY4MHeaderMaxSize = 200;
16 static const char kY4MSimpleFrameDelimiter[] = "FRAME"; 17 static const char kY4MSimpleFrameDelimiter[] = "FRAME";
17 static const int kY4MSimpleFrameDelimiterSize = 6; 18 static const int kY4MSimpleFrameDelimiterSize = 6;
18 19
19 int ParseY4MInt(const base::StringPiece& token) { 20 int ParseY4MInt(const base::StringPiece& token) {
20 int temp_int; 21 int temp_int;
21 CHECK(base::StringToInt(token, &temp_int)) << token; 22 CHECK(base::StringToInt(token, &temp_int)) << token;
22 return temp_int; 23 return temp_int;
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 DCHECK(thread_checker_.CalledOnValidThread()); 163 DCHECK(thread_checker_.CalledOnValidThread());
163 CHECK(capture_thread_.IsRunning()); 164 CHECK(capture_thread_.IsRunning());
164 165
165 capture_thread_.message_loop()->PostTask( 166 capture_thread_.message_loop()->PostTask(
166 FROM_HERE, 167 FROM_HERE,
167 base::Bind(&FileVideoCaptureDevice::OnStopAndDeAllocate, 168 base::Bind(&FileVideoCaptureDevice::OnStopAndDeAllocate,
168 base::Unretained(this))); 169 base::Unretained(this)));
169 capture_thread_.Stop(); 170 capture_thread_.Stop();
170 } 171 }
171 172
172 int FileVideoCaptureDevice::CalculateFrameSize() { 173 int FileVideoCaptureDevice::CalculateFrameSize() const {
173 DCHECK_EQ(capture_format_.pixel_format, PIXEL_FORMAT_I420); 174 DCHECK_EQ(capture_format_.pixel_format, PIXEL_FORMAT_I420);
174 DCHECK_EQ(capture_thread_.message_loop(), base::MessageLoop::current()); 175 DCHECK_EQ(capture_thread_.message_loop(), base::MessageLoop::current());
175 return capture_format_.frame_size.GetArea() * 12 / 8; 176 return capture_format_.ImageAllocationSize();
176 } 177 }
177 178
178 void FileVideoCaptureDevice::OnAllocateAndStart( 179 void FileVideoCaptureDevice::OnAllocateAndStart(
179 const VideoCaptureParams& params, 180 const VideoCaptureParams& params,
180 scoped_ptr<VideoCaptureDevice::Client> client) { 181 scoped_ptr<VideoCaptureDevice::Client> client) {
181 DCHECK_EQ(capture_thread_.message_loop(), base::MessageLoop::current()); 182 DCHECK_EQ(capture_thread_.message_loop(), base::MessageLoop::current());
182 183
183 client_ = client.Pass(); 184 client_ = client.Pass();
184 185
185 // Open the file and parse the header. Get frame size and format. 186 // Open the file and parse the header. Get frame size and format.
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 next_on_capture_timedelta = frame_interval; 249 next_on_capture_timedelta = frame_interval;
249 } 250 }
250 base::MessageLoop::current()->PostDelayedTask( 251 base::MessageLoop::current()->PostDelayedTask(
251 FROM_HERE, 252 FROM_HERE,
252 base::Bind(&FileVideoCaptureDevice::OnCaptureTask, 253 base::Bind(&FileVideoCaptureDevice::OnCaptureTask,
253 base::Unretained(this)), 254 base::Unretained(this)),
254 next_on_capture_timedelta); 255 next_on_capture_timedelta);
255 } 256 }
256 257
257 } // namespace media 258 } // namespace media
OLDNEW
« no previous file with comments | « media/video/capture/file_video_capture_device.h ('k') | media/video/capture/video_capture_device_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698