bug with jxl image

Started by paolobenve, August 14, 2024, 01:16:05 PM

Previous topic - Next topic

paolobenve

$ exiftool /var/www/html/prova-dev/cache/_cache_images/7/fox_profile0_8bpc_yuv420_avif-800.jxl
Undefined subroutine Image::ExifTool::ProcessJUMB called at /usr/share/perl5/Image/ExifTool.pm line 5057



StarGeek

What version of exiftool are you using?

Edit: Verified that this error occurs with the current version. I also with a few older versions, the oldest being 12.70, and the error still occurs.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

paolobenve

ExifTool Version Number         : 12.76

Phil Harvey

Thanks.  This is the problem line in the current code:

            Image::ExifTool::ProcessJUMB($et, \%dirInfo, $tagTablePtr); # (untested)
As you can see, I haven't had a sample to test this code path yet.  The current problem is easily fixed:

            Image::ExifTool::Jpeg2000::ProcessJUMB($et, \%dirInfo, $tagTablePtr); # (untested)
But I'll still call this untested because your sample doesn't contain valid JUMB metadata as far as I can tell.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

paolobenve

>  Image::ExifTool::Jpeg2000::ProcessJUMB($et, \%dirInfo, $tagTablePtr); # (untested)

the image is jpegxl, no jpeg2000

Phil Harvey

JXL uses the same container format as Jpeg2000, so it is processed by the ExifTool Jpeg2000 module.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).