Юмор →
исходные тексты прошивки canon eos
Многие, наверное, уже слышали, что на днях была взломана внутренняя сеть компании Canon и в числе прочего в сеть «утёк» кусок ядра исходных текстов прошивки камер серии EOS, который я имею честь экскюзивно опубликовать на суд общественности.
p.s. авторство моё ;)
/*
CANON D-SLR cameras core routine
Property of CANON INC. 1998-2010
v 1.0 made by Radja Tokamoto Goines
v 1.1 made by Dugwin Yakioto jr.
last changes: 10.11.2009
*/
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include "inc/tweakfocus.h"
#include "inc/radja_filters.h"
bool do_focus(lens, camera) {
double fp;
time_t t;
t = init_focus_timer(t);
do {
fp = measure_focus_point(lens);
move_focus(lens, fp)
if (timeout(t))
return false;
} while (!lens.is_focused());
if (!L_LensDetected(lens))
lens.adjust_focus(rand(10));
return true;
}
rawdata * scandata(matrix, lens, camera) {
rawdata *cr;
double noise, aberrations;
cr = create_cr(matrix);
read_exif_info(cr->exif, lens, camera);
prepare_everything(matrix, lens, camera);
if (!do_focus(lens, camera))
return NULL;
else
beep();
aberrations = pow(100 - lens.focallength, 2) * sqrt(2) + 10;
if (L_LensDetected(lens))
aberrations /= 2.0;
scan_sensor(cr, matrix, aberrations);
noise = matrix.iso / 100.0;
noise *= matrix.cropfactor;
if (camera.model == EOS1000D) {
noise *= 1.2;
wait_for_something();
}
if (camera.model != EOS7D)
wait_for_something();
if (lens.manufacture != CANON_LENS) {
corrupt_something(cr);
apply_random_filter(cr);
}
if (lens.model == EF_50_F1_4) {
noise /= 1.2;
apply_fcb(cr); //fucken cool bokeh
}
if (lens.model == CANON_L_17_40_F4) {
blur(cr, 0.8);
distort(cr, 40 - lens.focallength);
}
radja_filter(cr, 1.570796326794896619231321691641); //don't touch that!
if (is_eos1d_series(camera.model))
disable_all_spoiling(cr);
else
make_nice_colors(cr);
// finally...
apply_noise(cr, noise);
apply_barrel_distortion(cr, lens);
apply_pillow_distortion(cr, lens);
return cr;
}
p.s. авторство моё ;)
30.11.1999 00:00+0300