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 vid_bitmap_refresh ()
 
void shutdown ()
 
void debug_led (__attribute__((unused)) int state)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
int vid_get_viewport_yscale ()
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_live_fb ()
 
void * vid_get_viewport_fb_d ()
 
void * vid_get_bitmap_fb ()
 
int vid_get_viewport_width ()
 
long vid_get_viewport_height ()
 
int vid_get_viewport_display_xoffset ()
 
int vid_get_viewport_display_xoffset_proper ()
 
int vid_get_viewport_height_proper ()
 
int vid_get_viewport_buffer_width_proper ()
 
int vid_get_viewport_fullscreen_height ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
int vid_get_aspect_ratio ()
 
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 []
 
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 72 der Datei lib.c.

72  {
73  static char led_table[2]={0,4};
74  if(state<=1) _LEDDrive(led_table[led%sizeof(led_table)], (!state)&1);
75 }
void debug_led ( __attribute__((unused)) int  state)

Definiert in Zeile 60 der Datei lib.c.

60  {
61  // using power LED, which defaults to on
62  // for debugging turn LED off if state is 1 and on for state = 0
63  // leaves LED on at end of debugging
64 // volatile long *p = (void*)LED_PR;
65 // *p = (*p & 0xFFFFFFCF) | ((state) ? 0x00 : 0x20);
66 }
int get_flash_params_count ( void  )

Definiert in Zeile 25 der Datei lib.c.

26 {
27  return 0xa6; // Found @0xff24dffc by finsig
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 42 der Datei lib.c.

43 {
44  volatile long *p = (void*)0xC022001C;
45 
46  asm(
47  "MRS R1, CPSR\n"
48  "AND R0, R1, #0x80\n"
49  "ORR R1, R1, #0x80\n"
50  "MSR CPSR_cf, R1\n"
51  :::"r1","r0");
52 
53  *p = 0x44; // power off.
54 
55  while(1);
56 }
void vid_bitmap_refresh ( )

Definiert in Zeile 30 der Datei lib.c.

31 {
32  extern int full_screen_refresh;
33  extern void _ScreenUnlock();
34  extern void _ScreenLock();
35 
36  full_screen_refresh |= 3;
37  _ScreenLock();
38  _ScreenUnlock();
39 }
int vid_get_aspect_ratio ( )

Definiert in Zeile 187 der Datei lib.c.

187 { return 1; } /* LV_ASPECT_16_9 */
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 189 der Datei lib.c.

190 {
192 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 194 der Datei lib.c.

195 {
196  extern int active_palette_buffer;
197  extern char* palette_buffer[];
198  unsigned char color_option;
199  // on cameras that allow setting UI color scheme,
200  // actual palette is offset by color scheme value
201  get_parameter_data(0x1a,&color_option,1); // from 102a sub_ff2ddd74
202  char *p = palette_buffer[active_palette_buffer + color_option];
203  // if null, don't add +4
204  if(p) {
205  p+=4;
206  }
207  return p;
208 }
void* vid_get_bitmap_fb ( )

Definiert in Zeile 131 der Datei lib.c.

132 {
133  // Return first bitmap buffer address
134  return bitmap_buffer[0];
135 }
int vid_get_palette_size ( )

Definiert in Zeile 186 der Datei lib.c.

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

Definiert in Zeile 185 der Datei lib.c.

185 { return 3; }
int vid_get_viewport_buffer_width_proper ( )

Definiert in Zeile 182 der Datei lib.c.

182 { return 960; }
int vid_get_viewport_display_xoffset ( )

Definiert in Zeile 163 der Datei lib.c.

164 {
166  {
167  return 0;
168  }
169  else
170  {
171  // viewport width offset table for each image size
172  // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
173  static long vp_w[5] = { 60, 0, 36, 104 }; // should all be even values for edge overlay
175  }
176 }
int vid_get_viewport_display_xoffset_proper ( )

Definiert in Zeile 180 der Datei lib.c.

180 { return vid_get_viewport_display_xoffset() * 2; }
void* vid_get_viewport_fb ( )

Definiert in Zeile 104 der Datei lib.c.

105 {
106  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
107  return viewport_buffers[0];
108 }
void* vid_get_viewport_fb_d ( )

Definiert in Zeile 121 der Datei lib.c.

122 {
123  extern char *viewport_fb_d;
124  return viewport_fb_d;
125 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 183 der Datei lib.c.

183 { return 240*vid_get_viewport_yscale(); }
long vid_get_viewport_height ( )

Definiert in Zeile 148 der Datei lib.c.

149 {
151  return 240;
152  }
153  extern int _GetVRAMVPixelsSize();
154  // FHD video is apparently 180 on a 240 display
155  int h = _GetVRAMVPixelsSize();
156  if (vid_get_viewport_yscale() == 1) {
157  return h;
158  }
159 
160  return h>>1;
161 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 181 der Datei lib.c.

void* vid_get_viewport_live_fb ( )

Definiert in Zeile 110 der Datei lib.c.

111 {
112  // only 4 buffers used while video recording
115 
116  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
117  // Offset the return value because the viewport is left justified instead of centered on this camera
119 }
int vid_get_viewport_width ( )

Definiert in Zeile 137 der Datei lib.c.

138 {
140  {
141  return 480;
142  }
143  extern int _GetVRAMHPixelsSize();
144  return _GetVRAMHPixelsSize() >> 1;
145 }
int vid_get_viewport_yscale ( )

Definiert in Zeile 87 der Datei lib.c.

87  {
89  return 2;
90  }
91  if (is_video_recording()) {
92  // FHD video
94  return 1;
95  }
96  return 2;
97  }
99  return 1;
100  }
101  return 2;
102 }

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[]