Magic Lantern Forum

Using Magic Lantern => General Help Q&A => Topic started by: Sijimo on October 24, 2013, 01:32:52 PM

Title: h264.ini - how it really works?
Post by: Sijimo on October 24, 2013, 01:32:52 PM
I recall when i had 5D2 it was super easy to change bitrate settings inside ML menu, right now i can't figure out how to do it on 5D3.
After some research i have downloaded some ini's, tried to put them in ML folder on my CF but still can't figure out how it works.
I have 1000x computerbay 128gb for RAW video and now i also want to record H264 MOV at 2x or 3x bitrate.

Is it possible somehow with the current nightly build?
Title: Re: h264.ini - how it really works?
Post by: eyeland on December 11, 2013, 10:17:24 PM
Bump
Title: Re: h264.ini - how it really works?
Post by: Audionut on February 04, 2014, 07:11:18 PM
So I figured out some stuff about H.264 INI. bitrate.c 5d3/6D will have to be different. Had a start from what was discussed in the I/P thread.

The file:
Code: [Select]

Transform8x8Flag = 2
Profile = 100
Level = 51
BitRate = 110000000
EntropyCodingMode = 1
IntraPicInitQP = 5
InterPicInitQP = 5
QpOffsetForB = 0
MinQpI = 1
MinQpP = 1
MinQpB = 1
MaxQpI = 13
MaxQpP = 13
MaxQpB = 13
MinBitrate = 60000000
MaxBitrate = 110000000
SarWidth = 0
SarHeight = 0
AspectRatioIdc = 1
VideoFmtAndVspFlag = 81
VideoFullRangeFlag = 1
TimingInfoPresentFlag = 0
RateControlEnable = 1
ScalingMatrices = 0
pScalingMatrixAddr[0] = 0
pScalingMatrixAddr[1] = 0
pScalingMatrixAddr[2] = 0
pScalingMatrixAddr[3] = 0
pScalingMatrixAddr[4] = 0
pScalingMatrixAddr[5] = 0


Transform8x8Flag = 2 Transform flag. Already set to enabled.
Profile = 100 Cannot be changed. Camera has no other profiles loaded.
Level = 51 Can change this lower. 50 is all I've tried so far. But why?
BitRate = 110000000 Target bit rate for CBR/Rate Control. Adhered to for CBR more. Loosly in RC. Max is ~200-300
EntropyCodingMode = 1 1 is CABAC 0 is CAVLC
IntraPicInitQP = 5 Initial QP for inter and intra frames. Limit of 7 for "rate control" mode.
InterPicInitQP = 5 But a limit of 1 for CBR/VBR... haven't tried 0. MUCH better than any digic IV.
QpOffsetForB = 0 Have not tried but probably QP offset for B frames. I guess can be lower or higher than I.
MinQpI = 1 Min QPs for all modes. Can be 7 in RC, can be at least 1 in the other modes. Not strictly adhered
MinQpP = 1 to for VBR and CBR it seems. There can only be 13 QPs in any mode. 7-20 or 1-13 are a start.
MinQpB = 1
MaxQpI = 13  Max QP for modes that switch QP like VBR and RC. RC will only do 6-20 I believe. VBR will do
MaxQpP = 13 1-13 which seems best.
MaxQpB = 13
MinBitrate = 60000000 Min and Max for the VBR function. Don't do anything in other modes but I think max
MaxBitrate = 110000000 has to match target bit rate or you will get a crash.

RateControlEnable = 1

0= CBR - Stays at initQP and tries to get to the target bit rate. Should change QPs but really doesn't in any consistent way. Can use all QPs. 0 should be tried. Drops video when buffer or complexity is too high. Will record with audio and won't stop until sync is lost, which is real reason why audio stops w/ high bit rate, not buffer.

1 = VBR - Uses Min/Max and I think target. Also seems to switch QPs to keep rate in check. Initial QP can't be 1 I think or it won't switch. I set 5 and it hovered around 2, using 1-13 range. If you have settings too high, camera may freeze. I like this mode the best so far.

2 = Standard buffer saving function like tragic lantern but slightly faster and more stoppy. This is what you get by default but we have no good access to the MVR config. I think its on another proc. Will keep BR pretty low and can only use QPs 7-20. I should try with 1-13 again. It kicks in at the 1st buffer square now but still has a tendency to stop. Should have emphasized buffer and not frame size/prediction, tsk tsk.

ScalingMatrices = 0 Need to test this as I think it means you can put custom scaling matrixes to the encoder. The other fields are for address so I guess you load them into memory and then it uses them. Finding how this works would give a big boost to quality according to what I've read.


Other stuff:

Loading the INI can produce a lot of Err70s. Some of these should be patched I think. Some are from settings being incorrect. Sometimes it does it just because it feels like it. A good idea is to wait till the config finishes loading and the text is off the screen.

Another option will be to set the params 1 at a time from memory and not a file. This would make things a bunch easier. The only other solution is to auto-load configs or edit the files with ML and then make the camera reload them.
Having to load the config every start and hope it doesn't error 70 is a pain.

On 6D params are uploaded:
NSTUB(0xFF1F130C, str:ChangeIVAParam_ls_can_open._Transform8x8Flag_P)

Maybe there are others hidden somewhere or we can gain control of the video encoder. The future looks promising. The present is at least 100MBps with LOW qps and audio working.

RateControl will use 1-13, the crash happens if you let it use more than 13 qps.

Code: [Select]

average DRF                 7.200181
standard deviation          5.679766
max DRF                     13
                           
DRF=1                       219 ( 19.837 %) ####
DRF=2                       337 ( 30.525 %) ######
DRF=3                         0 (  0.000 %)
DRF=4                         1 (  0.091 %)
DRF=5                         2 (  0.181 %)
DRF=6                         2 (  0.181 %)
DRF=7                         2 (  0.181 %)
DRF=8                         1 (  0.091 %)
DRF=9                         1 (  0.091 %)
DRF=10                        1 (  0.091 %)
DRF=11                        2 (  0.181 %)
DRF=12                        1 (  0.091 %)
DRF=13                      535 ( 48.460 %) ##########
DRF>13                        0 (  0.000 %)
                           
I-slices average DRF        7.200181
I-slices std. deviation     5.679766
I-slices max DRF            13
Title: Re: h264.ini - how it really works?
Post by: tjaja on March 04, 2014, 11:27:46 PM
Code: [Select]
Transform8x8Flag = 2
Profile = 100
Level = 51
BitRate = 440000000
EntropyCodingMode = 1
IntraPicInitQP = -1
InterPicInitQP = -1
QpOffsetForB = 0
MinQpI = 1
MinQpP = 1
MinQpB = 1
MaxQpI = 7
MaxQpP = 7
MaxQpB = 7
MinBitrate = 90000000
MaxBitrate = 440000000
SarWidth = 0
SarHeight = 0
AspectRatioIdc = 1
VideoFmtAndVspFlag = 81
VideoFullRangeFlag = 1
TimingInfoPresentFlag = 0
RateControlEnable = 2
ScalingMatrices = 0
pScalingMatrixAddr[0] = 0
pScalingMatrixAddr[1] = 0
pScalingMatrixAddr[2] = 0
pScalingMatrixAddr[3] = 0
pScalingMatrixAddr[4] = 0
pScalingMatrixAddr[5] = 0

Gave me
(https://www.magiclantern.fm/forum/proxy.php?request=http%3A%2F%2Fwww.alisultan.nl%2Fmagicbug%2FCaptureit.JPG&hash=d68b5ce7c9e32c6080b5d816fdd9bb76)

It plays choppy on the pc. Maybe because the datarate is too high, then I'm not complaining.
Title: Re: h264.ini - how it really works?
Post by: 1% on March 05, 2014, 12:14:30 AM
its not too bad.. know that you can set it so high that the encoder can't keep up and drops or mangles frames. I could barely play back some 400Mb/s clips and above some point it causes aberrations... like near the area you're at. Probably 150-160 was where it was semi-balanced

Also, ALL-I is nice compared to 24Mb/s IBP but not so nice compared to 100Mb/s IBP. There is a ratio to this, something like 2:1. So you need 100Mb/s all I to be like 50Mb/s IBP... its on H264 sites.
Title: Re: h264.ini - how it really works?
Post by: Audionut on March 05, 2014, 04:09:19 AM
Code: [Select]
Transform8x8Flag = 2
Profile = 100
Level = 51
BitRate = 840000000
EntropyCodingMode = 1
IntraPicInitQP = -1
InterPicInitQP = -1
QpOffsetForB = 0
MinQpI = 1
MinQpP = 1
MinQpB = 1
MaxQpI = 13
MaxQpP = 13
MaxQpB = 13
MinBitrate = 200000000
MaxBitrate = 840000000
SarWidth = 0
SarHeight = 0
AspectRatioIdc = 1
VideoFmtAndVspFlag = 81
VideoFullRangeFlag = 1
TimingInfoPresentFlag = 0
RateControlEnable = 2
ScalingMatrices = 0
pScalingMatrixAddr[0] = 0
pScalingMatrixAddr[1] = 0
pScalingMatrixAddr[2] = 0
pScalingMatrixAddr[3] = 0
pScalingMatrixAddr[4] = 0
pScalingMatrixAddr[5] = 0

Code: [Select]
Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L5.1
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 2 frames
Format settings, GOP                     : M=3, N=12
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 22s 523ms
Bit rate                                 : 135 Mbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 2.720
Stream size                              : 363 MiB (98%)
Language                                 : English
Encoded date                             : UTC 2014-03-05 12:40:23
Tagged date                              : UTC 2014-03-05 12:40:23
Color primaries                          : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics                 : BT.709-5, BT.1361
Matrix coefficients                      : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177


Setting the bitrate/maxbitrate above 100000000 causes crashes or other problems.
MaxQp controls the bitrate in RC 2.  I tried setting this to 10, it worked (175 Mbps), but the buffer was filling up.  When the buffer fills, you also gets crashes or other problems.

The same config with RC 1 only delivers around 60 Mbps.  Adjusting MaxQp didn't seem to make any difference.  This also crashes with bitrate/maxbitrate above 100000000.  Can't seem to get the bitrate any higher in RC 1 mode.

Didn't bother to check All I mode.

Lexar 1000x 16GB
Title: Re: h264.ini - how it really works?
Post by: kgv5 on March 05, 2014, 09:47:01 AM
Did you guys see any improvement in image quality?
Title: Re: h264.ini - how it really works?
Post by: tjaja on March 05, 2014, 01:23:40 PM
Until now I haven't.
Title: Re: h264.ini - how it really works?
Post by: tjaja on March 05, 2014, 05:20:50 PM
Original IPB produces:

www.alisultan.nl/magicbug/original.png (http://www.alisultan.nl/magicbug/original.png)

New IPB with this code

Code: [Select]
Transform8x8Flag = 2
Profile = 100
Level = 51
BitRate = 700000000
EntropyCodingMode = 1
IntraPicInitQP = -1
InterPicInitQP = -1
QpOffsetForB = 0
MinQpI = 1
MinQpP = 1
MinQpB = 1
MaxQpI = 7
MaxQpP = 7
MaxQpB = 7
MinBitrate = 450000000
MaxBitrate = 700000000
SarWidth = 0
SarHeight = 0
AspectRatioIdc = 1
VideoFmtAndVspFlag = 81
VideoFullRangeFlag = 1
TimingInfoPresentFlag = 0
RateControlEnable = 2
ScalingMatrices = 0
pScalingMatrixAddr[0] = 0
pScalingMatrixAddr[1] = 0
pScalingMatrixAddr[2] = 0
pScalingMatrixAddr[3] = 0
pScalingMatrixAddr[4] = 0
pScalingMatrixAddr[5] = 0

produces

www.alisultan.nl/magicbug/newbitrate.png (http://www.alisultan.nl/magicbug/newbitrate.png)

The stream of the original:

Code: [Select]
Video
ID                                       : 1
Formaat                                  : AVC
Formaat/Info                             : Advanced Video Codec
Formaatprofiel                           : High@L4.1
Formaatinstellingen, CABAC               : Nee
Formaatinstellingen, ReFrames            : 2 frames
Format_Settings_GOP                      : M=3, N=15
Codec-ID                                 : avc1
Codec-ID/Info                            : Advanced Video Coding
Duur                                     : 10s 210ms
Bitrate                                  : 30,7 Mbps
Breedte                                  : 1 920 pixels
Hoogte                                   : 1 080 pixels
Beeldverhouding                          : 16:9
Frameratemodus                           : Constant
Framerate                                : 29,970 fps
ColorSpace                               : YUV
ChromaSubsampling                        : 4:2:0
BitDepth/String                          : 8 bits
Scansoort                                : Progressief
Bits/(Pixel*Frame)                       : 0.494
Stroomgrootte                            : 37,4 MiB (100%)
Taal                                     : Engels
Datum codering                           : UTC 2014-03-05 16:56:55
Tagdatum                                 : UTC 2014-03-05 16:56:55
colour_primaries                         : BT.709
transfer_characteristics                 : BT.709
matrix_coefficients                      : BT.709

The new bitrate
Code: [Select]
Video
ID                                       : 1
Formaat                                  : AVC
Formaat/Info                             : Advanced Video Codec
Formaatprofiel                           : High@L5.1
Formaatinstellingen, CABAC               : Ja
Formaatinstellingen, ReFrames            : 2 frames
Format_Settings_GOP                      : M=3, N=15
Codec-ID                                 : avc1
Codec-ID/Info                            : Advanced Video Coding
Duur                                     : 10s 310ms
Bitrate                                  : 134 Mbps
Breedte                                  : 1 920 pixels
Hoogte                                   : 1 080 pixels
Beeldverhouding                          : 16:9
Frameratemodus                           : Constant
Framerate                                : 29,970 fps
ColorSpace                               : YUV
ChromaSubsampling                        : 4:2:0
BitDepth/String                          : 8 bits
Scansoort                                : Progressief
Bits/(Pixel*Frame)                       : 2.159
Stroomgrootte                            : 165 MiB (100%)
Taal                                     : Engels
Datum codering                           : UTC 2014-03-05 16:57:28
Tagdatum                                 : UTC 2014-03-05 16:57:28
colour_primaries                         : BT.709
transfer_characteristics                 : BT.709
matrix_coefficients                      : BT.709

EDIT
High detail scenes crashes immediately. Trying to find a balanced setting.
Title: Re: h264.ini - how it really works?
Post by: Luiz Roberto dos Santos on March 05, 2014, 06:49:17 PM
Level 5.2 is not supported? And, it's config. is ALL-I [GOP 1]? Maybe this instability is because you set very high maxbitrate... try to config. less, and analyse it with appropriate tools (push to the limit curves, for example, this will show how different macroblocks stay).
Title: Re: h264.ini - how it really works?
Post by: 1% on March 05, 2014, 07:00:43 PM
Yea, tried 5.2 before and no dice :(

It will crash/hang/stop on a complex scene mainly in VBR/CBR modes, the rate control usually pulls through. Also watch for complex scenes causing bottom frame garble if you set the QP too high and it starts throwing away data.

I think VBR is the hardest encoding mode to get working across scenes. Plus interesting to compare profile 4.x and 5.1.
Title: Re: h264.ini - how it really works?
Post by: tjaja on March 05, 2014, 07:45:40 PM
Any recommendation for ini settings to try out? I don't have a 6D but a 5DIII.
Title: Re: h264.ini - how it really works?
Post by: ricordu on March 13, 2014, 09:25:26 AM
Same question here !
Would be great to get explanation on how to have those option available again...

ricordu


Threads merged //Audionut
Title: Re: h264.ini - how it really works?
Post by: anDyIII on March 27, 2014, 12:29:19 AM
1%, could your rc/vbr/cbr.ini work on ML 1.2.3?
Are there any news about bitrate on 1.2.3?
Thanks
Title: Re: h264.ini - how it really works?
Post by: tjaja on March 27, 2014, 08:00:33 PM
Only way is to try it yourself.
Title: Re: h264.ini - how it really works?
Post by: Audionut on April 01, 2014, 05:08:26 AM
I've merged some relevant posts into this thread.



It plays choppy on the pc. Maybe because the datarate is too high, then I'm not complaining.

its not too bad.. know that you can set it so high that the encoder can't keep up and drops or mangles frames.

Looks to be if you set the MaxQp setting to low.

I've used MaxQp 7 on some footage with no fine detail, in others words, a fairly low bitrate.  But I still noticed some frame drops in the footage.

This is using RateControlEnable 2 (IPB).  And I'm not sure yet how the bitrate settings effect the results.  MaxQp 13 looks very safe.

IIRC, changing QpOffsetForB caused instant crash.



Did you guys see any improvement in image quality?

Until now I haven't.

Same here.  I think the higher bitrates may preserve edge detail a little better, buy I have bias.  I really need to do a proper comparison and create a poll.

On the old digic4 cameras, I did notice a difference.

Firmware Default
http://dl.dropbox.com/u/34113196/ML/Firmware%20Default.png

Q15
http://dl.dropbox.com/u/34113196/ML/Q15.png

1 has detail in the leaves.  The other has blurry green things with no detail.

Cropped 300% resize to exaggerate.

(https://www.magiclantern.fm/forum/proxy.php?request=http%3A%2F%2Fdl.dropbox.com%2Fu%2F34113196%2FML%2FFirmware-Defaultcrop.png&hash=e9d4c912cf5d92863c7ed691b670cfd3)
(https://www.magiclantern.fm/forum/proxy.php?request=http%3A%2F%2Fdl.dropbox.com%2Fu%2F34113196%2FML%2FQ15crop.png&hash=806461d60a0e15f6a6b6dbe62b662143)
Title: Re: h264.ini - how it really works?
Post by: far.in.out on April 01, 2014, 03:28:36 PM
How do I get to play with this on 50D?
Title: Re: h264.ini - how it really works?
Post by: tjaja on April 10, 2014, 03:24:06 PM
 1% or a1ex, could it be I semi bricked My camera and that i should register a default ini Again to repair it?

Situation: every time i record a video with h264 the buffer overruns: no matter what card.
It didnt happen before and If i scan through the forum I can conclude some functions can be registered and stays that way if you bypass certain checks.

If so: does anyone know the standard setting for 5d3 so i can load it?

If i bricked it, c'est la vie, i knew it was experimental.
Title: Re: h264.ini - how it really works?
Post by: a1ex on April 10, 2014, 04:04:40 PM
Does it help if you clear Canon settings, or if you start without a ML card?

I didn't play much with these ini files, but I thought all of them are temporary.

The default ini files can be found on bitbucket: https://bitbucket.org/hudson/magic-lantern/src/tip/platform/5D3.113

(the defaults were extracted from the 1.1.3 firmware; I didn't check if anything changed on 1.2.3)
Title: Re: h264.ini - how it really works?
Post by: tjaja on April 11, 2014, 06:40:53 PM
Sorry for the late response: Will update after the weekend when didi and I are together
Title: Re: h264.ini - how it really works?
Post by: pacus on April 18, 2014, 02:00:07 PM
hey ist there a good working h264.ini out there, that delivers a better image quality?

I understand the varibales but, maybe there is a testet one out there that works fine...

Thanks for your help.
Title: Re: h264.ini - how it really works?
Post by: tjaja on April 19, 2014, 08:25:30 PM
@ A1ex

Tried without magiclantern on the sd: problem gone. Can't recreate the issue.
Title: Re: h264.ini - how it really works?
Post by: MGerard on May 01, 2014, 02:32:48 AM
I found some usable settings for the h264.ini that give a small but noticeable differences in the clarity of the picture (on the 5D3), meaning less blocking.

Unfortunately, as reported before, there is a great chance for error 70, especially when pressing record again after the first recording. It seems to me that changing the image itself, altering the angle etc. gives a small chance that the error 70 will not happen. Maybe it has to do with some buffer not being cleared before the recording starts or something like that - reloading the .ini also gives a greater chance that the error will not happen, but that is pure speculation on one side as it happens or not... It would be cool if some devs may take a look at this problem.

If anyone wants to see the results I got, please PM me.

Thanks in advance!
Title: Re: h264.ini - how it really works?
Post by: dubzeebass on May 01, 2014, 03:01:21 AM
Why not just p post them
Title: Re: h264.ini - how it really works?
Post by: Audionut on May 01, 2014, 04:48:37 AM
I found that if I gave the camera some time before making changes, or after making changes (loading the ini for instance), it seemed to behave well here.

And yes, you should just post them :)
Title: Re: h264.ini - how it really works?
Post by: MGerard on May 01, 2014, 08:21:11 AM
In my case it is uncertain whether or not the camera stalls when using those settings.

You can download a ZIP file until the 8th of May here: http://we.tl/em1JsBqQYl (http://we.tl/em1JsBqQYl). It includes the .ini files, cropped framegrabs and one of the error logs. Please switch the 5D3 to IPB mode first.

What you can see in closeup detail is the lesser blocking which greatly improves the "noise appearance" of the overall "motion picture" and should add clarity (please also see the comparison of standard h.264 recording and Prores HQ via uncompressed HDMi out). If anybody could come up with a solution for the error 70 it would be heartily appreciated. Have a nice day!
Title: Re: h264.ini - how it really works?
Post by: Audionut on May 01, 2014, 08:59:16 AM
Explain steps to reproduce the problem, consistently.
I should be able to follow your step by step guide, and reproduce the problem.

For instance, "a small chance of crashing when changing the angle", is pretty poor bug reporting.

Thanks, and thanks for the zip.  Will take a look at it.
Title: Re: h264.ini - how it really works?
Post by: dubzeebass on May 01, 2014, 02:11:15 PM
Thanks for posting!
Title: Re: h264.ini - how it really works?
Post by: MGerard on May 01, 2014, 07:59:13 PM

Explain steps to reproduce the problem, consistently.
I should be able to follow your step by step guide, and reproduce the problem.

For instance, "a small chance of crashing when changing the angle", is pretty poor bug reporting.

Thanks, and thanks for the zip.  Will take a look at it.

Thank you for your answer, the steps when proceeding to film by using a higher bitrate via the utilization of H264.ini are the following:

- switch on camera
- load H264.ini once ML has bootet, wait for the on-screen info about this process to disappear
- start the recording
- stop the recording

Now it comes to the hefty part: When pressing record again, there is a high chance that the Err70 pops up, recording stops, mirror flips back and the camera needs a proper reset (pull out and re-insert battery). This happens sometimes but not all of the time, which is obviously annoying.

I am totally aware of the fact that my explanations are not sufficient for a proper "bug report", but then, again, the error seems to happen on a random basis (?), so we might need to approach the problem from a multiple perspectives.

Is it related to stressing the encoder or is it related to the implementation of the "load h264.ini" option within ML? [I have been filming an event last night for TV with higher bitrate and there are no obvious errors in the playback of the material, which I would interpret as the encoder being able to deal with the settings]

Might there be any part of Magic Lantern that is utilizing resources that inhibit the encoding and streaming once the bitrate is higher than standard?


On a different turf, the question might arise why we need a bitrate improvement for h.264 capture now that we have the incredible possibilities of raw recording:
As you may or may not have seen in the zip file I put online in the morning, a comparison between uncompressed 422 hdmi out and standard h.264 capture was included. What can be seen is that a) the uncompressed hdmi out contains the same color information (only spread over a 422 bandwidth) but b) without the macro-blocking of the onboard h.264 compression, which, from my point of view, increases the clarity and "perceived resolution" of the recorded material.
Onboard encoding at a higher h.264 bitrate will give a similar result (or at least a tendency towards it) which will be beneficial for 5D3 film recordings in situations where raw is not an option.
Title: Re: h264.ini - how it really works?
Post by: a1ex on May 01, 2014, 08:56:35 PM
The INI file parsing is done by Canon firmware (ML code only calls a function, with the ini filename as argument).

The error message from your zip looks like a parse error. Here's the relevant code sequence from 5D3 123 (the assert is triggered at line 1931 = 0x78b):

Code: [Select]
RAM:bzero32(-112 + sp0, 0x64)
RAM:bzero32(-212 + sp0, 0x64)
*(-216 + sp0) = 0
sscanf_maybe(EncDrvWrapper_struct.off_0x40 /*0x27828*/, '%s = %s', -112 + sp0, -212 + sp0)
strcmp(-112 + sp0, arg0) => ret_strcmp_FF1ED190
if ret_strcmp_FF1ED190 != 0 /*NE*/:
    RAM:DebugMsg(BYTE(*(EncDrvWrapper_struct.off_0x10 /*0x277F8*/)), 6, msg='iniFile Error')
    *(-224 + sp0) = arg0
    RAM:DebugMsg(BYTE(*(EncDrvWrapper_struct.off_0x10 /*0x277F8*/)), 6, msg='CharString = %s , pString = %s')
    RAM:assert_0(0xff1ed0dc: pointer to 0x30, './MovieRecorder/EncDrvWrapper.c', 0x78b)

To investigate this error, I recommend using this framework: https://bitbucket.org/hudson/magic-lantern/commits/branch/dm-spy-experiments

You need to catch the log messages right before triggering this error. Probably something like this in don't click me:
Code: [Select]
debug_intercept(); /* setup the logging code */
msleep(1000);
load_h264_ini();
msleep(1000);
movie_start();
msleep(1000);
debug_intercept();  /* save the log */
movie_end();

Patching the error message without understanding why it happens and what the consequences may be, is not the proper way to solve it.
Title: Re: h264.ini - how it really works?
Post by: troy_e on May 07, 2014, 01:58:45 PM
MGerard, what is the difference between the 50 and 70 files you have created? Are they just the Mbps?
Title: Re: h264.ini - how it really works?
Post by: MGerard on May 07, 2014, 05:16:05 PM

MGerard, what is the difference between the 50 and 70 files you have created? Are they just the Mbps?
No, the settings are completely different. If you want to, the zip file should still be available for download until tomorrow, so you can take a look at the inis. Else, just send me a pm and I will mail them to you.
Title: Re: h264.ini - how it really works?
Post by: eyeland on June 16, 2014, 03:46:59 PM
Anyone actually getting improvements with h264.ini now?
Title: Re: h264.ini - how it really works?
Post by: kyrobb on October 19, 2014, 11:23:14 PM
Is a build with h264.ini still available? For the 550D?
Title: Re: h264.ini - how it really works?
Post by: Rshred on October 20, 2014, 07:43:35 AM
There is this for the 600d...
http://www.magiclantern.fm/forum/index.php?topic=6913.0
Title: Re: h264.ini - how it really works?
Post by: DeafEyeJedi on October 23, 2014, 09:47:15 AM
Got the full-res silent module installed and seems to be working well for silent photos -- Thanks @Audionut for pointing me into the right direction regarding 1.2.3 build.

However, I'm not jinxed by the fact that the Load H264.ini is still saying 'ML/h264.ini not found' and first thing came to my mind was to combine the alpha build (which has all the documents and whatnot) but then I also realize that @a1ex also mentioned earlier that ''1.2.3 was not a nightly, not a bleeding edge type of thing but it has worked so far for me with everything else besides this Bitrate controller...''

Perhaps it's not yet implemented in 1.2.3 for a reason?

Thanks all!!
Title: Re: h264.ini - how it really works?
Post by: andresapori on December 10, 2014, 05:45:02 PM
Hi, I have a 5D m iii and I installed ML in my 32GB SD ScanDisk Extreme PRO 95mb/s. I am trying to load the h264.ini but it shows 'ML/h264.ini not found'  . Is there any SET up I need to change or do I have to install ML again?

Thanks,

Andre Sapori
Title: Re: h264.ini - how it really works?
Post by: johnwangphoto on December 15, 2014, 03:20:18 AM
I have the same issue. I use 5d mark III 1.2.3 and used to be able to adjust bit rate but now I only get the message: ML/h264.ini not found. I even don't know what is the bit rate I am shooting right now. Can anyone help? Thanks a lot!

John
Title: Re: h264.ini - how it really works?
Post by: itsDPmikey on April 04, 2015, 09:55:02 AM
H264.ini not found


How is it that no one has figured this out or anyone from ML responded back with a resolution?
Title: Re: h264.ini - how it really works?
Post by: Tommy126 on April 09, 2015, 04:47:25 PM
I have same problem with Load H264.ini

Can you anyone help?
Is it possible load H264.ini or not?
Title: Re: h264.ini - how it really works?
Post by: GEORCHRO on May 17, 2015, 01:20:53 PM
Transform8x8Flag = 2
Profile = 100
Level = 51
BitRate = 840000000
EntropyCodingMode = 1
IntraPicInitQP = -1
InterPicInitQP = -1
QpOffsetForB = 0
MinQpI = 1
MinQpP = 1
MinQpB = 1
MaxQpI = 13
MaxQpP = 13
MaxQpB = 13
MinBitrate = 200000000
MaxBitrate = 840000000
SarWidth = 0
SarHeight = 0
AspectRatioIdc = 1
VideoFmtAndVspFlag = 81
VideoFullRangeFlag = 1
TimingInfoPresentFlag = 0
RateControlEnable = 2
ScalingMatrices = 0
pScalingMatrixAddr[0] = 0
pScalingMatrixAddr[1] = 0
pScalingMatrixAddr[2] = 0
pScalingMatrixAddr[3] = 0
pScalingMatrixAddr[4] = 0
pScalingMatrixAddr[5] = 0

Not work 5d mark3

message: err

and freeze
Title: Re: h264.ini - how it really works?
Post by: GEORCHRO on June 04, 2015, 01:30:48 PM
This video will help you as he helped me

Title: Re: h264.ini - how it really works?
Post by: much on December 02, 2015, 12:21:41 PM
Hi, I just read whole topic and I still can't figure out how to load this damm h264.ini .... what am i doing wrong? is this even possible? Or there is no possibility to boost up image quality from 6d?
Title: never mind
Post by: marcfitt on December 12, 2015, 07:59:36 AM
never mind I found the error :)
Title: Re: h264.ini - how it really works?
Post by: Bosnik on December 24, 2015, 04:30:04 AM
Can someone help me install the bitrate settings on the 6d?
I've been running magic lantern on my 600d for the last two years and never had any problems recording up to 3x.

Also, is there a stable build for the 6d, not a nightly build?
Thanks!
Title: Re: h264.ini - how it really works?
Post by: CliffS on January 01, 2016, 08:51:34 PM
Hello, I've also been scouring the forums and web for ways to load up h264.ini on the 6D with no such luck. Would love help with this!
Title: Re: h264.ini - how it really works?
Post by: jblamontre on January 04, 2016, 11:46:10 AM
Hello there !

I'm having issues with my 5d mark III using H264 bitrate control.
I have a bug report when I click " Load H264.ini " on my ML Menu.
The bug report is saying : " B:/ML/H264.ini not found "

Any clues ? I'd love to find a way to download H264.ini but I don't find it nowhere. I've looked through Gxxgle and stuff, havn't found a link.

Thanks for your help !

Builld : NightyBuild 20 12 2015
Canon Firmware : 5d Mark III 123
Title: Re: h264.ini - how it really works?
Post by: domasa on April 11, 2016, 09:56:11 PM
" B:/ML/H264.ini not found "
Builld : NightyBuild 20 12 2015
Canon Firmware : 5d Mark III 123

A:/ML/H264.ini not found
Nightly.2016Apr01.5D3113