Probably not. Feel free to try it and see.
Etiquette, expectations, entitlement...
@autoexec_bin | #magiclantern | Discord | Reddit | Server issues
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
126 extern void
127 _audio_ic_write(
128 unsigned cmd
129 );
Quote from: theBilalFakhouri on January 31, 2023, 05:45:53 PM
I used it because I wanted a github solution from official hg repo which include all history beside it's a repo that well tested (on DIGIC 5), I didn't want to work on "magiclantern_simplified" because it has a lot of changes, and it still not well tested on DIGIC 5, I just didn't want to have some random or hidden surprises and spend time on it . . this thing is temporarily, my final goal is to port everything back in one branch and repo like magiclantern_simplified of course.
Working on DIGIC 4 and give them crop_rec support is one of my goals, but it's not the highest priority for me currently . .
Quote from: theBilalFakhouri on January 31, 2023, 05:35:45 PM
Yes, I think all of them return value, what should I do in this case?
Also it seems lvfaceEnd and aewbSuspend take values, but not quite sure, but might be decompilation error in Ghidra, how to make sure?
I used "(void *)" blindly, I saw a1ex used it in sd_uhs for SD_ReConfiguration function, I just reused it and didn't notice problems . .
static int (*SD_ReConfiguration)() = 0;
Quote
r4-r8 are callee-save registers
r9 might be a callee-save register or not (on some variants of AAPCS it is a special register)
r10-r11 are callee-save registers
some_magiclantern_variable = 0; // the compiler *might* choose to put this in r4
some_canon_function(); // in C, this function cannot change your variable...
if (some_magiclantern_variable != 0)
// this should never happen, let's crash!
assert(-1); // but in asm, it certainly can, by changing the content of r4 and returning, and you assert here
extern void __attribute__((noreturn)) cstart(void);
NSTUB(1 - is_more_hacks_supported)
#define NSTUB(addr,name) \
.global name; \
.extern name; \
name = addr
Quote
more_hacks_are_supported is basically just to hide the option from the menu in cams that don't support. Is there a more elegant way to accomplish this?
if (is_camera("5D3", "1.2.3"))
{
screen_x = 0x0101; screen_y = 0x0202;
}
else if { // many other cameras omitted }
get_screen_x_y(screen) // screen is a struct with .x and .y members
more_hacks_supported = is_more_hacks_supported();
Quote from: theBilalFakhouri on January 28, 2023, 07:43:23 AM
We can add the addresses like this commit, under:if (is_camera("5D3", "1.1.3"))
{
lvfaceEnd = (void *) 0xFF16D77C;
aewbSuspend = (void *) 0xFF23BC60;
CartridgeCancel = (void *) 0xFF17FD68;
}
Quote from: iaburn on January 27, 2023, 08:11:23 PM
It would be cool if someone can give it a try and share his results, but it definitely worth using openmp. Here my WIP changes: https://github.com/anibarro/MLV-App
Just read your post, you are right, I thought it was going to be more complicated!
Quote from: masc on January 27, 2023, 08:05:42 PM
I think CUDA is no option at all. In comparison there are just a few computers able to run this, while e.g. OpenCL works on nearly all computers out of the box. So if we would implement GPU features, I'd try again with OpenCL. And there is already a CUDA based MLV tool: fastcinemadng. I was never able to try it - no CUDA GPU in my near.
Quote from: masc on January 27, 2023, 01:59:35 PM
@iaburn: if you know how to use the GPU... I have absolutely no idea here. I just heard it is impossible with C/C++, because it has its own kernel language. So this means mostly rewriting everything.
Yes, in the past we tried to use the GPU for debayering. In the end we had success with it technically, but it was slower as with CPU, because the copy actions between graphic RAM and main RAM needed nearly the same time as if the CPU debayers. So GPU might be cool if you process all on it - single tasks are probably for nothing.
Quote from: theBilalFakhouri on January 27, 2023, 07:27:37 AM
Yes, a while ago I did some tests, and results were bad, *I could control tasks priority using this function on 700D 0xff35654c:
Lowering priority to a medium amount resulted in worse write speed and probably corrupted frames in some tasks, lowering priority to maximum or very high values --> Camera crash
Quote from: Danne on January 22, 2023, 05:42:08 PM
That's crazy. 22fps on intel processor.
Page created in 0.074 seconds with 13 queries.