[ONE General] Togheter:
Intro:

As many of us, (myself included), we already knew that [MENTION=4800121]Sultanxda[/MENTION] said that his ROM and Camera HAL he developed on it, doesn't support RAW picturing. Months ago, I discovered a way to get ride into it, and manage to taking RAW photos. I'm not claiming I've developed by myself, I just found it as curious I'm. As I didn't see any post or thread informing about this, I decided to start this one to discuss about it. So, let start.

Requisites:

Obvious thing, you have to root, unlock, blah blah and install the pertinent ROM from the Sultanxda's thread. It works on all CM 12.1 builds. I haven't tested it on

OxygenOS 1.0.0, OxygenOS 2.1.4, or Sultan's CM 13.

Try and let me know.

***ANY SUGGESTIONS OR INFO ARE VERY WELCOME, AS I SAID, I'M NOT A DEVELOPER - I'M JUST SHARING IN SOMEONE DON'T KNOW ABOUT THIS***

Update! March 28th, 2016

Now you can test and use the CM12.1 Sultanxda's Snapdragon Camera, merged with the features I will detail below in the post. The user [MENTION=4921047]gwindlord[/MENTION], sent me this incredible app. You can try it out flashing this zip.

Also, I've just realized that, this is a DNG photo tutorial! Because, the .raw file generated is pretty obsolete in the SnapCam. And the newer Bacon Camera app, doens't generate a .raw file. It is just a .dng with a .jpeg preview file. FreeDCam, doens't generate any .jpeg or .raw, that's why you can't edit these files on Snapseed.

Steps:

1.- You have to install these two apps.

SnapCam 0.6 by [MENTION=6215602]fgnm[/MENTION] - http://xdaforums.com/oneplus-one/themes-apps/app-snapdragon-camera-mod-t3210978

Snapseed by Google- https://play.google.com/store/apps/details?id=com.niksoftware.snapseed

2.- Before you open the SnapCam, make sure that the Snapdragon Camera that comes with the ROM, is already closed. When you open it, change the picture resolution to 13 MP (I guess theres a bug that makes appear a 21.5 MP resolution, maybe due the app was build to work entirely with the original CM Camera HAL).

3.- Then, go to Settings > More Settings

4.- Uncheck the Zero Shutter Lag option, and swipe down to find "Select Picture Format" option. Tap on it.

5.- Now, I'll try to explain the options that appears there, as far as I know due the results I got before;

JPEG - Normal .jpeg picture, as any camera does. Duh.

YUV422SP - This seems to be a Generic RAW codec, the camera app will crash after taking a picture, and just a .dng file will be dumped.

BayerQ10RGGB - Qualcomm codec. - A pure RAW file will be dumped, with a minor warm color temperature. *RECOMMENDED*

BayerM10RGGB - Qualcomm codec. - A pure RAW file will be dumped, with a minor warm color temperature, BUT, with a few last pixels on the right side, corrupted.

BayerIQ10RGGB - Qualcomm codec. - A pure RAW file will be dumped, with a highly green tint quality.

Select the one as you desire.

6.- Make sure that the "Save DNG raw" option is checked. If not, it will not work. (Dunno why).

7.- Take any photo. The picture will take around 5 secs to process, have a still hand!

8.- Go to the gallery app (stock one recommended), and there will be a new "raw" folder on it. All RAW photos taken will appear there. No one will have a preview, but you can read a few metadata info on the details.

9.- Now, go to the Snapseed app and open a pic normally. Select any of these pictures with no preview on it. You will have to guide using the date was taken.

10.- If everything goes right, the RAW editing welcome splash screen should appears. Pass over it, and you'll see the taken photo.

11.- Make the adjustments that you desire (you can manipulate it a lot, the quality is incredible). And then, save the picture. A progress bar should appear on the notification panel.

12.- When if finished, voilá! A processed .jpeg file will appear on you gallery. It's done!

Alternative Workarounds:

- Using the FreeDCam app by @troopii - https://play.google.com/store/apps/details?id=troop.com.freedcam

With this app, beside it can get all parameters directly from the camera driver, there's a way to take pictures in .dng format. No RAW will be generated, so you will not be able to edit it on Snapseed. The colors on this one will be totally natural and untouched, as well as exposure, contrast and sharpness.

- Using the Bacon Camera app by @fgnm (Paid app!) - https://play.google.com/store/apps/details?id=com.fgnm.baconcamera

As it is based on his deprecated SnapCam app, this app have the same method to work. But, the behaviour seems to be diferent. In case you use the BayerM10RGGB, a weird corruped picture will be dumped. I recommend the BayerQ10RGGB codec again, the result will be different; the white balance will appears 'cold' in this case, and the photo will have the normal resolution of 4208x3120. The main problem is, all pictures will be in potrait mode, no matters how you rotate the device.

Bugs - Curiosities:

I've noticed a few weird thing that I can't find an explanation, but well;

Pictures dumped will have a weird resolution; 4212x3082.

There are a few manual modes you can't use on this, like as; sharpness, contrast, saturation, and white balance.

Using the FreeDCam you can take .dng pictures using the front camera.

The .raw file is undecodable, but the .dng one is not. If you use RawTherapee for Windows, you may get able to edit your files even more.

The RAW file need the .dng one to work and viceversa on Snapseed.

Thanks to:

I want to give a lot of thanks to Sultanxda for his incredible ROM and Camera HAL, to fgnm; to develop an exclusive camera app designed for the OnePlus. And now also to gwindlord, to merge these functions into the original CM12.1's Snapdragon Camera.

Conclusion:

I remember I saw a post of Sultan saying that he got a kinda RAW picturing while he was developing his HAL, but it was undecodable. I really love this partial funtion, because I found the camera of the OPO a very good tool. And I hope that this tutotial work for all of you, or at least find it useful. I'm not have a technical knowledge of how this works, but it works. So, let's give it a try.

Good luck for everyone, and regards!