userland: Can't save non-corrupted image files with imx477 camera

raspistill -o output_filename.jpg -v
"raspistill" Camera App (commit f97b1af1b3e6 Tainted)

Camera Name imx477
Width 4056, Height 3040, filename output_filename.jpg
Using camera 0, sensor mode 0

GPS output Disabled

Quality 85, Raw no
Thumbnail enabled Yes, width 64, height 48, quality 35
Time delay 5000, Timelapse 0
Link to latest frame enabled  no
Full resolution preview No
Capture method : Single capture

Preview Yes, Full screen Yes
Preview window 0,0,1024,768
Opacity 255
Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'
Flicker Avoid Mode 'off'
Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
Camera component done
Encoder component done
Starting component connection stage
Connecting camera preview port to video render.
Connecting camera stills port to encoder input port
Opening output file output_filename.jpg
Enabling encoder output port
Starting capture -1
Finished capture -1
Closing down
Close down completed, all components disconnected, disabled and destroyed

No matter what I try, I can’t for the life of me to get image files that are not corrupted. I tried different encodings: jpg, png, gif and bmp, and the saved files are always corrupted.

Note that I can see the image preview which looks fine, and I can also see live streaming just fine, but every single export results in a corrupted image, no matter the file format. I tried to open the image files with programs like sxiv, gpicview, chromium, etc… but to no avail.

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Reactions: 1
  • Comments: 17 (6 by maintainers)

Most upvoted comments

Architecture : armv7h

Presumably that raspicam package has been built against a 32bit version of the MMAL library, which will work. If raspivid etc have been built as 64bit, and therefore linking against a 64bit MMAL, it won’t work.