CHDK_DE Vorschauversion  Trunk Rev. 5412
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
lib.c-Dateireferenz
#include "platform.h"
+ Include-Abhängigkeitsdiagramm für lib.c:

gehe zum Quellcode dieser Datei

Funktionen

char * hook_raw_image_addr ()
 
void * vid_get_viewport_live_fb ()
 
void * vid_get_bitmap_fb ()
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_fb_d ()
 
int vid_get_viewport_byte_width ()
 
int vid_get_viewport_width ()
 
int vid_get_viewport_display_xoffset ()
 
long vid_get_viewport_height ()
 
char * camera_jpeg_count_str ()
 

Dokumentation der Funktionen

char* camera_jpeg_count_str ( )

Definiert in Zeile 163 der Datei lib.c.

164 {
165  return (void*)0xB7E00; // found at FFA23818
166 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 20 der Datei lib.c.

21 {
22  //found at FFB4FF90
23 
24  //ROM:FFB4FF90 LDR R6, =0x4132CD20
25  //..
26  //ROM:FFB4FFE8 MOV R1, R6
27  //ROM:FFB4FFEC ADR R0, aCrawBuffP ; "CRAW BUFF %p"
28 
29  //GOOD ONE
30  //return (char*)(0x4132CD20);
31 //NO: 44CF6800 ni 420F85B2 ni 46DCB892 ni 433FCF80
32 
33 
34  if (*((int*)0x34D0) != 0) // 34C4 + C -> FF885154 ->FF885180 (ixus 1000)
35  return (char*)(0x46000000); // found by dumping all memory and searching for raw image bytes at FFB8ECF4 pointed at aSsimgprocbuf_c DCB "SsImgProcBuf.c",0
36  else
37  return (char*) 0x4132CD20; // found at[search CRAW BUF]
38 
39 
40 
41  //return (char*)(0x4132CD20);
42 
43  //Testing this is SX210 code and addresses keept for if its needed in this cam
44  //return (char*) (*(int*)(0x3310+0x18) ? 0x43289400 : 0x415D7CC0); //0x3310 at FF880698 others at FF86AA48
45 
46  //testing the other raw method FAILS
47 // return (char*) (*(int*)(0x34C4+0x18) ? 0x47209000 : 0x44A345C4); //0x34C4 at FF885B94 others at FF86C7D4
48 
49 
50 
51 }
void* vid_get_bitmap_fb ( )

Definiert in Zeile 105 der Datei lib.c.

106 {
107  return (void*)0x40471000; // found at FFA97414
108 }
int vid_get_viewport_byte_width ( )

Definiert in Zeile 131 der Datei lib.c.

131  {
132  return 960 * 6 / 4; // IXUS 1000 - wide screen LCD is 960 pixels wide, each group of 4 pixels uses 6 bytes (UYVYYY)
133 }
int vid_get_viewport_display_xoffset ( )

Definiert in Zeile 146 der Datei lib.c.

147 {
148  if (get_movie_status() > 1){return 0;}
149  if (shooting_get_prop(PROPCASE_ASPECT_RATIO) == 1 || ((mode_get()&MODE_MASK)== 100 ))
150  return 0;
151  else
152  return 60;
153 }
void* vid_get_viewport_fb ( )

Definiert in Zeile 113 der Datei lib.c.

114 {
115  return (void*)0x40587700; // found by search for VRAM Address @FFB4CB2C
116 }
void* vid_get_viewport_fb_d ( )

Definiert in Zeile 121 der Datei lib.c.

122 {
123 
124  return (void*)(*(int*)(0x3230+0x58)); // found at FF877D10 (0x58 atFF877D48)
125 }
long vid_get_viewport_height ( )

Definiert in Zeile 157 der Datei lib.c.

158 {
159  return 240;
160 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 87 der Datei lib.c.

88 {
89 
90 
91  return 0x0;
92 /*
93  //sx210 code left
94  void **fb=(void **)0x2180; // 0x2150 or 0x2180 (old SX200) ???? What for SX210
95  unsigned char buff = *((unsigned char*)0x2058); // found at FF84FA18 (guess work)
96  if (buff == 0) buff = 2; else buff--;
97  return fb[buff];*/
98 
99 
100 }
int vid_get_viewport_width ( )

Definiert in Zeile 135 der Datei lib.c.

136 {
137  extern int kbd_debug1;
138  //kbd_debug1 = mode_get();
139  if (get_movie_status() > 1){return 480;}
140  if (shooting_get_prop(PROPCASE_ASPECT_RATIO) == 1 ) // on 16:9 shoot mode its 1.switch to video is 100
141  return 480;
142  else
143  return 360;
144 }