Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: Raw image callback supported devices

I am working on some image processing and I am in need for the raw image data. But unfortunately this according to the documentation is optional and depends on the vendor.

I have been able to get the raw image on a LG Optimus Maha(mac / lu3000) android dev, are there any other devices out there in the market where it is supported?

Devices that do not support it (source - my experiments + google Issue 10910: Not able to Capture Raw Images)-

  • Motorola DroidX with Android 2.2.1
  • Samsung Galaxy
  • HTC Desire with Android 2.2
  • Nexus S
  • Nexus One

Would be great if someone has a different device and can try it..

More info on why the call back is not supported here

like image 764
bluefalcon Avatar asked May 10 '11 07:05

bluefalcon


1 Answers

The devices that you list are major ones. If raw image support isn't available on these then it affects a rather large market share. I don't have any precise numbers but according to my own market stats and the mails I've received over a year, I think that it's at the very least 30%.

Also, not only is it an important market share, but it is also some of the most powerful devices currently. Precisely the ones that power users have in their hands. If I tell you my feeling, it's 50% of app buyers (not necessarily 50% of devices), but it's just an intuition.

So my opinion is that you need to be able to handle JPEG data nicely, by decoding on the fly prior to image processing. Pay good attention and optimize this JPEG fallback. If you are worried about quality, give a try to Camera.Parameters.setJpegQuality()

Also, I'm not sure why you are looking for a device list. Maybe it's for your personal/business stats, but if it's about compatibility, then it's certainly better to discover if raw support is supported dynamically, when the camera is first accessed and cache this as long as some android.os.Build constants don't change.

That said, forgetting about raw image and relying only on JPEG could simplify your pipeline and ease testing. That's worth considering too. I think I would go that route, because if raw support is rare, then it's not used by many apps, poorly tested, and so "raw" could be anything. JPEG is very much used so it's properly tested, that's important.

like image 136
olivierg Avatar answered Oct 10 '22 01:10

olivierg