jzagaja Posted July 12 Share Posted July 12 I’m developing a video recorder that can capture both uncompressed and compressed RAW, while also recording a flat H.265 stream with minimal ISP processing. The application can process RAW data and encode the result to H.265. It adjusts the saturation vectors in the linear domain to preserve accurate color relationships and supports color targets for calculating a 3×3 color correction matrix and TRCs. It also includes USM and MTF-based filtering in a mildly nonlinear domain, allowing either sharpening or attenuation of high spatial frequencies. I’m also planning to add film simulations after calibrating the camera using manufacturers’ spectral sensitivity curves. I’m open to suggestions regarding additional features worth implementing. At the moment, my main problem is dropped frames during compressed RAW recording. Below is an example from a Motorola Edge 50 Pro: the brighter image is produced by the phone’s ISP, while the other image is processed from RAW. ISP: RAW: RAW: Cosimo and eatstoomuchjam 2 Link to comment Share on other sites More sharing options...
jzagaja Posted July 13 Author Share Posted July 13 Here are a few samples after IT8 color calibration: https://drive.google.com/drive/folders/1EqZM7ZMvsTiZBEeMZ6E6lWjT5Hbzwnrc I’m still working on the in-phone RAW processing algorithms. Cosimo 1 Link to comment Share on other sites More sharing options...
jzagaja Posted July 19 Author Share Posted July 19 I used Ektar drumscan: To create simulation profile: Cosimo 1 Link to comment Share on other sites More sharing options...
jzagaja Posted July 22 Author Share Posted July 22 Correcting a bit IT8 grid. Color checker video V2 target is expensive not sure if implement. Link to comment Share on other sites More sharing options...
jzagaja Posted July 22 Author Share Posted July 22 I like Ektar 100 simulation implemented. Link to comment Share on other sites More sharing options...
techie Posted August 7 Share Posted August 7 Compressed RAW is probably the part I'd focus on before adding more film simulations. For the dropped frames, a small diagnostics page could be useful: sensor timestamp delta, queue depth, compression time per frame, sustained write MB/s and dropped-frame count. That should make it much easier to see whether the bottleneck is capture, compression or storage. I'd also preserve per-frame black/white levels and WB/colour-matrix metadata where the device exposes them. Especially useful if you want the RAW processing and calibration to remain consistent across ISO changes. Interesting project. Emanuel and greenscreen 2 Link to comment Share on other sites More sharing options...
jzagaja Posted August 10 Author Share Posted August 10 Right now I’m working on a GPU-accelerated H.265 mode, with the goal of getting video that is as close to RAW as possible while maintaining stable IT8-based color calibration. In RAW mode I’m currently limited to around 22 fps (Motorola Edge 50 Pro). To push beyond that, I’ll probably need to rewrite a significant part of the capture and processing pipeline in C++/NDK and reduce the amount of work done on the Kotlin side. Over the next few days I’m planning to register as a Google Play developer and try to publish an early version of RawLogCam on the Play Store. I’m also considering releasing it first as a closed or open beta. If anyone here has an Android phone with decent Camera2/RAW support and is interested in testing it, I’d definitely appreciate feedback — especially on dropped frames, sustained recording, external SSD recording, RAW compatibility, and color calibration across different sensors. If you have a better idea than going directly through the Play Store for the first public builds, I’m open to suggestions. Link to comment Share on other sites More sharing options...
cookietub Posted August 11 Share Posted August 11 I'd be interested in testing it. I currently have a Nubia Z60U which is capable of capturing 4k 60P RAW without any dropped frames using Motioncam. So, yes, this phone is a power horse! jzagaja 1 Link to comment Share on other sites More sharing options...
jzagaja Posted 6 hours ago Author Share Posted 6 hours ago 2K compressed RAW is no problem on the Motorola Edge 50 Pro, but at the moment I’m not sure how to make 4K work reliably. RAW has a nicer rendering than the GPU pipeline, especially in the highlights. I’ve implemented 3×3 color matrices, TRCs, and 1D IT8-based correction for both GPU and RAW/RAWC modes. I think I’ll drop the H.265 mode that goes through the ISP and only keep GPU H.264 for social media compatibility. Andrew - EOSHD 1 Link to comment Share on other sites More sharing options...
Administrators Andrew - EOSHD Posted 6 hours ago Administrators Share Posted 6 hours ago Any thoughts on making an iPhone version (DNG -> H.265 without the processed look, without Prores RAW) Link to comment Share on other sites More sharing options...
jzagaja Posted 5 hours ago Author Share Posted 5 hours ago On iPhone I’d see the practical route as DNG/ProRAW or RAW burst → custom linear/Metal pipeline → H.265/HEVC, with a much flatter, less processed look than the stock camera. Not ProRes RAW. The limitation is that iOS does not expose continuous Bayer RAW video in the same way Android Camera2 can expose RAW streams, so an iPhone version would likely be AVFoundation + Metal: RAW/DNG stills or bursts, plus a controlled HEVC mode with custom tone, colour, highlight rolloff and IT8/LUT calibration. I don’t have an iPhone to test on right now, so I can’t promise it yet. But the idea is definitely interesting. First I want to finish and publish the Android version and see if people find it useful. If the feedback is positive, I’ll try to look into an iPhone version — probably DNG/ProRAW or RAW burst into a custom Metal colour pipeline and then H.265/HEVC, rather than ProRes RAW. For me the goal is to do as much as possible directly on the phone — capture, colour, calibration, encoding, maybe even basic editing/export, Davinci style. On the PC I’d rather have a voice-driven movie editor, where you can just say what you want to cut, move, translate, subtitle, shorten or colour-match, instead of digging through endless panels. I’m also working on PocketCAD for Android and a customised WearOS/Android smartwatch project, so it’s all part of the same direction: practical tools on small devices, with more voice control and less dependence on big desktop workflows. Jip-Hop 1 Link to comment Share on other sites More sharing options...
Jip-Hop Posted 3 hours ago Share Posted 3 hours ago 3 hours ago, Andrew - EOSHD said: Any thoughts on making an iPhone version (DNG -> H.265 without the processed look, without Prores RAW) For iOS there’s DIGILOG, RAW Cam & Log CAM by Sebastijan and now also MotionCam Pro (beta) which do this (or something similar). I especially like DIGILOG because of the real time film simulation with halation. Link to comment Share on other sites More sharing options...
jzagaja Posted 3 hours ago Author Share Posted 3 hours ago can you link Digilog video samples? Link to comment Share on other sites More sharing options...
jzagaja Posted 2 hours ago Author Share Posted 2 hours ago Here is example of Kodak 100VS, May 2000, drum scan, Louvre Museum. I would like get this effect on digital - highlights rolloff. Link to comment Share on other sites More sharing options...
jzagaja Posted 2 hours ago Author Share Posted 2 hours ago Few more samples from negative stock: Ektar, Digibase, GPX. Link to comment Share on other sites More sharing options...
jzagaja Posted 2 hours ago Author Share Posted 2 hours ago Agfa Copex Rapid + Rodinal 1:100 Link to comment Share on other sites More sharing options...
jzagaja Posted 2 hours ago Author Share Posted 2 hours ago RawLogCam RAW frame + IT8 TRC vs Motorola native video app. RAW is very life like on HDR screen. Link to comment Share on other sites More sharing options...
jzagaja Posted 2 hours ago Author Share Posted 2 hours ago Quick update on RAW → H.265 export: The RAW side can stay full resolution and 60 fps, but I hit a Qualcomm encoder issue on the proxy/export side. The `c2.qti.hevc.encoder` accepts `2160×2880 / 60 fps`, but after the first frame it returns `UNKNOWN_ERROR`, followed by Android’s misleading “Released state” message. So it does not look like an AAC or RAW/DNG problem — more likely a hardware encoder limit/bug with that portrait HEVC configuration. I’m testing possible workarounds, especially encoding the same frame as `2880×2160 / 60 fps` landscape, but the safe fallback is to keep RAW at 60 fps and export H.265 as smooth 30 fps by taking every second frame. Link to comment Share on other sites More sharing options...
jzagaja Posted 1 hour ago Author Share Posted 1 hour ago Quick update: I tested the Motorola Edge 50 Pro hardware encoders and could not find a working HEVC 4K60p path for the full RAW-derived frame size. c2.qti.hevc.encoder accepts configurations like 2160×2880 @ 60 fps and 2880×2160 @ 60 fps, but fails after the first frame with UNKNOWN_ERROR. Rotation does not help. The same size works at 30 fps, and 1080p60 works, so this looks like a real Qualcomm encoder limit/driver issue, not an AAC or RAW/DNG problem. So the current plan is: RAW/RAWC master: full resolution, 60 fps H.265 quality proxy: full resolution, 30 fps H.265/H.264 smooth proxy: lower resolution, 60 fps if supported PC export: final 4K60p from RAW/RAWC/DNG A more interesting idea is to use the extra RAW60 frames for HDR30: alternating short/long exposures, then merging pairs of frames into a 30 fps HDR output. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now