about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--NOTES.md15
-rw-r--r--README.md47
2 files changed, 22 insertions, 40 deletions
diff --git a/NOTES.md b/NOTES.md
index c57e4a6..705b09e 100644
--- a/NOTES.md
+++ b/NOTES.md
@@ -103,4 +103,17 @@ The header is 32 bytes long. and goes as follows:
 | 8     | header length (32) **OR** message length |
 | 4     | message length **OR** unknown |
 | 1     | message type. 0 for `LightHeader` *(as described in lightheader.proto)* or 1 for `view_preferences.proto` |
-| 7     | reserved |
\ No newline at end of file
+| 7     | reserved |
+
+### ***it's September 12th now and I removed this from the readme. putting it here for safekeeping***
+
+[helloavo/Light-L16-Archive](https://github.com/helloavo/Light-L16-Archive):  
+helloavo archived a lot of files and data related to the camera here and I am
+very, very grateful for that. I'm using the `.class` files they ripped from the
+APK. I then used quiltflower to decompile the entire directory. I used this
+command: `java -jar quiltflower.jar -dgs=1 Light-L16-Archive/APKs/light_camera_decompiled`
+
+And it's proved useful! In `light/co/camera/proto/LightHeader.java` we can get an idea
+of the file header?
+
+Can we parse the message in the header with the protobuf as described in: [dllu/lri-rs](https://github.com/dllu/lri-rs/blob/main/proto/lightheader.proto)?
\ No newline at end of file
diff --git a/README.md b/README.md
index 6a764e4..02b4d34 100644
--- a/README.md
+++ b/README.md
@@ -1,46 +1,15 @@
-The Light L16 is a weird little camera with sixteen lens.
-It's cheapish now on the 2nd hand market as it's been discontinued.
+### LRI File Structure
+The file is made up if blocks each with a short header, a protobuf message, and possibly some associated data.
 
-I would like to be able to read the raw LRI files it puts out. They are, however,
-proprietary and not described anywhere. This is my effort.
-
-[helloavo/Light-L16-Archive](https://github.com/helloavo/Light-L16-Archive):  
-helloavo archived a lot of files and data related to the camera here and I am
-very, very grateful for that. I'm using the `.class` files they ripped from the
-APK. I then used quiltflower to decompile the entire directory. I used this
-command: `java -jar quiltflower.jar -dgs=1 Light-L16-Archive/APKs/light_camera_decompiled`
-
-And it's proved useful! In `light/co/camera/proto/LightHeader.java` we can get an idea
-of the file header?
-
-Can we parse the message in the header with the protobuf as described in: [dllu/lri-rs](https://github.com/dllu/lri-rs/blob/main/proto/lightheader.proto)?
-
-### File Header
-The LightHeader seems to consist of a header followed be a proto buf message
-that then gets appended to it.
-
-The header is **little endian**
-
-#### File Header Structure
-This is only sometimes the case. It seems that "header length (32)" field is sometimes a lot *a lot* bigger. in that case you have the sensor data. perhaps then the message length is some inidication to protobuf data? perhaps it's nothing? padding?
+Things seem to be **little endian**
 
+#### Block Header
 The header is 32 bytes long. and goes as follows:  
 | bytes | meaning |
 | ----- | ------- |
 | 4     | Magic Number: "LELR" |
-| 8     | header length (32) + protobuf message length |
-| 8     | header length (32) |
-| 4     | message length |
-| 1     | type (?) |
+| 8     | block length |
+| 8     | protobuf message offset from the start of the block |
+| 4     | protobuf message length |
+| 1     | message type. 0 for `LightHeader` *(as described in lightheader.proto)*, 1 for `view_preferences.proto`, or 2 for gps data  |
 | 7     | reserved |
-
-and then follows the message which already has a known length
-
-## Image Sensors
-Listen in sensor_type.proto of lri-rs
-
-| Sensor | Resolutions | Output |
-| - | - | - |
-| AR0835HS | 8 Mp: 3264 × 2448, 6 Mp: 3264 × 1836 | 10−bit Raw, 10−to−8 bit A−Law, 8/6−bit DPCM |
-| AR1335 | 4208 × 3120 | DPCM: 10-8-10, 10-6-10 |
-| IMX386 | 4032 x 3024 | ? |
\ No newline at end of file