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-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))
 *-------------------------------------------------------------------— Mehr ...
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

*-------------------------------------------------------------------—

!!

Definiert in Zeile 17 der Datei movie_rec.c.

17  {
18 asm volatile (
19 " STMFD SP!, {R2-R10,LR} \n"
20 " LDR R8, =0xFF992440 \n"
21 " LDR R4, =0x6FE0 \n"
22 " LDR R9, =0x2710 \n"
23 " MVN R7, #0 \n"
24 " MOV R5, #1 \n"
25 " MOV R6, #0 \n"
26 
27 "loc_FF992848:\n"
28 " LDR R0, [R4, #0x2C] \n"
29 " MOV R2, #0 \n"
30 " ADD R1, SP, #4 \n"
31 " BL sub_006B8458 /*_ReceiveMessageQueue*/ \n"
32 " LDR R0, [R4, #0x34] \n"
33 " CMP R0, #0 \n"
34 " LDRNE R0, [R4, #0x14] \n"
35 " CMPNE R0, #2 \n"
36 " LDRNE R0, [R4, #0x48] \n"
37 " CMPNE R0, #6 \n"
38 " BNE loc_FF99299C \n"
39 " LDR R0, [SP, #4] \n"
40 " LDR R1, [R0] \n"
41 " SUB R1, R1, #2 \n"
42 " CMP R1, #0xD \n"
43 " ADDCC PC, PC, R1, LSL#2 \n"
44 " B loc_FF99299C \n"
45 " B loc_FF992910 \n"
46 " B loc_FF99293C \n"
47 " B loc_FF99294C \n"
48 " B loc_FF992954 \n"
49 " B loc_FF992918 \n"
50 " B loc_FF99295C \n"
51 " B loc_FF992988 \n"
52 " B loc_FF992990 \n"
53 " B loc_FF992924 \n"
54 " B loc_FF99299C \n"
55 " B loc_FF992998 \n"
56 " B loc_FF9928EC \n"
57 " B loc_FF9928C0 \n"
58 
59 "loc_FF9928C0:\n"
60 " STR R6, [R4, #0x44] \n"
61 " STR R6, [R4, #0x38] \n"
62 " STR R7, [R4, #0xD0] \n"
63 " STRH R6, [R4, #8] \n"
64 " STR R8, [R4, #0xB0] \n"
65 " LDR R0, [R4, #0x14] \n"
66 " ADD R0, R0, #1 \n"
67 " STR R0, [R4, #0x14] \n"
68 " MOV R0, #6 \n"
69 " STR R0, [R4, #0x48] \n"
70 " B loc_FF992908 \n"
71 
72 "loc_FF9928EC:\n"
73 " STR R6, [R4, #0x44] \n"
74 " STR R7, [R4, #0xD0] \n"
75 " STR R8, [R4, #0xB0] \n"
76 " LDR R0, [R4, #0x14] \n"
77 " ADD R0, R0, #1 \n"
78 " STR R0, [R4, #0x14] \n"
79 " STR R5, [R4, #0x48] \n"
80 
81 "loc_FF992908:\n"
82 " STR R5, [R4, #0xC] \n"
83 " B loc_FF99299C \n"
84 
85 "loc_FF992910:\n"
86 " BL sub_FF992128 \n"
87 " B loc_FF99299C \n"
88 
89 "loc_FF992918:\n"
90 //begin patch
91 " LDR R0, =video_compression_rate\n" //added
92 " BL set_quality \n" // added
93 //end patch
94 " LDR R1, [R4, #0xB0] \n"
95 " BLX R1 \n"
96 " B loc_FF99299C \n"
97 
98 "loc_FF992924:\n"
99 " LDR R1, [R0, #0x18] \n"
100 " LDR R2, [R0, #0x28] \n"
101 " LDR R3, [R0, #0x24] \n"
102 " LDR R0, [R0, #4] \n"
103 " BL sub_FFABB508 \n"
104 " B loc_FF99299C \n"
105 
106 "loc_FF99293C:\n"
107 " LDR R0, [R4, #0x48] \n"
108 " CMP R0, #5 \n"
109 " STRNE R5, [R4, #0x38] \n"
110 " B loc_FF99299C \n"
111 
112 "loc_FF99294C:\n"
113 " BL sub_FF991D9C \n"
114 " B loc_FF99299C \n"
115 
116 "loc_FF992954:\n"
117 " BL sub_FF991C5C \n"
118 " B loc_FF99299C \n"
119 
120 "loc_FF99295C:\n"
121 " LDR R0, =0xDA100 \n"
122 " LDR R0, [R0, #8] \n"
123 " CMP R0, #0 \n"
124 " LDRNE R2, =0xFF991B7C \n"
125 " LDRNE R0, =0xFF991C04 \n"
126 " MOVNE R3, #0 \n"
127 " MOVNE R1, R3 \n"
128 " BLNE sub_FF86B7C0 \n"
129 " MOV R0, #3 \n"
130 " STR R0, [R4, #0x48] \n"
131 " B loc_FF99299C \n"
132 
133 "loc_FF992988:\n"
134 " BL sub_FF991B04 \n"
135 " B loc_FF99299C \n"
136 
137 "loc_FF992990:\n"
138 " BL sub_FF993268 \n"
139 " B loc_FF99299C \n"
140 
141 "loc_FF992998:\n"
142 " BL sub_FF99318C \n"
143 
144 "loc_FF99299C:\n"
145 " LDR R1, [SP, #4] \n"
146 " MOV R3, #0x6E0 \n"
147 " STR R6, [R1] \n"
148 " STR R3, [SP] \n"
149 " LDR R3, =0xFF9917F0 /*'MovieRecorder.c'*/ \n"
150 " LDR R0, [R4, #0x30] \n"
151 " MOV R2, R9 \n"
152 " BL sub_006B7CF4 /*_PostMessageQueueStrictly*/ \n"
153 " B loc_FF992848 \n"
154 );
155 }
void change_video_tables ( __attribute__((unused)) int  a,
__attribute__((unused)) int  b 
)

Definiert in Zeile 9 der Datei movie_rec.c.

9 {}
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 }