obs1dium / FocusBracket

Proof-of-concept app for focus bracketing on Sony Alpha cameras.
MIT License
75 stars 24 forks source link

Support Uncompressed RAW #11

Open tommiehansen opened 8 years ago

tommiehansen commented 8 years ago

When using the app RAW's shot with it comes out as compressed RAW even though uncompressed RAW is choosen within the firmware. One can clearly see this by just checking the file size:

compressed vs uncompressed RAW

First is compressed (shot via the focus bracket app), second file was shot after exiting the app.

obs1dium commented 8 years ago

Do any of the Sony apps save uncompressed RAWs?

tommiehansen commented 8 years ago

Yes, ie: https://www.playmemoriescameraapps.com/portal/usbdetail.php?eid=IS9104-NPIA09014_00-000003

Quote:

[α7 II, RX1R II] Shooting and saving in uncompressed RAW is now supported. [α7R II, α7S II] Silent Shooting and Shooting and saving in uncompressed RAW are now supported.

I have no idea why the apps just doesn't respect the user setting(s) though. One would think that if the user sets A the value A should be what's used.

obs1dium commented 8 years ago

Interesting. One would have to look into how that app does it..

tommiehansen commented 8 years ago

A problem could be that uncompressed RAW isn't supported in burst modes? In any continous mode(s) the cameras that does support uncompressed RAW usually goes back to the 11+7 bit RAW's (compressed/lossy RAW's).

Checking the code i see this: m_camera.burstableTakePicture();

176 @ https://github.com/obs1dium/FocusBracket/blob/master/app/src/main/java/com/obsidium/focusbracket/FocusActivity.java

Or is the 'burstableTakePicture()' a custom function?

obs1dium commented 8 years ago

That's just (as far as I can tell) the way one takes pictures with the framework. The app explicitly sets the drive mode to single shooting. What about the Smart Remote app? Does that save uncompressed RAWs as well?

tommiehansen commented 8 years ago

The smart remote uses another system i think. The last time i checked i think i saw something about takePicture() or similar. Isn't there a list with available functions anywhere?

The other refence from the PMCA demo overrides shutter down action:

@Override
    protected boolean onShutterKeyDown() {
        camera.getNormalCamera().takePicture(null, null, null);
        return true;
    }

Line 65: https://github.com/ma1co/PMCADemo/blob/9fb55bc11c432bf8f6e518dcebe7c82a5ec42e35/app/src/main/java/com/github/ma1co/pmcademo/app/CameraActivity.java

What would be the difference between burstableTakePicture() and takePicture() ? Does the former return a current index that in a simpler manor can then be used to check it against an array or...?

obs1dium commented 8 years ago

takePicture() is part of the Android SDK, whereas burstableTakePicture() is part of Sony's API. Smart Remote uses the latter IIRC. You could try both Smart Remote and PMCADemo and check if they produce uncompressed RAWs. I can't test that myself.

tommiehansen commented 8 years ago

Could not get the PMCADemo to take any pictures at all. Sony smartremote just saved JPG's and i've forget where one fixes that (i never use that app). Tried your 'BetterManual' app, some thing there.

obs1dium commented 8 years ago

The BetterManual app uses a third method that Sony calls 'direct shutter' - I couldn't get burst modes to work otherwise. You should be able to enable RAW shooting in the Smart Remote app by pressing the camera's menu button once you're connected to it.

tommiehansen commented 8 years ago

Can't test now since I'm abroad, but if takePicture() is part of Android shouldn't that function also have higher compatibility with more settings etc? The current app has some problems with some lenses and I'm basically thinking that those could be solved.

Anything 'burst' in the current fw for the A7x series basically forces the camera into certain modes and that might be what is happening?