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

Side by Side Diff: content/test/data/media/webrtc_test_utilities.js

Issue 1132333006: Try switching black frame algorithm to a luma-based algorithm. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // These must match with how the video and canvas tags are declared in html. 5 // These must match with how the video and canvas tags are declared in html.
6 const VIDEO_TAG_WIDTH = 320; 6 const VIDEO_TAG_WIDTH = 320;
7 const VIDEO_TAG_HEIGHT = 240; 7 const VIDEO_TAG_HEIGHT = 240;
8 8
9 // Fake video capture background green is of value 135. 9 // Fake video capture background green is of value 135.
10 const COLOR_BACKGROUND_GREEN = 135; 10 const COLOR_BACKGROUND_GREEN = 135;
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 function isVideoPlaying(pixels, previousPixels) { 180 function isVideoPlaying(pixels, previousPixels) {
181 for (var i = 0; i < pixels.length; i++) { 181 for (var i = 0; i < pixels.length; i++) {
182 if (pixels[i] != previousPixels[i]) { 182 if (pixels[i] != previousPixels[i]) {
183 return true; 183 return true;
184 } 184 }
185 } 185 }
186 return false; 186 return false;
187 } 187 }
188 188
189 function isVideoBlack(pixels) { 189 function isVideoBlack(pixels) {
190 for (var i = 0; i < pixels.length; i++) { 190 var threshold = 20;
191 // |pixels| is in RGBA. Ignore the alpha channel. 191 var accumulatedLuma = 0;
192 // We allow it to be off by 1, to account for rounding errors in YUV 192 for (var i = 4; i < pixels.length; i += 4) {
kjellander_chromium 2015/05/19 08:08:54 Please keep the comment about that |pixels| is in
phoglund_chromium 2015/05/19 09:01:19 Done.
193 // conversion. 193 // Use Luma as in Rec. 709: Y′709 = 0.21R + 0.72G + 0.07B;
kjellander_chromium 2015/05/19 08:08:54 I'm new to color space standards, but according to
phoglund_chromium 2015/05/19 09:01:20 Done.
194 if (pixels[i] != 0 && pixels[i] != 1 && (i + 1) % 4 != 0) { 194 accumulatedLuma +=
195 0.21 * pixels[i] + 0.72 * pixels[i + 1] + 0.07 * pixels[i + 2];
kjellander_chromium 2015/05/19 08:08:54 Can you extract what's after += to a function?
phoglund_chromium 2015/05/19 09:01:19 Done.
196 if (accumulatedLuma > threshold * i / 4)
195 return false; 197 return false;
196 }
197 } 198 }
198 return true; 199 return true;
199 } 200 }
200 201
201 // This function matches |left| and |right| and fails the test if the 202 // This function matches |left| and |right| and fails the test if the
202 // values don't match using normal javascript equality (i.e. the hard 203 // values don't match using normal javascript equality (i.e. the hard
203 // types of the operands aren't checked). 204 // types of the operands aren't checked).
204 function assertEquals(expected, actual) { 205 function assertEquals(expected, actual) {
205 if (actual != expected) { 206 if (actual != expected) {
206 failTest("expected '" + expected + "', got '" + actual + "'."); 207 failTest("expected '" + expected + "', got '" + actual + "'.");
(...skipping 15 matching lines...) Expand all
222 if (device.kind == 'video') 223 if (device.kind == 'video')
223 hasVideoInputDevice = true; 224 hasVideoInputDevice = true;
224 }); 225 });
225 226
226 if (hasVideoInputDevice) 227 if (hasVideoInputDevice)
227 sendValueToTest('has-video-input-device'); 228 sendValueToTest('has-video-input-device');
228 else 229 else
229 sendValueToTest('no-video-input-devices'); 230 sendValueToTest('no-video-input-devices');
230 }); 231 });
231 } 232 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698