#include "camera_info.h"
#include "conf.h"
#include "math.h"
#include "modes.h"
#include "viewport.h"
#include "gui.h"
#include "gui_draw.h"
#include "gui_osd.h"
#include "shooting.h"
#include "histogram.h"
gehe zum Quellcode dieser Datei
#define HISTO_MODE_LINEAR 0 |
#define HISTO_STEP_SIZE 6 |
#define HISTOGRAM_IDLE_STAGE 6 |
#define OSD_HISTO_LAYOUT_A 0 |
#define OSD_HISTO_LAYOUT_A_Y 2 |
#define OSD_HISTO_LAYOUT_A_yrgb 4 |
#define OSD_HISTO_LAYOUT_BLEND 6 |
#define OSD_HISTO_LAYOUT_BLEND_Y 7 |
#define OSD_HISTO_LAYOUT_R_G_B 3 |
#define OSD_HISTO_LAYOUT_Y 1 |
#define OSD_HISTO_LAYOUT_Y_argb 5 |
int _module_can_unload |
( |
) | |
|
Definiert in Zeile 63 der Datei histogram.c.
66 else if (v>255) v=255;
static void gui_osd_draw_blended_histo |
( |
coord |
x, |
|
|
coord |
y |
|
) |
| |
|
static |
Definiert in Zeile 338 der Datei histogram.c.
343 register unsigned int i, v, red, grn, blu, sel;
363 if (v < red) sel = 4;
364 if (v < grn) sel |= 2;
365 if (v < blu) sel |= 1;
void gui_osd_draw_histo |
( |
int |
is_osd_edit) | |
|
Definiert in Zeile 378 der Datei histogram.c.
452 }
else if (is_osd_edit){
static void gui_osd_draw_single_histo |
( |
int |
hist, |
|
|
coord |
x, |
|
|
coord |
y, |
|
|
int |
small |
|
) |
| |
|
static |
Definiert in Zeile 282 der Datei histogram.c.
287 register int i, v, threshold;
311 for (i=0; i<
w; ++i) {
312 threshold = (
histogram[hist][i<<1]+histogram[hist][(i<<1)+1])>>2;
314 for (v=1; v<h-1; ++v)
321 for (i=0; i<
w; ++i) {
324 for (v=1; v<h-3; ++v)
static void histogram_alloc |
( |
) | |
|
|
static |
void histogram_process |
( |
) | |
|
Definiert in Zeile 90 der Datei histogram.c.
92 static unsigned char *
img;
95 register int x, i, hi;
97 float (*histogram_transform)(float);
98 unsigned int histo_fill[5];
155 for (c=0; c<5; ++c) {
168 for (i=(
histogram_stage-1)*(viewport_step_size/3)+(viewport_step_size/6); i<viewport_size; i+=viewport_step_size) {
172 u = (
signed char)img[i];
173 v = (
signed char)img[i+2];
175 u = (int)img[i] - 128;
176 v = (int)img[i+2] - 128;
181 hi =
clip(((y<<12) + v*5743 + 2048)>>12);
183 hi =
clip(((y<<12) - u*1411 - v*2925 + 2048)>>12);
185 hi =
clip(((y<<12) + u*7258 + 2048)>>12);
189 x += viewport_step_size;
190 if (x == viewport_width)
192 i += viewport_row_offset;
215 for (c=0; c<5; ++c) {
249 for (c=0; c<5; ++c) {
261 if (histo_fill[histo_main] < (
HISTO_HEIGHT*HISTO_WIDTH)/5) {
263 for (c=0; c<5; ++c) {
static float identity |
( |
float |
x) | |
|
|
static |
static float logarithmic |
( |
float |
x) | |
|
|
static |
Initialisierung:=
{
(
int32_t)
"Histogram Overlay (dll)",
0,
}
Definiert in Zeile 494 der Datei histogram.c.
unsigned int histo_max[5] |
unsigned int histo_max_center[5] |
float histo_max_center_invw[5] |
|
static |
unsigned short* histogram_proc[5] = { 0,0,0,0,0 } |
|
static |