ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:23.05 GB of 70.42 GB (32.74%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ usr/ src/ linux-headers-3.0.0-14/ include/ media/ davinci/ - drwxr-xr-x

Directory:
Viewing file:     isif.h (14.56 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * Copyright (C) 2008-2009 Texas Instruments Inc
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * isif header file
 */
#ifndef _ISIF_H
#define _ISIF_H

#include <media/davinci/ccdc_types.h>
#include <media/davinci/vpfe_types.h>

/* isif float type S8Q8/U8Q8 */
struct isif_float_8 {
    /* 8 bit integer part */
    __u8 integer;
    /* 8 bit decimal part */
    __u8 decimal;
};

/* isif float type U16Q16/S16Q16 */
struct isif_float_16 {
    /* 16 bit integer part */
    __u16 integer;
    /* 16 bit decimal part */
    __u16 decimal;
};

/************************************************************************
 *   Vertical Defect Correction parameters
 ***********************************************************************/
/* Defect Correction (DFC) table entry */
struct isif_vdfc_entry {
    /* vertical position of defect */
    __u16 pos_vert;
    /* horizontal position of defect */
    __u16 pos_horz;
    /*
     * Defect level of Vertical line defect position. This is subtracted
     * from the data at the defect position
     */
    __u8 level_at_pos;
    /*
     * Defect level of the pixels upper than the vertical line defect.
     * This is subtracted from the data
     */
    __u8 level_up_pixels;
    /*
     * Defect level of the pixels lower than the vertical line defect.
     * This is subtracted from the data
     */
    __u8 level_low_pixels;
};

#define ISIF_VDFC_TABLE_SIZE        8
struct isif_dfc {
    /* enable vertical defect correction */
    __u8 en;
    /* Defect level subtraction. Just fed through if saturating */
#define    ISIF_VDFC_NORMAL        0
    /*
     * Defect level subtraction. Horizontal interpolation ((i-2)+(i+2))/2
     * if data saturating
     */
#define ISIF_VDFC_HORZ_INTERPOL_IF_SAT    1
    /* Horizontal interpolation (((i-2)+(i+2))/2) */
#define    ISIF_VDFC_HORZ_INTERPOL        2
    /* one of the vertical defect correction modes above */
    __u8 corr_mode;
    /* 0 - whole line corrected, 1 - not pixels upper than the defect */
    __u8 corr_whole_line;
#define ISIF_VDFC_NO_SHIFT        0
#define ISIF_VDFC_SHIFT_1        1
#define ISIF_VDFC_SHIFT_2        2
#define ISIF_VDFC_SHIFT_3        3
#define ISIF_VDFC_SHIFT_4        4
    /*
     * defect level shift value. level_at_pos, level_upper_pos,
     * and level_lower_pos can be shifted up by this value. Choose
     * one of the values above
     */
    __u8 def_level_shift;
    /* defect saturation level */
    __u16 def_sat_level;
    /* number of vertical defects. Max is ISIF_VDFC_TABLE_SIZE */
    __u16 num_vdefects;
    /* VDFC table ptr */
    struct isif_vdfc_entry table[ISIF_VDFC_TABLE_SIZE];
};

struct isif_horz_bclamp {

    /* Horizontal clamp disabled. Only vertical clamp value is subtracted */
#define    ISIF_HORZ_BC_DISABLE        0
    /*
     * Horizontal clamp value is calculated and subtracted from image data
     * along with vertical clamp value
     */
#define ISIF_HORZ_BC_CLAMP_CALC_ENABLED    1
    /*
     * Horizontal clamp value calculated from previous image is subtracted
     * from image data along with vertical clamp value.
     */
#define ISIF_HORZ_BC_CLAMP_NOT_UPDATED    2
    /* horizontal clamp mode. One of the values above */
    __u8 mode;
    /*
     * pixel value limit enable.
     *  0 - limit disabled
     *  1 - pixel value limited to 1023
     */
    __u8 clamp_pix_limit;
    /* Select Most left window for bc calculation */
#define    ISIF_SEL_MOST_LEFT_WIN        0
    /* Select Most right window for bc calculation */
#define ISIF_SEL_MOST_RIGHT_WIN        1
    /* Select most left or right window for clamp val calculation */
    __u8 base_win_sel_calc;
    /* Window count per color for calculation. range 1-32 */
    __u8 win_count_calc;
    /* Window start position - horizontal for calculation. 0 - 8191 */
    __u16 win_start_h_calc;
    /* Window start position - vertical for calculation 0 - 8191 */
    __u16 win_start_v_calc;
#define ISIF_HORZ_BC_SZ_H_2PIXELS    0
#define ISIF_HORZ_BC_SZ_H_4PIXELS    1
#define ISIF_HORZ_BC_SZ_H_8PIXELS    2
#define ISIF_HORZ_BC_SZ_H_16PIXELS    3
    /* Width of the sample window in pixels for calculation */
    __u8 win_h_sz_calc;
#define ISIF_HORZ_BC_SZ_V_32PIXELS    0
#define ISIF_HORZ_BC_SZ_V_64PIXELS    1
#define    ISIF_HORZ_BC_SZ_V_128PIXELS    2
#define ISIF_HORZ_BC_SZ_V_256PIXELS    3
    /* Height of the sample window in pixels for calculation */
    __u8 win_v_sz_calc;
};

/************************************************************************
 *  Black Clamp parameters
 ***********************************************************************/
struct isif_vert_bclamp {
    /* Reset value used is the clamp value calculated */
#define    ISIF_VERT_BC_USE_HORZ_CLAMP_VAL        0
    /* Reset value used is reset_clamp_val configured */
#define    ISIF_VERT_BC_USE_CONFIG_CLAMP_VAL    1
    /* No update, previous image value is used */
#define    ISIF_VERT_BC_NO_UPDATE            2
    /*
     * Reset value selector for vertical clamp calculation. Use one of
     * the above values
     */
    __u8 reset_val_sel;
    /* U8Q8. Line average coefficient used in vertical clamp calculation */
    __u8 line_ave_coef;
    /* Height of the optical black region for calculation */
    __u16 ob_v_sz_calc;
    /* Optical black region start position - horizontal. 0 - 8191 */
    __u16 ob_start_h;
    /* Optical black region start position - vertical 0 - 8191 */
    __u16 ob_start_v;
};

struct isif_black_clamp {
    /*
     * This offset value is added irrespective of the clamp enable status.
     * S13
     */
    __u16 dc_offset;
    /*
     * Enable black/digital clamp value to be subtracted from the image data
     */
    __u8 en;
    /*
     * black clamp mode. same/separate clamp for 4 colors
     * 0 - disable - same clamp value for all colors
     * 1 - clamp value calculated separately for all colors
     */
    __u8 bc_mode_color;
    /* Vrtical start position for bc subtraction */
    __u16 vert_start_sub;
    /* Black clamp for horizontal direction */
    struct isif_horz_bclamp horz;
    /* Black clamp for vertical direction */
    struct isif_vert_bclamp vert;
};

/*************************************************************************
** Color Space Conversion (CSC)
*************************************************************************/
#define ISIF_CSC_NUM_COEFF    16
struct isif_color_space_conv {
    /* Enable color space conversion */
    __u8 en;
    /*
     * csc coeffient table. S8Q5, M00 at index 0, M01 at index 1, and
     * so forth
     */
    struct isif_float_8 coeff[ISIF_CSC_NUM_COEFF];
};


/*************************************************************************
**  Black  Compensation parameters
*************************************************************************/
struct isif_black_comp {
    /* Comp for Red */
    __s8 r_comp;
    /* Comp for Gr */
    __s8 gr_comp;
    /* Comp for Blue */
    __s8 b_comp;
    /* Comp for Gb */
    __s8 gb_comp;
};

/*************************************************************************
**  Gain parameters
*************************************************************************/
struct isif_gain {
    /* Gain for Red or ye */
    struct isif_float_16 r_ye;
    /* Gain for Gr or cy */
    struct isif_float_16 gr_cy;
    /* Gain for Gb or g */
    struct isif_float_16 gb_g;
    /* Gain for Blue or mg */
    struct isif_float_16 b_mg;
};

#define ISIF_LINEAR_TAB_SIZE    192
/*************************************************************************
**  Linearization parameters
*************************************************************************/
struct isif_linearize {
    /* Enable or Disable linearization of data */
    __u8 en;
    /* Shift value applied */
    __u8 corr_shft;
    /* scale factor applied U11Q10 */
    struct isif_float_16 scale_fact;
    /* Size of the linear table */
    __u16 table[ISIF_LINEAR_TAB_SIZE];
};

/* Color patterns */
#define ISIF_RED    0
#define    ISIF_GREEN_RED    1
#define ISIF_GREEN_BLUE    2
#define ISIF_BLUE    3
struct isif_col_pat {
    __u8 olop;
    __u8 olep;
    __u8 elop;
    __u8 elep;
};

/*************************************************************************
**  Data formatter parameters
*************************************************************************/
struct isif_fmtplen {
    /*
     * number of program entries for SET0, range 1 - 16
     * when fmtmode is ISIF_SPLIT, 1 - 8 when fmtmode is
     * ISIF_COMBINE
     */
    __u16 plen0;
    /*
     * number of program entries for SET1, range 1 - 16
     * when fmtmode is ISIF_SPLIT, 1 - 8 when fmtmode is
     * ISIF_COMBINE
     */
    __u16 plen1;
    /**
     * number of program entries for SET2, range 1 - 16
     * when fmtmode is ISIF_SPLIT, 1 - 8 when fmtmode is
     * ISIF_COMBINE
     */
    __u16 plen2;
    /**
     * number of program entries for SET3, range 1 - 16
     * when fmtmode is ISIF_SPLIT, 1 - 8 when fmtmode is
     * ISIF_COMBINE
     */
    __u16 plen3;
};

struct isif_fmt_cfg {
#define ISIF_SPLIT        0
#define ISIF_COMBINE        1
    /* Split or combine or line alternate */
    __u8 fmtmode;
    /* enable or disable line alternating mode */
    __u8 ln_alter_en;
#define ISIF_1LINE        0
#define    ISIF_2LINES        1
#define    ISIF_3LINES        2
#define    ISIF_4LINES        3
    /* Split/combine line number */
    __u8 lnum;
    /* Address increment Range 1 - 16 */
    __u8 addrinc;
};

struct isif_fmt_addr_ptr {
    /* Initial address */
    __u32 init_addr;
    /* output line number */
#define ISIF_1STLINE        0
#define    ISIF_2NDLINE        1
#define    ISIF_3RDLINE        2
#define    ISIF_4THLINE        3
    __u8 out_line;
};

struct isif_fmtpgm_ap {
    /* program address pointer */
    __u8 pgm_aptr;
    /* program address increment or decrement */
    __u8 pgmupdt;
};

struct isif_data_formatter {
    /* Enable/Disable data formatter */
    __u8 en;
    /* data formatter configuration */
    struct isif_fmt_cfg cfg;
    /* Formatter program entries length */
    struct isif_fmtplen plen;
    /* first pixel in a line fed to formatter */
    __u16 fmtrlen;
    /* HD interval for output line. Only valid when split line */
    __u16 fmthcnt;
    /* formatter address pointers */
    struct isif_fmt_addr_ptr fmtaddr_ptr[16];
    /* program enable/disable */
    __u8 pgm_en[32];
    /* program address pointers */
    struct isif_fmtpgm_ap fmtpgm_ap[32];
};

struct isif_df_csc {
    /* Color Space Conversion confguration, 0 - csc, 1 - df */
    __u8 df_or_csc;
    /* csc configuration valid if df_or_csc is 0 */
    struct isif_color_space_conv csc;
    /* data formatter configuration valid if df_or_csc is 1 */
    struct isif_data_formatter df;
    /* start pixel in a line at the input */
    __u32 start_pix;
    /* number of pixels in input line */
    __u32 num_pixels;
    /* start line at the input */
    __u32 start_line;
    /* number of lines at the input */
    __u32 num_lines;
};

struct isif_gain_offsets_adj {
    /* Gain adjustment per color */
    struct isif_gain gain;
    /* Offset adjustment */
    __u16 offset;
    /* Enable or Disable Gain adjustment for SDRAM data */
    __u8 gain_sdram_en;
    /* Enable or Disable Gain adjustment for IPIPE data */
    __u8 gain_ipipe_en;
    /* Enable or Disable Gain adjustment for H3A data */
    __u8 gain_h3a_en;
    /* Enable or Disable Gain adjustment for SDRAM data */
    __u8 offset_sdram_en;
    /* Enable or Disable Gain adjustment for IPIPE data */
    __u8 offset_ipipe_en;
    /* Enable or Disable Gain adjustment for H3A data */
    __u8 offset_h3a_en;
};

struct isif_cul {
    /* Horizontal Cull pattern for odd lines */
    __u8 hcpat_odd;
    /* Horizontal Cull pattern for even lines */
    __u8 hcpat_even;
    /* Vertical Cull pattern */
    __u8 vcpat;
    /* Enable or disable lpf. Apply when cull is enabled */
    __u8 en_lpf;
};

struct isif_compress {
#define ISIF_ALAW        0
#define ISIF_DPCM        1
#define ISIF_NO_COMPRESSION    2
    /* Compression Algorithm used */
    __u8 alg;
    /* Choose Predictor1 for DPCM compression */
#define ISIF_DPCM_PRED1        0
    /* Choose Predictor2 for DPCM compression */
#define ISIF_DPCM_PRED2        1
    /* Predictor for DPCM compression */
    __u8 pred;
};

/* all the stuff in this struct will be provided by userland */
struct isif_config_params_raw {
    /* Linearization parameters for image sensor data input */
    struct isif_linearize linearize;
    /* Data formatter or CSC */
    struct isif_df_csc df_csc;
    /* Defect Pixel Correction (DFC) confguration */
    struct isif_dfc dfc;
    /* Black/Digital Clamp configuration */
    struct isif_black_clamp bclamp;
    /* Gain, offset adjustments */
    struct isif_gain_offsets_adj gain_offset;
    /* Culling */
    struct isif_cul culling;
    /* A-Law and DPCM compression options */
    struct isif_compress compress;
    /* horizontal offset for Gain/LSC/DFC */
    __u16 horz_offset;
    /* vertical offset for Gain/LSC/DFC */
    __u16 vert_offset;
    /* color pattern for field 0 */
    struct isif_col_pat col_pat_field0;
    /* color pattern for field 1 */
    struct isif_col_pat col_pat_field1;
#define ISIF_NO_SHIFT        0
#define    ISIF_1BIT_SHIFT        1
#define    ISIF_2BIT_SHIFT        2
#define    ISIF_3BIT_SHIFT        3
#define    ISIF_4BIT_SHIFT        4
#define ISIF_5BIT_SHIFT        5
#define ISIF_6BIT_SHIFT        6
    /* Data shift applied before storing to SDRAM */
    __u8 data_shift;
    /* enable input test pattern generation */
    __u8 test_pat_gen;
};

#ifdef __KERNEL__
struct isif_ycbcr_config {
    /* isif pixel format */
    enum ccdc_pixfmt pix_fmt;
    /* isif frame format */
    enum ccdc_frmfmt frm_fmt;
    /* ISIF crop window */
    struct v4l2_rect win;
    /* field polarity */
    enum vpfe_pin_pol fid_pol;
    /* interface VD polarity */
    enum vpfe_pin_pol vd_pol;
    /* interface HD polarity */
    enum vpfe_pin_pol hd_pol;
    /* isif pix order. Only used for ycbcr capture */
    enum ccdc_pixorder pix_order;
    /* isif buffer type. Only used for ycbcr capture */
    enum ccdc_buftype buf_type;
};

/* MSB of image data connected to sensor port */
enum isif_data_msb {
    ISIF_BIT_MSB_15,
    ISIF_BIT_MSB_14,
    ISIF_BIT_MSB_13,
    ISIF_BIT_MSB_12,
    ISIF_BIT_MSB_11,
    ISIF_BIT_MSB_10,
    ISIF_BIT_MSB_9,
    ISIF_BIT_MSB_8,
    ISIF_BIT_MSB_7
};

enum isif_cfa_pattern {
    ISIF_CFA_PAT_MOSAIC,
    ISIF_CFA_PAT_STRIPE
};

struct isif_params_raw {
    /* isif pixel format */
    enum ccdc_pixfmt pix_fmt;
    /* isif frame format */
    enum ccdc_frmfmt frm_fmt;
    /* video window */
    struct v4l2_rect win;
    /* field polarity */
    enum vpfe_pin_pol fid_pol;
    /* interface VD polarity */
    enum vpfe_pin_pol vd_pol;
    /* interface HD polarity */
    enum vpfe_pin_pol hd_pol;
    /* buffer type. Applicable for interlaced mode */
    enum ccdc_buftype buf_type;
    /* Gain values */
    struct isif_gain gain;
    /* cfa pattern */
    enum isif_cfa_pattern cfa_pat;
    /* Data MSB position */
    enum isif_data_msb data_msb;
    /* Enable horizontal flip */
    unsigned char horz_flip_en;
    /* Enable image invert vertically */
    unsigned char image_invert_en;

    /* all the userland defined stuff*/
    struct isif_config_params_raw config_params;
};

enum isif_data_pack {
    ISIF_PACK_16BIT,
    ISIF_PACK_12BIT,
    ISIF_PACK_8BIT
};

#define ISIF_WIN_NTSC                {0, 0, 720, 480}
#define ISIF_WIN_VGA                {0, 0, 640, 480}

#endif
#endif
Command:
Quick Commands:
Upload:
[Read-Only] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [Read-Only]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.6091 seconds