Commit 2d52ff11 authored by Oleg Dzhimiev's avatar Oleg Dzhimiev

updated jquery-jp4.js

parent 41e36cff
...@@ -129,13 +129,13 @@ var Elphel = { ...@@ -129,13 +129,13 @@ var Elphel = {
* @lowres - valid values: 1 (not scaled), 2, 4, 8 (lowest resolution) * @lowres - valid values: 1 (not scaled), 2, 4, 8 (lowest resolution)
* *
*/ */
reorderBlocksJP4_lowres: function(pixels,width,height,format="JP4",mosaic=[["Gr","R"],["B" ,"Gb"]],lowres){ //reorderBlocksJP4_lowres: function(pixels,width,height,format="JP4",mosaic=[["Gr","R"],["B" ,"Gb"]],lowres){
reorderBlocksJP4_lowres: async function(pixels,width,height,format="JP4",mosaic=[["Gr","R"],["B" ,"Gb"]],lowres){
// the output image is 1/4 because demosaicing = 4 single color channel pixels are put into 1 rgb pixel // the output image is 1/4 because demosaicing = 4 single color channel pixels are put into 1 rgb pixel
var oPixels = new Uint8Array(pixels.length/4); var oPixels = new Uint8Array(pixels.length/4);
// check // check
if ((lowres!=1)&&(lowres!=2)&&(lowres!=4)&&(lowres!=8)){ if (![1,2,4,8].includes(lowres)){
lowres = 4; lowres = 4;
} }
...@@ -692,4 +692,4 @@ var Elphel = { ...@@ -692,4 +692,4 @@ var Elphel = {
console.log("Test message from elphel.js: ok"); console.log("Test message from elphel.js: ok");
} }
} }
\ No newline at end of file
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
<body> <body>
<table> <table>
<tr> <tr>
<td><div id='test1'></div></td> <td valign='top'><div id='test1'></div></td>
<td><div id='test2'></div></td> <td valign='top'><div id='test2'></div></td>
</tr> </tr>
<tr> <tr>
<td><div id='test3'></div></td> <td valign='top'><div id='test3'></div></td>
<td><div id='test4'></div></td> <td valign='top'><div id='test4'></div></td>
</tr> </tr>
</table> </table>
<script src="js/elphel.js"></script> <script src="js/elphel.js"></script>
......
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
*/ */
$(function(){ $(function(){
var t1 = $("#test1").jp4({ip:location.host, port:2323,width:600,fast:true,lowres:4}); let t1 = $("#test1").jp4({src:"http://"+location.host+":"+2323+"/img",width:600,fast:true,lowres:2,debug:false,refresh:false});
var t2 = $("#test2").jp4({ip:location.host, port:2324,width:600,fast:true,lowres:4}); let t2 = $("#test2").jp4({src:"http://"+location.host+":"+2324+"/img",width:600,fast:true,lowres:2,debug:false,refresh:false});
var t3 = $("#test3").jp4({ip:location.host, port:2325,width:600,fast:true,lowres:4}); let t3 = $("#test3").jp4({src:"http://"+location.host+":"+2325+"/img",width:600,fast:true,lowres:2,debug:false,refresh:false});
var t4 = $("#test4").jp4({ip:location.host, port:2326,width:600,fast:true,lowres:4}); let t4 = $("#test4").jp4({src:"http://"+location.host+":"+2326+"/img",width:600,fast:true,lowres:2,debug:false,refresh:false});
}); });
This diff is collapsed.
importScripts('elphel.js'); importScripts('elphel.js');
self.onmessage = function(e) { onmessage = async (e) => {
var W = e.data.width; let W = e.data.width;
var H = e.data.height; let H = e.data.height;
var Mosaic = e.data.mosaic; let Mosaic = e.data.mosaic;
var Format = e.data.format; let Format = e.data.format;
var settings = e.data.settings; let settings = e.data.settings;
var Pixels = new Uint8Array(e.data.pixels); let Pixels = new Uint8Array(e.data.pixels);
if (settings.lowres==0){ let reorderedPixels;
var reorderedPixels = Elphel.Pixels.reorderBlocksJPx(Pixels,W,H,Format,Mosaic,settings.fast);
//reorder first then downscale if (settings.lowres==0){
if (settings.fast){ reorderedPixels = Elphel.Pixels.reorderBlocksJPx(Pixels,W,H,Format,Mosaic,settings.fast);
W = W/2; //reorder first then downscale
H = H/2; if (settings.fast){
W = W/2;
H = H/2;
}
}else{
reorderedPixels = await Elphel.Pixels.reorderBlocksJP4_lowres(Pixels,W,H,Format,Mosaic,settings.lowres);
W = W/2;
H = H/2;
} }
}else{
var reorderedPixels = Elphel.Pixels.reorderBlocksJP4_lowres(Pixels,W,H,Format,Mosaic,settings.lowres);
W = W/2;
H = H/2;
}
Elphel.Pixels.applySaturation(reorderedPixels,W,H,2);
postMessage({ Elphel.Pixels.applySaturation(reorderedPixels,W,H,2);
width: W,
height: H,
pixels: reorderedPixels.buffer
},[reorderedPixels.buffer]);
//Elphel.test(); postMessage({
this.close(); width: W,
height: H,
pixels: reorderedPixels.buffer
},[reorderedPixels.buffer]);
}; //Elphel.test();
\ No newline at end of file this.close();
};
...@@ -65,7 +65,7 @@ function handleImage(e) { ...@@ -65,7 +65,7 @@ function handleImage(e) {
//console.log(SETTINGS.width); //console.log(SETTINGS.width);
view.jp4({image:myimg, fromhtmlinput: true, width:SETTINGS.width,fast:true, lowres:SETTINGS.quality, webworker_path:"../js"}); view.jp4({src:myimg, fromhtmlinput: true, width:SETTINGS.width,fast:true, lowres:SETTINGS.quality, webworker_path:"../js"});
//view.jp4({image:"test.jp4", input: false, width:1200,fast:true, lowres:1}); //view.jp4({image:"test.jp4", input: false, width:1200,fast:true, lowres:1});
$("#jp4view").append(view); $("#jp4view").append(view);
......
...@@ -477,8 +477,9 @@ function refresh_previews(){ ...@@ -477,8 +477,9 @@ function refresh_previews(){
//console.log("preview does not exist"); //console.log("preview does not exist");
var jp4prev = elem.find(".port_preview[index="+j+"]"); var jp4prev = elem.find(".port_preview[index="+j+"]");
var preview = jp4prev.jp4({ var preview = jp4prev.jp4({
ip: cam.ip, //ip: cam.ip,
port: cam.ports[j].port, //port: cam.ports[j].port,
src: "http://"+cam.ip+":"+cam.ports[j].port+"/img",
width: 200, width: 200,
fast: true, fast: true,
lowres:4, lowres:4,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment