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_table [68]
 
long table [68]
 
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)  )

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

!!

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

__MovieRecorder_c__100

__MovieRecorder_c__100

Definiert in Zeile 28 der Datei movie_rec.c.

28  {
29 asm volatile (
30 " STMFD SP!, {R3-R7,LR} \n"
31 " LDR R4, =0x5868 \n"
32 " MOV R6, #0 \n"
33 " MOV R5, #1 \n"
34 
35 "loc_FF862E58:\n"
36 " LDR R0, [R4, #0x18] \n"
37 " MOV R2, #0 \n"
38 " MOV R1, SP \n"
39 " BL sub_FF82A4F8 /*_ReceiveMessageQueue*/ \n"
40 " LDR R0, [R4, #0xAC] \n"
41 " MOV R1, #0 \n"
42 " BL _TakeSemaphore \n"
43 " LDR R0, [R4, #0x20] \n"
44 " CMP R0, #0 \n"
45 " BNE loc_FF862F34 \n"
46 " LDR R0, [SP] \n"
47 " LDR R1, [R0] \n"
48 " SUB R1, R1, #2 \n"
49 " CMP R1, #9 \n"
50 " ADDLS PC, PC, R1, LSL#2 \n"
51 " B loc_FF862F34 \n"
52 " B loc_FF862EF0 \n"
53 " B loc_FF862F08 \n"
54 " B loc_FF862F18 \n"
55 " B loc_FF862F20 \n"
56 " B loc_FF862EF8 \n"
57 " B loc_FF862F28 \n"
58 " B loc_FF862F00 \n"
59 " B loc_FF862F34 \n"
60 " B loc_FF862F30 \n"
61 " B loc_FF862EC0 \n"
62 
63 "loc_FF862EC0:\n"
64 " LDR R0, =0xFF862AC8 \n"
65 " STR R6, [R4, #0x34] \n"
66 " STR R0, [R4, #0xA0] \n"
67 " LDR R0, =0xFF86201C \n"
68 " LDR R2, =0xFF862020 \n"
69 " STR R0, [R4, #0xA4] \n"
70 " LDR R1, =0x1A990 \n"
71 " LDR R0, =0xFF862124 \n"
72 " STR R6, [R4, #0x24] \n"
73 " BL sub_FF84082C \n"
74 " STR R5, [R4, #0x38] \n"
75 " B loc_FF862F34 \n"
76 
77 "loc_FF862EF0:\n"
78 //" BL unlock_optical_zoom\n"
79 " BL sub_FF862BF0 \n"
80 " B loc_FF862F34 \n"
81 
82 "loc_FF862EF8:\n"
83 " BL sub_FF862904_my \n" // --> Patched. Old value = 0xFF862904.
84 " B loc_FF862F34 \n"
85 
86 "loc_FF862F00:\n"
87 " BL sub_FF86328C \n"
88 " B loc_FF862F34 \n"
89 
90 "loc_FF862F08:\n"
91 " LDR R0, [R4, #0x38] \n"
92 " CMP R0, #5 \n"
93 " STRNE R5, [R4, #0x28] \n"
94 " B loc_FF862F44 \n"
95 
96 "loc_FF862F18:\n"
97 " BL sub_FF86274C \n"
98 " B loc_FF862F34 \n"
99 
100 "loc_FF862F20:\n"
101 " BL sub_FF862608 \n"
102 " B loc_FF862F34 \n"
103 
104 "loc_FF862F28:\n"
105 " BL sub_FF861FA8 \n"
106 " B loc_FF862F34 \n"
107 
108 "loc_FF862F30:\n"
109 " BL sub_FF8631B0 \n"
110 
111 "loc_FF862F34:\n"
112 " LDR R0, [SP] \n"
113 " LDR R1, [R0] \n"
114 " CMP R1, #9 \n"
115 " BLEQ sub_FF862498 \n"
116 
117 "loc_FF862F44:\n"
118 " LDR R1, [SP] \n"
119 " MOV R2, #0 \n"
120 " STR R6, [R1] \n"
121 " LDR R0, [R4, #0x1C] \n"
122 " BL sub_FF82A620 /*_PostMessageQueue*/ \n"
123 " LDR R0, [R4, #0xAC] \n"
124 " BL _GiveSemaphore \n"
125 " B loc_FF862E58 \n"
126 );
127 }
void change_video_tables ( int  a,
int  b 
)

Definiert in Zeile 19 der Datei movie_rec.c.

19  {
20  int i;
21  for (i=0;i<68;i++) table[i]=(def_table[i]*a)/b;
22 }

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

long def_table[68]
Initialisierung:
={
0x2000, 0x38D, 0x788, 0xBE1, 0x10CB, 0x1642, 0x1C48, 0x22F9, 0x2A79, 0x32AA, 0x3C01, 0x4637,
0x5190, 0x5E0E, 0x5800, 0x9C5, 0x14B8, 0x20C9, 0x2E31, 0x3D39, 0x4DC9, 0x6030, 0x74D1, 0x8B8D,
0xA509, 0xC160, 0xE054, 0x102AF, 0x10000, 0x1C6A, 0x3C45, 0x5F60, 0x8661, 0xB21A, 0xE249, 0x117D2,
0x153D5, 0x195F8, 0x1E01C, 0x2328E, 0x28C99, 0x2F08B, 0x8000, 0xE35, 0x1E23, 0x2FB0, 0x4331, 0x590D,
0x7125, 0x8BE9, 0xA9EB, 0xCAFC, 0xF00E, 0x11947, 0x1464D, 0x17846, 0x1CCD, -0x2E1, -0x579, 0x4F33,
-0x7EB, -0xF0C, 0xE666, -0x170A, -0x2BC6, 0x7333, -0xB85, -0x15E3}

Definiert in Zeile 9 der Datei movie_rec.c.

long table[68]

Definiert in Zeile 17 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.