CHDK_DE Vorschauversion  Trunk Rev. 6014
 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 ()
 
long vid_get_viewport_height ()
 
int vid_get_viewport_width ()
 
char * camera_jpeg_count_str ()
 

Dokumentation der Funktionen

char* camera_jpeg_count_str ( )

Definiert in Zeile 86 der Datei lib.c.

87 {
88  return "0000"; //TODO
89 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 3 der Datei lib.c.

4 {
5 return (char*)0x10A87B58; //ixus40 value seems ok
6 }
void* vid_get_bitmap_fb ( )

OSD screen

Definiert in Zeile 35 der Datei lib.c.

36 {
37 /*
38 @6b6b0 108ceb20 @8e2ac? @afb88 @b187c
39 @6b6b4 108E3CA0 (108ceb20+(360*240)) @afb8c
40 */
41  return (void*) 0x108CEB20; //@ff9279d0, same as in ixus40
42  //return (void*) *(long*) (*(int*)0x6b6d0 == 1)?0x6b6b0:0x6b6b4; //experiment... no go...inspired by routine @ff96862c
43 }
void* vid_get_viewport_fb ( )

IMG viewport in 'rec' mode

Definiert in Zeile 49 der Datei lib.c.

50 {
51  return (void*)0x10B02560; //todo
52 }
void* vid_get_viewport_fb_d ( )

IMG viewport in 'play' mode

Definiert in Zeile 58 der Datei lib.c.

59 {
60  //return (void*)(*(int*)0x66820); //not really good either...
61  return (void*)0x109CBD20; //sort of works...
62  //return (void*)0x10a6a760; //
63  //return (void*)0x112fc960; //the last full view of the picture, not affected by zoom (!)
64 }
long vid_get_viewport_height ( )

Definiert in Zeile 66 der Datei lib.c.

67 {
68 /*
69 In replay mode, the viewport height is:
70  576 pixel (PAL output setting, TV-out in use)
71  480 pixel (NTSC output setting, TV-out in use)
72  240 pixel (no tv-out)
73 In rec mode, it's really only 240...
74 In 640x480 movie mode, the viewport is 720x480
75 Conclusion: expect correct results only when the height is 240
76 */
77 // return ((mode_get()&MODE_MASK) == MODE_PLAY)?576:240;
78  return 240;
79 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 9 der Datei lib.c.

10 {
11 //there seem to be 3 buffers:
12 //pointer -> buffer
13 //0x52E4 -> 0x109CBD20
14 //0x52F0 -> 0x10A6A760
15 //0x52FC -> 0x10B02560
16 //above buffer _addresses_ are the same in ixus30, ixus40
17 
18 //suspicious code @ff8a4250, it's kind of like @ffc8e724 in A410...
19 void **fb=(void **)0x3204; //@ff8a4254
20 unsigned char buff = *((unsigned char*)0x3214); //@ff8a4250
21 if (buff == 0) {
22  buff = 2;
23 }
24 else {
25  buff--;
26 }
27 return fb[buff];
28 //above is experimental, the following works for sure
29 //return (void*)0x10B02560;
30 }
int vid_get_viewport_width ( )

Definiert in Zeile 81 der Datei lib.c.

82 {
83  return 360;
84 }