moodstocks / jpec Goto Github PK
View Code? Open in Web Editor NEWA lightweight and portable JPEG encoder written in C.
License: MIT License
A lightweight and portable JPEG encoder written in C.
License: MIT License
in jpec_huff_encode_block:
why not:
jpec_huff_state_t state;
state.buffer = h->state.buffer;
state.nbits = h->state.nbits;
state.dc = h->state.dc;
state.buf = buf;
jpec_huff_encode_block_impl(block, &state);
h->state.buffer = state.buffer;
h->state.nbits = state.nbits;
h->state.dc = state.dc;
h->state.buf = state.buf;
=>
h->state.buf = buf;
jpec_huff_encode_block_impl(block, &h->state);
? am I missing something?
Hi,
I'm getting ld error on running make on freshly cloned project.
cc -std=c99 `pkg-config --cflags --libs opencv` -Iinclude -L. -ljpec main.c -o jpec
/tmp/cczUcblb.o: In function `main':
main.c:(.text+0x1482): undefined reference to `jpec_enc_new'
main.c:(.text+0x1499): undefined reference to `jpec_enc_run'
main.c:(.text+0x14e3): undefined reference to `jpec_enc_del'
collect2: error: ld returned 1 exit status
Makefile:32: recipe for target 'jpec' failed
make: *** [jpec] Error 1
hi, i compile this repo with ASAN to do some test, after compiling I feed test.png in this repo and it crash.
compile command: AFL_USE_ASAN=1 make CC=afl-clang-fast LDFLAGS="-lopencv"
and here is the crash info:
AddressSanitizer:DEADLYSIGNAL
==110236==ERROR: AddressSanitizer: SEGV on unknown address 0x000000001c78 (pc 0x0000004f4d2e bp 0x7ffeb85f5cd0 sp 0x7ffeb85f5bc0 T0)
==110236==The signal is caused by a READ memory access.
#0 0x4f4d2e in load_image /home/bupt/Desktop/jpec/main.c:69:22
#1 0x4f49b0 in main /home/bupt/Desktop/jpec/main.c:46:20
#2 0x7ff2c275bc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310
#3 0x41c759 in _start (/home/bupt/Desktop/jpec/jpec+0x41c759)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/bupt/Desktop/jpec/main.c:69:22 in load_image
==110236==ABORTING
command to reproduce the crash: ./jpec test.png
test.zip
isn't that un-necessary? (since it handles sizes not multiple of 8)
assert(img && w > 0 && !(w & 0x7) && h > 0 && !(h & 0x7));
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.