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

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 [] = {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)  )

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

!!

IS_ERROR( hSoundHandle )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

Definiert in Zeile 23 der Datei movie_rec.c.

23  {
24  asm volatile(
25  "STMFD SP!, {R4,R5,LR}\n"
26  "SUB SP, SP, #4\n"
27  "MOV R5, SP\n"
28  "MOV R4, #0\n"
29 
30  "loc_FF984E94:\n"
31  "LDR R3, =0x76324\n"
32  "MOV R2, #0\n"
33  "LDR R0, [R3]\n"
34  "MOV R1, R5\n"
35  "BL sub_FF8213F8\n" // ReceiveMessageQueue()
36  "LDR R3, =0x763F8\n"
37  "LDR R2, [R3]\n"
38  "CMP R2, #0\n"
39  "BNE loc_FF984F40\n"
40  "LDR R1, [SP]\n"
41  "LDR R3, [R1]\n"
42  "SUB R3, R3, #2\n"
43  "MOV R0, R1\n"
44  "CMP R3, #9\n" // switch 10 cases
45  "LDRLS PC, [PC,R3,LSL#2]\n" // switch jump
46  "B loc_FF984F44\n" // switch default
47 
48  ".long loc_FF984F04\n" // jump table for switch statement
49  ".long loc_FF984F1C\n"
50  ".long loc_FF984F24\n"
51  ".long loc_FF984F2C\n"
52  ".long loc_FF984F0C\n"
53  ".long loc_FF984F34\n"
54  ".long loc_FF984F14\n"
55  ".long loc_FF984F44\n"
56  ".long loc_FF984F3C\n"
57  ".long loc_FF984EFC\n"
58 
59  "loc_FF984EFC:\n"
60  "BL sub_FF984FB0\n"
61  "B loc_FF984F40\n"
62 
63  "loc_FF984F04:\n"
64  "BL unlock_optical_zoom\n" // + like SD800
65  "BL sub_FF985194\n"
66  "B loc_FF984F40\n"
67 
68  "loc_FF984F0C:\n"
69  //"BL sub_FF98565C\n" // original
70  "BL sub_FF98565C_my\n" // + like SD800
71  "B loc_FF984F40\n"
72 
73  "loc_FF984F14:\n"
74  "BL sub_FF985D48\n"
75  "B loc_FF984F40\n"
76 
77  "loc_FF984F1C:\n"
78  "BL sub_FF98592C\n"
79  "B loc_FF984F40\n"
80 
81  "loc_FF984F24:\n"
82  "BL sub_FF985EE4\n"
83  "B loc_FF984F40\n"
84 
85  "loc_FF984F2C:\n"
86  "BL sub_FF986114\n"
87  "B loc_FF984F40\n"
88 
89  "loc_FF984F34:\n"
90  "BL sub_FF985DD0\n"
91  "B loc_FF984F40\n"
92 
93  "loc_FF984F3C:\n"
94  "BL sub_FF98597C\n"
95 
96  "loc_FF984F40:\n"
97  "LDR R1, [SP]\n"
98 
99  "loc_FF984F44:\n"
100  "LDR R3, =0x76328\n"
101  "STR R4, [R1]\n"
102  "LDR R0, [R3]\n"
103  "MOV R2, R4\n"
104  "BL sub_FF821810\n" // PostMessageQueue()
105  "B loc_FF984E94\n"
106  );
107 }
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++) {
14  table1[i]=(def_table1[i]*a)/b;
15  table2[i]=(def_table2[i]*a)/b;
16  }
17 }

Variablen-Dokumentation

long CompressionRateTable[] = {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 20 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.