Also, why aren't silent pictures taken during recording readable
They're readable, just a different size. Get the gimp extension that opens .422
Get "Failed to wait until LV buffer updates" for both .422 and jpeg.
It does work while tethered... I tried:
int *jpegz = (int *)(0x60D8);
*jpegz=0x2;
msleep(2000);
call("WriteEDmacPackMem");
But still no dice.
High res pics still work...
A suggestion... make the bursts/continuous create a new folder each time. And also thanks for adding this

*Killing silent pic wait loop fixed taking silent pics. But what is FPS of them really? Seems like they speed up/slow down. My card didn't seem to have trouble keeping up even with the 3MB files. Still no fix for Jpeg

I know its not exactly mjpeg but I shot a bunch of .422s. 368 over about ~3 minutes. That's like 2fps? 422 to Image doesn't want to convert them

I'll try some tethered jpeg and see what kind of fps I get. Hmm... it seems pretty decent... also noticed this:
Tethering is now shrinking my YUV buffer to 1056x704.. in crop mode the utility refuses to work. While recording tethered, the jpegs stop coming until recording stops. PC still updates with LV image and the jpegs are in ram if they are dumped (1056 only). So 2 things:
1. Canon blocks jpegs when YUV is bigger
2. Your function is separate from the EOS utility jpeg which gives hope that if patched it will make bigger sizes.