CHDK_DE Vorschauversion  Trunk Rev. 5428
 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_table1 [9] ={0x2000,0x38D,0x788,0x5800,0x9C5,0x14B8,0x10000,0x1C6A,0x3C45}
 
long def_table2 [9] ={0x1CCD,-0x2E1,-0x579,0x4F33,-0x7EB,-0xF0C,0xE666,-0x170A,-0x2BC6}
 
long table1 [9]
 
long table2 [9]
 
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 19 der Datei movie_rec.c.

19  {
20  asm volatile(
21 " STMFD SP!, {R4,LR}\n"
22 " SUB SP, SP, #4\n"
23 " MOV R4, SP\n"
24 " B loc_FFD1D02C\n"
25 " loc_FFD1CF7C:\n"
26 " LDR R3, =0x73EB8\n"
27 " LDR R2, [R3]\n"
28 " CMP R2, #0\n"
29 " BNE loc_FFD1D018\n"
30 " SUB R3, R12, #1\n"
31 " CMP R3, #0xA\n"
32 " LDRLS PC, [PC,R3,LSL#2]\n"
33 " B loc_FFD1D018\n"
34 " .long loc_FFD1CFC8\n"
35 " .long loc_FFD1CFD0\n"
36 " .long loc_FFD1CFE8\n"
37 " .long loc_FFD1CFF0\n"
38 " .long loc_FFD1CFF8\n"
39 " .long loc_FFD1CFD8\n"
40 " .long loc_FFD1D000\n"
41 " .long loc_FFD1CFE0\n"
42 " .long loc_FFD1D018\n"
43 " .long loc_FFD1D010\n"
44 " .long loc_FFD1D008\n"
45 " loc_FFD1CFC8:\n"
46 " BL sub_FFD1D0AC\n"
47 " B loc_FFD1D014\n"
48 " loc_FFD1CFD0:\n"
49 " BL unlock_optical_zoom\n" // +
50 " BL sub_FFD1D2E0_my\n" //changed some code to allow longer movies
51 " B loc_FFD1D014\n"
52 " loc_FFD1CFD8:\n"
53 " BL sub_FFD1D7A8_my\n" //
54 " B loc_FFD1D014\n"
55 " loc_FFD1CFE0:\n"
56 " BL sub_FFD1DC94\n"
57 " B loc_FFD1D014\n"
58 " loc_FFD1CFE8:\n"
59 " BL sub_FFD1DA7C\n"
60 " B loc_FFD1D014\n"
61 " loc_FFD1CFF0:\n"
62 " BL sub_FFD1DEA0\n"
63 " B loc_FFD1D014\n"
64 " loc_FFD1CFF8:\n"
65 " BL sub_FFD1E064\n"
66 " B loc_FFD1D014\n"
67 " loc_FFD1D000:\n"
68 " BL sub_FFD1DD54\n"
69 " B loc_FFD1D014\n"
70 " loc_FFD1D008:\n"
71 " BL sub_FFD1DE34\n"
72 " B loc_FFD1D014\n"
73 " loc_FFD1D010:\n"
74 " BL sub_FFD1DACC\n"
75 " loc_FFD1D014:\n"
76 " LDR R1, [SP]\n"
77 " loc_FFD1D018:\n"
78 " LDR R3, =0x73DE8\n"
79 " MOV R2, #0\n"
80 " STR R2, [R1]\n"
81 " LDR R0, [R3]\n"
82 " BL sub_ffc113ac\n" // PostMessageQueue
83 " loc_FFD1D02C:\n"
84 " LDR R3, =0x73DE4\n"
85 " MOV R1, R4\n"
86 " LDR R0, [R3]\n"
87 " MOV R2, #0\n"
88 " BL sub_ffc10f94\n" // ReceiveMessageQueue
89 " LDR R0, [SP]\n"
90 " LDR R12, [R0]\n"
91 " CMP R12, #0xC\n"
92 " MOV R1, R0\n"
93 " BNE loc_FFD1CF7C\n"
94 " LDR R3, =0x73DDC\n"
95 " LDR R0, [R3]\n"
96 " BL sub_ffc11d68\n" // GiveSemaphore
97 " BL sub_ffc12724\n" // ExitTask
98 " ADD SP, SP, #4\n"
99 " LDMFD SP!, {R4,PC}\n"
100  );
101 }
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<9;i++) {table1[i]=(def_table1[i]*a)/b; table2[i]=(def_table2[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_table1[9] ={0x2000,0x38D,0x788,0x5800,0x9C5,0x14B8,0x10000,0x1C6A,0x3C45}

Definiert in Zeile 6 der Datei movie_rec.c.

long def_table2[9] ={0x1CCD,-0x2E1,-0x579,0x4F33,-0x7EB,-0xF0C,0xE666,-0x170A,-0x2BC6}

Definiert in Zeile 7 der Datei movie_rec.c.

long table1[9]

Definiert in Zeile 9 der Datei movie_rec.c.

long table2[9]

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.