devongovett / jpg-stream Goto Github PK
View Code? Open in Web Editor NEWA streaming JPEG encoder and decoder
A streaming JPEG encoder and decoder
I get the following message when i want to extract Exif data from around 400 jpeg files. I never seen this message, and have no clue, how to solve this.
Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 33554432, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.
Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 33554432, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.
/var/development/node_modules/jpg-stream/build/jpeg.js:1
(function (exports, require, module, __filename, __dirname) { var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function";var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath"normalize";var ret=nodeFS"readFileSync";if(!ret&&filename!=nodePath"resolve"){
abort() at Error
at jsStackTrace (/var/development/node_modules/jpg-stream/build/jpeg.js:1:18435)
at stackTrace (/var/development/node_modules/jpg-stream/build/jpeg.js:1:18618)
at abort (/var/development/node_modules/jpg-stream/build/jpeg.js:42:35740)
at enlargeMemory (/var/development/node_modules/jpg-stream/build/jpeg.js:1:18951)
at Function.Runtime.dynamicAlloc as alloc
at _sbrk (/var/development/node_modules/jpg-stream/build/jpeg.js:1:122885)
at Ts (/var/development/node_modules/jpg-stream/build/jpeg.js:9:12346)
at Mi (/var/development/node_modules/jpg-stream/build/jpeg.js:29:62714)
at Array.Ni (/var/development/node_modules/jpg-stream/build/jpeg.js:29:63216)
at ng (/var/development/node_modules/jpg-stream/build/jpeg.js:17:61717)
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.
The code to compute the scaling ratio is:
// Calculate scale so we only decode what we need
if (desiredWidth && desiredHeight) {
int wdeg = imageWidth / desiredWidth;
int hdeg = imageHeight / desiredHeight;
dec.scale_num = 1;
dec.scale_denom = std::max(1, std::min(std::min(wdeg, hdeg), 8));
}
However, the following article says:
Just set the desired scaling factor of N/8 (N=1...16) in the djpeg -scale option or via the scale_num/scale_denom
variables in library application.
So I guess you should set the scale_denom to 8, and then compute the scale_num
so that imageWidth * scale_num / 8 <= desiredWidth
?
It would be nice if the README.md
could either include or link to more documentation on how to use this library, or the structure a frame uses... are there a series of related libraries that are interchangable (there's mention of a png one)... what about simple transforms (resize, etc).
Very cool project, just interested in a little bit more.
The compiled output currently breaks in browserify. Offending line:
Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")
Uncaught TypeError: Cannot read property 'replace' of undefined
It also relies on other features like process.stdout
etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.