CHDK_DE Vorschauversion  Trunk Rev. 6014
 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 (__attribute__((unused)) int a, __attribute__((unused)) int b)
 
void set_quality (int *x)
 
void __attribute__ ((naked, noinline))
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 15 der Datei movie_rec.c.

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

Definiert in Zeile 7 der Datei movie_rec.c.

7 {}
void set_quality ( int *  x)

Definiert in Zeile 10 der Datei movie_rec.c.

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