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-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 [24]
 
long table [24]
 
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 20 der Datei movie_rec.c.

20  {
21 asm volatile (
22  "STMFD SP!, {R2-R8,LR} \n"
23  "LDR R8, =0x346 \n"
24  "LDR R7, =0x2710 \n"
25  "LDR R4, =0x5748 \n"
26  "MOV R6, #0 \n"
27  "MOV R5, #1 \n"
28 "loc_FFD1BE78:\n"
29  "LDR R0, [R4, #0x18] \n"
30  "MOV R2, #0 \n"
31  "ADD R1, SP, #4 \n"
32  "BL sub_FFC2936C \n"
33  "LDR R0, [R4, #0x20] \n"
34  "CMP R0, #0 \n"
35  "BNE loc_FFD1BF48 \n"
36  "LDR R0, [SP, #4] \n"
37  "LDR R1, [R0] \n"
38  "SUB R1, R1, #2 \n"
39  "CMP R1, #9 \n"
40  "ADDLS PC, PC, R1, LSL #2 \n"
41  "B loc_FFD1BF48 \n"
42  "B loc_FFD1BEFC \n"
43  "B loc_FFD1BF1C \n"
44  "B loc_FFD1BF2C \n"
45  "B loc_FFD1BF34 \n"
46  "B loc_FFD1BF04 \n"
47  "B loc_FFD1BF3C \n"
48  "B loc_FFD1BF0C \n"
49  "B loc_FFD1BF48 \n"
50  "B loc_FFD1BF44 \n"
51  "B loc_FFD1BED4 \n"
52 "loc_FFD1BED4:\n"
53  "LDR R0, =0xFFD1BB7C \n"
54  "STR R6, [R4, #0x34] \n"
55  "STR R0, [R4, #0xA8] \n"
56  "LDR R0, =0xFFD1B59C \n"
57  "LDR R2, =0xFFD1B4B8 \n"
58  "LDR R1, =0x72318 \n"
59  "STR R6, [R4, #0x24] \n"
60  "BL sub_FFCBDCC4 \n"
61  "STR R5, [R4, #0x38] \n"
62  "B loc_FFD1BF48 \n"
63 "loc_FFD1BEFC:\n"
64  "BL unlock_optical_zoom\n" //+-----> inserted to unlock the zoom
65  "BL sub_FFD1BC74 \n"
66  "B loc_FFD1BF48 \n"
67 "loc_FFD1BF04:\n"
68 // "BL sub_FFD1B97C \n" //original
69  "BL sub_FFD1B97C_my \n" //patched
70  "B loc_FFD1BF48 \n"
71 "loc_FFD1BF0C:\n"
72  "LDR R1, [R0, #0x10] \n"
73  "LDR R0, [R0, #4] \n"
74  "BL sub_FFE16E10 \n"
75  "B loc_FFD1BF48 \n"
76 "loc_FFD1BF1C:\n"
77  "LDR R0, [R4, #0x38] \n"
78  "CMP R0, #5 \n"
79  "STRNE R5, [R4, #0x28] \n"
80  "B loc_FFD1BF48 \n"
81 "loc_FFD1BF2C:\n"
82  "BL sub_FFD1B758 \n"
83  "B loc_FFD1BF48 \n"
84 "loc_FFD1BF34:\n"
85  "BL sub_FFD1B5E8 \n"
86  "B loc_FFD1BF48 \n"
87 "loc_FFD1BF3C:\n"
88  "BL sub_FFD1B444 \n"
89  "B loc_FFD1BF48 \n"
90 "loc_FFD1BF44:\n"
91  "BL sub_FFD1C0B0 \n"
92 "loc_FFD1BF48:\n"
93  "LDR R1, [SP, #4] \n"
94  "LDR R3, =0xFFD1B2D4 \n"
95  "STR R6, [R1] \n"
96  "STR R8, [SP] \n"
97  "LDR R0, [R4, #0x1C] \n"
98  "MOV R2, R7 \n"
99  "BL sub_FFC29CC0 \n"
100  "B loc_FFD1BE78 \n"
101  );
102 }
void change_video_tables ( int  a,
int  b 
)

Definiert in Zeile 11 der Datei movie_rec.c.

11  {
12  int i;
13  for (i=0;i<24;i++) table[i]=(def_table[i]*a)/b;
14 }

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 16 der Datei movie_rec.c.

long def_table[24]
Initialisierung:
={0x2000, 0x38D, 0x788, 0x5800, 0x9C5, 0x14B8, 0x10000, 0x1C6A, 0x3C45, 0x8000, 0xE35, 0x1E23,
0x1CCD, -0x2E1, -0x579, 0x4F33, -0x7EB, -0xF0C, 0xE666, -0x170A, -0x2BC6, 0x7333, -0xB85, -0x15E3}

Definiert in Zeile 6 der Datei movie_rec.c.

long table[24]

Definiert in Zeile 9 der Datei movie_rec.c.

int* video_mode = &conf.video_mode

Definiert in Zeile 4 der Datei movie_rec.c.

int* video_quality = &conf.video_quality

Definiert in Zeile 3 der Datei movie_rec.c.