Яндекс.Метрика

    Юмор

    исходные тексты прошивки canon eos

    Многие, наверное, уже слышали, что на днях была взломана внутренняя сеть компании Canon и в числе прочего в сеть «утёк» кусок ядра исходных текстов прошивки камер серии EOS, который я имею честь экскюзивно опубликовать на суд общественности.

    /*
        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. авторство моё ;)