Skip to content

Commit a819133

Browse files
committed
Updated hybrid merging algorithm, updated specific check, changed dual session algorithms, added specific for Samsung S23 Ultra, burst camera2api bugfixes
1 parent 6dd6f75 commit a819133

23 files changed

+319
-127
lines changed

app/SupportedList.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ poco:surya
2727
redmi:galahad
2828
realme:rmx1931l1
2929
samsung:x1s
30+
samsung:dm3
31+
samsung:dm3q
3032
motorola:sofiar
3133
lge:flashlm
3234
lge:flashlmdd

app/specific/SpecificList.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ oneplus:oneplus7pro
1515
oneplus:oneplus7pronr
1616
samsung:p3s
1717
samsung:r0q
18+
samsung:dm3
19+
samsung:dm3q
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cameraIDS = {5,0,2,6,7,1}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cameraIDS = {5,0,2,6,7,1}

app/src/main/java/com/particlesdevs/photoncamera/WrapperGPU.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ public class WrapperGPU {
3737
* @param bufferptr Image buffer.
3838
*/
3939
public static native void loadFrame(ByteBuffer bufferptr, float Exposure);
40+
41+
public static native void packImages();
4042
public static native void loadFrameAlignments(ByteBuffer bufferptr, float Exposure);
4143

4244
public static native void loadInterpolatedGainMap(ByteBuffer GainMap);

app/src/main/java/com/particlesdevs/photoncamera/api/CameraManager2.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,17 @@ public final class CameraManager2 {
5151
*/
5252
public CameraManager2(CameraManager cameraManager, SettingsManager settingsManager) {
5353
this.mSettingsManager = settingsManager;
54+
55+
//Spinlock waiting for specific manager
56+
for(int i =0; i<100; i++){
57+
if(PhotonCamera.getSpecific().isLoaded) break;
58+
try {
59+
Thread.sleep(1);
60+
} catch (InterruptedException ignored) {}
61+
}
5462
SpecificSetting sp = PhotonCamera.getSpecific().specificSetting;
5563
int[] ids = sp.cameraIDS;
64+
Log.d("CameraManager2", "Loaded ids:"+ Arrays.toString(ids));
5665
if (!isLoaded()) {
5766
if(ids == null)
5867
scanAllCameras(cameraManager);
@@ -66,6 +75,7 @@ public CameraManager2(CameraManager cameraManager, SettingsManager settingsManag
6675
} catch (Exception ignored) {
6776
}
6877
}
78+
findLensZoomFactor(mCameraLensDataMap);
6979
}
7080
//Override ID detection
7181
save();

app/src/main/java/com/particlesdevs/photoncamera/app/PhotonCamera.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import java.io.IOException;
5151
import java.nio.ByteBuffer;
5252
import java.nio.FloatBuffer;
53+
import java.util.Objects;
5354
import java.util.concurrent.ExecutorService;
5455
import java.util.concurrent.Executors;
5556

@@ -222,7 +223,6 @@ public void onCreate() {
222223
}
223224
private void initModules() {
224225

225-
226226
SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
227227
mGravity = new Gravity(sensorManager);
228228

@@ -231,6 +231,8 @@ private void initModules() {
231231
mVibration = new Vibration(this);
232232

233233
mSettingsManager = new SettingsManager(this);
234+
mSupportedDevice = new SupportedDevice(mSettingsManager);
235+
//mSupportedDevice.loadCheck();
234236

235237
MigrationManager.migrate(mSettingsManager);
236238

@@ -240,7 +242,6 @@ private void initModules() {
240242

241243
mParameters = new Parameters();
242244
mPreviewParameters = new PreviewParameters();
243-
mSupportedDevice = new SupportedDevice(mSettingsManager);
244245
mAssetLoader = new AssetLoader(this);
245246
mRS = RenderScript.create(this);
246247
mDebugger = new Debugger();

app/src/main/java/com/particlesdevs/photoncamera/capture/CaptureController.java

Lines changed: 123 additions & 43 deletions
Large diffs are not rendered by default.

app/src/main/java/com/particlesdevs/photoncamera/control/Gyro.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public void unregister() {
9494
}
9595

9696
long[] capturingTimes;
97-
int capturingNumber = 0;
97+
public int capturingNumber = 0;
9898
boolean integrate = false;
9999
float x,y,z;
100100
private ArrayList<GyroBurst> BurstShakiness;

app/src/main/java/com/particlesdevs/photoncamera/debugclient/DebugSender.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ public void addRAW16(Image image) {
2424
IMAGE_BUFFER.add(image);
2525
}
2626

27-
public void runRaw(ImageReader imageReader, CameraCharacteristics characteristics, CaptureResult captureResult, ArrayList<GyroBurst> burstShakiness, int cameraRotation) {
28-
super.runRaw(imageReader,characteristics,captureResult,burstShakiness,cameraRotation);
27+
public void runRaw(int imageFormat, CameraCharacteristics characteristics, CaptureResult captureResult, ArrayList<GyroBurst> burstShakiness, int cameraRotation) {
28+
super.runRaw(imageFormat,characteristics,captureResult,burstShakiness,cameraRotation);
2929
Log.d("DebugSender","RunDebug sender");
3030
PhotonCamera.getDebugger().debugClient.sendRaw(IMAGE_BUFFER.get(0));
3131
processingEventsListener.onProcessingFinished("Saved Unprocessed RAW");
3232
IMAGE_BUFFER.clear();
33-
clearImageReader(imageReader);
33+
//clearImageReader(imageReader);
3434
}
3535

3636
}

0 commit comments

Comments
 (0)