14bit RAW DNG silent pics! (silent.mo)

Started by Francis, April 26, 2013, 03:47:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Is it possible to directly access the storage (CF/SD) at the block level? I'm thinking that for cameras with dual card slots, an unformatted (hopefully this would stop other canon code accessing it) card could be used to directly store the raw LV data without a filesystem. This might be a wild idea, and I have no knowledge of how the DMA works on the canon chips, but other ARM devices allow you to do DMA from one peripheral to another without involving the cpu - could we pipe the raw LV data directly to the CF/SD periphal, writing a block at a time and some sort of basic linear file system?
50D, 5D3


Yes, look in bootflags.c. No idea about DMA on the cards; for that, one has to investigate the low-level file i/o routines.

I only scratched the surface and "fixed" a compatibility bug with certain cards on 5D3 (well, only a dumb workaround, but works for my kingston 266x): http://www.magiclantern.fm/forum/index.php?topic=2528.0


Lol... or mount a file as CF card on SD only cameras? Then canon wouldn't fuck with it? This is some serious stuff tho.




I made this video with sRAW stills and processed them with adobe camera raw. After making this i never want to shoot with h.264 again. If ML can tame this dng sequence we are in for a a real treat to say the least!


ted ramasola

To the magic lantern team, I just want to drop by and say good job guys. I look forward to making this a usable feature.
5DmkII  / 7D


The raw is pretty but the 422 will give similar results, esp after compression. Probably would be H264 -> jpeg -> yuv422 -> 14 bit raw.

frame size much over 1-2MB is a tough prospect tho.


Hi everyone I'm new to this forum.


I saw how you said no cards are fast enough for 24p and the buffer is an issue with 24p when going out HDMI. Forgive my ignorance, but would it be possible to get 12fps recorded to a card and the other 12fps going out the HDMI, and then combine in post to get 24p?


I am basically foaming at the mouth at the possibilities for bracketing with DNGs. I could have sworn I saw take_silent_pic() in the pico API, but it's not there.

Would it be possible to add this (ideally with choice of file name)?


Just take normal pics and enable silent mode in menu.


There should be a way to get better resolution even on older bodies because in 5x/10x zoom on 60D I get dng 2520x1764, usable 2520x1080


Quote from: N.Mendes on April 27, 2013, 08:27:39 AM

This part is the most important sentence that has been said since this crazy announcement.. So, people, this huge news is for "time lapsers", not for film makers, i guess.. Unfortunately, don't expect our 5d3 to be a BMC competitor..

Whatever, ML team, you do a great job..

I agree that it is important to be aware that we are unlikely to see 24fps RAW video. But I do not necessary agree that this "new DNG/RAW feature" is a hallelujah for time-lapsers. I would never accept being limited to only shooting at 2K when doing time-lapses! I and many more would require to be able to do the footage in full resolution (minimum 4K)!!  I would rather take the relatively low cost of switching the mirror shutter mechanism when it is worn out, than being limited to only 2K RAW files !!

So if this new feature will not implement RAW video, I will probably never get any use of it!


What about the lower resolution? Could we get higher frame rate?
I think the 24 fps raw video in 720p better than 1080p normal video.


I guess it has been mentiones before, but in case it has not: What about spanning the recording over the dual slots? Is it possible to store every second frame onto the SD card for example? Didn't read the whole thread, sorry if it has been discussed before...


Does anybody know the "magic" register address for the  550D ?


QuoteI would rather take the relatively low cost of switching the mirror shutter mechanism when it is worn out, than being limited to only 2K RAW files !!

I think all the modes have a place. The matrix 422 files were 40MB... bigger than a raw. FPS override is great for convenience. And raw is a great replacement for 1:1 422 pics but the burst rate on those was nicer. Seems like having all of them would be best option vs throwing them away.

I think the only way to get 24fps "raw" would be compressing the raw to jpeg but keeping the color data, etc. I have to try this on 600D and see what (if anything) happens in crop mode.

I just discovered in 5x zoom mode my resolution is over 2k (at least reported... I'm collecting files to update morning changes).

Opened the files and its weird... the width is real... but it looks cut in half height wise... can both parts of the image be gotten by moving the zoom box to the bottom?



You have to look in the disassembly.. your lV reg is probably the same... for raw histogram its a bit harder.

And yes... appears you can move the zoom box... my zoom height is 981 so like 3 pics and I guess you'd have the whole 3.5k image. How is that for not being limited to 2k?


@Greg Thanks.
@1% My understanding is too little, I even wonder if you reply to my post :-)
I followed the thread and remember looking in the disassembly, but my machine code knowledge is limited to 6502 MOS Technology. Since when does a disassembler name register?
I hope it will work on a 550D and improve the image quality for silent pics  in the future and better be patient...


Small update, just added some cool stuff to the repo:

- silent burst mode working on 5D2 and 3 (roughly 30 pics at LiveView FPS and resolution)
- raw histograms and zebras are now showing the dynamic range from DxO

If you look at the uncompressed 422 recorder, you'll notice that 1920x720 is doable on the 1000x card. It's not working yet for raw, but the frame sizes are comparable (2741760 bytes for a 1904x720 YUV422 frame, vs 2399040 bytes for 2080*720 RAW).

I've also reworked the raw code to make it easier for porting - all camera-specific stuff is now in raw.c. The porting process goes roughly like this:
- add raw.o and chdk-dng.o to camera Makefile (in platform dir)
- read the comments from raw.c
- fill in the "blanks" in raw.c (look for #ifdef CONFIG_5D2/5D3 and add similar blocks for your camera)
- most values are found by trial and error; it's not hard, but it takes time
- enable the raw features in features.h (look at 5D2/3 for valid names)
- enable the debug stuff for testing / troubleshooting (RAW_DEBUG, RAW_DEBUG_DUMP, RAW_ZEBRA_TEST etc)
- probably the easiest one to port is FEATURE_SILENT_PIC_RAW (simple, not burst). After this is working, try burst. Finally, try the photo mode overlays, these are the hardest to get right.
- submit a pull request (or just paste your modifications here)



Awesome Alex!!  Can't wait to try it.  Will this be in the nightly build?


stoked!...loaded it up, stil cant find that burst option, in live view, in the 5dmkii..can someone help me locate it please!>?


For me just shutter speed limit is problem. But i guess it can solve after RAW Fps Override feature.


You can combine it with FPS override. The current nightly may not sync correctly, but the next one will.