added a debug canvas for ArDetect to draw on in debug mode
This commit is contained in:
parent
b0ef12d97b
commit
9e044ac66f
@ -8,7 +8,7 @@ Debug = {
|
|||||||
debugResizer: true,
|
debugResizer: true,
|
||||||
debugArDetect: true,
|
debugArDetect: true,
|
||||||
debugStorage: true,
|
debugStorage: true,
|
||||||
showArDetectCanvas: true,
|
// showArDetectCanvas: true,
|
||||||
flushStoredSettings: false,
|
flushStoredSettings: false,
|
||||||
playerDetectDebug: true,
|
playerDetectDebug: true,
|
||||||
arDetect: {
|
arDetect: {
|
||||||
@ -16,6 +16,11 @@ Debug = {
|
|||||||
},
|
},
|
||||||
canvas: {
|
canvas: {
|
||||||
debugDetection: true
|
debugDetection: true
|
||||||
|
},
|
||||||
|
debugCanvas: {
|
||||||
|
enable: true,
|
||||||
|
enabled: true,
|
||||||
|
guardLine: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ var _arSetup = function(cwidth, cheight){
|
|||||||
|
|
||||||
GlobalVars.arDetect.canvas.width = canvasWidth;
|
GlobalVars.arDetect.canvas.width = canvasWidth;
|
||||||
GlobalVars.arDetect.canvas.height = canvasHeight;
|
GlobalVars.arDetect.canvas.height = canvasHeight;
|
||||||
|
|
||||||
|
|
||||||
try{
|
try{
|
||||||
// determine where to sample
|
// determine where to sample
|
||||||
@ -163,6 +163,11 @@ var _arSetup = function(cwidth, cheight){
|
|||||||
catch(ex){
|
catch(ex){
|
||||||
console.log(ex);
|
console.log(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(Debug.debugCanvas.enable){
|
||||||
|
DebugCanvas.init({width: canvasWidth, height: canvasHeight});
|
||||||
|
DebugCanvas.draw("test marker","test","rect", {x:5, y:5}, {width: 5, height: 5});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var _ard_canvasReadyForDrawWindow = function(){
|
var _ard_canvasReadyForDrawWindow = function(){
|
||||||
@ -275,23 +280,11 @@ var _ard_vdraw = function (timeout, force_reset){
|
|||||||
timeout);
|
timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
var executions = 0;
|
|
||||||
|
|
||||||
// if(Debug.debug){
|
|
||||||
// setInterval(function(){
|
|
||||||
// console.log("STATS FOR LAST SECOND\nexecutions:", executions,"; vdraw timeouts cleared:", clearTimeoutCount);
|
|
||||||
// executions = 0;
|
|
||||||
// clearTimeoutCount = 0;
|
|
||||||
// }, 1000);
|
|
||||||
// }
|
|
||||||
|
|
||||||
var _ard_vdraw_but_for_reals = function() {
|
var _ard_vdraw_but_for_reals = function() {
|
||||||
// thanks dude:
|
// thanks dude:
|
||||||
// https://www.reddit.com/r/iiiiiiitttttttttttt/comments/80qnss/i_tried_to_write_something_that_would/duyfg53/
|
// https://www.reddit.com/r/iiiiiiitttttttttttt/comments/80qnss/i_tried_to_write_something_that_would/duyfg53/
|
||||||
// except this method stops working as soon as I try to do something with the image :/
|
// except this method stops working as soon as I try to do something with the image :/
|
||||||
|
|
||||||
++executions;
|
|
||||||
|
|
||||||
if(this._forcehalt)
|
if(this._forcehalt)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -484,9 +477,6 @@ var _ard_vdraw_but_for_reals = function() {
|
|||||||
// per video/pageload instead of every time letterbox goes away (this can happen more than once per vid)
|
// per video/pageload instead of every time letterbox goes away (this can happen more than once per vid)
|
||||||
GlobalVars.arDetect.noLetterboxCanvasReset = false;
|
GlobalVars.arDetect.noLetterboxCanvasReset = false;
|
||||||
|
|
||||||
console.log("ping!")
|
|
||||||
|
|
||||||
|
|
||||||
// let's do a quick test to see if we're on a black frame
|
// let's do a quick test to see if we're on a black frame
|
||||||
// TODO: reimplement but with less bullshit
|
// TODO: reimplement but with less bullshit
|
||||||
|
|
||||||
@ -496,7 +486,50 @@ var _ard_vdraw_but_for_reals = function() {
|
|||||||
var imageDetectOut;
|
var imageDetectOut;
|
||||||
|
|
||||||
if(ExtensionConf.arDetect.guardLine.enabled){
|
if(ExtensionConf.arDetect.guardLine.enabled){
|
||||||
|
console.log("GUARDLINE ENABLED")
|
||||||
|
|
||||||
|
if(Debug.debugCanvas.enabled && Debug.debugCanvas.guardLine){
|
||||||
|
var xOffset = parseInt(GlobalVars.canvas.width * ExtensionConf.arDetect.guardLine.ignoreEdgeMargin);
|
||||||
|
var dbgc_w = GlobalVars.canvas.width - (xOffset * 2);
|
||||||
|
|
||||||
|
if(GlobalVars.arDetect.guardLine.top){
|
||||||
|
DebugCanvas.draw(
|
||||||
|
"",
|
||||||
|
"guardLine_blackbar",
|
||||||
|
"rect",
|
||||||
|
{x: xOffset, y: GlobalVars.arDetect.guardLine.top - ExtensionConf.arDetect.guardLine.edgeTolerancePx},
|
||||||
|
{width: dbgc_w, height: 1},
|
||||||
|
ExtensionConf.arDetect.timer_playing
|
||||||
|
);
|
||||||
|
DebugCanvas.draw(
|
||||||
|
"",
|
||||||
|
"guardLine_imageTest",
|
||||||
|
"rect",
|
||||||
|
{x: xOffset, y: GlobalVars.arDetect.guardLine.top + ExtensionConf.arDetect.guardLine.edgeTolerancePx},
|
||||||
|
{width: dbgc_w, height: 1},
|
||||||
|
ExtensionConf.arDetect.timer_playing
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if(GlobalVars.arDetect.guardLine.bottom){
|
||||||
|
DebugCanvas.draw(
|
||||||
|
"",
|
||||||
|
"guardLine_blackbar",
|
||||||
|
"rect",
|
||||||
|
{x: xOffset, y: GlobalVars.arDetect.guardLine.bottom + ExtensionConf.arDetect.guardLine.edgeTolerancePx},
|
||||||
|
{width: dbgc_w, height: 1},
|
||||||
|
ExtensionConf.arDetect.timer_playing
|
||||||
|
);
|
||||||
|
DebugCanvas.draw(
|
||||||
|
"",
|
||||||
|
"guardLine_imageTest",
|
||||||
|
"rect",
|
||||||
|
{x: xOffset, y: GlobalVars.arDetect.guardLine.bottom - ExtensionConf.arDetect.guardLine.edgeTolerancePx},
|
||||||
|
{width: dbgc_w, height: 1},
|
||||||
|
ExtensionConf.arDetect.timer_playing
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
guardLineOut = _ard_guardLineCheck(image, fallbackMode);
|
guardLineOut = _ard_guardLineCheck(image, fallbackMode);
|
||||||
|
|
||||||
guardLineResult = guardLineOut.success;
|
guardLineResult = guardLineOut.success;
|
||||||
@ -822,9 +855,13 @@ var _ard_guardLineCheck = function(image, fallbackMode){
|
|||||||
// columns to sample
|
// columns to sample
|
||||||
if(image[i] > blackbarTreshold || image[i+1] > blackbarTreshold || image[i+2] > blackbarTreshold){
|
if(image[i] > blackbarTreshold || image[i+1] > blackbarTreshold || image[i+2] > blackbarTreshold){
|
||||||
if(firstOffender < 0){
|
if(firstOffender < 0){
|
||||||
firstOffender = (i * 0.25) - rowStart;
|
firstOffender = (i >> 2) - rowStart;
|
||||||
offenderCount++;
|
offenderCount++;
|
||||||
offenders.push({x: firstOffender, width: 1})
|
offenders.push({x: firstOffender, width: 1})
|
||||||
|
|
||||||
|
if(Debug.debugCanvas.enable && Debug.debugCanvas.guardLine){
|
||||||
|
DebugCanvas.draw('','guardLine_blackbar_violation', 'rect', {x: i>>2, y: edge_upper}, {width: 3, height: 3}, 1000)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
offenders[offenderCount].width++
|
offenders[offenderCount].width++
|
||||||
@ -848,9 +885,12 @@ var _ard_guardLineCheck = function(image, fallbackMode){
|
|||||||
// columns to sample
|
// columns to sample
|
||||||
if(image[i] > blackbarTreshold || image[i+1] > blackbarTreshold || image[i+2] > blackbarTreshold){
|
if(image[i] > blackbarTreshold || image[i+1] > blackbarTreshold || image[i+2] > blackbarTreshold){
|
||||||
if(firstOffender < 0){
|
if(firstOffender < 0){
|
||||||
firstOffender = (i * 0.25) - rowStart;
|
firstOffender = (i >> 2) - rowStart;
|
||||||
offenderCount++;
|
offenderCount++;
|
||||||
offenders.push({x: firstOffender, width: 1})
|
offenders.push({x: firstOffender, width: 1})
|
||||||
|
if(Debug.debugCanvas.enable && Debug.debugCanvas.blackBar){
|
||||||
|
DebugCanvas.draw('','guardLine_blackbar_violation', 'rect', {x: i>>2, y: edge_lower}, {width: 3, height: 3}, 1000)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
offenders[offenderCount].width++
|
offenders[offenderCount].width++
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
"js/lib/PlayerDetect.js",
|
"js/lib/PlayerDetect.js",
|
||||||
|
|
||||||
"js/modules/PageInfo.js",
|
"js/modules/PageInfo.js",
|
||||||
|
"js/modules/DebugCanvas.js",
|
||||||
"js/modules/ArDetect.js",
|
"js/modules/ArDetect.js",
|
||||||
"js/modules/Resizer.js",
|
"js/modules/Resizer.js",
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user