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   0xC022302C
 
#define AF_LED   0xC0223030
 

Funktionen

char * hook_raw_image_addr ()
 
char * hook_alt_raw_image_addr ()
 
char * camera_jpeg_count_str ()
 
void vid_bitmap_refresh ()
 
void shutdown ()
 
void * vid_get_bitmap_fb ()
 
int get_flash_params_count (void)
 
void debug_led (int state)
 
void camera_set_led (int led, int state, __attribute__((unused)) int bright)
 
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_fulllscreen_width ()
 
long vid_get_viewport_height ()
 
int vid_get_viewport_display_xoffset ()
 
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 JogDial_CW (void)
 
void JogDial_CCW (void)
 

Variablen

int active_raw_buffer
 
char * raw_buffers []
 
char active_viewport_buffer
 
void * viewport_buffers []
 
static long vp_xo [4] = { 0, 0, 0, 44 }
 

Makro-Dokumentation

#define AF_LED   0xC0223030

Definiert in Zeile 36 der Datei lib.c.

#define LED_PR   0xC022302C

Definiert in Zeile 35 der Datei lib.c.

Dokumentation der Funktionen

char* camera_jpeg_count_str ( )

Definiert in Zeile 18 der Datei lib.c.

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

Definiert in Zeile 57 der Datei lib.c.

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

Definiert in Zeile 48 der Datei lib.c.

49 {
50  volatile long *p=(void*)LED_PR;
51  if (state)
52  p[0]=0x46;
53  else
54  p[0]=0x44;
55 }
int get_flash_params_count ( void  )

Definiert in Zeile 45 der Datei lib.c.

45 { return 0x99; } // Found @0xff1eb3e4
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 JogDial_CCW ( void  )

Definiert in Zeile 201 der Datei lib.c.

202 {
203  _PostLogicalEventToUI(0x873, 1); // RotateJogDialLeft (in table @ ???, fw 1.01a)
204 }
void JogDial_CW ( void  )

Definiert in Zeile 196 der Datei lib.c.

197 {
198  _PostLogicalEventToUI(0x872, 1); // RotateJogDialRight (in table @ ????, fw 1.01a)
199 }
void shutdown ( )

Definiert in Zeile 37 der Datei lib.c.

38 {
39  extern void _TurnOffE1(void);
40  _TurnOffE1();
41  while(1);
42 }
void vid_bitmap_refresh ( )

Definiert in Zeile 24 der Datei lib.c.

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

OSD screen

Definiert in Zeile 44 der Datei lib.c.

44 { return (void*)0x406f1000; } // Found @0xff049118
int vid_get_palette_size ( )

Definiert in Zeile 147 der Datei lib.c.

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

Definiert in Zeile 146 der Datei lib.c.

146 { return 3; }
int vid_get_viewport_display_xoffset ( )

Definiert in Zeile 130 der Datei lib.c.

131 {
132  int m = mode_get();
133  int aspect_ratio=shooting_get_prop(PROPCASE_ASPECT_RATIO);
134 
135  if ((m & MODE_MASK) != MODE_PLAY) {
136  return (vp_xo[aspect_ratio]);
137  }
138  else
139  return 0;
140 }
int vid_get_viewport_display_xoffset_proper ( )

Definiert in Zeile 142 der Datei lib.c.

142 { return vid_get_viewport_display_xoffset()<<1; }
int vid_get_viewport_display_yoffset_proper ( )

Definiert in Zeile 143 der Datei lib.c.

143 { return vid_get_viewport_display_yoffset()<<1; }
void* vid_get_viewport_fb ( )

IMG viewport in 'rec' mode

Definiert in Zeile 65 der Datei lib.c.

66 {
67  // Return first viewport buffer - for case when vid_get_viewport_live_fb not defined
68  return viewport_buffers[0];
69 }
void* vid_get_viewport_fb_d ( )

IMG viewport in 'play' mode

Definiert in Zeile 71 der Datei lib.c.

72 {
73  extern char *viewport_fb_d;
74  return viewport_fb_d;
75 }
int vid_get_viewport_fulllscreen_width ( )

Definiert in Zeile 102 der Datei lib.c.

103 {
104  return 720;
105 }
int vid_get_viewport_fullscreen_height ( )

Definiert in Zeile 145 der Datei lib.c.

145 { return 480; }
long vid_get_viewport_height ( )

Definiert in Zeile 107 der Datei lib.c.

108 {
109 
110  int m = mode_get();
111  int aspect_ratio=shooting_get_prop(PROPCASE_ASPECT_RATIO);
112 
113  if (MODE_IS_VIDEO(m) || is_video_recording())
114  return 240;
115 
116  if ((m & MODE_MASK) != MODE_PLAY)
117  {
118  // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
119  if (aspect_ratio==1 || aspect_ratio==2)
120  return 240;
121  }
122  extern int _GetVRAMVPixelsSize();
123  return ((m & MODE_MASK) == MODE_PLAY)?240:_GetVRAMVPixelsSize()>>1;
124 }
int vid_get_viewport_height_proper ( )

Definiert in Zeile 144 der Datei lib.c.

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

Definiert in Zeile 77 der Datei lib.c.

78 {
80  return viewport_buffers[0]; // Video only seems to use the first viewport buffer.
81 
82  // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data
83  // verified -1 gives best response
85 }
int vid_get_viewport_width ( )

Definiert in Zeile 92 der Datei lib.c.

93 {
95  {
96  return 360;
97  }
98  extern int _GetVRAMHPixelsSize();
99  return _GetVRAMHPixelsSize() >> 1;
100 }
int vid_get_viewport_yscale ( )

Definiert in Zeile 88 der Datei lib.c.

88  {
89  return 2;
90 }

Variablen-Dokumentation

int active_raw_buffer
char active_viewport_buffer
char* raw_buffers[]
void* viewport_buffers[]
long vp_xo[4] = { 0, 0, 0, 44 }
static

Definiert in Zeile 128 der Datei lib.c.