Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Thomas Worth

#1
I'm going to add the ability to override the black level in the RAW/MLV file with a user-selectable one just in case the black level in the files are incorrect. I know different cameras use different black levels. Right now, the options are:

Autodetect - uses the black level in the RAW/MLV file
2048 - forces the black level to 2048
1024 - forces the black level to 1024

What other values should I use? Are there cameras that use black level values other than these? I only have access to a 5D Mk III and a 7D, so I haven't been able to test with all the Canons.
#2
I see that with the latest build of ML on a 5D Mark III, I can FPS override in 24 fps mode to a max of 40 fps. This is great, but when I set the FPS to 40, it records with mega-ultra-corrupted frames. However, if I back off to 39 fps, it records just fine. Am I doing something wrong? Did I fail to read something about this? Is there anything I can set in the camera to make this work at 40.000?
#3
Check this out:



This happened when recording stopped (on its own). I don't know if this was due to a card issue or something else, but there ya go.
#4
Well, let me just ask this:

Do you want commercial products to support the Magic Lantern file format?

If the answer is yes, then I suggest relaxing the licensing on the vertical stripes code. The reason is the 5D Mark III files written by Magic Lantern, for whatever reason, have errors in them that need to be corrected through post-processing using Alex's code. This needs to be done to get something 100% useful out of the camera. Releasing the MLV format to the public was a very good thing, but this only gets us 90% there.

By keeping restrictive GPL licensing on this in particular, you're basically holding the image hostage until commercial software developers give up all their code, which they're not going to do. The result is commercial developers are discouraged from adding support for RAW and MLV, which hurts Magic Lantern users for the reasons already discussed in the thread.
#5
Raw Video / Greater than 30fps in crop mode?
April 03, 2014, 05:46:38 AM
I'm working with a 7D and would love to be able to record greater than 30fps in crop mode. Is this possible?
#6
Raw Video / MLV quirks
March 14, 2014, 08:12:59 AM
I'm looking into MLV, and am dealing with two issues at the moment:

1. mlv_file_hdr_t.videoFrameCount is sometimes 1-2 frames more than the actual number of frame chunks in the file. Is this a known issue? Right now, I have to parse the entire file to reliably determine the frame count.
2. Audio is always 5-6 frames greater than the video. If someone can offer a technical explanation for this, I can see about compensating for this during post-processing.

That's all for now. ;)
#7
Up until a few days ago, I could compile ML for the 7D without a problem. I can't anymore, although compilation still works fine for 5D3 and other cameras (I didn't try all of them). Here's what I get when I try to compile "7D":

dietlibc.a(vsscanf.o): In function `vsscanf':
vsscanf.c:(.text+0x5c): warning: warning: the scanf functions add several kilobytes of bloat.
dietlibc.a(sprintf.o): In function `sprintf':
sprintf.c:(.text+0x14): warning: warning: Avoid *sprintf; use *snprintf. It is more secure.
mem.o:(.data+0x14): undefined reference to `_malloc'
mem.o:(.data+0x18): undefined reference to `_free'
mem.o:(.data+0x5c): undefined reference to `_AllocateMemory'
mem.o:(.data+0x60): undefined reference to `_FreeMemory'
mem.o:(.data+0x64): undefined reference to `_alloc_dma_memory'
mem.o:(.data+0x68): undefined reference to `_free_dma_memory'
collect2: error: ld returned 1 exit status
make[1]: *** [magiclantern] Error 1
make: *** [7D] Error 2


I get the error on both Mac and Linux with my GCC 4.8.1 toolchain. Again, this was working fine a few days ago. Here's what I get when I compile "5D3":

dietlibc.a(vsscanf.o): In function `vsscanf':
vsscanf.c:(.text+0x5c): warning: warning: the scanf functions add several kilobytes of bloat.
dietlibc.a(sprintf.o): In function `sprintf':
sprintf.c:(.text+0x14): warning: warning: Avoid *sprintf; use *snprintf. It is more secure.
[ OBJCOPY  ]   magiclantern.bin
[ STAT     ]   magiclantern.bin
magiclantern.bin: 437384 bytes
[ CC       ]   reboot.o
[ LD       ]   autoexec

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  EXIDX          0x06ad80 0x000d4180 0x000d4180 0x00008 0x00008 R   0x4
  LOAD           0x000100 0x00069500 0x00069500 0x6ac88 0x7e87c RWE 0x100
[ OBJCOPY  ]   autoexec.bin
[ STAT     ]   autoexec.bin
autoexec.bin: 438016 bytes
[ SYMBOLS  ]   magiclantern.sym
[ CP       ]   5D3_113.sym


It compiles okay. What gives?
#8
In memcheck.h:

extern void *memcheck_malloc( size_t len, const char *file, unsigned int line, int mode);
extern void *memcheck_free( void * buf, int mode);


in memcheck.c:

void memcheck_free( void * buf, int mode)

{

    unsigned int ptr = ((unsigned int)buf - MEM_SEC_ZONE);

    unsigned int failed = 0;

    unsigned int failed_pos = 0;


GCC doesn't like it:

../../src/memcheck.c: At top level:
../../src/memcheck.c:163:6: error: conflicting types for 'memcheck_free'
void memcheck_free( void * buf, int mode)
      ^

#9
Just an FYI, I tried compiling the latest source for the 7D (Mac OS X, GCC 4.8.1), but ran into the following error. Compiling 5D3 worked fine. Only when attempting "make 7D" did I run into this:


debug.o: In function `mem_test_edmac_copy_rectangle':
debug.c:(.text+0x304): undefined reference to `edmac_copy_rectangle_adv'
debug.o: In function `run_test':
debug.c:(.text+0xb28): undefined reference to `edmac_memcpy_res_lock'
debug.c:(.text+0xb6c): undefined reference to `edmac_copy_rectangle_adv'
debug.c:(.text+0xbbc): undefined reference to `edmac_copy_rectangle_adv'
debug.o: In function `mem_benchmark_task':
debug.c:(.text+0x3528): undefined reference to `edmac_memcpy'
collect2: error: ld returned 1 exit status
make[1]: *** [magiclantern] Error 1
make: *** [7D] Error 2


Adding edmac-memcpy.o to /src/Makefile.src in the following place (line 127) fixed it:

ML_SRC_OBJS = \
boot-hack.o \
ico.o \
edmac.o \
menu.o \
edmac-memcpy.o \
debug.o \
#10
I installed Alpha 2 on my 7D to see how far I could push the H.264 recording bitrate. However, ML refuses to shoot anything more than about 48-55mbps ("Q-16" in top right corner) at 1080p/24 no matter how high I jack up the CBR setting. It looks as though the camera tries to shoot at a high bitrate, but then "drops back" to the low bitrate after about 1 second. I don't get any warning or anything. The benchmark reports the card is capable of 56.8 MB/sec writes, which is of course well over 400 Mbit/sec. I even checked the files out of the camera and they are indeed no more than around 50 Mbit/sec.

Is this a limitation of the H.264 encoder in the 7D? Does it top out at ~50 Mbit/sec at 1080p/24?