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

Funktionen

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

Variablen

int active_raw_buffer
 
char * raw_buffers []
 
char active_viewport_buffer
 
void * viewport_buffers []
 
static long vp_xo [5] = { 0, 0, 0, 44 }
 
static long vp_yo [5] = { 0, 30, 13, 0 }
 
int active_bitmap_buffer
 
char * bitmap_buffer []
 

Dokumentation der Funktionen

char* camera_jpeg_count_str ( )

Definiert in Zeile 19 der Datei lib.c.

20 {
21  extern char jpeg_count_str[];
22  return jpeg_count_str;
23 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 61 der Datei lib.c.

61  {
62  static char led_table[2]={0,4};
63  if(state<=1) _LEDDrive(led_table[led%sizeof(led_table)], (!state)&1);
64 }
void debug_led ( __attribute__((unused)) int  state)

Definiert in Zeile 49 der Datei lib.c.

50 {
51  // using power LED, which defaults to on
52  // for debugging turn LED off if state is 1 and on for state = 0
53  // leaves LED on at end of debugging
54 // *(int*)LED_PR=state ? 0x46 : 0x44;
55 }
int get_flash_params_count ( void  )

Definiert in Zeile 25 der Datei lib.c.

26 {
27  return 0xa6;
28 }
char* hook_alt_raw_image_addr ( )

Definiert in Zeile 13 der Datei lib.c.

14 {
15  return raw_buffers[(active_raw_buffer^1)];
16 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 8 der Datei lib.c.

9 {
11 }
void shutdown ( )

Definiert in Zeile 33 der Datei lib.c.

34 {
35 // volatile long *p = (void*)LED_PR;
36 
37  asm(
38  "MRS R1, CPSR\n"
39  "AND R0, R1, #0x80\n"
40  "ORR R1, R1, #0x80\n"
41  "MSR CPSR_cf, R1\n"
42  :::"r1","r0");
43 
44 // *p = 0x44; // power off.
45 
46  while(1);
47 }
void vid_bitmap_refresh ( )

Definiert in Zeile 212 der Datei lib.c.

212  {
213 
214  extern int full_screen_refresh;
215  extern void _ScreenLock();
216  extern void _ScreenUnlock();
217 
218  full_screen_refresh |= 3;
219  _ScreenLock();
220  _ScreenUnlock();
221 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 247 der Datei lib.c.

247  {
249 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 223 der Datei lib.c.

223  {
224  extern int active_palette_buffer;
225  extern char* palette_buffer[];
226  void* p = palette_buffer[active_palette_buffer];
227  // Don't add offset if value is 0
228  if (p) p += 4;
229  return p;
230 }
void* vid_get_bitmap_fb ( )

Definiert in Zeile 242 der Datei lib.c.

242  {
243  // Return first bitmap buffer address
244  return bitmap_buffer[0];
245 }
int vid_get_palette_size ( )

Definiert in Zeile 236 der Datei lib.c.

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

Definiert in Zeile 235 der Datei lib.c.

235 { return 3; }
int vid_get_viewport_display_xoffset ( )

Definiert in Zeile 127 der Datei lib.c.

128 {
130  {
131  return 0;
132  }
133  else if (camera_info.state.mode_shooting == MODE_STITCH) // guessed based on elph130
134  {
135  if (shooting_get_prop(PROPCASE_STITCH_DIRECTION) == 0) // Direction check
136  if (shooting_get_prop(PROPCASE_STITCH_SEQUENCE) == 0) // Shot already taken?
137  return 40;
138  else
139  return 140;
140  else
141  if (shooting_get_prop(PROPCASE_STITCH_SEQUENCE) == 0) // Shot already taken?
142  return 140;
143  else
144  return 40;
145  }
147  return 0;
148  }
149  else
150  {
152  }
153 }
int vid_get_viewport_display_yoffset ( )

Definiert in Zeile 183 der Datei lib.c.

184 {
186  {
187  return 0;
188  }
189  else if (camera_info.state.mode_shooting == MODE_STITCH) // guessed based on elph130
190  {
191  return 72;
192  }
194  {
195  if(shooting_get_prop(PROPCASE_VIDEO_RESOLUTION) == 2) { // 640x480
196  return 0;// 4:3 video, no offset
197  } else {
198  return 30; // 16:9 video
199  }
200  }
201  else
202  {
204  }
205 }
int vid_get_viewport_display_yoffset_proper ( )

Definiert in Zeile 208 der Datei lib.c.

208 { return vid_get_viewport_display_yoffset() * 2; }
void* vid_get_viewport_fb ( )

Definiert in Zeile 78 der Datei lib.c.

79 {
80  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
81  return viewport_buffers[0];
82 }
void* vid_get_viewport_fb_d ( )

Definiert in Zeile 68 der Datei lib.c.

69 {
70  extern char *viewport_fb_d;
71  return viewport_fb_d;
72 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 210 der Datei lib.c.

210 { return 480; }
long vid_get_viewport_height ( )

Definiert in Zeile 108 der Datei lib.c.

109 {
111  {
112  return 240;
113  }
114  extern int _GetVRAMVPixelsSize();
115  return _GetVRAMVPixelsSize() >> 1;
116 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 209 der Datei lib.c.

209 { return vid_get_viewport_height() * 2; }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 84 der Datei lib.c.

85 {
87  return viewport_buffers[0]; // Video only seems to use the first viewport buffer.
88 
89  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
91 }
int vid_get_viewport_width ( )

Definiert in Zeile 98 der Datei lib.c.

99 {
101  {
102  return 360;
103  }
104  extern int _GetVRAMHPixelsSize();
105  return _GetVRAMHPixelsSize() >> 1;
106 }
int vid_get_viewport_xoffset ( )

Definiert in Zeile 122 der Datei lib.c.

123 {
124  return 0;
125 }
int vid_get_viewport_yoffset ( )

Definiert in Zeile 159 der Datei lib.c.

160 {
162  {
163  return 0;
164  }
165  else if (camera_info.state.mode_shooting == MODE_STITCH) // guessed based on elph130
166  {
167  return 0;
168  }
170  {
171  if(shooting_get_prop(PROPCASE_VIDEO_RESOLUTION) == 2) { // 640x480
172  return 0;// 4:3 video, no offset
173  } else {
174  return 30; // 16:9 video
175  }
176  }
177  else
178  {
180  }
181 }
int vid_get_viewport_yscale ( )

Definiert in Zeile 94 der Datei lib.c.

94  {
95  return 2;
96 }

Variablen-Dokumentation

int active_bitmap_buffer
int active_raw_buffer
char active_viewport_buffer
char* bitmap_buffer[]

Definiert in Zeile 84 der Datei lib.c.

char* raw_buffers[]
void* viewport_buffers[]
long vp_xo[5] = { 0, 0, 0, 44 }
static

Definiert in Zeile 119 der Datei lib.c.

long vp_yo[5] = { 0, 30, 13, 0 }
static

Definiert in Zeile 157 der Datei lib.c.