CHDK_DE Vorschauversion  Trunk Rev. 5229
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
movie_rec.c-Dateireferenz
#include "conf.h"
+ Include-Abhängigkeitsdiagramm für movie_rec.c:

gehe zum Quellcode dieser Datei

Funktionen

void change_video_tables (int a, int b)
 
void set_quality (int *x)
 
void __attribute__ ((naked, noinline))
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

Definiert in Zeile 10 der Datei movie_rec.c.

10  {
11  // FF9645BC
12 asm volatile (
13  " STMFD SP!, {R2-R10,LR} \n"
14  " LDR R6, =0xFF963AEC \n"
15 // " LDR R7, =0xFF963FE4 \n"
16  " LDR R7, =sub_FF963FE4_my \n" // patched
17  " LDR R4, =0x6570 \n"
18  " LDR R9, =0x67F \n"
19  " LDR R10, =0x2710 \n"
20  " MOV R8, #1 \n"
21  " MOV R5, #0 \n"
22 "loc_FF9645DC:\n"
23  " LDR R0, [R4, #0x24] \n"
24  " MOV R2, #0 \n"
25  " ADD R1, SP, #4 \n"
26  " BL sub_FF8397A4 \n"
27  " LDR R0, [R4, #0x2C] \n"
28  " CMP R0, #0 \n"
29  " LDRNE R0, [R4, #0xC] \n"
30  " CMPNE R0, #2 \n"
31  " LDRNE R0, [R4, #0x44] \n"
32  " CMPNE R0, #6 \n"
33  " BNE loc_FF964700 \n"
34  " LDR R0, [SP, #4] \n"
35  " LDR R1, [R0] \n"
36  " SUB R1, R1, #2 \n"
37  " CMP R1, #0xB \n"
38  " ADDCC PC, PC, R1, LSL #2 \n"
39  " B loc_FF964700 \n"
40  " B loc_FF9646B0 \n"
41  " B loc_FF9646D4 \n"
42  " B loc_FF9646E4 \n"
43  " B loc_FF9646EC \n"
44  " B loc_FF9646B8 \n"
45  " B loc_FF9646F4 \n"
46  " B loc_FF9646C4 \n"
47  " B loc_FF964700 \n"
48  " B loc_FF9646FC \n"
49  " B loc_FF96467C \n"
50  " B loc_FF96464C \n"
51 "loc_FF96464C:\n"
52  " STR R5, [R4, #0x40] \n"
53  " STR R5, [R4, #0x30] \n"
54  " STR R5, [R4, #0x34] \n"
55  " STRH R5, [R4, #6] \n"
56  " STR R6, [R4, #0xB4] \n"
57  " STR R7, [R4, #0xCC] \n"
58  " LDR R0, [R4, #0xC] \n"
59  " ADD R0, R0, #1 \n"
60  " STR R0, [R4, #0xC] \n"
61  " MOV R0, #6 \n"
62  " STR R0, [R4, #0x44] \n"
63  " B loc_FF96469C \n"
64 "loc_FF96467C:\n"
65  " STR R5, [R4, #0x40] \n"
66  " STR R5, [R4, #0x30] \n"
67  " STR R6, [R4, #0xB4] \n"
68  " STR R7, [R4, #0xCC] \n"
69  " LDR R0, [R4, #0xC] \n"
70  " ADD R0, R0, #1 \n"
71  " STR R0, [R4, #0xC] \n"
72  " STR R8, [R4, #0x44] \n"
73 "loc_FF96469C:\n"
74  " LDR R2, =0xFF963308 \n"
75  " LDR R1, =0xAC448 \n"
76  " LDR R0, =0xFF96341C \n"
77  " BL sub_FF852804 \n"
78  " B loc_FF964700 \n"
79 "loc_FF9646B0:\n"
80  " BL unlock_optical_zoom \n" // added
81 // " BL sub_FF963C44 \n"
82  " BL movie_time\n" // added
83 "label_A:\n" //
84  " B loc_FF964700 \n"
85 
86 "loc_FF9646B8:\n"
87  " LDR R1, [R4, #0xCC] \n"
88  " BLX R1 \n"
89  " BL mute_on_zoom\n" // added
90  " B loc_FF964700 \n"
91 "loc_FF9646C4:\n"
92  " LDR R1, [R0, #0x18] \n"
93  " LDR R0, [R0, #4] \n"
94  " BL sub_FFAA7204 \n" // 1.00c
95  " B loc_FF964700 \n"
96 "loc_FF9646D4:\n"
97  " LDR R0, [R4, #0x44] \n"
98  " CMP R0, #5 \n"
99  " STRNE R8, [R4, #0x34] \n"
100  " B loc_FF964700 \n"
101 "loc_FF9646E4:\n"
102  " BL sub_FF9637AC \n"
103  " B loc_FF964700 \n"
104 "loc_FF9646EC:\n"
105  " BL sub_FF963468 \n"
106  " B loc_FF964700 \n"
107 "loc_FF9646F4:\n"
108  " BL sub_FF963294 \n"
109  " B loc_FF964700 \n"
110 "loc_FF9646FC:\n"
111  " BL sub_FF964B40 \n"
112 "loc_FF964700:\n"
113  " LDR R1, [SP, #4] \n"
114  " LDR R3, =0xFF9630DC \n"
115  " STR R5, [R1] \n"
116  " STR R9, [SP] \n"
117  " LDR R0, [R4, #0x28] \n"
118  " MOV R2, R10 \n"
119  " BL sub_FF83A11C \n"
120  " B loc_FF9645DC \n"
121  );
122 }
void change_video_tables ( int  a,
int  b 
)

Definiert in Zeile 3 der Datei movie_rec.c.

3 {}
void set_quality ( int *  x)

Definiert in Zeile 5 der Datei movie_rec.c.

5  { // -17 highest; +12 lowest
6  if (conf.video_mode)
7  *x=12-((conf.video_quality-1)*(12+17)/(99-1));
8 }