5d3/6D IVA Params Hacking. The new BR control on FF digic V.

Started by 1%, January 06, 2013, 07:08:36 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

manniac

 :o Unfortunately I don't understand..
I'm not a programmer (not a good one, at least).
Can I do anything without changing and compiling the source code?

1%

Maybe dig up the old builds I made for 5DIII but I don't think they had raw.

manniac

Using old builds will not help me, because, as you said, they don't have raw - which I also need.
I'm trying to compile this thing myself now - because I need bitrate changes on my 5D3.

Unfortunately I ran into a problem with the compiler, which i have to set up first..

I installed everything on my win7 machine as described here: http://www.magiclantern.fm/forum/index.php?topic=2899.msg14021#msg14021
(I used gcc version 4.7.2 and also changed the  according settings in the makefile.user)
The installation seemed to be successful.

Then i did a "make clean" and a "make 5D3".
This is what I got:

$ make 5D3
make -C  ../platform/5D3.113
make[1]: Entering directory `/home/manniac/magic-lantern/platform/5D3.113'
[ VERSION  ]   ../../platform/5D3.113/version.bin
[ CPP      ]   magiclantern.lds
[ AS       ]   ../../platform/5D3.113/stubs.o
[ VERSION  ]   ../../platform/5D3.113/version.c
[ CC       ]   version.o
[ CC       ]   boot-hack.o
[ CC       ]   mem.o
../../src/mem.c: In function 'memcheck_remove':
../../src/mem.c:409:49: warning: assignment makes integer from pointer without a cast [enabled by default]
[ CC       ]   ico.o
[ CC       ]   edmac.o
[ CC       ]   menu.o
../../src/menu.c: In function 'menu_post_display':
../../src/menu.c:2394:24: warning: initialization makes pointer from integer without a cast [enabled by default]
[ CC       ]   debug.o
[ CC       ]   cfn.o
[ CC       ]   gui.o
[ CC       ]   picstyle.o
[ CC       ]   exmem.o
[ CC       ]   bmp.o
[ CC       ]   rbf_font.o
[ CC       ]   config.o
[ CC       ]   stdio.o
[ CC       ]   bitrate-5d3.o
[ CC       ]   lcdsensor.o
[ CC       ]   tweaks.o
[ CC       ]   lens.o
[ CC       ]   property.o
[ CC       ]   propvalues.o
[ CC       ]   gui-common.o
[ CC       ]   chdk-gui_draw.o
[ CC       ]   movtweaks.o
[ CC       ]   menuhelp.o
[ CC       ]   menuindex.o
[ CC       ]   focus.o
[ CC       ]   notify_box.o
[ CC       ]   dialog_test.o
[ CC       ]   vram.o
../../src/vram.c: In function 'vram_redirect_lv_buffer':
../../src/vram.c:581:35: warning: assignment makes integer from pointer without a cast [enabled by default]
[ CC       ]   aj_port.o
[ CC       ]   fps-engio.o
[ CC       ]   shoot.o
../../src/shoot.c:4608:6: warning: conflicting types for 'set_interval_index' [enabled by default]
../../src/shoot.c:464:9: note: previous implicit declaration of 'set_interval_index' was here
[ CC       ]   hdr.o
[ CC       ]   lv-img-engio.o
[ CC       ]   state-object.o
[ CC       ]   tasks.o
[ CC       ]   vsync-lite.o
[ CC       ]   tskmon.o
[ CC       ]   battery.o
[ CC       ]   imgconv.o
[ CC       ]   histogram.o
[ CC       ]   falsecolor.o
[ CC       ]   audio-ak.o
[ CC       ]   zebra.o
[ CC       ]   beep.o
[ CC       ]   crop-mode-hack.o
[ CC       ]   ph_info_disp.o
[ CC       ]   flexinfo.o
[ CC       ]   fileprefix.o
[ CC       ]   console.o
[ CC       ]   tcc-glue.o
make -C ../../tcc
make[2]: Entering directory `/home/manniac/magic-lantern/tcc'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Leaving directory `/home/manniac/magic-lantern/tcc'
[ CC       ]   module.o
[ CC       ]   video_hacks.o
[ CC       ]   fio-5d3.o
[ CC       ]   misc.o
[ CC       ]   afma.o
[ CC       ]   raw.o
[ CC       ]   chdk-dng.o
[ CC       ]   edmac-memcpy.o
[ CC       ]   asm.o
[ AR       ]   strrchr.o
[ AR       ]   dietlibc.a
[ AR       ]   lib_a-setjmp.o
[ AR       ]   newlib-libc.a
[ LD       ]   magiclantern
c:/program files/cygwin64/home/manniac/arm-toolchain472/bin/../lib/gcc/arm-none-eabi/4.7.2\libgcc.a(unwind-arm.o): In function `unwind_phase2':
C:\msys\1.0\home\yagarto\gcc-build\arm-none-eabi\libgcc/../../../gcc-4.7.2/libgcc/unwind-arm-common.inc:289: undefined reference to `abort'
c:/program files/cygwin64/home/manniac/arm-toolchain472/bin/../lib/gcc/arm-none-eabi/4.7.2\libgcc.a(unwind-arm.o): In function `__gnu_Unwind_Resume':
C:\msys\1.0\home\yagarto\gcc-build\arm-none-eabi\libgcc/../../../gcc-4.7.2/libgcc/unwind-arm-common.inc:487: undefined reference to `abort'
C:\msys\1.0\home\yagarto\gcc-build\arm-none-eabi\libgcc/../../../gcc-4.7.2/libgcc/unwind-arm-common.inc:505: undefined reference to `abort'
c:/program files/cygwin64/home/manniac/arm-toolchain472/bin/../lib/gcc/arm-none-eabi/4.7.2\libgcc.a(pr-support.o): In function `_Unwind_GetDataRelBase':
C:\msys\1.0\home\yagarto\gcc-build\arm-none-eabi\libgcc/../../../gcc-4.7.2/libgcc/config/arm/pr-support.c:394: undefined reference to `abort'
c:/program files/cygwin64/home/manniac/arm-toolchain472/bin/../lib/gcc/arm-none-eabi/4.7.2\libgcc.a(pr-support.o): In function `_Unwind_GetTextRelBase':
C:\msys\1.0\home\yagarto\gcc-build\arm-none-eabi\libgcc/../../../gcc-4.7.2/libgcc/config/arm/pr-support.c:400: undefined reference to `abort'
collect2.exe: error: ld returned 1 exit status
../../src/Makefile.src:176: recipe for target `magiclantern' failed
make[1]: *** [magiclantern] Error 1
make[1]: Leaving directory `/home/manniac/magic-lantern/platform/5D3.113'
Makefile:33: recipe for target `5D3' failed
make: *** [5D3] Error 2


Everything looks good, but in the end the compiler fails and I have no idea why. :/

1%

I think the problem is yagarto. I can compile using cygwin/msys.. I think thats the preffered route. Also if you have space/bandwidth there is a virtual machine image lurking around here with the toolchain set up.

RenatoPhoto

http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

manniac

thanks, I will give virtualbox a try - but to be honest with you: I read the installation instructions before and they seemed even more complicated than cygwin :)) also: 1.3 GB? :-OOOO
Anyway, I'll try and let you know if it worked..

manniac

Virtualbox now works for me, and I got the bitrate thing running. Thanks!
the only strange thing is: all fonts in ML are terribly big now..

I still have one question: Is there a reason, why you don't change
call("IVAParamMode", CARD_DRIVE "ML/H264.ini");
to
call("IVAParamMode", "B:/ML/H264.ini");
in bitrate-5d3.c ?

wouldn't that be better anyway, so people can use it?

1%

copy new fonts to ML/fonts

For me on SD cams its B:/
For 5d3 I guess can be A:/ or b:/, however you run ML.

In my port the 6D stuff runs on 5DIII minus the gop control (prop changing, I'm not comfortable adding without testing)

marekk

Hi.. I've just switched from 60D to 5D3 and I would like to record some videos in h264 with max bitrate. I've found 1% post with some ini files, also replaced CARDDRIVE with B: letter in bitrate-5d3.c file. I tested it with rc.ini file and bitrate is much better now (around 9-10MB/s). Maybe someone found the best stable settings for 5d3 with max bitrate and quality ? thanks in advance for your help.

ouuzi

I am also interested about this.Can you help us out?

1%

If the config is really loaded you'll get better rates on IPB and similar rates on all-I. Remember the indicators are in megabits, if you're getting 9 megabits something loaded wrong.

tjaja

Learning to compile is the way offcourse but does someone have a working file for the 5d3? I dont care if it is the newest version just one where i can modify and load the ini.
5DFree, 550D, canon 50mm 1.4

a1ex

I've updated the 5D3 code to load the INI file (should be in next nightly, but you will have to add the ini file yourself). This should have been a pull request.

I didn't try it.

kgv5

@Marekk, Did you see any difference between stock h264 and the high bitrate one?

Quote from: marekk on February 07, 2014, 12:21:14 PM
Hi.. I've just switched from 60D to 5D3 and I would like to record some videos in h264 with max bitrate. I've found 1% post with some ini files, also replaced CARDDRIVE with B: letter in bitrate-5d3.c file. I tested it with rc.ini file and bitrate is much better now (around 9-10MB/s). Maybe someone found the best stable settings for 5d3 with max bitrate and quality ? thanks in advance for your help.
www.pilotmovies.pl   5D Mark III, 6D, 550D

tjaja

5DFree, 550D, canon 50mm 1.4

1%

Also FYI you may not be able to get some configurations without patches. If you set something like profile and get an error 70 then you know at least its loading the config.

Average on safe RC for me is 60-70Mb/s IPB... stock is 24Mb/s or less.

ouuzi

Is there an improvement with these settings?which file you recommend for the 5d?

1%

I've used the RC mainly. Its fairly predictable and consistent. Remember I have no 5DIII, what I would to to test this is actually compile off my repo wth the 6D bitrate controls so you have all the patches.

You can configure it from garbled 1Mb/s mess up to where the video is 400Mb/s and has problems recording/playing back.

tjaja

I got an error 70 when changing the maxbitrate and targeted bitrate to 180000000 the first time, but when rebooting and loading it again it didnt crash.
So it is working on the nightly 3-3-2014. Just had to create a h264.ini, copy the settings in it, and put it in ML folder.
So easy I could do it.
5DFree, 550D, canon 50mm 1.4

Audionut

Quote from: 1% on March 02, 2014, 10:24:37 PM
Remember I have no 5DIII, what I would to to test this is actually compile off my repo wth the 6D bitrate controls so you have all the patches.

The last time I tried (probably a month or more ago), it wouldn't compile.  I immediately put it on the back burner because the photo stuff with ADTG was more interesting.

I'll have a better look at it later today.




Compiled 5D3.123 with iso research.  Using the rc.ini file from here, renamed to H264.ini

Loading the ini file worked fine :)
Pressing record caused a crash requiring battery pull.

ASSERT: 0
at ./MovieRecorder/EncDrvWrapper.c:1931, task MovieRecorder
lv:0 mode:3


Magic Lantern version : v2.3.NEXT.2014Mar03.5D3123
Mercurial changeset   : d5486956e2bb (test) tip
Built on 2014-03-03 04:43:33 UTC by magiclantern@magiclantern-VirtualBox.
Free Memory  : 149K + 3919K


https://dl.dropboxusercontent.com/u/34113196/LOG000.LOG

kgv5

The same but i have managed to record some h264 footage with ini loaded. I had many crashes with battery out though.

EDIT: i have used rc.ini (and renamed to h264.ini) from 1% H264inis.zip.
Recorded 2 clips: according to mediainfo the stock one had 52mbit, with ini loaded 73mbit.

I will make some further tests.

www.pilotmovies.pl   5D Mark III, 6D, 550D

1%

Yea, those have to be all patched out. I only had it going on 5DIII 1.1.3.. they didn't want *too* much tweaking with the encoder. You can get by without patches following what I found in the first few posts when editing the config.

1%

Compare the configs I had posted up in my repo... each one is a different mode, rc/vbr/cbr. I've been using those. The encoders between the two are the same.

And then test! seriously, so few people tried it out, there wasn't too much feedback.