High Bit-rate recording now solved

After a couple of weeks of hard code tracing Coderat nailed the where/how of the bit rates for Nikon DSLR movies recording are set. The sad thing is the source of the bit rates is just a simple function that had been documented for a couple of years, the completeness of it’s effect was just not understood. Sigh.

But now we have patched in higher bit rates. To that end 34mbps and 54mbps have been tested on a D5100, and I’ve tested 34mbps, 49mbps and 64mbps on my D7000.

There are some D7000 video’s that can be reviewed if that’s your thing 1080 24fps 18mbps (default) 29MB 1080 24fps 30mbps (default) 47MB 1080 24fps 45mbps (default) 60MB

The online patch tool now lets to install these rates, on D5100 and D7000, and only at 1080p, but I’m sure more models/modes will follow as requested.

I had no record problems with 64mbps (really 60mbps as I had no sound being recorded), using both my slow Transcend Class 10 card, or my fast SanDisk Extreme Pro, which I purchased for these very tests back in 2012.

photo

So if you want to test or talk about this come on over to the Nikon Hacker forums.

Live View Silent Raw on D7000

The D5100 had a string “A:\\LvRaw  .raw” that I notice soon after first decoding the firmware files. I could never fulling put together the how and why of what the code was doing (looking in Task 30 of the D5100 firmware or @0x1AC268 of v1.01 firmware)

After the Magic Lantern guys announced RAW movies and it becoming a hot topic I doubled my efforts to work out how the code worked. But still it evaded me.

Then I bricked my D5100 and I stop working on the project for a month as I’d lost my mojo. Also my replacement D7000 was pretty much all a man could need. But that elusive RAW video mode the Magic Lantern guys have was a very shinny target.

So reading the D7000 firmware with more vigor I discovered why the D5100 didn’t make sense, Nikon had removed the liveview raw saving code, because it’s present in the D7000, and with a simple tweak I got it working.

So for now it’s truly the raw buffer (the part that’s put in the .NEF but with none of the EXIF data), and it takes a hack to turn on, and I’ve not nailed the FPS, nor do I have a clue how to speed it up, but it’s all very cool.

Form the two test video’s I’ve done, the first took 25 frames in 18 seconds so 1.33 fps, on an Extreme 45MB/s San Disk SD card. The second video with an Extreme Pro 95MB/s San Disk SD card, I got 15 frames in 10 seconds, so 1.5 fps. Not ground breaking stuff, but the code to do this was already present in the D7000 firmware. So making it “better” will take a while.

I’ll post a couple of files in case anybody is keen to try decode them. http://simeonpilgrim.com/files/Liveview_silent.zip

Turns out that after some data review, the files contents appear to be the left over ram from taking previous pictures and not the current raw buffer. sigh. Well at least we now how a button, that is wired up to run in live view and a complete understanding of the file handling process, albeit a slow process.

Bricked My Camera

Sigh, I loaded my first altered firmware on my trusty D5100 on the 25th November 2011, and my last on 22nd May 2013.

Strangely enough we are not sure what was wrong with the patch, weather the area we put the code in was not truly free space,  or if the area we were putting data in was not spare, if the jump to the new code was wrong, was the return wrong, was there an error in the code, or did we take to long and a watchdog triggered.

[Edit 7 July 2013] Hi Nikonrumor people, the problem with the patch was an incorrect sequence of assembly instructions used, and it was a development test patch. So “released” patches are much more “safer” but there is still a real albeit small risk.[Edit]

It’s hard to know but the camera doesn’t boot anymore. The led doesn’t even flash when you put batteries in/out.

So now I get to buy myself a new camera, it’s a little frustrating, as the project had been getting donations, but we had not gotten enough for a D5100 body yet and my plan was to get one for one of the other developers, so we could speed up testing time, and spread the risk. The other guys have different models so are not directly applicable at this “but how does it all work’ stage. And because I started the project we were focusing on the D5100 model as it was the most understood.

If my camera was damaged and I could claim insurance, I wouldn’t get a replacement D5100, I’d likely step up a model, not because I’d out grown the D5100, it’s a fantastic camera, it’s just I’m prepared to spend a little more to get more, compared to when I brought my first DSLR. But getting a D5100 makes the most sense as that’s the model we know the most about from a team perspective.

I rang the Nikon Service centre and it will cost 50% of the new camera price to replace the mainboard. And you can buy replacement off ebay for half that again, but I’m not a hardware guy. They plan is to send the body to a team member and see if they can get the JTAG link working to force reprogram it.

Michaela joked that I should dump Nikon and go with Canon, because of ‘disgust with a camera that’s so easy to break’. She took the news better than I expected.

So ignoring the Canon joke, I’m torn between personal camera needs/wants, and project team needs, and I’m wondering if there’s any community opinion, and if the community is willing to help fund that opinion in anyway?

I’ve previously not directly asked for money for camera bodies, as I didn’t want to ask before having something to show, and I felt we could stop at anytime without feeling a huge sense of dept to the community. So I’m keen to understand what people think.

By the way, we have been able to partially dump the D7100 and it’s ARM based verse Fujitsu FR based and uses a different OS. So the newest camera’s are a whole different kettle of fish, but should be easier to work with, as there is more ARM based disassembly tools.

Looking for D3200 Alpha Testers

I just released v1.13 of the online patch tool today, and it has the time limit removed for D3200 movie recording, but…. it’s not been tested, as none of the core developers have a D3200.

So we need a brave soul to test it for us. If keen come on over to the forum and let us know so we don’t have 100 people all trying it at once. ;-)

Don’t leave development firmware on you camera…

It shouldn’t need to be said, but “Don’t leave development firmware on you camera” in late December I was trying to fix the Lossless NEF file corruption problem on my D5100. I loaded a firmware, found it didn’t fix the problem, and then went back to studying the code. I few hours later, as a family we went off to a New Years eve party, and I picked up my camera, and snapped some real keepers.

Next day, I plugged the SD card in and found that Lightroom was

Lightroom has encountered problems reading this photo. You will not be able to make adjustments to the photo.

Arrg.

There is a good example of how to pull the preview jpeg’s, but when I did that, the preview pictures were 570×375, and thus not worth keeping, so some reading of the help file and this command pulled the embedded 4928×3264 jpegs.

exiftool.exe -b -JpgFromRaw -w _jpgfromraw.jpg -ext nef -r .

Which is better sized albeit a little over compressed. But better than nothing.

Now to solve the lossless NEF problem once and for all, and try resolve if the raw files can truly be recovered…