Author Topic: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView  (Read 862337 times)

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #625 on: May 02, 2017, 08:30:05 PM »
to me and a friend (we have same CF   CBx1066 tested)    with 27 and 29 april , vers. 123  ,   orange icon at first 20 seconds circa  red after and stop!  no way ...tryed 20 times...

Screenshot of the raw recording menu, please.

pc_bel

  • Member
  • ***
  • Posts: 132
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #626 on: May 02, 2017, 10:14:47 PM »
I think is something related to compression and how both builds manage it. With April14th I get green icon from start to end of recording, no matter what image I'm recording. With last buid April29th, I get green icon if I'm recording a dark image with no detail, and when I point the camera towards a detailed and well iluminated image, icon changes to orange and quickly to red. Then stops.
But I can be wrong... It's just an assumption from my ignorance.

DLM

  • New to the forum
  • *
  • Posts: 2
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #627 on: May 02, 2017, 10:47:28 PM »
Hello!

Does anyone else besides me have a black bar two pixels wide on the left side of the frame on all the videos?  Firmware version magiclantern-crop_rec_4k.2017Apr26.5D3113. I shoot 1920x1080 30p 14bit losless.

Quentin

  • Member
  • ***
  • Posts: 150
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #628 on: May 03, 2017, 05:08:16 AM »
@ DLM

Yes!
When I use Handbrake to convert some videos to MP4, Handbrake detects 2 pixels wide column and crops it.
e.g if I shoot at 3072, it shows 3070, 2 pixels offset

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #629 on: May 03, 2017, 10:14:19 AM »
With April14th I get green icon from start to end of recording, no matter what image I'm recording.

... and stops with green icon when you do this:

Quote
With last buid April29th, I get green icon if I'm recording a dark image with no detail, and when I point the camera towards a detailed and well iluminated image, icon changes to orange and quickly to red. Then stops.

As mentioned here, I've fixed the indicator, so it will actually warn you when it's going to stop.

That said, looks like the benchmark has some significant results:

Code: [Select]
mlv_lite version : ML/MODULES/RAWBENCH/APR14.MO
 854,872,940,989,924,802,930,894
 767,783,869,856,944,872,909,941
 746,973,1004,840,912,986,1088,800
 660,714,798,875,939,982,830,946
 868,929,941,983,857,960,870,846
 910,1072,929,1016,877,890,1021,924
 840,929,951,840,894,928,928,874
 651,720,926,837,850,812,1095,1078
 840,1030,804,960,910,1017,971,963
 1034,1032,961,806,894,1018,872,836
 926,1011,1074,902,960,838,864,1123
 783,949,871,890,746,760,796,853

mlv_lite version : ML/MODULES/RAWBENCH/APR29.MO
 335,727,943,761,882,929,608,781
 338,754,852,554,572,876,750,1017
 608,683,592,689,765,844,713,652
 834,733,574,804,638,560,927,853
 423,747,775,943,745,745,588,797
 505,687,1003,703,786,583,838,799
 495,597,895,872,872,572,837,926
 771,636,702,891,761,802,833,979
 710,590,905,978,889,929,810,851
 652,837,727,726,742,696,707,763
 486,655,826,729,669,882,916,697

Quartile stats: median (Q1 ... Q3)
mlv_lite version : ML/MODULES/RAWBENCH/APR29.MO:  752 frames (654 ... 852)
mlv_lite version : ML/MODULES/RAWBENCH/APR14.MO:  906 frames (840 ... 960)

P =

           1  1.3323e-15
  1.3323e-15           1

T =

           0     -8.7668
      8.7668           0

Looks like there is, indeed, a small speed regression.

Each number from the "big matrix" shows how many frames were in each test clip, and a new line means the card was formatted (and possibly other build was tested meanwhile - they are chosen randomly after filling and formatting the card). 1920x960 50p, 14-bit lossless, dark scene with artificial light (not changing during the experiment), preview set to Framing (which is not continuous here).

So, I've added some intermediate versions to the test script to narrow it down. The scene was a bit different (moved the camera), so the numbers are not directly comparable to the first run (variable bit rate):
Code: [Select]
mlv_lite version : ML/MODULES/RAWBENCH/APR23.MO
 1764,1691,1623,1565,1180,1299,1481,1307
 1173,1284,1576,1439,1482,1578,1421,1330
 1306,1110,1670,1184,1368,1439,1228,1568
 922,1360,1603,1455,1208,1201,1528,1844
 3200,3181,3199,3093,3028,3112,3215,3149

mlv_lite version : ML/MODULES/RAWBENCH/E93203.MO
 827,1134,1099,1324,1399,1475,1515,1397
 675,1121,1270,1271,921,893,1126,1088

mlv_lite version : ML/MODULES/RAWBENCH/B420A8.MO
 1596,1296,1169,1322,1292,1475,1839,1443
 1068,1895,1441,1363,1327,1360,1805,1444
 1322,1516,1703,1672,1591,1311,1185,1558

mlv_lite version : ML/MODULES/RAWBENCH/APR27.MO
 965,1490,1459,1667,1441,1234,1315,1481
 1470,1644,1536,1536,1728,2007,1773,1777

mlv_lite version : ML/MODULES/RAWBENCH/3F48DF.MO
 1349,1783,1441,1282,1444,1288,1624,1650
 1083,1368,1543,1273,1498,1680,1615,1644
 1402,1498,1477,1384,1211,1781,1110,1460
 3153,3211,3245,3260,3223,3043,3027,3162
 945,1436,1577,1595,2027,1466,1576,1322

mlv_lite version : ML/MODULES/RAWBENCH/E67FAC.MO
 627,888,1233,825,710,644,1197,1098
 531,721,833,1026,1357,1083,908,1784
 544,1034,1056,1509,1380,1109,928,1157
 892,956,985,1057,1270,1214,1147,1099
 1084,1252,1087,746,901,1042,1025,970
 1005,1235,1249,1076,1224,1305,1256,1384
 889,967,909,1542,839,1152,517,1313
 672,935,1002,1345,1249,1339,1327,1593

mlv_lite version : ML/MODULES/RAWBENCH/APR21.MO
 1346,1688,1683,1588,2244,1988,2444,1745
 1154,1398,1545,1725,1510,1630,1555,1337
 3246,3107,3236,3153,3108,3189,3275,3145

mlv_lite version : ML/MODULES/RAWBENCH/APR14.MO
 678,1752,862,1520,1394,1357,1025,1085
 1047,1553,1034,1687,1284,1459,941,1520
 1526,1709,1421,1398,1444,1701,1766,1691
 1252,1777,1760,1637,1634,1483,1654,1406
 695,1481,1520,1433,1814,1492,1360,1339

mlv_lite version : ML/MODULES/RAWBENCH/APR29.MO
 895,1055,1099,1323,1362,1265,1261,1646
 3143,3092,3185,3055,3208,3243,3207,3206
 1066,1006,1230,1388,1078,777,1045,1198
 861,1208,964,1137,968,1297,1002,1457
 763,1032,1173,1192,1227,1242,1485,1456

Quartile stats: median (Q1 ... Q3)
mlv_lite version : ML/MODULES/RAWBENCH/E67FAC.MO: 1067 frames (905 ... 1249)
mlv_lite version : ML/MODULES/RAWBENCH/E93203.MO: 1130 frames (1005 ... 1361)
mlv_lite version : ML/MODULES/RAWBENCH/APR29.MO: 1229 frames (1050 ... 1471)
mlv_lite version : ML/MODULES/RAWBENCH/B420A8.MO: 1442 frames (1317 ... 1594)
mlv_lite version : ML/MODULES/RAWBENCH/APR14.MO: 1470 frames (1312 ... 1646)
mlv_lite version : ML/MODULES/RAWBENCH/APR23.MO: 1482 frames (1303 ... 1728)
mlv_lite version : ML/MODULES/RAWBENCH/APR27.MO: 1513 frames (1450 ... 1698)
mlv_lite version : ML/MODULES/RAWBENCH/3F48DF.MO: 1521 frames (1376 ... 1782)
mlv_lite version : ML/MODULES/RAWBENCH/APR21.MO: 1735 frames (1550 ... 3127)

P =

 Columns 1 through 5:

           1     0.20463  2.3393e-05  4.2457e-09  7.9956e-09
     0.20463           1    0.063283  0.00020993    0.003231
  2.3393e-05    0.063283           1     0.55111     0.29445
  4.2457e-09  0.00020993     0.55111           1     0.53456
  7.9956e-09    0.003231     0.29445     0.53456           1
  3.5275e-10   0.0021903     0.26451    0.053254   0.0069184
  8.3596e-09  0.00014102     0.88954     0.31542     0.16273
   2.648e-11  0.00093461     0.16911    0.025252   0.0021659
  4.4409e-16  1.3427e-05   0.0054545  8.9505e-05  7.4696e-07

 Columns 6 through 9:

  3.5275e-10  8.3596e-09   2.648e-11  5.2588e-16
   0.0021903  0.00014102  0.00093461  1.3427e-05
     0.26451     0.88954     0.16911   0.0054545
    0.053254     0.31542    0.025252  8.9505e-05
   0.0069184     0.16273   0.0021659  7.4696e-07
           1     0.23071      0.7823    0.038059
     0.23071           1     0.14709   0.0032367
      0.7823     0.14709           1    0.061734
    0.038059   0.0032367    0.061734           1

T =

           0     -1.2792     -4.4339     -6.5382     -6.2902     -6.9502     -6.4563     -7.4827     -9.9692
      1.2792           0     -1.8962     -4.0996     -3.0823     -3.2171     -4.3595     -3.5022     -4.9964
      4.4339      1.8962           0     0.59938      1.0555     -1.1239     0.13954     -1.3879     -2.8799
      6.5382      4.0996    -0.59938           0     0.62454     -1.9705     -1.0173      -2.293     -4.2946
      6.2902      3.0823     -1.0555    -0.62454           0     -2.7744     -1.4153     -3.1719     -5.5061
      6.9502      3.2171      1.1239      1.9705      2.7744           0      1.2122    -0.27728     -2.1195
      6.4563      4.3595    -0.13954      1.0173      1.4153     -1.2122           0      -1.471     -3.1431
      7.4827      3.5022      1.3879       2.293      3.1719     0.27728       1.471           0     -1.9026
      9.9692      4.9964      2.8799      4.2946      5.5061      2.1195      3.1431      1.9026           0

D =

         126          78         102          86         102         102          78         102          86
          78          30          54          38          54          54          30          54          38
         102          54          78          62          78          78          54          78          62
          86          38          62          46          62          62          38          62          46
         102          54          78          62          78          78          54          78          62
         102          54          78          62          78          78          54          78          62
          78          30          54          38          54          54          30          54          38
         102          54          78          62          78          78          54          78          62
          86          38          62          46          62          62          38          62          46

It looks like the first 3 builds (in the sorted list) have the regression; that means, it must have been introduced in the earliest changeset from this group (since the previous changeset was also tested): e67fac.

That means:
- The regression only affects the behavior when recording is about to stop (how many frames it manages to squeeze in the last moments)
- It does not affect the ability to record continuously. This piece of code starts kicking in when the buffer is about 90% full.

Is the regression caused the overhead of printf (possibly delaying the decision by a non-negligible amount of time) or it's because of the change in thresholds (resulting in smaller blocks being written to the card)? Need to restart the experiment to find out.

To interpret the statistical tests, check Frank7D's posts and the t_test_2 function description.

festr

  • New to the forum
  • *
  • Posts: 31
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #630 on: May 03, 2017, 11:32:46 AM »
I cannot find information about missing mlv sound recording missing in the experimental branch - why I cannot record sound ?

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 8609
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #631 on: May 03, 2017, 11:44:59 AM »
Experimental page -> Notes:
Quote
mlv_lite only for now

Features page -> Modules -> mlv_lite.mo -> (link) ->
Quote
There are some caveats to what you get compared to the full mlv_rec:
[...]
2. No audio

g3gg0

  • Developer
  • Hero Member
  • *****
  • Posts: 3184
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #632 on: May 03, 2017, 11:54:14 AM »
to make mlv_snd work with mlv_lite, the buffering structure must be changed to allow other modules to queue blocks.
that are only a few callbacks, but this might have a negative feedback on write speed.

currently mlv_lite is meant to be a rewrite from scratch to get the maximum write speed.
when all experimental stuff settles, maybe this will be added.

for now just let things settle.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: paypal@g3gg0.de
ONLY donate for things we have done, not for things you expect!

pc_bel

  • Member
  • ***
  • Posts: 132
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #633 on: May 03, 2017, 12:16:38 PM »
@A1ex
Thank you very much for the explanation and for the tests!!!!!!!!!

I will continue testing.

Savely

  • Freshman
  • **
  • Posts: 52
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #634 on: May 03, 2017, 03:13:24 PM »
dear devs, is it possible to make at least preview pictures of footages? I know now you try to make h264 proxy possible, but may it be more wise to make preview pictures option and then h264 proxy?

And please, is it possible to tag processed files in RawFlow not just frame001, frame002 etc. (nightmare for postproduction) but rather MLVfileName_001, MLVfileName_002 etc?

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7659
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #635 on: May 03, 2017, 03:24:49 PM »
Previews are there depending on your NLE. I see thumbnails on mac just fine.
You can create any name you want in mlv_dump.
Try this for instance:
Code: [Select]
mlv_dump --dng -o MLVfileName_0000_C0000_ INPUT.MLV

extremelypoorfilmaker

  • Senior
  • ****
  • Posts: 255
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #636 on: May 03, 2017, 06:24:28 PM »
just following :)

jankrueck

  • New to the forum
  • *
  • Posts: 33
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #637 on: May 03, 2017, 07:55:12 PM »
just following :)

still waiting for the day Alex will explode because of people asking dump questions, same questions again and again or both compared into 1...

 ;D :) ;)

ps: not yours.

hjfilmspeed

  • Senior
  • ****
  • Posts: 479
  • 5D III and IV
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #638 on: May 04, 2017, 05:30:51 AM »
I LOVE mlv lite sooooo much! It's perfect. Sound does not matter to me. Just use a slate and a zoom and you'll be found. Much more like film!

Savely

  • Freshman
  • **
  • Posts: 52
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #639 on: May 04, 2017, 05:50:41 AM »
Previews are there depending on your NLE. I see thumbnails on mac just fine.
You can create any name you want in mlv_dump.
Try this for instance:
Code: [Select]
mlv_dump --dng -o MLVfileName_0000_C0000_ INPUT.MLV

on previews: but what if I have Windows(8)?

on file names: It's in mlv_dump.exe? How should I tape this code if it's window dissapeared almost instantly?

Quentin

  • Member
  • ***
  • Posts: 150
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #640 on: May 04, 2017, 06:15:29 AM »
@Savely

In the directory where MLV_Dump.exe lies, make a .bat file and put this in it:

@echo off
for %%a in ( %* ) do ( md "%%~na" 2>nul )&( "mlv_dump.exe" -o %%~na\%%~na_ --dng %%~na.MLV )


Drag and Drop the MLV files onto the .bat file.
It will generate Folders with the frames

bouncyball

  • Contributor
  • Hero Member
  • *****
  • Posts: 850
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #641 on: May 04, 2017, 08:09:22 AM »

Savely

  • Freshman
  • **
  • Posts: 52
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #642 on: May 04, 2017, 03:08:55 PM »
@Savely

In the directory where MLV_Dump.exe lies, make a .bat file and put this in it:

@echo off
for %%a in ( %* ) do ( md "%%~na" 2>nul )&( "mlv_dump.exe" -o %%~na\%%~na_ --dng %%~na.MLV )


Drag and Drop the MLV files onto the .bat file.
It will generate Folders with the frames

Thanks man, it works! But you'll have to put mlv file directly into the folder where this .bat file is.


Quentin

  • Member
  • ***
  • Posts: 150
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #643 on: May 04, 2017, 05:25:53 PM »
Its a harmless compromise

jimiz

  • Freshman
  • **
  • Posts: 64
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #644 on: May 04, 2017, 05:36:12 PM »
a good basic interface, resolve all the problems,and speed all the multi clips to convert
5D3-123

lostfeliz

  • Freshman
  • **
  • Posts: 54
  • 5diii. 60d.
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #645 on: May 04, 2017, 08:51:36 PM »
This test was moderately helpful. I wanted to see how the 3k and HD compared with a high ISO -- 1600 (high for a 5Diii, at least). Three different lenses all shot at f2.8 at 1600 ISO. The field of view for ML cropped 3k is about 1/2 of what it is for full frame HD. So for the HD version of the shot, the camera was moved from 48" away to 24" away. I down-rezzed the 3k to HD.

I didn't have the patience to get the scale exact. I kept image pretty neutral. I used ETTR for exposure. I think it helped lessen the shadow noise (I tend to underexpose ML RAW, not in a good way). Anyway, the noise isn't too awful especially since you'd most likely crush the blacks some if you were using this shot. I was expecting more noise at 1600 ISO.

https://youtu.be/qWsWEl7fb4A

hindra

  • New to the forum
  • *
  • Posts: 41
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #646 on: May 05, 2017, 01:50:53 AM »
Hey guys, just curious. I shot some footage, about 4 takes of a local artist and its about 114gb. 3k 12bit lossless 3.5k centered mode and it all went very well. It flashed between orange and green but I also had the global draw on. Camera temp hit orange a few times but it all worked great and it is super sharp!!

My question has to do with MLV_dump.exe, I left it overnight to process the DNGs but I think it got stuck because it never got past the first set of mlv files. I had selected all the time, 32 in total. I am re-attempting to do them one clip at a time now, but I'm curious if there is limit on GB size or amount of files I can run at once.

Is this normal? Does it need to process the images more than once? Thanks for all your help guys!

Quote
MLV Dumper v1.0
-----------------

Mode of operation:
   - Input MLV file: 'M02-2034.MLV'
   - Enforcing 14bpp for DNG output
   - Convert to DNG frames
   - Output into 'M02-2034\M02-2034_'
File M02-2034.MLV opened
File M02-2034.M00 opened
File M02-2034.M01 opened
File M02-2034.M02 opened
File M02-2034.M03 opened
File M02-2034.M04 opened
File M02-2034.M05 opened
File M02-2034.M06 not existing.
Processing...


Vertical stripes correction:
  1.00000  1.00781  1.00792  1.00864  1.00664  1.00841  1.00572  1.00777
Cold pixels : 36
Reached end of chunk 1/7 after 1235 blocks
Reached end of chunk 2/7 after 1232 blocks
Reached end of chunk 3/7 after 1230 blocks
Reached end of chunk 4/7 after 1232 blocks
Reached end of chunk 5/7 after 1237 blocks
Reached end of chunk 6/7 after 1238 blocks
Reached end of chunk 7/7 after 436 blocks
Processed 7776 video frames
Done


 MLV Dumper v1.0
-----------------

Mode of operation:
   - Input MLV file: 'M02-2034.MLV'
   - Enforcing 14bpp for DNG output
   - Convert to DNG frames
   - Output into 'M02-2034\M02-2034_'
File M02-2034.MLV opened
File M02-2034.M00 opened
File M02-2034.M01 opened
File M02-2034.M02 opened
File M02-2034.M03 opened
File M02-2034.M04 opened
File M02-2034.M05 opened
File M02-2034.M06 not existing.
Processing...


Vertical stripes correction:
  1.00000  1.00781  1.00792  1.00864  1.00664  1.00841  1.00572  1.00777
Cold pixels : 36

EDIT: It seems to be on an endless cycle just repeating and wont move on to the next clip. Even if I only select the mlv files for one clip its just in an endless loop.
SL1 100D.100A - 5D - 7D2 - 5D3 1.2.3

pocketrubbish

  • New to the forum
  • *
  • Posts: 13
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #647 on: May 05, 2017, 05:39:01 AM »
Hmm, I've been using mlv-dump (and the dumper batch) a bunch lately and haven't had any issues. Do you have the latest version of mlv_dump.exe? And are you sure you have enough hard disk space?

hindra

  • New to the forum
  • *
  • Posts: 41
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #648 on: May 05, 2017, 06:01:01 AM »
Hmm, I've been using mlv-dump (and the dumper batch) a bunch lately and haven't had any issues. Do you have the latest version of mlv_dump.exe? And are you sure you have enough hard disk space?

Yeah I am using the latest dump, and I have plenty of HD space. All the files get extracted, I can stop mlv-dump and my files are there for 1 clip. Ive been using it fine for the past week or so this just occurred the past few days. I havent changed anything so I'm not sure whats going on.
SL1 100D.100A - 5D - 7D2 - 5D3 1.2.3

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView
« Reply #649 on: May 06, 2017, 08:25:44 AM »
Is the regression caused the overhead of printf (possibly delaying the decision by a non-negligible amount of time) or it's because of the change in thresholds (resulting in smaller blocks being written to the card)?

Results of over 30 hours of benchmarking (Apr29 codebase with minor changes - included in the raw log - to check the effect of these changes on performance). During this time, the camera was under the control of this script, unattended.

Code: [Select]
mlv_lite version : ML/MODULES/RAWBENCH/ASSUMEFS.MO:  865 frames (772 ... 925)
mlv_lite version : ML/MODULES/RAWBENCH/APR29.MO:     866 frames (789 ... 900)
mlv_lite version : ML/MODULES/RAWBENCH/NOPRINTF.MO:  874 frames (795 ... 902)
mlv_lite version : ML/MODULES/RAWBENCH/ASSUME70.MO:  885 frames (840 ... 956)
mlv_lite version : ML/MODULES/RAWBENCH/ASSUME80.MO:  938 frames (866 ... 984)
mlv_lite version : ML/MODULES/RAWBENCH/ASSUME90.MO:  946 frames (846 ... 986)

The effect of printf is not significant (could not prove the version without printf is any faster):
Code: [Select]
Quartile stats: median (Q1 ... Q3)
mlv_lite version : ML/MODULES/RAWBENCH/APR29.MO:  866 frames (789 ... 900)
mlv_lite version : ML/MODULES/RAWBENCH/NOPRINTF.MO:  874 frames (795 ... 902)

P =

           1     0.63117
     0.63117           1

T =

           0    -0.48056
     0.48056           0

But, the assumed write speed (when deciding to limit the number of frames saved in a single file write call, to avoid running out of space during the call) appears to have a sweet spot between 80 and 90%:

Code: [Select]
Quartile stats: median (Q1 ... Q3)
mlv_lite version : ML/MODULES/RAWBENCH/ASSUMEFS.MO:  865 frames (772 ... 925)      ; ASSUME100
mlv_lite version : ML/MODULES/RAWBENCH/NOPRINTF.MO:  874 frames (795 ... 902)      ; ASSUME50
mlv_lite version : ML/MODULES/RAWBENCH/ASSUME70.MO:  885 frames (840 ... 956)
mlv_lite version : ML/MODULES/RAWBENCH/ASSUME80.MO:  938 frames (866 ... 984)
mlv_lite version : ML/MODULES/RAWBENCH/ASSUME90.MO:  946 frames (846 ... 986)

P =

 Columns 1 through 4:

           1      0.4984  6.2291e-07  7.7958e-10
      0.4984           1   6.194e-05  7.2981e-07
  6.2291e-07   6.194e-05           1     0.06076
  7.7958e-10  7.2981e-07     0.06076           1
  1.7948e-08  4.1919e-06     0.11062     0.86482

 Column 5:

  1.7948e-08
  4.1919e-06
     0.11062
     0.86482
           1

T =

           0    -0.67773     -5.0558     -6.2829     -5.7438
     0.67773           0     -4.0546     -5.0451     -4.6852
      5.0558      4.0546           0     -1.8798     -1.5988
      6.2829      5.0451      1.8798           0     0.17034
      5.7438      4.6852      1.5988    -0.17034           0

So, while the first place (which assumes 90% of the measured speed for the last file write calls) is clearly better (squeezes more frames) compared to last two places (which assume either 100% or 50% of the measured speed for the same calls), we cannot tell the same about the first two winners - they are tied (could not prove one is faster than the other). Same for the last two places. The sweet spot is probably somewhere near 85% (not tested, just guessed).



However, the best thing to do for speed is to write blocks as large as we can (in other words, as few file write calls as we can), and free the buffers as soon as we know they have been written. Here's an experiment on this:
Code: [Select]
Quartile stats: median (Q1 ... Q3)
mlv_lite version : ML/MODULES/RAWBENCH/ASSUME80.MO:  938 frames (866 ... 984)
mlv_lite version : ML/MODULES/RAWBENCH/ASSUME90.MO:  946 frames (846 ... 986)
mlv_lite version : ML/MODULES/RAWBENCH/SPECFREE.MO: 1015 frames (921 ... 1090)

P =

           1     0.86482  3.7192e-14
     0.86482           1  2.8011e-13
  3.7303e-14  2.8022e-13           1

T =

           0     0.17034     -7.8429
    -0.17034           0     -7.5833
      7.8429      7.5833           0

With large blocks, and reusing image buffers *during* a file write call, performance is clearly better (possibly also helping with overall speed, as the large buffers are freed and can be reused quicker).

(this experiment is a litte risky in my opinion, as I have not tested it for data integrity, other than self-checks built in mlv_lite, so I'm not comfortable including it in the builds, but you can build it from source - diffs available in the raw log)

Number of frames recorded by each build:
Code: [Select]
mlv_lite version : ML/MODULES/RAWBENCH/ASSUME70.MO
 832,1060,989,959,869,953,898,895
 741,837,839,827,921,767,905,985
 732,703,836,944,954,949,830,800
 739,864,926,961,956,949,866,866
 840,983,870,747,856,848,972,896
 762,870,987,853,978,953,876,852
 647,880,876,917,984,895,1002,886
 555,871,966,919,882,1028,976,791
 651,939,852,868,1063,863,872,925
 737,977,989,974,958,973,855,846
 756,871,974,978,969,994,953,791
 849,860,1023,974,997,979,993,943
 765,758,964,1004,1013,942,986,824
 823,835,864,955,969,832,847,877
 744,997,844,839,1039,951,941,880
 773,884,904,985,974,619,833,778
 850,1018,947,857,942,868,1011,901
 637,990,723,930,757,837,806,872
 756,952,977,856,965,950,956,883
 647,870,828,946,938,868,832,879
 750,904,944,942,863,976,872,843
 626,760,986,975,937,755,838,986
 540,851,764,874,1036,1048,1052,836
 655,856,878,747,928,763,843,905
 626,829,953,912,966,822,997,952
 804,893,884,840,902,939,933,937
 754,943,905,988,874,962,897,952
 885,966,885,971,950,984,872,874
 843,955,848,887,871,953,861,950

mlv_lite version : ML/MODULES/RAWBENCH/ASSUME90.MO
 665,1025,986,985,1000,882,993,698
 683,992,993,918,946,1026,906,781
 463,854,720,907,982,1040,1052,834
 828,777,806,956,1001,967,879,800
 555,851,876,859,807,986,881,944
 589,986,997,979,962,1003,918,856
 762,961,945,888,916,966,998,866
 689,906,970,975,826,975,684,972
 474,898,982,1008,982,982,990,978
 582,889,963,1010,1007,1044,994,765
 782,904,978,964,1002,965,841,928
 710,966,1018,802,989,903,981,952
 882,992,974,918,1013,961,1018,1039
 762,922,963,1009,1024,961,971,970
 765,903,922,948,1011,975,903,874
 679,917,904,992,965,916,962,985
 876,902,805,865,874,761,727,966
 745,981,1061,890,737,1002,1095,783
 831,875,837,992,711,940,1031,975
 581,651,976,901,1055,1005,922,901
 659,946,978,971,997,914,816,954
 773,989,968,979,987,798,1010,964
 858,841,685,793,993,812,987,980
 654,997,983,891,1036,918,997,899

mlv_lite version : ML/MODULES/RAWBENCH/NOPRINTF.MO
 572,818,859,843,691,827,898,805
 880,920,893,799,896,794,826,981
 781,973,995,916,877,777,874,893
 776,891,907,896,799,914,894,697
 768,796,918,890,902,715,810,792
 680,824,899,901,916,860,896,718
 466,641,900,848,907,836,870,959
 678,576,891,917,698,889,921,813
 862,850,797,943,871,892,969,882
 801,879,898,898,779,905,936,768
 581,930,916,1008,892,872,895,908
 440,720,919,896,890,906,831,1016
 571,797,883,861,985,875,845,793
 686,784,906,891,877,974,869,742
 772,874,857,916,968,775,801,786

mlv_lite version : ML/MODULES/RAWBENCH/ASSUMEFS.MO
 690,1040,864,754,879,861,935,972
 523,728,833,969,935,944,971,1054
 404,819,957,836,778,845,881,514
 796,886,779,776,917,957,892,760
 361,763,1003,597,929,743,907,983
 758,868,875,859,971,979,999,934
 848,803,794,777,883,861,669,681
 612,746,879,904,774,942,972,950
 572,789,555,769,862,786,918,823
 534,792,847,859,865,910,980,738
 838,935,980,915,850,879,670,785
 561,863,954,780,809,875,940,907
 795,964,1003,891,955,870,636,813
 460,733,980,974,1037,1072,874,801
 873,908,937,838,855,801,909,891
 753,834,877,881,948,910,935,1050
 856,874,941,764,873,920,585,884
 666,638,709,947,857,947,884,906
 576,967,818,985,660,798,774,1001
 711,889,799,900,869,837,810,836
 667,790,886,871,798,872,837,886
 602,887,922,721,929,706,949,936
 358,882,724,824,882,689,876,700
 438,693,928,789,860,888,869,867
 606,826,748,782,870,908,877,858
 551,523,933,760,930,711,911,965
 674,847,732,957,958,765,888,957
 665,731,881,1012,986,933,914,995

mlv_lite version : ML/MODULES/RAWBENCH/APR29.MO
 532,631,813,903,892,905,876,1030
 768,715,803,718,949,826,893,892
 807,977,930,799,889,821,887,775
 410,803,852,984,603,777,900,883
 653,802,984,707,774,889,858,815
 703,899,707,866,793,825,841,987
 696,987,926,883,966,896,869,945
 766,900,887,789,867,788,890,897
 801,860,969,972,839,840,909,890
 682,906,793,897,894,915,911,911
 509,756,807,811,945,1003,984,780
 678,808,716,809,806,827,925,932
 501,770,852,905,951,878,632,887
 737,899,870,981,959,939,888,798
 662,886,919,760,782,684,808,947
 664,884,719,685,882,804,822,884
 861,824,795,693,991,868,814,888
 686,886,895,880,870,712,914,861
 662,888,804,828,910,966,947,817
 667,820,961,784,904,842,900,884
 561,795,873,784,949,739,756,768
 557,896,880,804,903,921,802,911
 695,865,905,863,885,911,865,885
 670,972,868,908,850,877,868,881

mlv_lite version : ML/MODULES/RAWBENCH/ASSUME80.MO
 490,483,716,909,1020,996,991,814
 663,982,999,925,983,1004,974,898
 890,923,822,1015,879,987,857,882
 911,984,960,971,952,964,974,674
 847,932,978,911,1003,985,980,998
 783,986,984,925,981,955,995,871
 872,970,871,970,788,913,1027,1086
 678,872,873,843,980,980,995,894
 766,919,971,758,806,813,1002,933
 657,891,969,974,939,968,1023,963
 650,996,989,995,975,984,982,899
 780,703,997,1014,936,937,881,834
 760,955,966,772,989,980,866,990
 926,939,972,1013,981,960,1010,767
 676,1014,925,987,1007,897,908,763
 667,1027,801,890,985,767,1001,797
 758,912,866,1015,876,976,891,770
 466,910,772,941,981,755,979,742
 889,973,941,1014,969,968,667,756
 640,908,958,994,972,977,882,888
 793,889,986,986,1004,1000,983,1069
 752,991,1029,868,884,987,906,784
 630,881,879,982,955,926,836,841
 517,772,922,1023,1034,852,898,985
 856,943,835,885,805,992,971,1006
 684,952,975,1015,863,987,996,892
 561,975,890,978,985,1019,904,975
 559,954,909,922,902,1124,982,929
 783,1019,935,1035,971,996,884,962

mlv_lite version : ML/MODULES/RAWBENCH/SPECFREE.MO
 973,1083,1029,908,1121,1011,1110,718
 794,1132,1023,853,908,1098,1114,1004
 791,1066,899,920,958,1086,1197,811
 857,1135,1034,1097,996,937,1006,921
 819,1066,970,995,1063,1021,1113,1078
 641,1095,1076,992,996,1078,1015,892
 932,1111,1003,1109,1072,974,1007,1084
 796,1009,1098,1114,1121,1000,717,881
 910,928,1012,917,1055,1085,1073,820
 617,970,1141,996,1031,1102,1022,1012
 790,1010,1072,1017,1023,1043,1034,922
 910,1140,920,1106,1116,1126,989,919
 791,772,1016,1024,1110,1123,1096,832
 802,1013,961,1097,1120,1057,1103,971
 754,984,1081,1078,1176,907,908,602
 848,1100,1115,1089,1111,1102,908,935
 1016,1106,1017,1013,1104,1045,1007,982
 713,1057,987,997,1037,954,1095,925
 992,1101,1084,1076,1068,1024,1095,920
 790,911,1128,1121,1096,1020,1010,600
 808,938,1096,978,1042,919,1099,910
 837,982,1100,1077,1080,1015,1039,917
 769,1006,1083,1091,1102,1090,915,981

Raw log (includes diffs)