blob: e53ad67949bde71f25d8738649645d6e31514a39 [file] [edit]
<!-- webkit-test-runner [ SWVPDecodersAlwaysEnabled=true ] -->
<html>
<head>
<title>videos with full range color offscreen</title>
<script src=video-test.js></script>
<script>
var pixelData;
async function test(element, file) {
element.src = "";
element.load();
element.src = file;
let promise = new Promise(resolve => element.requestVideoFrameCallback(resolve));
await waitFor(element, 'loadedmetadata');
await element.play();
await promise;
const canvas = document.createElement('canvas');
canvas.width = element.videoWidth;
canvas.height = element.videoHeight;
var ctx = canvas.getContext('2d');
ctx.drawImage(element, 0, 0);
pixelData = ctx.getImageData(20, 20, 1, 1).data;
testExpected("pixelData[0]", 12, ">=");
testExpected("pixelData[1]", 12, ">=");
testExpected("pixelData[2]", 12, ">=");
};
async function init()
{
if (window.testRunner)
testRunner.waitUntilDone();
const files = [
'content/test-h264-709-videorange.mp4',
'content/test-h264-709-fullrange.mp4',
'content/test-vp9-709-fullrange.webm',
'content/test-vp8-709-fullrange.webm',
]
for (const file of files) {
await test(document.createElement('video'), file);
}
if (window.testRunner)
testRunner.notifyDone();
}
</script>
</head>
<body onload="init();">
<video/>
</body>
</html>