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

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define LED_PR   0xd20b0994
 

Funktionen

void vid_bitmap_refresh ()
 
void shutdown ()
 
void debug_led (int state)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
void shutdown_soft ()
 
int get_flash_params_count (void)
 
void JogDial_CW (void)
 
void JogDial_CCW (void)
 
char * hook_raw_image_addr ()
 
void * vid_get_viewport_fb_d ()
 
void * vid_get_viewport_fb ()
 
void * vid_get_viewport_live_fb ()
 
int vid_get_viewport_width ()
 
long vid_get_viewport_height ()
 
int vid_get_viewport_yoffset ()
 
int vid_get_viewport_display_xoffset ()
 
int vid_get_viewport_display_yoffset ()
 
int vid_get_viewport_type ()
 
void * vid_get_bitmap_fb ()
 
int vid_get_viewport_display_xoffset_proper ()
 
int vid_get_viewport_display_yoffset_proper ()
 
int vid_get_viewport_buffer_width_proper ()
 
int vid_get_viewport_fullscreen_width ()
 
int vid_get_viewport_byte_width ()
 
int vid_get_viewport_fullscreen_height ()
 
int vid_get_aspect_ratio ()
 
void * vid_get_bitmap_active_buffer ()
 
void * vid_get_opacity_active_buffer ()
 
char * camera_jpeg_count_str ()
 

Variablen

int active_raw_buffer
 
char * raw_buffers []
 
char * raw_buffers_canon_raw []
 
char * raw_buffers_jpeg []
 
void * viewport_buffers []
 
void * current_viewport_buffer
 
static long vp_xo [5] = { 40, 0, 0, 120, 168 }
 
int active_bitmap_buffer
 
char * bitmap_buffer []
 
volatile char * opacity_buffer [2] = {(char*)0x5FD87300, (void*)0x5FD08A00}
 

Makro-Dokumentation

#define LED_PR   0xd20b0994

Definiert in Zeile 29 der Datei lib.c.

Dokumentation der Funktionen

char* camera_jpeg_count_str ( )

Definiert in Zeile 276 der Datei lib.c.

277 {
278  extern char jpeg_count_str[];
279  return jpeg_count_str;
280 }
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 38 der Datei lib.c.

38  {
39  static char led_table[2]={0,4};
40  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
41 }
void debug_led ( int  state)

Definiert in Zeile 31 der Datei lib.c.

31  {
32  volatile long *p = (void*)LED_PR;
33  *p = ((state) ? 0x4d0002 : 0x4c0003);
34 }
int get_flash_params_count ( void  )

Definiert in Zeile 49 der Datei lib.c.

49  {
50  return 0xe6; // found @ 0xfc27e6fc (101d)
51 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 70 der Datei lib.c.

71 {
72  // todo: untested
73  int i=active_raw_buffer&3;
74  if(i>2) i=0;
75  return raw_buffers[i];
76 }
void JogDial_CCW ( void  )

Definiert in Zeile 59 der Datei lib.c.

59  {
60  _PostLogicalEventToUI(0x1134, 1);
61  _PostLogicalEventToUI(0x8B0, 1); //RotateEDialLeft
62  _PostLogicalEventToUI(0x1135, 1);
63 }
void JogDial_CW ( void  )

Definiert in Zeile 53 der Datei lib.c.

53  {
54  _PostLogicalEventToUI(0x1134, 1);
55  _PostLogicalEventToUI(0x8AF, 1); //RotateEDialRight
56  _PostLogicalEventToUI(0x1135, 1);
57 }
void shutdown ( )

Definiert in Zeile 11 der Datei lib.c.

11  {
12 //***TODO***
13 /*
14  volatile long *p = (void*)0xC022001C;
15 
16  asm(
17  "MRS R1, CPSR\n"
18  "AND R0, R1, #0x80\n"
19  "ORR R1, R1, #0x80\n"
20  "MSR CPSR_cf, R1\n"
21  :::"r1","r0"
22  );
23 
24  *p = 0x44; // power off.
25 */
26  while(1) _SleepTask(500);
27 }
void shutdown_soft ( )

Definiert in Zeile 43 der Datei lib.c.

43  {
44 // *(int*)0xd20b0810 = 0x4d0002; // Orange Led = on
45 
47 }
void vid_bitmap_refresh ( )

Definiert in Zeile 5 der Datei lib.c.

5  {
6  extern void _transfer_src_overlay(int);
7  _transfer_src_overlay(0);
8  _transfer_src_overlay(1);
9 }
int vid_get_aspect_ratio ( )

Definiert in Zeile 191 der Datei lib.c.

191 { return LV_ASPECT_3_2; }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 198 der Datei lib.c.

198  {
200 }
void* vid_get_bitmap_fb ( )

OSD screen

Definiert in Zeile 178 der Datei lib.c.

178  {
179  // Return first bitmap buffer address
180  return bitmap_buffer[0];
181 }
void* vid_get_opacity_active_buffer ( )

Definiert in Zeile 202 der Datei lib.c.

202  {
203  return (void *)opacity_buffer[active_bitmap_buffer&1];
204 }
int vid_get_viewport_buffer_width_proper ( )

Definiert in Zeile 186 der Datei lib.c.

186 { return camera_screen.buffer_width ; }
int vid_get_viewport_byte_width ( )

Definiert in Zeile 188 der Datei lib.c.

188 { return (camera_screen.buffer_width * 2); }
int vid_get_viewport_display_xoffset ( )

Definiert in Zeile 132 der Datei lib.c.

132  {
134  {
135  return 0;
136  }
137  // video, ignore still res propcase
140  return 40;// 4:3 video
141  } else {
142  return 0; // 16:9 video, no x offset
143  }
144  }
146 }
int vid_get_viewport_display_xoffset_proper ( )

Definiert in Zeile 184 der Datei lib.c.

int vid_get_viewport_display_yoffset ( )

Definiert in Zeile 148 der Datei lib.c.

148  {
150  {
151  return 0;
152  }
153  // video, ignore still res propcase
156  return 0; // 4:3 video, no Y offset
157  } else {
158  return 36; // 16:9 video
159  }
160  }
162  {
163  return 36;
164  }
165  return 0;
166 }
int vid_get_viewport_display_yoffset_proper ( )

Definiert in Zeile 185 der Datei lib.c.

void* vid_get_viewport_fb ( )

IMG viewport in 'rec' mode

Definiert in Zeile 87 der Datei lib.c.

87  {
88  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
89  return viewport_buffers[0]; // 1st of 4 uyvy_d6 buffers
90 }
void* vid_get_viewport_fb_d ( )

IMG viewport in 'play' mode

Definiert in Zeile 78 der Datei lib.c.

78  {
79  extern void *current_fb_d;
80  return current_fb_d; // method from the sx60 and g7x ports
81 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 190 der Datei lib.c.

190 { return 480; }
int vid_get_viewport_fullscreen_width ( )

Definiert in Zeile 187 der Datei lib.c.

187 { return camera_screen.width; }
long vid_get_viewport_height ( )

Definiert in Zeile 115 der Datei lib.c.

115  {
116  extern int _GetVRAMVPixelsSize();
118  {
119  return 480;
120  }
121  return _GetVRAMVPixelsSize();
122 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 92 der Datei lib.c.

93 {
94 // current_viewport_buffer doesn't seem to be most recent
95  int i;
96  for(i=0;i<4;i++) {
97  if(current_viewport_buffer == viewport_buffers[i]) {
98  return viewport_buffers[(i+1)&3];
99  }
100  }
101  return 0;
102 }
int vid_get_viewport_type ( )

Definiert in Zeile 171 der Datei lib.c.

171  {
172 // if (camera_info.state.mode_play)
173  return LV_FB_YUV8B;
174 // return LV_FB_YUV8C;
175 }
int vid_get_viewport_width ( )

Definiert in Zeile 104 der Datei lib.c.

104  {
105  extern int _GetVRAMHPixelsSize();
107  {
108  return 720;
109  }
110 // TODO: currently using actual width rather than half width used on pre d6
111 // pixel format is uyvy (16bpp)
112  return _GetVRAMHPixelsSize();
113 }
int vid_get_viewport_yoffset ( )

Definiert in Zeile 124 der Datei lib.c.

124  {
125  // this seems to be always 0, buffer always begins with actual display data (widescreen or not)
126  return 0;
127 }

Variablen-Dokumentation

int active_bitmap_buffer
int active_raw_buffer
char* bitmap_buffer[]

Definiert in Zeile 84 der Datei lib.c.

void* current_viewport_buffer
volatile char* opacity_buffer[2] = {(char*)0x5FD87300, (void*)0x5FD08A00}

Definiert in Zeile 196 der Datei lib.c.

char* raw_buffers[]
char* raw_buffers_canon_raw[]
char* raw_buffers_jpeg[]
void* viewport_buffers[]
long vp_xo[5] = { 40, 0, 0, 120, 168 }
static

Definiert in Zeile 130 der Datei lib.c.