|
CrushedAsian255
|
2024-06-25 01:16:53
|
this is silly
|
|
|
jonnyawsom3
|
2024-06-25 01:17:11
|
It's Adobe
|
|
|
CrushedAsian255
|
2024-06-25 01:17:18
|
yep, that sums it up
|
|
2024-06-25 01:17:25
|
> re: using windows photos app
nice
|
|
2024-06-25 01:18:29
|
so my findings so far:
`-jxl` by itself does nothing
`-lossy` defaults to JXL unless you set `-dng1.4` or something
to get lossless you do `-jxl -losslessJXL`
`-jxl_effort` does nothing
|
|
|
jonnyawsom3
|
2024-06-25 01:18:32
|
First they add JXL to the DNG spec without thinking for a second about how to make the most of it, and then they make it nearly impossible to use properly
|
|
|
CrushedAsian255
|
2024-06-25 01:19:34
|
affinity photo just says compression type `JPEG` so im not sure what the heck it's doing
|
|
2024-06-25 01:19:54
|
the compression ratio `40mb:98mb` seems indicative of JXL's lossless abilities
|
|
|
jonnyawsom3
|
2024-06-25 01:19:57
|
The ordering of the file it weird, so it's probably seeing the jpeg preview
|
|
2024-06-25 01:19:58
|
https://discord.com/channels/794206087879852103/822105409312653333/1253000937669132410
|
|
|
CrushedAsian255
|
2024-06-25 01:20:01
|
but it could also be doing something stupid
|
|
|
jonnyawsom3
|
2024-06-25 01:20:15
|
There's some more info there about the horrors Adobe are doing to our baby
|
|
|
CrushedAsian255
|
2024-06-25 01:21:45
|
is there any way to """extract""" the raw data from a DNG into something like PPM so I can do some testing with `cjxl` instead of adobe's garbage?
|
|
2024-06-25 01:23:02
|
> "Both types of JPEG XL bitstreams are supported in DNG"
Why would you want to use JXL's containers in a DNG? Isn't that the point of the DNG header? Wouldn't that be redundant duplication? Is there something I'm missing here?
|
|
2024-06-25 01:23:12
|
So many questions
|
|
|
jonnyawsom3
|
|
CrushedAsian255
is there any way to """extract""" the raw data from a DNG into something like PPM so I can do some testing with `cjxl` instead of adobe's garbage?
|
|
2024-06-25 01:27:21
|
You *can*, the problem is DNG is actually TIFF, which is tiled, which means cjxl would only be running on a handful of pixels at a time. Could extract a lossless JXL tile instead, since those were 672x752, then crop it down to 256x256 (Default group size) to simulate Adobe having braincells
|
|
2024-06-25 01:30:17
|
You want to run exiftool on it, find the tile length and tile offset (1 value listed for each in a normal DNG, a list of values for a JXL encoded DNG), head to that decimal spot in a hex editor, then select the tile length as a decimal value too (there'll be matching pairs for JXL), save the selected bytes to a file and then you either have lossless jpeg or lossless jxl, I used ffmpeg to read the jpeg
|
|
|
CrushedAsian255
|
|
You want to run exiftool on it, find the tile length and tile offset (1 value listed for each in a normal DNG, a list of values for a JXL encoded DNG), head to that decimal spot in a hex editor, then select the tile length as a decimal value too (there'll be matching pairs for JXL), save the selected bytes to a file and then you either have lossless jpeg or lossless jxl, I used ffmpeg to read the jpeg
|
|
2024-06-25 01:32:32
|
So DNG is a fancy ZIP? lol
|
|
|
jonnyawsom3
|
2024-06-25 01:33:10
|
At least then it'd have some extra compression
|
|
|
CrushedAsian255
|
2024-06-25 01:34:35
|
Reject DNG, accept TAR.XZ 🤣 😜
|
|
|
You want to run exiftool on it, find the tile length and tile offset (1 value listed for each in a normal DNG, a list of values for a JXL encoded DNG), head to that decimal spot in a hex editor, then select the tile length as a decimal value too (there'll be matching pairs for JXL), save the selected bytes to a file and then you either have lossless jpeg or lossless jxl, I used ffmpeg to read the jpeg
|
|
2024-06-26 02:29:05
|
can't be bothered doing it manually, im gonna write a C script or something
|
|
|
jonnyawsom3
|
2024-06-26 02:35:04
|
Should be simple enough, just find the tags, read the offset and then the length, save those bytes and then move onto the next pair until there's no numbers left
|
|
|
CrushedAsian255
|
|
You *can*, the problem is DNG is actually TIFF, which is tiled, which means cjxl would only be running on a handful of pixels at a time. Could extract a lossless JXL tile instead, since those were 672x752, then crop it down to 256x256 (Default group size) to simulate Adobe having braincells
|
|
2024-06-30 09:02:44
|
i wrote this C program to do it
warning: the code really sucks
also it only works on little endian systems but does support both little and big endian DNG files
|
|