57490 Digital Concepts CameraIntroduction I picked up one of these Digital Concepts 57490 Digital Camera so when I go bike riding I can carry a camera around and not have to worry about it getting smashed or such. I got this one because it was cheap and small which is quite nice, but when trying to look at the JPEG images the camera creates, all my viewers claim the images are corrupt. The images do display, but something is definitely wrong so I decided to investigate :). Btw, if you accidently format your SD card, I wrote a program that can recover jpeg's off a formatted storage device that you can download here. This program works with any digital camera. Overall Camera Rating Before I explain the complex part (why the images are wrong) I'll give a quick review of what I think of the camera so people who found this page trying to decide if they should get it can figure out what to do.
Positives
Negatives
Overall Rating: GARBAGE - A Fisher Price camera full of lead paint is worth more. JPEG Information Digital Cameras save images in JFIF (usually incorrectly called JPEG or if you're an MS-DOS user JPG) format. Anyway, "JPEG" files consist of "markers" which separate out each part of the file. For example, every JPEG starts with a "start of image" marker and stop with an "end of image" marker. Most markers are followed by 2 bytes which tell the number of bytes that fit in the frame that was marked with this marker. After that the data follows. So what markers are in a typeical JPEG? These markers should exist in all JPEG files:
0xffd8 - Start Of Image
0xfffe - Comment (Optional)
0xffdb - Quantization Table
0xffc0 - Start Of Frame (Baseline)
0xffc4 - Huffman Table (Sometimes ommited from mjpeg files)
0xffda - Start Of Scan (This is the actual compressed image)
0xffd9 - End Of Image
Why These Images Are Corrupt So what's on a JPEG created by this camera:
0xffd8 - Start Of Image
0xffe1 - Application Data
0xffdb - Quantization Table
0xffc4 - Huffman Table
0xffc0 - Start Of Frame (Baseline)
0xffda - Start Of Scan
0xffd9 - End Of Image
This is all okay except for in the example file I used there are 8 extra padding bytes before the 0xffd9 and a bunch of extra garbage after the file. Actually, it seems to be padded by 11 bytes, but the IJG library only seems to complain about the 8 byte padding. I haven't seen another JPEG library that pads bytes tho. As far as the data at the end, I wonder what it looks like under a disassembler. I'm just glad I'm not using Windows or Internet Explorer to look at these images. Anyway, after removing the 8 bytes of padding and the extra crap at the end of each file, the images open without any complaint. An interesting note: At the top of the file in the application data section, there appears to be some camera information here: SQ Tech. Co., Ltd. SQ908 MEGA-Cam. CSTN FW Build 2.6.2007:01:06 Maybe firmware built after this date doesn't have this issue in it.
Copyright 1997-2024 - Michael Kohn
|