CONTENTS

Home
Updates
Software
Electronics
Music
Resume
Contact


YouTube
Twitter
GitHub
LinkedIn


57490 Digital Concepts Camera

Introduction

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

  • The Price
  • Small and lightweight
  • Removabe SD card - Some cheap cameras connect to the computer with USB and require special drivers that aren't cross-platform. I was able to use this camera with Linux.

Negatives

  • The pictures are corrupt
  • Camera takes actual picture seconds after you push the button. I took several pictures of the ground because I pushed the button and the screen said something giving me the impression the picture was taken, when it didn't do anything yet.
  • Image quality sucks
  • Seems to eat battery (although not much) when it's off

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