CHDK_DE Vorschauversion  Trunk Rev. 5429
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
movie_rec.c-Dateireferenz
#include "conf.h"
#include "lolevel.h"
#include "platform.h"
#include "core.h"
#include "dryos31.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 16 der Datei movie_rec.c.

16  {
17  asm volatile(
18 " STMFD SP!, {R2-R10,LR}\n"
19 " LDR R9, =0x2710\n"
20 " LDR R7, =0xFF985800\n" //nullsub_357
21 " LDR R4, =0x7898\n"
22 " MOV R8, #1\n"
23 
24 //looks like it is the one to work with?
25 //" LDR R6, =0xFF986050\n" //__MovieRecorder.c__0 ; LOCATION: MovieRecorder.c:0
26 " LDR R6, =sub_FF986050_my\n" //__MovieRecorder.c__0 ; LOCATION: MovieRecorder.c:0
27 
28 " MOV R5, #0\n"
29 "loc_FF986680:\n"
30 " LDR R0, [R4,#0x24]\n"
31 " MOV R2, #0\n"
32 " ADD R1, SP, #0x4\n"
33 " BL sub_FF83AE20\n" //__KerQueue.c__0 ; LOCATION: KerQueue.c:0
34 " LDR R0, [R4,#0x2C]\n"
35 " CMP R0, #0\n"
36 " LDRNE R0, [R4,#0xC]\n"
37 " CMPNE R0, #2\n"
38 " LDRNE R0, [R4,#0x44]\n"
39 " CMPNE R0, #6\n"
40 " BNE loc_FF9867A4\n"
41 " LDR R0, [SP,#0x4]\n"
42 " LDR R1, [R0]\n"
43 " SUB R1, R1, #2\n"
44 " CMP R1, #0xA\n"
45 " ADDLS PC, PC, R1,LSL#2\n"
46 " B loc_FF9867A4\n"
47 "loc_FF9866C4:\n"
48 " B loc_FF986754\n"
49 "loc_FF9866C8:\n"
50 " B loc_FF986778\n"
51 "loc_FF9866CC:\n"
52 " B loc_FF986788\n"
53 "loc_FF9866D0:\n"
54 " B loc_FF986790\n"
55 "loc_FF9866D4:\n"
56 " B loc_FF98675C\n"
57 "loc_FF9866D8:\n"
58 " B loc_FF986798\n"
59 "loc_FF9866DC:\n"
60 " B loc_FF986768\n"
61 "loc_FF9866E0:\n"
62 " B loc_FF9867A4\n"
63 "loc_FF9866E4:\n"
64 " B loc_FF9867A0\n"
65 "loc_FF9866E8:\n"
66 " B loc_FF986720\n"
67 "loc_FF9866EC:\n"
68 " B loc_FF9866F0\n"
69 "loc_FF9866F0:\n"
70 " STR R5, [R4,#0x40]\n"
71 " STR R5, [R4,#0x30]\n"
72 " STR R5, [R4,#0x34]\n"
73 " STRH R5, [R4,#6]\n"
74 " STR R6, [R4,#0xCC]\n"
75 " STR R7, [R4,#0xB4]\n"
76 " LDR R0, [R4,#0xC]\n"
77 " ADD R0, R0, #1\n"
78 " STR R0, [R4,#0xC]\n"
79 " MOV R0, #6\n"
80 " STR R0, [R4,#0x44]\n"
81 " B loc_FF986740\n"
82 "loc_FF986720:\n"
83 " STR R5, [R4,#0x40]\n"
84 " STR R5, [R4,#0x30]\n"
85 " STR R6, [R4,#0xCC]\n"
86 " STR R7, [R4,#0xB4]\n"
87 " LDR R0, [R4,#0xC]\n"
88 " ADD R0, R0, #1\n"
89 " STR R0, [R4,#0xC]\n"
90 " STR R8, [R4,#0x44]\n"
91 "loc_FF986740:\n"
92 " LDR R2, =0xFF984FDC\n"
93 " LDR R1, =0xB0300\n"
94 " LDR R0, =0xFF9850F0\n"
95 " BL sub_FF853088\n"
96 " B loc_FF9867A4\n"
97 "loc_FF986754:\n"
98  // "BL unlock_optical_zoom\n" -----------> inserted to unlock the zoom, dont need in sx210
99 " BL sub_FF985D2C\n" //__MovieRecorder.c__0
100 " B loc_FF9867A4\n"
101 "loc_FF98675C:\n"
102 " LDR R1, [R4,#0xCC]\n"
103 " BLX R1\n"
104 " B loc_FF9867A4\n"
105 "loc_FF986768:\n"
106 " LDR R1, [R0,#0x18]\n"
107 " LDR R0, [R0,#4]\n"
108 " BL sub_FFAD9B44\n" //__MovWriter.c__0 ; LOCATION: MovWriter.c:0
109 " B loc_FF9867A4\n"
110 "loc_FF986778:\n"
111 " LDR R0, [R4,#0x44]\n"
112 " CMP R0, #5\n"
113 " STRNE R8, [R4,#0x34]\n"
114 " B loc_FF9867A4\n"
115 "loc_FF986788:\n"
116 " BL sub_FF9854AC\n" //__MovieRecorder.c__1000
117 " B loc_FF9867A4\n"
118 "loc_FF986790:\n"
119 " BL sub_FF98513C\n" //__MovieRecorder.c__0
120 " B loc_FF9867A4\n"
121 "loc_FF986798:\n"
122 " BL sub_FF984F68\n" //__MovieRecorder.c__100
123 " B loc_FF9867A4\n"
124 "loc_FF9867A0:\n"
125 " BL sub_FF986B98\n" //__MovieRecorder.c__100
126 "loc_FF9867A4:\n"
127 " LDR R1, [SP,#0x4]\n"
128 " MOV R3, #0x5F0\n"
129 " STR R5, [R1]\n"
130 " STR R3, [SP]\n"
131 " LDR R0, [R4,#0x28]\n"
132 " LDR R3, =0xFF984C34\n" //aMovierecorder_c
133 " MOV R2, R9\n"
134 " BL sub_FF83B774\n"
135 " B loc_FF986680\n"
136 
137  );
138 } //asm1989 14.11.10 done
void change_video_tables ( int  a,
int  b 
)

Definiert in Zeile 7 der Datei movie_rec.c.

7  {
8 }
void set_quality ( int *  x)

Definiert in Zeile 11 der Datei movie_rec.c.

11  { // -17 highest; +12 lowest
12  if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
13 }