12-bit (and 10-bit) RAW video development discussion

Started by d, May 22, 2013, 10:58:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dfort

Wow, lots of activity here. I've been asked to help compile some test builds so for a limited time only I'm posting everything that I could build on my bitbucket download area:

https://bitbucket.org/daniel_fort/magic-lantern/downloads

All platforms are there in one large zip file along with the command line tools, mlv_dump, raw2dng and cr2hdr, for both Mac and Windows.

Note that the 1100D.105 didn't compile and raw2dng needed this change in order to cross compile for Windows on a Mac:

raw2dng.exe: FORCE
$(call build,MINGW,$(MINGW_GCC) -c $(SRC_DIR)/chdk-dng.c -m32 -mno-ms-bitfields -O2 -Wall -I$(SRC_DIR))
- $(call build,MINGW,$(MINGW_GCC) -c raw2dng.c -m32 -mno-ms-bitfields -O2 -Wall -I$(SRC_DIR) -D_FILE_OFFSET_BITS=64)
+ $(call build,MINGW,$(MINGW_GCC) -c raw2dng.c -m32 -mno-ms-bitfields -O2 -Wall -I$(SRC_DIR) -D_FILE_OFFSET_BITS=64 -std=c99)
$(call build,MINGW,$(MINGW_GCC) raw2dng.o chdk-dng.o -o raw2dng.exe -lm -m32)



I haven't tried any of this myself so -- Happy testing!

GutterPump

Tried the 5D mark II with 12bits
Extract MLV with the new mlv_dump version and the line --dng --no-fixcp --no-stripes

I got pink frame issue too

Now i will test the 5DIII :)

Even if we got issues, i'm sure it will fixe of everyone do tests.

Thanks @dfort for all these news builds !

EDIT:

Ttried with the 5DIII :

10 bits = Stable  | FPS override enabled
12bits = Got pink frame only on the first frame | FPS override enabled

kgv5

I tried on  my 5d3 113, just a speed test with sandisk extreme pro CF card 160MB/sek, i assume that despite image issues frames are recorded with their proper size (but i didnt check).

So i tried 3K 2,35:1 23,975fps- 14 bits - 134 frames
                                               -12 bit - 294 frames
                                               -10 bit - over 3 minutes recording, didnt check longer
1920x648 (16:9 after stretch) 60 fps     -14 bit 308 frames
                                                            - 10bit 1425 frames
1920x648 50fps seems to be continous in 10 bit.

1920x1080 37fps - 14bit - 239 frames
                             - 10bit - over minute, didnt check longer.

highest possible resolution 3584x1320 23,976 10bit - 160 frames (vs 61 with 14bits).
www.pilotmovies.pl   5D Mark III, 6D, 550D

Danne

Thanks a1ex, dmilligan,  Ilia3101 and dfort. Ran two test files with a 5D mark III and it is very promising. First fram garbled both for 10 and 12 bit but the rest looks fine. Disabled vertical stripes and cold pixels in mlv_dump. Needless to pint out it,s a blessing to see so much headroom left with the lower write speed even with 30 fps 1920x1080.

reddeercity

Started testing with 10 & 12 bit  , as mention before on the 5D2 the Liveview is all scrambled even if you press the half shutter
for color preview in ML grey preview it's just colored scrambled lines. But I Found a trick !  :D  "Turn off Overlays when recording" in the overlay tab.
but of course that also kills the buffer overlay graph so you don't know any info of recording time etc... at least the Liveview is not all scrambled
and you can see what is being recorded .
I still need to test with HDMI & 3x Crop Mode.

v8rrc

Tested on 6D 10bit seems to work, preview and playback garbled but dngs open in photoshop/lightroom fine. and Continuous OK at 1824 x 776 (2.35:1) 23.97FPS which is Great.

kgv5

Like reddeercity said, checked 5d3 113 with global draw OFF  - liveview is good then with 10 and 12 bits.
www.pilotmovies.pl   5D Mark III, 6D, 550D

ItsMeLenny

As far as I can tell 10 bit was recording on the 550D, unsure how to play it back.
I was under the impression that it would result in a significantly lower bitrate, to the extent where I would be able to record full resolution @25fps, which it would only record half a second. Was that somebodies incorrect calculations in the past? (or am I thinking of 8bit).

dmilligan

10/14 = 0.71 => you should see about 29% lower bitrate.


As a1ex has alluded to, the entire ML raw backend is basically hardcoded to only handle 14 bit raw data, so preview, playback and all that are not going to be working correctly. Fixing them is a lot of work (lots of tedious bit math), but should be pretty straight forward and requires no reverse engineering. I had a quick go at the preview code, but I'm not sure I understand all the transformations correctly. The result was starting to resemble the correct image but still very garbled.

reddeercity

Some more test for Liveview , To get the overlays in liveview without being scrambled in 1:1 mode switch preview in the video menu in raw tab to
Auto or Canon preview then all overlays are enabled but not to sure if the meters for exposure etc... are correct this was for 12bit raw on 5D2.
For 3x Crop Canon preview , ML grey preview lockup preview but came back after recording is stop.

ddelreal

Quote from: ItsMeLennyAs far as I can tell 10 bit was recording on the 550D...

Already have ML, how do I get 10 bit on my 550D?

Edit:
I found the files, do I just add to the folder on my SD card or do I actually have to reinstall ML?


Edit 2: Nevermind, got it working. Testing now.

ddelreal

Bunch of colored snow, but I used MLV Mystic. Recorded long though at 1728 using 10 bit, just can't see frames. This is on a 550D. Crop mode crashes camera.

reddeercity

Completed some resolutions tests with 5D2 at 10 & 12bit with 3x Crop , the only resolutions atm that does not give corrupt on  ever other frame is
1856x1044 @ 10bit , ML Grey preview with overlays killed . Any other adjustment then this will give different type of frame corruption
from just total noise to part or the image is out of order and or with color noise bars across the image. 12 bit has corruption & or part of the image out of order
on all resolutions except in 3x Crop mode there 12 & 10 bit are free of corruption but there have a heavy pink cast just like the black level off .
Preview in Crop mode I used was ML Grey with overlays enable (default mode) . That's it for now .

DavidSh

Is there a build for 5d3 123 ?
Looking forward to do some tests...
600D | 5D3 | macOS Sierra | http://www.GentleDogMovie.com

dmilligan

Quote from: ddelreal on November 05, 2016, 05:35:46 AM
Bunch of colored snow, but I used MLV Mystic.

You'll have to use the mlv_dump compiled from the raw_video_10bit_12bit branch with all processing options turned off (see previous replies) or MLVFS. These are the only converters I'm aware of that can handle non 14 bit data correctly (there might be others).

dfort

Quote from: DavidSh on November 05, 2016, 07:41:09 AM
Is there a build for 5d3 123 ?
Looking forward to do some tests...

Short answer, no. Longer answer:

5D3.123, 70D.112 and 100D.101 have not been merged into the main trunk yet. Someone ( @nikfreak ?) could attempt to merge in the raw_video_10bit_12bit into these platforms.

1100D.105 build is currently failing but it has nothing to do with the 12-bit, 10-bit changes. The automatic builds on the download page are also failing.

ddelreal

Okay, so I used MLVFS and now I can see the frames. Every other frame is top half pinkish noise. I was trying 12FPS on 550D.

dfort

700D is working in 10-bit and 12-bit. Tested mv1080, mv1080crop, mv720 and zoom modes.

LiveView freezes when recording. In 5x zoom mode LiveView is in greyscale and becomes garbled when recording but turning off GlobalDraw fixes that.

About half of the time I'm getting a corrupted frame but only on the first frame:



After that everything is beautiful! (Processed through MLVFS.)


krisdeak

Quote from: dfort on November 05, 2016, 08:03:37 PM
700D is working in 10-bit and 12-bit. Tested mv1080, mv1080crop, mv720 and zoom modes.

This is really really promising! Could you confirm the data rates achieved in 10-bit +  a rough estimate of how long we might be able to record like this, with the SD card hard limit taken into account?

I'll keep following this thread!

Thanks!

dfort

Quote from: krisdeak on November 05, 2016, 08:23:13 PM
Could you confirm the data rates achieved in 10-bit

According to the ML display:

14-bit 36.8 MB/s @23.973p
12-bit 31.6 MB/s @23.973p
10-bit 26.3 MB/s @23.973p

I'm able to record continuously up to 1344x756 in 10-bit on the 700D. After that it stops automagically after a few seconds depending on the resolution. Basically if the bottom line on the ML menu is green it won't stop. For the wide screen enthusiasts that means 1536x654 on the 700D is doable.

I also wanted to report my findings on the EOSM. It works fine in the crop modes, mv1080crop and zoom with the same LiveView freeze and first frame corrupt issue as the 700D. There's something strange going on with the non-cropped modes. The camera records but the camera freezes when recording is stopped requiring a battery pull. The file is saved and appears to be mv720 (3x5) no matter what the Canon menu is set at which is normal behavior for the EOSM though there are some other idiosyncrasies with this build like it always defaults to 29.97 in non-cropped modes but in crop modes it will default to 23.98. Of course further testing is in order on this platform.

DeafEyeJedi

Wonderful progress guys. So much activity as I've been trying to stay on top with you guys. Downloaded the builds for EOSM and 7D. Thanks @dfort!

Re: EOSM -- I can confirm that this works nice with MLP in spitting out DNG's/ProRes with the exception of first DNG being corrupted somehow. Tested on 24p, 30p & 60p.

Re: 7D -- This was shot in 48p @ 1728x692p it seems that I am getting that pink half corrupted frame on every other frame (for both 10-bit and 12-bit) as others have reported in here as well. Here's what they look like.




https://vimeo.com/190398637

Before I can go ahead and test out a 5D3 -- I have to downgrade from 123 to 113 first so will report back by findings once I have them down.

Also any way I can get MLVFS to work with these 10-bit/12-bit files? Do I need to replace the binaries that @dfort shared with us and replace the ones inside MLVFS -- could you enlighten me on this @dmilligan please?
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

dmilligan

Quote from: DeafEyeJedi on November 05, 2016, 11:58:28 PM
Also any way I can get MLVFS to work with these 10-bit/12-bit files? Do I need to replace the binaries that @dfort shared with us and replace the ones inside MLVFS -- could you enlighten me on this @dmilligan please?
MLVFS should already handle the files just fine. MLVFS does not contain or use binaries of ML tools.

ddelreal

Yeah, MLVFS works. I've tried different frame rates and resolutions, still getting pink/corrupted every other frame in 10 and 12 bit. (550D)

dfort

@DeafEyeJedi -- The binaries in the package I made have a commit in the mlv_code to work with lower bit depth files. You should try using the binaries in the package from the command line and compare them to the ones from the unified branch. There's also a note:

Quotemlv_dump: fix DNG output for lower bit depths
You need to disable all processing, e.g. mlv_dump M00-1234.MLV --dng --no-fixcp --no-stripes

MLVFS can already handle these bit depths and like dmilligan explained doesn't use any of these binaries.

DeafEyeJedi

Quote from: dmilligan on November 06, 2016, 02:15:25 AM
MLVFS should already handle the files just fine. MLVFS does not contain or use binaries of ML tools.

Apparently I needed to update the FUSE to make this work again. I could swear it was working right before the recent 10.12.1 update from Apple.

So indeed MLVFS works just fine with 10/12-bit files atm. Thanks!

5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109