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

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define LED_PR   0xc022d1fc
 
#define LED_AF   0xc022d200
 

Funktionen

void debug_led (int state)
 
void shutdown ()
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
void * vid_get_viewport_fb ()
 
char * camera_jpeg_count_str ()
 
int get_flash_params_count (void)
 
void * vid_get_bitmap_fb ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_bitmap_active_palette ()
 
int _GetVRAMHPixelsSize (void)
 
int _GetVRAMVPixelsSize (void)
 
int _GetVideoOutType (void)
 
int vid_get_viewport_yscale ()
 
int vid_get_viewport_width ()
 
long vid_get_viewport_height ()
 
int vid_get_viewport_yoffset ()
 
int vid_get_viewport_height_proper ()
 
int vid_get_viewport_fullscreen_height ()
 
void * vid_get_viewport_fb_d ()
 
void * vid_get_viewport_live_fb ()
 
char * hook_raw_image_addr ()
 
void vid_bitmap_refresh ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 

Variablen

int active_bitmap_buffer
 
char * bitmap_buffer []
 

Makro-Dokumentation

#define LED_AF   0xc022d200

Definiert in Zeile 6 der Datei lib.c.

#define LED_PR   0xc022d1fc

Definiert in Zeile 5 der Datei lib.c.

Dokumentation der Funktionen

int _GetVideoOutType ( void  )
int _GetVRAMHPixelsSize ( void  )
int _GetVRAMVPixelsSize ( void  )
char* camera_jpeg_count_str ( )

Definiert in Zeile 29 der Datei lib.c.

29 { return (char*)0x000d77d4; } // Found @0xffa13d38
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 23 der Datei lib.c.

23  {
24  static char led_table[2]={0,4};
25  if(state<=1) _LEDDrive(led_table[led%sizeof(led_table)], (!state)&1);
26 }
void debug_led ( int  state)

Definiert in Zeile 9 der Datei lib.c.

10 {
11  *(int*)LED_PR=state ? 0x93d800 : 0x83dc00;
12 }
int get_flash_params_count ( void  )

Definiert in Zeile 30 der Datei lib.c.

30 { return 0xF1; } // Found @0xff9c3e58
char* hook_raw_image_addr ( void  )

Definiert in Zeile 145 der Datei lib.c.

146 {
147  return (char*) 0x43727660; //found by campare "JPEG BUFF" at FFB95894 and compare to ixus 160
148 }
void shutdown ( )

Definiert in Zeile 14 der Datei lib.c.

15 {
16  extern void _TurnOffE1(void);
17  _TurnOffE1();
18  while(1);
19 }
void vid_bitmap_refresh ( )

Definiert in Zeile 150 der Datei lib.c.

151 {
152  extern int full_screen_refresh;
153  extern void _ScreenLock();
154  extern void _ScreenUnlock();
155 
156  full_screen_refresh |= 3;
157  _ScreenLock();
158  _ScreenUnlock();
159 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 37 der Datei lib.c.

37  {
39 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 42 der Datei lib.c.

43 {
44  extern int active_palette_buffer;
45  extern int** palette_buffer_ptr;
46  int *p = palette_buffer_ptr[active_palette_buffer];
47  if(!p) {
48  p = palette_buffer_ptr[0];
49  }
50  return (p+1);
51 }
void* vid_get_bitmap_fb ( )

Definiert in Zeile 35 der Datei lib.c.

35 { return (void*)0x40711000; } // Found @0xff86689c
int vid_get_palette_size ( )

Definiert in Zeile 162 der Datei lib.c.

162 { return 256 * 4 ; }
int vid_get_palette_type ( )

Definiert in Zeile 161 der Datei lib.c.

161 { return 5; }
void* vid_get_viewport_fb ( )

Definiert in Zeile 28 der Datei lib.c.

28 { return (void*)0x40866b80; } // Found @0xffb93e14
void* vid_get_viewport_fb_d ( )

Definiert in Zeile 128 der Datei lib.c.

129 {
130  extern char *viewport_fb_d;
131  return viewport_fb_d;
132 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 112 der Datei lib.c.

113 {
115  int vot = _GetVideoOutType();
116  if(vot == 2) {
117  return 576; // PAL in playback is 576
118  } else if(vot == 1) {
119  return 480; // NTSC is 480
120  } else {
121  return 240; // normal is 240
122  }
123  } else {
124  return 240;
125  }
126 }
long vid_get_viewport_height ( )

Definiert in Zeile 75 der Datei lib.c.

76 {
78  {
79  if(_GetVideoOutType() == 2) { // PAL
80  return 288; // 576
81  }
82  // rec or NTSC
83  return 240;
84  }
85  return _GetVRAMVPixelsSize();
86 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 110 der Datei lib.c.

void* vid_get_viewport_live_fb ( )

Definiert in Zeile 134 der Datei lib.c.

135 {
136  extern char active_viewport_buffer;
137  extern void* viewport_buffers[];
138 
139  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
140  // unlike earlier cams, video recording appears to use 4 buffers, like still mode
141  // verified -1 gives best response (50 .. 90 ms)
142  return viewport_buffers[(active_viewport_buffer-1)&3];
143 }
int vid_get_viewport_width ( )

Definiert in Zeile 66 der Datei lib.c.

67 {
69  {
70  return 360;
71  }
72  return _GetVRAMHPixelsSize() >> 1;
73 }
int vid_get_viewport_yoffset ( )

Definiert in Zeile 88 der Datei lib.c.

89 {
91  {
92  return 0;
93  }
94  // no distinct video mode, video uses its own aspect ratio, not still ratio of current mode
95  if (is_video_recording())
96  {
97  if(shooting_get_prop(PROPCASE_VIDEO_RESOLUTION) == 2) { // 640x480
98  return 0;// 4:3 video, no offset
99  } else {
100  return 30; // 16:9 video
101  }
102  }
103  // UI doesn't have aspect ratio setting, but setting image size to W sets aspect prop to 16:9
105  return 30;
106  }
107  return 0;
108 }
int vid_get_viewport_yscale ( )

Definiert in Zeile 58 der Datei lib.c.

58  {
60  return 2;
61  }
62  return 1;
63 }

Variablen-Dokumentation

int active_bitmap_buffer
char* bitmap_buffer[]

Definiert in Zeile 84 der Datei lib.c.