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

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

5  {
6 asm volatile (
7  "STMFD SP!, {R2-R8,LR}\n"
8  "LDR R8, =0x32B\n"
9  "LDR R7, =0x2710\n"
10  "LDR R4, =0x5178\n"
11  "MOV R6, #0\n"
12  "MOV R5, #1\n"
13 "loc_FFC46690:\n"
14  "LDR R0, [R4, #0x18]\n"
15  "MOV R2, #0\n"
16  "ADD R1, SP, #4\n"
17  "BL sub_FFC1764C\n"
18  "LDR R0, [R4, #0x20]\n"
19  "CMP R0, #0\n"
20  "BNE loc_FFC46760\n"
21  "LDR R0, [SP, #4]\n"
22  "LDR R1, [R0]\n"
23  "SUB R1, R1, #2\n"
24  "CMP R1, #9\n"
25  "ADDLS PC, PC, R1, LSL #2\n"
26  "B loc_FFC46760\n"
27  "B loc_FFC46714\n"
28  "B loc_FFC46734\n"
29  "B loc_FFC46744\n"
30  "B loc_FFC4674C\n"
31  "B loc_FFC4671C\n"
32  "B loc_FFC46754\n"
33  "B loc_FFC46724\n"
34  "B loc_FFC46760\n"
35  "B loc_FFC4675C\n"
36  "B loc_FFC466EC\n"
37 "loc_FFC466EC:\n"
38  "LDR R0, =0xFFC46374\n"
39  "STR R6, [R4, #0x34]\n"
40  "STR R0, [R4, #0xA0]\n"
41  "LDR R0, =0xFFC45DEC\n"
42  "LDR R2, =0xFFC45D08\n"
43  "LDR R1, =0x180AC\n"
44  "STR R6, [R4, #0x24]\n"
45  "BL sub_FFCA2C98\n"
46  "STR R5, [R4, #0x38]\n"
47  "B loc_FFC46760\n"
48 "loc_FFC46714:\n"
49  "BL unlock_optical_zoom\n" //+
50  "BL sub_FFC4646C\n"
51  "B loc_FFC46760\n"
52 "loc_FFC4671C:\n"
53 // "BL sub_FFC46174\n" //original
54  "BL sub_FFC46174_my\n" //patch
55  "B loc_FFC46760\n"
56 "loc_FFC46724:\n"
57  "LDR R1, [R0, #0x10]\n"
58  "LDR R0, [R0, #4]\n"
59  "BL sub_FFD0B0D4\n"
60  "B loc_FFC46760\n"
61 "loc_FFC46734:\n"
62  "LDR R0, [R4, #0x38]\n"
63  "CMP R0, #5\n"
64  "STRNE R5, [R4, #0x28]\n"
65  "B loc_FFC46760\n"
66 "loc_FFC46744:\n"
67  "BL sub_FFC45F7C\n"
68  "B loc_FFC46760\n"
69 "loc_FFC4674C:\n"
70  "BL sub_FFC45E38\n"
71  "B loc_FFC46760\n"
72 "loc_FFC46754:\n"
73  "BL sub_FFC45C94\n"
74  "B loc_FFC46760\n"
75 "loc_FFC4675C:\n"
76  "BL sub_FFC468C8\n"
77 "loc_FFC46760:\n"
78  "LDR R1, [SP, #4]\n"
79  "LDR R3, =0xFFC45AFC\n" // aMovierecorder_
80  "STR R6, [R1]\n"
81  "STR R8, [SP]\n"
82  "LDR R0, [R4, #0x1C]\n"
83  "MOV R2, R7\n"
84  "BL sub_FFC0BCF8\n"
85  "B loc_FFC46690\n"
86  );
87 }
void change_video_tables ( int  a,
int  b 
)

Definiert in Zeile 333 der Datei movie_rec.c.

333  {
334  int i;
335  for (i=0;i<24;i++) table[i]=(def_table[i]*a)/b;
336 }

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

long table[24]

Definiert in Zeile 331 der Datei movie_rec.c.

int* video_mode = &conf.video_mode

Definiert in Zeile 326 der Datei movie_rec.c.

int* video_quality = &conf.video_quality

Definiert in Zeile 325 der Datei movie_rec.c.