550D/T2i raw video recording port official thread

Started by dlrpgmsvc, May 22, 2013, 12:11:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

zenlenz

Many thanks for the updated bin, mk11174. I'm still playing with the first one!

Latest little test was with panning mode...



I'm wondering if anybody has had the same thoughts, regarding the possible slowing down of the action, of this feature?

intrinsic

Hi, guys!
Managed to test the latest release from mk11174.

Was able to get pretty stable 1728x576@12fps.
For me 12fps twixtored to 24fps is a good deal for the most cases I need.

Details:

- Movie mode, 1280x720@60fps or 640x480@60p
- Global draw off
- SanDisk ExtremePro 8Gb 45MB/s
- Photo Quality set to JPEG S (don't know if it affects anything)


Using previous build I've got 55Mb of free buffer cache, with the last one it was 62.
I've noticed also that at some magic point I became able to write normally at about 20MB/s, as earlier it was no more than 9-10MB/s.

About difference between RAW and standard H.264 Canon video.
For me it's mostly about noise and dynamic range which is goddamn good at low-light shooting and high contrast scenes.
So far I haven't been able to see a huge difference in detail and sharpness between 1080p H.264 and upscaled RAW I've got from 550D.
Hope with the higher stable resolutions it will become obvious )
So for now, the main feature here which makes it worth the all the efforts, is ability to get clean picture with more film-like noise especially in shadows and underexposed areas. Because trying to get the same picture in terms of shadow/highlight as I've got with RAW footage, using H.264, will result a huge digital-looking noise at shadows, especially terrific at ISO rates higher than 400.

Once again, god bless ML team and mk11174!
From Russia, with love!



shawnwytch

I'm cheesing on the features that have to be turned off are u talking waveform if I can have waveform and raw that would be the only features I'd need on to be honest. On raw how Mitch control will it give u? Is it true raw or some mimicking of it

mk11174

Quote from: shawnwytch on May 31, 2013, 02:51:57 AM
I'm cheesing on the features that have to be turned off are u talking waveform if I can have waveform and raw that would be the only features I'd need on to be honest. On raw how Mitch control will it give u? Is it true raw or some mimicking of it
Ok, I will see if it will still work with those turned on, no problem! 8]
500D/T1i  550D/T2i  600D/T3i  700D/T5i

andjarnic

Hi all,

I can't seem to find anything related to how the resolution is being achieved. I read "crop" but my question is, what I see in the LCD is being recorded and resized to the 960x540 for example? Or is the 960x540 a small subset of what is visible? I assume the entire image in the LCD is resized so that you are getting what you see?

Is the new ML code basically taking the full sensor RAW image, and "cropping" (resizing?) it?

I assume the reason we're limited on resolution is the 21MBp/s limit of the SD card? Or is the processor not fast enough to handle a 1920x1080 pull?

Sorry, trying to get my head around how this works.. my camera is out of commission right now, so can't test anything out.

LeviBetz

The limitation is card speed. Run a card benchmark and you'll see.

cinedude

From what I've heard. The T2i can't write at certain card speeds because of the buffer. Which means we're limited to around 25MB/sec right?

Sorry if it's noobish, I haven't read every single post yet.

LeviBetz


cinedude

Quote from: andjarnic on May 31, 2013, 06:14:32 AM
Hi all,

I can't seem to find anything related to how the resolution is being achieved. I read "crop" but my question is, what I see in the LCD is being recorded and resized to the 960x540 for example? Or is the 960x540 a small subset of what is visible? I assume the entire image in the LCD is resized so that you are getting what you see?

Is the new ML code basically taking the full sensor RAW image, and "cropping" (resizing?) it?

I assume the reason we're limited on resolution is the 21MBp/s limit of the SD card? Or is the processor not fast enough to handle a 1920x1080 pull?

Sorry, trying to get my head around how this works.. my camera is out of commission right now, so can't test anything out.

When recording with RAW, there's a little window that shows you the frame in the liveview. It's cropping the visible LCD to a tiny portion in the middle. It's as if you're shooting with a smaller sensor camera.


dlrpgmsvc

Excuse me, boys, but we programmers must solve the boot memory allocation problem, so no more double .bin is needed...

Quote from: 1% on May 23, 2013, 04:55:27 AM
Look at what was done to boot-hack.c and 600D consts.h
https://bitbucket.org/OtherOnePercent/tragic-lantern-2.0/commits/all

Its booting into allocate pool and uses 640K bins. Just have to find the addresses in 550D firmware.

Do you mean HIJACK_CACHE_HACK and his addresses in 600D consts.h ?!?
If you think it's impossible, you have lost beforehand

dlrpgmsvc

Ok, I collected some info around the forum about this problem and I updated the head post, just in case someone is interested to help out. And now I need now some info to proceed :

Where to find the 550D rom disassembled, or where to find the rom dump and how to disassemble it ? Many thanks !
If you think it's impossible, you have lost beforehand

hammermina

here an attempt of real 2500*1080 on my 550d

using panmode in 5*zoom.and merged 6 clips to 2500*1080 totally useless:-)

but when it will be possible to run 2 rawrecmodules simultainlesly on faster 5dm3 than it could be possible.

what would you think?

https://vimeo.com/67377902

sonic

Quote from: dlrpgmsvc on May 31, 2013, 02:03:56 PM
Where to find the 550D rom disassembled, or where to find the rom dump and how to disassemble it ?

When you run 550D-109.fir, the following happens:

    f = FIO_CreateFileEx(CARD_DRIVE "ML/LOGS/ROM0.BIN");
    if (f != (void*) -1)
    {
        bmp_printf(FONT_LARGE, 0, 60, "Writing ROM0");
        FIO_WriteFile(f, (void*) 0xF0000000, 0x01000000);
        FIO_CloseFile(f);
    }
    msleep(200);

    f = FIO_CreateFileEx(CARD_DRIVE "ML/LOGS/ROM1.BIN");
    if (f != (void*) -1)
    {
        bmp_printf(FONT_LARGE, 0, 60, "Writing ROM1");
        FIO_WriteFile(f, (void*) 0xF8000000, 0x01000000);
        FIO_CloseFile(f);
    }


You can disassemle them with disassemble.pl
What I don't understand yet: 1% does for the 600D:
#define HIJACK_CACHE_HACK_ALLOCMEM_SIZE_ADDR 0xFF0123E8
But with the offsets from above, I dont't have such high addresses in my ROM?.BIN.dis
It's mirrored.

dlrpgmsvc

Quote from: sonic on May 31, 2013, 02:39:41 PM
What I don't understand yet: 1% does for the 600D:
#define HIJACK_CACHE_HACK_ALLOCMEM_SIZE_ADDR 0xFF0123E8
But with the offsets from above, I dont't have such high addresses in my ROM?.BIN.dis

Many thanks for your hints ! Are you also working on this problem on 550D ? If yes, you can take hints on the head post of this thread, and if you have more hints to give, you can write them here so I will add them to the head post, many thanks !
Obviously you can tell me to modify-correct-integrate the infos that are already present there !

For your question: are you sure it's an offset (relative address) or perhaps it's an absolute address ?
If you think it's impossible, you have lost beforehand

sonic

Quote from: dlrpgmsvc on May 31, 2013, 02:51:46 PMAre you also working on this problem on 550D ?

Yes, but first I want to be able (again) to install my (supposedly many) test builds via USB. I'll have to find Alex's source code for his ptp-ml.c implementation.

Quote from: dlrpgmsvc on May 31, 2013, 02:51:46 PMare you sure it's an offset (relative address) or perhaps it's an absolute address ?

Each .BIN is 0x0100 0000 = 16 MB long, so:
ROM0.BIN: 0xF000 0000..0xF0FF FFFF
ROM1.BIN: 0xF800 0000..0xF8FF FFFF

I think the #define is absolute.

JuanIrache

My first test.



Thank you guys for this amazing feature!

mk11174

Quote from: sonic on May 31, 2013, 02:39:41 PM
You can disassemle them with disassemble.pl
Sonic, thanks! I actually figured out the dump a few days ago, but could nopt figure out the dissasemble part, I have IDA but looking through that was no help because much of it was garble because I did not have and scripts, so now I should finally be able to dissasemble it to maybe help in finding the proper addresses. I understood what 1% wanted us to do back in that post but was just stuck since I could not search the firmware. Hopefully we find it so we don't need these tricks to get our Raw Rec going everytime we want to update to the latest source.

Oh, and to clarify, I know the script is not for IDA, I will look use it with ipython if I am correct?
500D/T1i  550D/T2i  600D/T3i  700D/T5i

Kim.dh

Awesome work!

I am now able to get 960x512@24fps and 1280x400@24fps, using Hacked Mode with 720p@50 fps canon setting in video mode. Using a Sandisk 32GB 95Mb/s.

sonic

Quote from: mk11174 on May 31, 2013, 04:07:05 PMI actually figured out the dump a few days ago, but could nopt figure out the dissasemble part, I have IDA but looking through that was no help because much of it was garble because I did not have and scripts

I tried the demo version, too (the free version doesn't do ARM). But I missed the map file for remake-elf (the demo does only ELF).

Quote from: mk11174 on May 31, 2013, 04:07:05 PMOh, and to clarify, I know the script is not for IDA, I will look use it with ipython if I am correct?

No, it's just a perl script using the gcc cross compiler tools.

hammermina

running some tests now at the newest build.

my 550d got 2496*1065 at 4 fps without skipping....perfect for timelapsing:-))))

hammermina

pray for a 10bit mode or even better a compression like red does:-)

shawnwytch

So if I want to try to start shooting. Do I install the files from people's post just like the normal ml or is there another way?

shawnwytch

Quote from: mk11174 on May 31, 2013, 04:17:33 AM
Ok, I will see if it will still work with those turned on, no problem! 8]
Thank u man if I could pay u I would man. Your doing a lot of work I notice u and others. I haven't tested any of your builds, do I install it just like normal? Any info I haven't been up to date with ML

telecastDaveRI

shawnwytch, you install the most recent/stable ML build (2.3), and what I've been doing is saving what is on my card to a folder on my computer. Then, you replace the autoexec.bin and the ML folder on the card with the ones that you see here on the forum.

In order to get the stable version back on, you obviously just do it in reverse. Place the autoexec.bin of the stable bin back on the card and replace the ML folder (it may ask you to merge, which is fine. what I have been doing lately is just deleting the ML folder and putting the test builds and stable builds on and off as I wish)