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 * camera_jpeg_count_str ()
 
int get_flash_params_count (void)
 
char * hook_raw_image_addr ()
 
char * hook_alt_raw_image_addr ()
 
void vid_bitmap_refresh ()
 
void shutdown ()
 
void debug_led (int state)
 
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 ()
 
int vid_get_viewport_height_proper ()
 
long vid_get_viewport_height ()
 
int vid_get_viewport_display_xoffset ()
 
int vid_get_viewport_yoffset ()
 
int vid_get_palette_type ()
 
int vid_get_palette_size ()
 
int vid_get_viewport_display_yoffset_proper ()
 
int vid_get_viewport_fullscreen_height ()
 
void * vid_get_bitmap_active_palette ()
 
void * vid_get_bitmap_active_buffer ()
 

Variablen

int active_raw_buffer
 
char * raw_buffers []
 
static long vp_xo [5] = { 0, 0, 0, 44 }
 
static long vp_yo [5] = { 0, 30, 13, 0 }
 
int active_palette_buffer
 
int ** palette_buffer_ptr
 
char palette_control
 

Dokumentation der Funktionen

char* camera_jpeg_count_str ( )

Definiert in Zeile 10 der Datei lib.c.

10 { return (char*)0x00220be0; } // Found @0xff2c14cc
void camera_set_led ( int  led,
int  state,
__attribute__((unused)) int  bright 
)

Definiert in Zeile 49 der Datei lib.c.

50 {
51  static char led_table[3]={0,6,11}; // 0=green power button LED, 6=focus assist lamp (dim), 11=flash LED (bright)
52  _LEDDrive(led_table[led%sizeof(led_table)], state<=1 ? !state : state);
53 }
void debug_led ( int  state)

Definiert in Zeile 42 der Datei lib.c.

43 {
44  if ( state == 1 ) *(int*)0xc022c30c = ( (*(int*)0xc022c30c) & 0xffffffcf ) | 0x20 ;
45  else *(int*)0xc022c30c = ( (*(int*)0xc022c30c) & 0xffffffcf ) ;
46 }
int get_flash_params_count ( void  )

Definiert in Zeile 11 der Datei lib.c.

11 { return 0x91; } // Found @0xff250098
char* hook_alt_raw_image_addr ( )

Definiert in Zeile 18 der Datei lib.c.

19 {
20  return raw_buffers[(active_raw_buffer^1)];
21 }
char* hook_raw_image_addr ( void  )

Definiert in Zeile 13 der Datei lib.c.

14 {
16 }
void shutdown ( )

Definiert in Zeile 34 der Datei lib.c.

35 {
36  extern void _TurnOffE1(void);
37  _TurnOffE1();
38  while(1);
39 }
void vid_bitmap_refresh ( )

Definiert in Zeile 23 der Datei lib.c.

24 {
25  extern int full_screen_refresh;
26  extern void _ScreenUnlock();
27  extern void _ScreenLock();
28 
29  full_screen_refresh |= 3;
30  _ScreenLock();
31  _ScreenUnlock();
32 }
void* vid_get_bitmap_active_buffer ( )

Definiert in Zeile 189 der Datei lib.c.

190 {
191  return (void*)(*(int*)(0x7510+0x18)); //found Powershot N FB @ loc_ff1be034 (from A1400 example)
192 }
void* vid_get_bitmap_active_palette ( )

Definiert in Zeile 179 der Datei lib.c.

179  {
180  unsigned char theme;
181  get_parameter_data(20, &theme, 1);
182  void *p = palette_buffer_ptr[active_palette_buffer+theme];
183  if(p) {
184  p += 4;
185  }
186  return p;
187 }
void* vid_get_bitmap_fb ( )

OSD screen

Definiert in Zeile 56 der Datei lib.c.

56 { return (void*)0x406c5000; } // Found @0xff08d5d8
int vid_get_palette_size ( )

Definiert in Zeile 169 der Datei lib.c.

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

Definiert in Zeile 168 der Datei lib.c.

168 { return 3; }
int vid_get_viewport_display_xoffset ( )

Definiert in Zeile 124 der Datei lib.c.

125 {
127  {
128  return 0;
129  }
131 }
int vid_get_viewport_display_yoffset_proper ( )

Definiert in Zeile 170 der Datei lib.c.

void* vid_get_viewport_fb ( )

IMG viewport in 'rec' mode

Definiert in Zeile 57 der Datei lib.c.

57 { return (void*)0x4081ab80; } // Found @0xff4b7678
void* vid_get_viewport_fb_d ( )

IMG viewport in 'play' mode

Definiert in Zeile 59 der Datei lib.c.

60 {
61  extern char *viewport_fb_d;
62  return viewport_fb_d;
63 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 174 der Datei lib.c.

175 {
176  return 240<<(vid_get_viewport_yscale()-1);
177 }
long vid_get_viewport_height ( )

Definiert in Zeile 113 der Datei lib.c.

114 {
116 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 101 der Datei lib.c.

102 {
104  {
105  return 480;
106  }
107  extern int _GetVRAMVPixelsSize();
108  return _GetVRAMVPixelsSize();
109 
110 }
void* vid_get_viewport_live_fb ( )

Definiert in Zeile 65 der Datei lib.c.

66 {
67  extern char active_viewport_buffer;
68  extern void* viewport_buffers[];
69 
71  return viewport_buffers[(active_viewport_buffer-1)&3]; // Video and fisheye appear to use 4 buffer
72 
73  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
74  // note code previously used -7, but seems unlikely to be correct
75  return viewport_buffers[(active_viewport_buffer-1)&7];
76 }
int vid_get_viewport_width ( )

Definiert in Zeile 91 der Datei lib.c.

92 {
94  {
95  return 360;
96  }
97  extern int _GetVRAMHPixelsSize();
98  return _GetVRAMHPixelsSize() >> 1;
99 }
int vid_get_viewport_yoffset ( )

Definiert in Zeile 137 der Datei lib.c.

138 {
140  {
141  return 0;
142  }
144  {
145  if(shooting_get_prop(PROPCASE_VIDEO_RESOLUTION) == 2) { // 640x480
146  return 0;// 4:3 video, no offset
147  } else {
148  return 30; // 16:9 video
149  }
150  }
151  else
152  {
154  }
155 }
int vid_get_viewport_yscale ( )

Definiert in Zeile 81 der Datei lib.c.

81  {
83  return 2;
84  }
86  return 1;
87  }
88  return 2;
89 }

Variablen-Dokumentation

int active_palette_buffer
int active_raw_buffer
int** palette_buffer_ptr
char palette_control
char* raw_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 135 der Datei lib.c.