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)
 
char * hook_raw_image_addr ()
 
char * hook_alt_raw_image_addr ()
 
char * camera_jpeg_count_str ()
 
void vid_bitmap_refresh ()
 
void shutdown ()
 
int get_flash_params_count (void)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
void * vid_get_bitmap_fb ()
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_fb_d ()
 
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_display_xoffset ()
 
int vid_get_viewport_yoffset ()
 
int vid_get_viewport_display_yoffset ()
 
int vid_get_viewport_display_xoffset_proper ()
 
int vid_get_viewport_display_yoffset_proper ()
 
int vid_get_viewport_height_proper ()
 
int vid_get_viewport_fullscreen_height ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_bitmap_active_palette ()
 

Variablen

int active_raw_buffer
 
char * raw_buffers []
 
char active_viewport_buffer
 
void * viewport_buffers []
 
static long vp_xo [4] = { 0, 0, 0, 44 }
 
static long vp_yo [5] = { 0, 30, 13, 0 }
 
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

char* camera_jpeg_count_str ( )

Definiert in Zeile 29 der Datei lib.c.

30 {
31  extern char jpeg_count_str[];
32  return jpeg_count_str;
33 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 59 der Datei lib.c.

59  {
60  static char led_table[]={0,4}; // status, AF
61  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
62 }
void debug_led ( int  state)

Definiert in Zeile 8 der Datei lib.c.

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

Definiert in Zeile 55 der Datei lib.c.

55 { return 0xf1; } // Found @0xff23c0f0
char* hook_alt_raw_image_addr ( )

Definiert in Zeile 22 der Datei lib.c.

23 {
24  return raw_buffers[((active_raw_buffer & 1)^1)];
25 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 17 der Datei lib.c.

18 {
19  return raw_buffers[active_raw_buffer & 1];
20 }
void shutdown ( )

Definiert in Zeile 47 der Datei lib.c.

48 {
49  extern void _TurnOffE1(void);
50  _TurnOffE1();
51  while(1);
52 }
void vid_bitmap_refresh ( )

Definiert in Zeile 35 der Datei lib.c.

36 {
37  extern int full_screen_refresh;
38  extern void _ScreenLock();
39  extern void _ScreenUnlock();
40 
41  full_screen_refresh |= 3;
42  _ScreenLock();
43  _ScreenUnlock();
44 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 196 der Datei lib.c.

197 {
199 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 202 der Datei lib.c.

203 {
204  extern void *palette_buffer_ptr;
205  return palette_buffer_ptr;
206 }
void* vid_get_bitmap_fb ( )

OSD screen

Definiert in Zeile 65 der Datei lib.c.

65 { return (void*)0x40711000; } // Found @0xff070014
int vid_get_palette_size ( )

Definiert in Zeile 191 der Datei lib.c.

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

Definiert in Zeile 190 der Datei lib.c.

190 { return 3; }
int vid_get_viewport_display_xoffset ( )

Definiert in Zeile 132 der Datei lib.c.

133 {
135  return 0;
136  }
137  int aspect_ratio=shooting_get_prop(PROPCASE_ASPECT_RATIO);
138 
139  return (vp_xo[aspect_ratio]);
140 }
int vid_get_viewport_display_xoffset_proper ( )

Definiert in Zeile 180 der Datei lib.c.

180 { return vid_get_viewport_display_xoffset()<<1; }
int vid_get_viewport_display_yoffset ( )

Definiert in Zeile 163 der Datei lib.c.

164 {
166  {
167  return 0;
168  }
169  if (is_video_recording())
170  {
171  if(shooting_get_prop(PROPCASE_VIDEO_RESOLUTION) == 2) { // 640x480
172  return 0;// 4:3 video, no offset
173  } else {
174  return 30;
175  }
176  }
178 }
int vid_get_viewport_display_yoffset_proper ( )

Definiert in Zeile 181 der Datei lib.c.

void* vid_get_viewport_fb ( )

IMG viewport in 'rec' mode

Definiert in Zeile 66 der Datei lib.c.

66 { return (void*)0x40866b80; } // Found @0xff4f4188
void* vid_get_viewport_fb_d ( )

IMG viewport in 'play' mode

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 184 der Datei lib.c.

185 {
186  return 240 * vid_get_viewport_yscale();
187 }
long vid_get_viewport_height ( )

Definiert in Zeile 113 der Datei lib.c.

114 {
116  return 240;
117  }
118  extern int _GetVRAMVPixelsSize();
119  // FHD video is apparently 180 on a 240 display
120  int h = _GetVRAMVPixelsSize();
121  if (vid_get_viewport_yscale() == 1) {
122  return h;
123  }
124 
125  return h>>1;
126 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 182 der Datei lib.c.

void* vid_get_viewport_live_fb ( )

Definiert in Zeile 77 der Datei lib.c.

78 {
79  // camera appears to use 8 buffers
80  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
82 }
int vid_get_viewport_width ( )

Definiert in Zeile 103 der Datei lib.c.

104 {
106  {
107  return 360;
108  }
109  extern int _GetVRAMHPixelsSize();
110  return _GetVRAMHPixelsSize() >> 1;
111 }
int vid_get_viewport_yoffset ( )

Definiert in Zeile 146 der Datei lib.c.

147 {
149  {
150  return 0;
151  }
152  if (is_video_recording())
153  {
154  if(shooting_get_prop(PROPCASE_VIDEO_RESOLUTION) == 2) { // 640x480
155  return 0;// 4:3 video, no offset
156  } else {
157  return 30; // 16:9 video
158  }
159  }
161 }
int vid_get_viewport_yscale ( )

Definiert in Zeile 86 der Datei lib.c.

86  {
88  return 2;
89  }
90  if (is_video_recording()) {
91  // FHD video
93  return 1;
94  }
95  return 2;
96  }
98  return 1;
99  }
100  return 2;
101 }

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[4] = { 0, 0, 0, 44 }
static

Definiert in Zeile 130 der Datei lib.c.

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

Definiert in Zeile 144 der Datei lib.c.