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 (int a, int b)
 
void __attribute__ ((naked, noinline))
 

Variablen

int * video_quality = &conf.video_quality
 
int * video_mode = &conf.video_mode
 
long def_table [48]
 
long table [48]
 
long CompressionRateTable [] ={0x60, 0x5D, 0x5A, 0x57, 0x54, 0x51, 0x4D, 0x48, 0x42, 0x3B, 0x32, 0x29, 0x22, 0x1D, 0x17, 0x14, 0x10, 0xE, 0xB, 9, 7, 6, 5, 4, 3, 2, 1}
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 26 der Datei movie_rec.c.

26  {
27 asm volatile (
28 " STMFD SP!, {R2-R8,LR} \n"
29 " LDR R8, =0x32B \n"
30 " LDR R7, =0x2710 \n"
31 " LDR R4, =0x56D8 \n"
32 " MOV R6, #0 \n"
33 " MOV R5, #1 \n"
34 
35 "loc_FF85D4D8:\n"
36 " LDR R0, [R4, #0x1C] \n"
37 " MOV R2, #0 \n"
38 " ADD R1, SP, #4 \n"
39 " BL sub_FF829FB0 /*_ReceiveMessageQueue*/ \n"
40 " LDR R0, [R4, #0x24] \n"
41 " CMP R0, #0 \n"
42 " BNE loc_FF85D5A8 \n"
43 " LDR R0, [SP, #4] \n"
44 " LDR R1, [R0] \n"
45 " SUB R1, R1, #2 \n"
46 " CMP R1, #9 \n"
47 " ADDLS PC, PC, R1, LSL#2 \n"
48 " B loc_FF85D5A8 \n"
49 " B loc_FF85D55C \n"
50 " B loc_FF85D57C \n"
51 " B loc_FF85D58C \n"
52 " B loc_FF85D594 \n"
53 " B loc_FF85D564 \n"
54 " B loc_FF85D59C \n"
55 " B loc_FF85D56C \n"
56 " B loc_FF85D5A8 \n"
57 " B loc_FF85D5A4 \n"
58 " B loc_FF85D534 \n"
59 
60 "loc_FF85D534:\n"
61 " LDR R0, =0xFF85D180 \n"
62 " STR R6, [R4, #0x38] \n"
63 " STR R0, [R4, #0xA4] \n"
64 " LDR R0, =0xFF85CABC \n"
65 " LDR R2, =0xFF85C9D8 \n"
66 " LDR R1, =0x1E080 \n"
67 " STR R6, [R4, #0x28] \n"
68 " BL sub_FF83D8B4 \n"
69 " STR R5, [R4, #0x3C] \n"
70 " B loc_FF85D5A8 \n"
71 
72 "loc_FF85D55C:\n"
73 " BL unlock_optical_zoom\n"
74 " BL sub_FF85D278 \n"
75 " B loc_FF85D5A8 \n"
76 
77 "loc_FF85D564:\n"
78 " BL sub_FF85CF18_my \n" // --> Patched. Old value = 0xFF85CF18.
79 " B loc_FF85D5A8 \n"
80 
81 "loc_FF85D56C:\n"
82 " LDR R1, [R0, #0x10] \n"
83 " LDR R0, [R0, #4] \n"
84 " BL sub_FF940D14 \n"
85 " B loc_FF85D5A8 \n"
86 
87 "loc_FF85D57C:\n"
88 " LDR R0, [R4, #0x3C] \n"
89 " CMP R0, #5 \n"
90 " STRNE R5, [R4, #0x2C] \n"
91 " B loc_FF85D5A8 \n"
92 
93 "loc_FF85D58C:\n"
94 " BL sub_FF85CCA8 \n"
95 " B loc_FF85D5A8 \n"
96 
97 "loc_FF85D594:\n"
98 " BL sub_FF85CB08 \n"
99 " B loc_FF85D5A8 \n"
100 
101 "loc_FF85D59C:\n"
102 " BL sub_FF85C964 \n"
103 " B loc_FF85D5A8 \n"
104 
105 "loc_FF85D5A4:\n"
106 " BL sub_FF85D710 \n"
107 
108 "loc_FF85D5A8:\n"
109 " LDR R1, [SP, #4] \n"
110 " STR R6, [R1] \n"
111 " LDR R3, =0xFF85C768 /*'MovieRecorder.c'*/ \n"
112 " MOV R2, R7 \n"
113 " STR R8, [SP] \n"
114 " LDR R0, [R4, #0x20] \n"
115 " BL sub_FF81BF08 /*_PostMessageQueueStrictly*/ \n"
116 " B loc_FF85D4D8 \n"
117 );
118 }
void change_video_tables ( int  a,
int  b 
)

Definiert in Zeile 17 der Datei movie_rec.c.

17  {
18  int i;
19  for (i=0;i<48;i++) table[i]=(def_table[i]*a)/b;
20 }

Variablen-Dokumentation

long CompressionRateTable[] ={0x60, 0x5D, 0x5A, 0x57, 0x54, 0x51, 0x4D, 0x48, 0x42, 0x3B, 0x32, 0x29, 0x22, 0x1D, 0x17, 0x14, 0x10, 0xE, 0xB, 9, 7, 6, 5, 4, 3, 2, 1}

Definiert in Zeile 22 der Datei movie_rec.c.

long def_table[48]
Initialisierung:
={
0x2000, 0x38D, 0x788, 0x5800, 0x9C5, 0x14B8, 0x10000, 0x1C6A, 0x3C45, 0x20000, 0x387A, 0x7813,
0x25800, 0x422F, 0x8CB6, 0x8000, 0xE35, 0x1E23, 0x10000, 0x1C6A, 0x3C45, 0x12C00, 0x2118, 0x465B,
0x1CCD, -0x2E1, -0x579, 0x4F33, -0x7EB, -0xF0C, 0xE666, -0x170A, -0x2BC6, 0x1CC39, -0x2F5B, -0x59F0,
0x21B53, -0x377F, -0x6965, 0x7333, -0xB85, -0x15E3, 0xE666, -0x170A, -0x2BC6, 0x10DAA, -0x1BC0, -0x34B3}

Definiert in Zeile 9 der Datei movie_rec.c.

long table[48]

Definiert in Zeile 15 der Datei movie_rec.c.

int* video_mode = &conf.video_mode

Definiert in Zeile 7 der Datei movie_rec.c.

int* video_quality = &conf.video_quality

Definiert in Zeile 6 der Datei movie_rec.c.