-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTODO.txt
204 lines (188 loc) · 10.9 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
TODO list:
- A better handling of unknown devices
- Automatic discovery of raw image sizes
- Automatic discovery of raw bayer pattern
- (IN PROGRESS) Do a better D65 calibration profile of the Toshiba and OV sensors of the Z00A
- (IN PROGRESS) (IMPORTANT) Add the ~recovering photos~ user case, if the app crashes
- Note: temporarily save EVERY important information just before taking the pictures.
So in a case of crash, the photos can be automatically recovered later
- (IN PROGRESS) Basic refactoring
- (FUTURE RELEASE) Simplify the code architecture
- (FUTURE RELEASE) Use a simpler camera configuration scheme:
- Simple parameter setting, restriction and correction
- Better camera device encapsulating
- (FUTURE RELEASE) Auto rotate the ISO/SS choosers
- (FUTURE RELEASE) Handle different types of makernotes
- Add simple normal/low light button switch
- (IN PROGRESS) Fallback to Gray World AWB algorithm when there's no other AWB algo available
- Zoom feature for Zenfone Zoom
- (IN PROGRESS) Take picture discarding the result (skip picture)
- Restructure the camera access diagram
- Create DNG with thumbnails
- (IMPORTANT) Test the newer version of these devices:
- Razr I
- Zenfone 5
Next features:
- Night Mode with raw pictures
- Gain-based white balance
- Slow Sync Flash
Known bugs:
- (MINOR) When displaying dialog alerts, the app can get out from fullscreen state if the user switches to another app
- (MINOR) Zen2 front camera breaks exposure at ISO 800 and 1/60 Shutter Speed
- (MINOR) YUV pictures aren't affected by rotation.
I am not really sure if I'm going to properly implement YUV capture because the it takes at least 8 seconds
to save a 13 mpix lossless WEBP picture when the logcat service is disabled.
Lossy webp is also too slow and the memory requirements are also too high.
PNG capture is even slower.
I probably won't enable YUV capture (right now) due to performance problems.
Done:
- The i3av4 header should always be saved in the DNG Exif MakerNote tag
- Use a better default white balance (based on 5504K) for devices with known color matrices
- Better compatible Exif extraction
- DeviceInfoLoader working!
- Move the alignWidth from the sensor to the device json!
- Improve detecting and handling of Intel Camera features
(Only use the Intel Camera features when 100% sure they can be used; because of the differences in 32 or 64 bits pointers)
- Show the Build.MODEl when complaining for a unknown device!
- Make the app work on Android Nougat
- Make the Build.MODEL to be dynamic and appear in the dng model tag
- Make the app translatable to different languages
- Add the brazilian portuguese language
- Save DNGs using tiles
- Use the Noise Profile DNG tag
- Create a better separation layer between the UI and Camera threads
- Restrict the exposure when an invalid ISO/Shutter/EV combination occur
- Improve animations
- Create round button disabled
- (BUG FIXED) When switching the app too fast, in some rare occasions, the camera is opened twice or the preview is frozen on Android Nougat
- FIXED TOUCH FOCUS POSITION YAAAY!
- Added Iso and shutter speed metering
- Add the extra logic for differentiating the zen2 camera blobs's version
- Test Brightness metering (result: it's not obviously useful)
- Don't use displayValue for getting parameter values (especially for FocusMode!)
- Create BufferFactory and use the maximum buffer size for all YUV/RAW picture captures
- Create a better camera "reopening" for the MM Z00A front camera case
(and other cases where the camera crashes)
- Added basic directory handling
- Fix new enable/disable bug when taking pictures
- Use checksums to validate the existence of patches
- Visual feedback when a patch is required
- Create a proper isAvailable() (that works with non-patched LL Zen2) when choosing the raw picture format
- Better handling of cameras without raw
- (Not done because it's useless) Resume preview on postview callback
- Test camera restart function
- (DONE!) Disable Circular Reveal animations in Android 4.4.4
- (DONE!) Create the concept of Capture Context, that represents the many scenarios that can occur when taking
raw pictures among different devices with different workarounds.
- Play animation when taking pictures (it also can be the old school circular progress bar)
- Visual feedback for touch focus/exposure region
- Improve compatibility of generated DNG files for desktop apps like Darktable (only recognize uncompressed files with stripes)
- JPEG Pipeline done
- Raw pipelines done, including a proper retrying case (long-exposure-front-camera-MM-blobs, need to literally wait for the light entering the sensor)
- Faster retrying delay for ZenZoom front camera
- Implement GPU-accelerated focus peaking
- (FIXED) Sometimes there is a small glitch in the lower portion of the screen when the app is starting
- (FIXED) Opcodes sometimes aren't written to the file
- (Waaaaaaaay) better handling of SU shell commands
- (FIXED) A non-camera-related exception during the camera opening process can crash the entire application
(instead of simply displaying a nice error message)
- (FIXED) The raw pictures now have the right orientation
- New feature: pictures taken with the front camera are now properly mirrored
- New feature: iso and shutter speed metering for the Zen2/Zoom front camera!
ps: this *could* be enabled for others devices (razr I) as well
- New feature: almost-perfect-auto-white-balance for the zen2/zen zoom cameras
ps: this *could* be enabled for others devices (zen5, razr I) as well
- Fixed not-so-rare race condition bug related to the shell creation process
- Fixed shadows of the buttons and removed some unused layouts
- Improvements to the main layout
- FIXED TOUCH FOCUS (YAAY!)
- (DONE!) Enable exposure touch-metering for the front camera (it's currently working on the rear camera, however is tied to the focus feature)
- (DONE!) Reduce overdraw
- New Logo! Made by Nazmul Hasan
- (DONE!) Needs to increase the vertical area of the main control buttons
- (DONE!) Create restriction of WB preset with manual temperature
- (DONE!) Create manual WB interface
- (DONE!) Create every WB feature and controller
- (DONE!) Add WB temp range to ColorInfo
- (DONE!) Btw add manual wb compatibility to deviceInfo
- (DONE!) Check manual WB compatibility with ZenZoom rear and front cams
- (DONE!) fix regression: add clickable to the background of the controls
- (DONE!) Make the sliders run at 60fps
- (DONE!) Avoid a potential regression of the focus features
- Fixed minor bugs found
- (DONE!) Fix WB metering controller
- (DONE!) Add clicked stage on main controls buttons
- (DONE!) Better translating of WB PRESETS to AWB raw gains
- (DONE!) Make the temp curve more exp-like
- (DONE!) Add CC notice to about-box
- (DONE!) Increase/Decrease progress by clicking the buttons
- (DONE!) Selection of white balance preset and manual white balance
- (DONE!) Screen front flash
- (DONE!) Take picture with volume button (and headset button)
- (DONE!) Add timeout to focus/exposure indicator
- Fixed GL Glitch because the lack of a proper background drawable
- (DONE!) Create YUV picture pipelines
- (DONE!) Jpeg picture rotation
- Disabled YUV capture due to performance problems
- Added compatibility to a new patched lib
- Fixed: the selector interface for ISO/shutter speed/EV is quite buggy sometimes
- (DONE!) Needs to keep track of the old 90 degree value for a smoother transition
- (DONE!) Needs to ignore the rotation when the rotation is too close to 45, 135, 225 and 315 degrees
- (DONE!) Create code for mean-gain-map stacking
- (DONE!) Adjust for non 4:3 proportions's when creating gain maps
- (DONE!) Recalibrate the zen2 cameras Standard A color matrices
- (DONE!) Create workaround for mirroring the front camera image
- (DONE!) on Zenfone Zoom, start using the front camera
- Fixed front camera orientation (again)
- (DONE!) Take picture with ZenZoom camera button and focus with half press
- (DONE!) Create specific gain maps for ZenZoom front camera
- Fixed gain map position for non 4:3 picture sizes
- Fixed "The focus button sometimes appears enabled when it shouldn't"
- OriginalRawFilename tag now is a UTF8 null-terminated string
- Added simple reprocessing capabilites for better testing
- Updated targetSdkVersion
- (DONE!) Enabled manual shutter speed to ZenZoom front camera
- (DONE!) Optimized taking photo delay for ZenZoom front camera/Zen2 with MM blobs
- Better displaying of shutter speeds less than 1/10000
- Fixed a bug when a su shell doesn't open gracefully
- (DONE!) Proper black level calibration
- (DONE!) Save features's values when closing camera
- Updated gradle version and targetSdkVersion
- (DONE!) Fixed a bug when starting the app in certain ROMs (like BORETS)
- (DONE!) Added new simple tone curve profiles
- (DONE) Delay setting the parameter when using the slider by a couple milliseconds
- (DONE!) Added some simple RAW settings switches
- (DONE!) Disable modes button when opening the camera
- (DONE!) Using DNG SDK to generate the RAW files
(compression and DNG files that-always-work)
- (DONE!) Remove LibTiff
- Fixed not-so-rare threading-related crash
- (DONE!) Make the DNGPrivateData tag adobe-compliant
- (DONE!) Add new CCM-based color profiles automagically
- (DONE!) Add new raw compression switch
- (DONE!) Selection of picture size
- (DONE!) Optimize the DNG creation memory performance
- Fixed "Currently using the manual focus slider crashes Zenfone Zoom camera"
- (DONE!) Use multithreading in the DNG creation process
- (DONE!) Slower metering update rate for a better performance
- (DONE!) Migrate project to AndroidX
- (DONE!) Migrate to libsu
- (DONE!) Low-level logcat reading with high performance without (uneeded) memory allocation
- (DONE!) Optimize logcat reading
- (DONE!) Added checksum toggle for optimal compressed DNG creation
- (DONE!) Override EXIF software tag also for jpeg pictures
- (DONE!) Flash focus
- Fixed "Pictures have wrong month date"
- Fixed dates in exif tags
- (DONE!) Better configurations's switches color
- (DONE!) Enabled ProGuard on release builds and optimized apk's file size
- (DONE!) Removed CaptureInfo favoring RawCaptureInfo for a simpler code
- (DONE!) Create a IO thread queue
- Fixed Original Size tags
- (DONE!) Show aperture below the current shutter speed value (handle display rotation)
- Fix minor button controller color bug
- (DONE!) Added EV metering for ZenZoom
- (DONE!) Add asus camera metering
- (DONE!) Add analog free-lens-like filter to raw pictures!
- (DONE!) Save the user configurations between app close/opening cycles
- Disable digest generation by default so Snapseed doesn't crash