4 ms·
Why not have a deferred compressor? I assume that just straight-up saving the raw data in memory would be much faster than compressing every frame as you get it
by dvt 13y ago
Why not have a deferred compressor? I assume that just straight-up saving the raw data in memory would be much faster than compressing every frame as you get it.
Couldn't you get significant FPS increases (given that you still had free space/memory available)?
- jpap 13y agoActually, I do both on dual core devices. One core is dedicated to host the capture/buffer, the other will encode shots in the background. When you see the big circle percent animation, both cores are dedicated to compression to clear the encoder queue so you can take back to back living photos quickly.
- dvt 13y agoVery cool :) Thanks for the quick reply.
- Andrenid 13y agoI've just gotta say: This is one of the main reasons I keep coming back to HN. A story gets posted about some cool new tech, and the creator is in the comments answering questions. Simply awesome.
- jpap 13y agohaha, cool. :-) To be honest, I don't often post here because I'm busy working, but am enjoying the discussion on a baby I've nursed for two years now. :-) Thanks for your post!
- dimadima 13y agoJust got this app. I've got to say— wow! So well put together, the whole everything— the app, the website, the web-based social platform. Giving $0.99 for something a person worked on for 2 years feels wrong and great at the same time, but I think enough of us will do so to have made it worth your while.
- ajays 13y agoI read the TC article, bought the app, and came here in the hope that the developer would be here. I was not disappointed!
- jasomill 13y agoAssuming approximately 8MB worth of uncompressed raw data from the image sensor, 20 frames per second would require writing images to flash storage at 160MB/sec, which no iPhone can do.
- dvt 13y agoBut writing to RAM (at 3200+MB/s) is certainly possible. You could cache around 2-3 seconds (on lower-end iPhones) as you compress. Again, the idea wouldn't be that you could indefinitely do this, but merely that the compressor would be deferred (and would lag at a ratio that would still yield x FPS). That's how I would do it. But apparently they already do this :)
- jpap 13y agoThat's how it's done, where on dual core devices, a JPEG encode can be done in parallel to capture. Try it on an iPhone 5 with "infinite shutter" disabled and you will see the dropped frames in the filenames once you import them to your machine from iTunes App File Sharing (or over SSH if you're jailbroken).