source: trunk/platform/ixus980_sd990/sub/100e/movie_rec.c @ 740

Revision 740, 3.9 KB checked in by reyalp, 4 years ago (diff)

IXUS 980/ SD 990 beta
disable fi2 for sx1, viewport_width for 990 merge

  • Property svn:eol-style set to native
Line 
1#include "conf.h"
2
3// from sx10
4void change_video_tables(int a, int b){
5}
6
7// from sx10, TODO untested, not hooked up yet
8void  set_quality(int *x){ // -17 highest; +12 lowest
9 if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
10}
11
12void __attribute__((naked,noinline)) movie_record_task(){
13 asm volatile(
14"                STMFD   SP!, {R2-R8,LR}\n"
15"                LDR     R7, =0x2710\n"
16"                LDR     R4, =0x53A0\n"
17"                MOV     R6, #0\n"
18"                MOV     R5, #1\n"
19"loc_FF86215C:\n" // main loop
20"                LDR     R0, [R4,#0x1C]\n"
21"                MOV     R2, #0\n"
22"                ADD     R1, SP, #4\n"
23"                BL      sub_FF82746C\n" // LOCATION: KerQueue.c:0
24"                LDR     R0, [R4,#0x24]\n"
25"                CMP     R0, #0\n"
26"                BNE     loc_FF86222C\n"
27"                LDR     R0, [SP,#4]\n"
28"                LDR     R1, [R0]\n"
29"                SUB     R1, R1, #2\n"
30"                CMP     R1, #9\n"
31"                ADDLS   PC, PC, R1,LSL#2\n"
32"                B       loc_FF86222C\n"
33"                B       loc_FF8621E0\n"
34"                B       loc_FF862200\n"
35"                B       loc_FF862210\n"
36"                B       loc_FF862218\n"
37"                B       loc_FF8621E8\n"
38"                B       loc_FF862220\n"
39"                B       loc_FF8621F0\n"
40"                B       loc_FF86222C\n"
41"                B       loc_FF862228\n"
42"                B       loc_FF8621B8\n"
43"loc_FF8621B8:\n"
44// jumptable FF862188 entry 9
45"                LDR     R0, =0xFF861E30\n" // loc_ret
46"                STR     R6, [R4,#0x38]\n"
47"                STR     R0, [R4,#0xA0]\n"
48"                LDR     R2, =0xFF8613B0\n" // sub_FF8613B0
49"                LDR     R1, =0x1AE50\n"
50"                LDR     R0, =0xFF861494\n" //loc_FF861494
51"                STR     R6, [R4,#0x28]\n"
52"                BL      sub_FF83BBFC\n"
53"                STR     R5, [R4,#0x3C]\n"
54"                B       loc_FF86222C\n" // -> jt 7, loop
55"loc_FF8621E0:\n"
56// jumptable FF862188 entry 0
57"                BL      unlock_optical_zoom\n" //  +
58"                BL      sub_FF861F28\n" // __MovieRecorder_c__0
59"                B       loc_FF86222C\n"
60"loc_FF8621E8:\n"
61// jumptable FF862188 entry 4
62"                BL      sub_FF861AA8\n" // -> _my for quality ?
63"                B       loc_FF86222C\n"
64"loc_FF8621F0:\n"
65// jumptable FF862188 entry 6
66"                LDR     R1, [R0,#0x10]\n"
67"                LDR     R0, [R0,#4]\n"
68"                BL      sub_FF937EF8\n" // LOCATION: MovWriter.c:0
69"                B       loc_FF86222C\n" // -> jt 7, loop
70"loc_FF862200:\n"
71// jumptable FF862188 entry 1
72"                LDR     R0, [R4,#0x3C]\n"
73"                CMP     R0, #5\n"
74"                STRNE   R5, [R4,#0x2C]\n"
75"                B       loc_FF86222C\n" // -> jt 7, loop
76"loc_FF862210:\n"
77// jumptable FF862188 entry 2
78"                BL      sub_FF8617F0\n" // __MovieRecorder_c__0
79"                B       loc_FF86222C\n" // -> jt 7, loop
80"loc_FF862218:\n"
81// jumptable FF862188 entry 3
82"                BL      sub_FF8614E0\n" // __MovieRecorder_c__0
83"                B       loc_FF86222C\n" // -> jt 7, loop
84"loc_FF862220:\n"
85// jumptable FF862188 entry 5
86"                BL      sub_FF86133C\n" //__MovieRecorder_c__100
87"                B       loc_FF86222C\n" // -> jt 7, loop
88"loc_FF862228:\n"
89// jumptable FF862188 entry 8
90"                BL      sub_FF862398\n" /// __MovieRecorder_c__100
91"loc_FF86222C:\n"
92// jumptable FF862188 default entry
93// jumptable FF862188 entry 7
94"                LDR     R1, [SP,#4]\n"
95"                MOV     R3, #0x430\n"
96"                STR     R6, [R1]\n"
97"                STR     R3, [SP]\n"
98"                LDR     R0, [R4,#0x20]\n"
99"                LDR     R3, =0xFF86113C\n"// =aMovierecorder_
100"                MOV     R2, R7\n"
101"                BL      sub_FF827DC0\n"
102"                B       loc_FF86215C\n" // -> main loop
103 );
104}
105
Note: See TracBrowser for help on using the repository browser.