(M)JPEG encoder

Started by Chucho, September 11, 2012, 03:40:07 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

1%

600D: Jpegs are working when connected to any kind of usb.

0x5748 and 0x5770 are 2 flags that have something to do with it.

nanomad

Same on the 1100D, strange eh?
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

ilguercio

What about other cameras? The 50D might be similar to the 5DII, i would like to try if i can save jpegs as well.
Canon EOS 6D, 60D, 50D.
Sigma 70-200 EX OS HSM, Sigma 70-200 Apo EX HSM, Samyang 14 2.8, Samyang 35 1.4, Samyang 85 1.4.
Proud supporter of Magic Lantern.

1%

Find the 3 functions added to 600D stubs and it will work.

nanomad

The 1100D has an interesting piece of code labelled lv_save_jpeg


ROM:FF10DB78 lv_save_jpeg                            ; DATA XREF: ROM:FF5368D8o
ROM:FF10DB78                 LDR     R0, [R0]
ROM:FF10DB7C                 LDR     R1, =0x50AC
ROM:FF10DB80                 STR     R0, [R1,#0x24]
ROM:FF10DB84                 BX      LR
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

1%

What happens when you store 0x24 in the address? My card just got corrupted messing with those 2 flags.

a1ex

On 5D2, th syntax is: call("lv_save_jpeg", 1).

g3gg0

yep, lv_save_jpeg is the function that enabled the flag i told.
its the same as setting the memory variable via ptp.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

nanomad

Yep. and it's nuts speed-wise. I'll dig into the code that actually does the switching to check why it won't run in non-PTP mode (it blinks once and doesn't save anything)
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

1%

If you call that packmem edmac, PTP runs. But with no usb it doesn't send the data anywhere. A separate function disables the getjpeg stuff as it stops when recording, etc.

* With globaldraw off and CPU usage down the jpegs save much faster.

Some hope for FPS override too... I see LV fps of up to 70.

1%

Made some movies with both .422 and jpeg. The effect is kinda funny. I think these need to compute FPS at the end so you can guess at a frame rate.

hjfilmspeed

So if mjpeg was possible on the 5d3. would they be 1024x64 what ever or is the 5d3 different.  uncompressed or mjpeg codecs like these would b a dream! i know file sizes will be bigger but who cares! i realy wish i could help you guys fig this one out! This is very impressive thus far and im constantly on this site checking for updates ha ha. great work yall!

ItsMeLenny

Isn't the frame rate of the live view whatever it is the frame rate is set to. Or does live view have it's own screen hz frame rate.

1%

Its using the 2 functions to get size and address so its going much slower than LV fps right now.

ilguercio

Quote from: 1% on November 07, 2012, 02:52:26 PM
Its using the 2 functions to get size and address so its going much slower than LV fps right now.
I think i don't understand.
I checked the LV fps on my 50D at the standard Full HD 30p and i can't understand why it shows 16 fps sometimes. Then, other times, i get 32.7 fps so it leaves me a bit confused about what's going on.
Canon EOS 6D, 60D, 50D.
Sigma 70-200 EX OS HSM, Sigma 70-200 Apo EX HSM, Samyang 14 2.8, Samyang 35 1.4, Samyang 85 1.4.
Proud supporter of Magic Lantern.

1%

CPU usage? When you turn off global draw or things like peaking/zebras it goes up.

Also, canon function drops jpegs at at least 15fps. They end up in DCIM. I'll see if it goes faster with GD off and how fast the 422 is.


Chucho

I don't have my 600d at the moment but has anybody tried calling the actual code the writes the liveview jpegs. In the 600d the fuction starts at 0xFF111928 and you can see the code that writes the jpegs at 0xFF111B7C

a1ex

I've tried to call the TTJ thingie on 60D, with that big list of parameters described above, no success.

As long as Canon code is creating the jpegs, I can record MJPEG fairly well (at low resolution, of course).

On 5D3 I've tried to inject some events in the LVCDEV machine. I can trigger the state transitions, but I'm not passing some memory suite correctly (I get ERR70 about that).

1%

Interesting that the function doesn't write the .422s without usb connected either.

hjfilmspeed

whats the word on the mjpeg? is it possible to get just sequences of hd jpegs at 24p on 5d3 seperated by folders? Then we could just stitch it together in post. It might mean no playback in cam but id sure take it if it ment nice fine jpeg noise!