1k 50D raw cinemascope difficult when LiveView not showing 2000x750 8/3 frame

Started by GregoryOfManhattan, June 02, 2013, 09:42:33 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

GregoryOfManhattan

i'd like to shoot cinemascope at 1920x720 raw video on a canon 50D

after editing (had to revert raw_rec.c to de0bcff) can record and convert dng, tiff, mov, ...
what else needs to be coded to have the liveview display more accurately reflect the recorded frame
50D settings in camera for full 1k cinemascope


on set shooting will be difficult when the LiveView is only showing a portion of the frame on the top and left and cutting off the top, right and bottom.

viewfinder display


capruted frame


magic lantern raw video is looking good, but i would love to simultaneously be able to frame a shot.
at the moment, its creatively imagine a floor a little higher, double the top and triple the width on the left.

edited by Audionut:  Images resized to fit in the forum better.

1%


GregoryOfManhattan

am i missing some settings?  - that would be a very easy fix.
jpgs linked are from actual shot

1%

I dunno, this is the latest raw_rec? Should have either the white box or previews (auto, ml grayscale, etc)

You can try some other modules too... like the 600D or 6D ones, no 720P mode so 600D should be good as it turns off GD on canon preview. Maybe 50D is fast enough to do the grayscale preview with no pinkies.

GregoryOfManhattan

raw_rec.c  from de0bcff
50D choking on FIO_SeekFile with new raw  playback code
may be incorrect in dryos.h for 50D - has FIO_SeekFile ever been used before?

1%

No it hasn't... EOSM is choking on it too.. but I don't think its the fault of FIO_seek file just how slow the camera reads files. Assume you have the fio_seek from flashwrite function.

GregoryOfManhattan

should be more specific about "choking" - loading a raw_rec.mo which has FIO_SeekFIle onto 50D camera
gives
tcc error: FIO_SeekFile undefined ....

trying to make a no-op stub in misc.c gives a compile error conflicting with the definition in dryos.h

OS_FUNCTION( 0x010000b, int, FIO_SeekFile, FILE* stream, size_t position, int whence);

could the 0x010000b be incorrect for the 50D - i see one camera has defined a different value in Stubs.S ?

so today's commits for modules/raw_rec/raw_rec.c which add back in the FIO_SeekFile will not work on 50D.

a1ex

Until Coutts finds the stub, just comment out the playback part.

For grayscale preview, you need display filters. I don't know how to do it for 50D; the 5D2 method is really hacked and took me days of trial and error to figure it out (and it's just halfway working).

Maybe it's worth investigating it again, now that we understand the EDMAC a bit better. It's not easy.

1%

The stub is REAL easy to find.. its called in flash_write. Every camera stubs.s is different. No display filters on 50D? That sucks. Will have to find a way. Hopefully not like EOS-M where sync is so late.

a1ex

The problem is that I don't know how to redirect the display buffer (on most cameras, it's just YUV422_LV_BUFFER_DISPLAY_ADDR = new_buffer; you can even move it around and see a memory map with this).

Now that we know how to redirect the edmacs, it may be worth trying to save Canon buffers at YUV422_LV_BUFFER_1 + 720*480*2, YUV422_LV_BUFFER_2 + 720*480*2 and YUV422_LV_BUFFER_3 + 720*480*2. That space should be unused as long as a HDMI is not connected (that's why filters get disabled on HDMI).

After you do that, dst_buffer will be the original address and src_buffer will be just above it.

This is the theory... and you already know that in theory there is no difference between theory and practice ;)

GregoryOfManhattan

great information. thank you.

actually getting lower speed with a build this morning than Sunday; though with very limited testing.
posted clip on 40D 50D thread.

Chucho

In firmware 1.0.7 FIO_SeekFile is in 0xFF98292C
NSTUB( 0xFF98292C, FIO_SeekFile) 1.0.7 50d
if my math is right it should be 0xFF9829A0 in 1.0.9 50d
NSTUB( 0xFF9829A0, FIO_SeekFile) 1.0.9 ?

GregoryOfManhattan

@Chucho - would you add a couple more bytes and believe 0xff9829b0 - thank you very helpful

Chucho

I don't have a dump for 1.0.9 but it's the function right before NSTUB( 0xff9829d0, FIO_WriteFile )
it should start like this

var_8           = -8               
STMFD   SP!, {R3,LR}

GregoryOfManhattan

Chucho - love the quote from phrack magizine -  thank you.
i meant that the value seems to be 2 bytes more than 0xFF9829A0
mk11174 and Coutts used 0xff9829b0  (i've yet to examine the binary myself).

50D code for functioning raw video is now merged into unified branch.

performance has dropped since 30June13 versions of code.
at the moment CinemaScope mode 1920x720 on 50D is not practical as frame drops prevent continuous shooting - could use it for MOS permitting frame skips.

GregoryOfManhattan

CinemaScope is back with newest build.
actually shooting beyond 1k width

62.5MB/s
2000x750 stable