Coder Social home page Coder Social logo

vavi-image-jpegxl's Introduction

Release Java CI CodeQL Java

vavi-image-jpegxl

Java JPEG XL decoder
wrapped libjxl by jna
based on https://github.com/libjxl/libjxl/blob/v0.9.x/examples/

jpeg-xl logo

© JPEG

Install

maven

  • repository

https://jitpack.io/#umjammer/vavi-image-jpegxl

jpeg-xl 0.9.x

$ brew install jpeg-xl
  • jvm option
  -Djna.library.path=/usr/local/lib

Usage

    BufferedImage image = ImageIO.read(Paths.get("/foo/bar.jxl").toFile());

References

TODO

  • jna version doesn't work well 0.7.0 works fine
    • different result per every execution (maybe memory related?)
  • brew updated to 0.7.0 done
  • jna version spi

vavi-image-jpegxl's People

Contributors

umjammer avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

meimingle

vavi-image-jpegxl's Issues

【HELP】JNA is not stable【WANTED】

JNI version

test:org.jpeg.jpegxl.wrapper.DecoderTest#test2 works well always.

JNA version

test:vavi.image.jpegxl.Test2#main succeeds sometimes and fails sometimes, not 100%

WHY?

i tried

  • JxlDecoderCreate: PointerByReference -> Pointer . . . . . . nothing has been changed
  • void*: char[] -> BufferedReader#allocateDirect -> Pointer . . . . . . nothing has been changed
  • size_t*: long[] -> LongReference -> NativeLong . . . . . . nothing has been changed
  • threading: none -> JxlResizableParallelRunner -> JxlThreadParallelRunner . . . . . . nothing has been changed

log

when succeeded

2022-10-07 11:27:32,337 [INFO] runner: native@0x7fc8cdd24d10
	at vavi.image.jpegxl.Test2.main(Test2.java:52)
2022-10-07 11:27:32,382 [INFO] dec: null@0x7fc8ce04d600
	at vavi.image.jpegxl.Test2.main(Test2.java:55)
2022-10-07 11:27:32,382 [INFO] JxlResizableParallelRunner: native@0x117f1d7b6
	at vavi.image.jpegxl.Test2.main(Test2.java:65)
2022-10-07 11:27:32,404 [INFO] JXL_DEC_BASIC_INFO
	at vavi.image.jpegxl.Test2.main(Test2.java:97)
2022-10-07 11:27:32,407 [INFO] size: 4032x3024
	at vavi.image.jpegxl.Test2.main(Test2.java:104)
2022-10-07 11:27:32,423 [INFO] JXL_DEC_COLOR_ENCODING
	at vavi.image.jpegxl.Test2.main(Test2.java:109)
2022-10-07 11:27:32,424 [INFO] icc_profile: 596
	at vavi.image.jpegxl.Test2.main(Test2.java:119)
2022-10-07 11:27:32,424 [INFO] JXL_DEC_NEED_IMAGE_OUT_BUFFER
	at vavi.image.jpegxl.Test2.main(Test2.java:128)
2022-10-07 11:27:32,425 [INFO] buffer_size: 48771072
	at vavi.image.jpegxl.Test2.main(Test2.java:134)
2022-10-07 11:27:32,563 [INFO] JXL_DEC_FULL_IMAGE
	at vavi.image.jpegxl.Test2.main(Test2.java:151)
2022-10-07 11:27:32,563 [INFO] JXL_DEC_SUCCESS
	at vavi.image.jpegxl.Test2.main(Test2.java:155)
2022-10-07 11:27:32,563 [INFO] pixel: 48771072, 48771072
	at vavi.image.jpegxl.Test2.main(Test2.java:166)

when failed

2022-10-07 11:40:19,145 [INFO] runner: native@0x7f987bb1bd40
	at vavi.image.jpegxl.Test2.main(Test2.java:52)
2022-10-07 11:40:19,184 [INFO] dec: null@0x7f985b885c00
	at vavi.image.jpegxl.Test2.main(Test2.java:55)
2022-10-07 11:40:19,186 [INFO] JxlResizableParallelRunner: native@0x1117387b6
	at vavi.image.jpegxl.Test2.main(Test2.java:65)
2022-10-07 11:40:19,200 [INFO] JXL_DEC_BASIC_INFO
	at vavi.image.jpegxl.Test2.main(Test2.java:97)
2022-10-07 11:40:19,204 [INFO] size: 4032x3024
	at vavi.image.jpegxl.Test2.main(Test2.java:104)
2022-10-07 11:40:19,222 [INFO] JXL_DEC_COLOR_ENCODING
	at vavi.image.jpegxl.Test2.main(Test2.java:109)
2022-10-07 11:40:19,222 [INFO] icc_profile: 596
	at vavi.image.jpegxl.Test2.main(Test2.java:119)
2022-10-07 11:40:19,223 [INFO] JXL_DEC_NEED_IMAGE_OUT_BUFFER
	at vavi.image.jpegxl.Test2.main(Test2.java:128)
2022-10-07 11:40:19,223 [INFO] buffer_size: 2998486337924014416                             # <-- WTF ???
	at vavi.image.jpegxl.Test2.main(Test2.java:134)
2022-10-07 11:40:19,224 [INFO] sizes: 198353232, 48771072
	at vavi.image.jpegxl.Test2.main(Test2.java:138)
Exception in thread "main" java.lang.IllegalStateException: JxlDecoderSetImageOutBuffer failed: 1
	at vavi.image.jpegxl.Test2.main(Test2.java:148)

Encoder

Will the encoder be added?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.