This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Some question about ipipeif and ipipe(DM355 VPFE)

Hi,

I am Guo Hongjian.I have some question about ipipeif and ipipe(DM355 VPFE).If you know,please help me. Thank you very much.

1 How to configure ipipeif and ipipe register when the input data format is YUV?

2 What is the difference between config - > ipipeif_param.source = CCDC ( 0) and config - > ipipeif_param.source = SDRAM_YUV ( 3)?

3 If config - > ipipeif_param.source = CCDC, the image can only appear the green and purple, why?

4.How the gain parameters of the ipipeif impact on YUV data?

Regards

  • Guo Hongjian,

    You need to give detailed explanation of your setup and objective. Then, engineers can answer questions comprehensively

    hongjian guo said:
    1 How to configure ipipeif and ipipe register when the input data format is YUV?

    .

    It is a very broad question. You need to refer to dm355 vpfe user guide for the same. Also you can refer arago source.

    hongjian guo said:
    2 What is the difference between config - > ipipeif_param.source = CCDC ( 0) and config - > ipipeif_param.source = SDRAM_YUV ( 3)?

    IPIPEIF can take video data from CCDC which in-turn takes video data from a SD/HD decoder or a CAMERA(this is continuous mode f working). IPIPEIF can also read video data from memory(this single shot mode). Hope this helps.

    hongjian guo said:
    3 If config - > ipipeif_param.source = CCDC, the image can only appear the green and purple, why?

    You have to make sure that CCDC is configured properly along with SD/HD decoder or CAMERA which is feeding CCDC

    hongjian guo said:
    4.How the gain parameters of the ipipeif impact on YUV data?

    .

    Not sure about this, please refer to dm365 vpfe user guide.

     

     

     

  • Hi,

    Thank you for your answer.

    Our camera’ signal format is the YUV422. The IPIPE need to be configured to operate in a resize only mode, which allows YCbCr-4:2:2 to be resized without applying the processing of every module in the IPIPE.

    Now, If config - > ipipeif_param.source = CCDC, the image can only appear the green and purple. And according to the test, I found that the gain parameters register of ipipeif have effect on the image, However, the vpfe document introduced to " These bits don ' t influence Data of YCC.", so I do not understand to this.      And if the data directly into the SDRAM ( ccdc_setfbaddr ( ( ( unsigned long ) ( vpfe - > curFrm - > boff ) ) ); ),  the image is clear and normal.

    I would like to ask, if the singal format is YUV422,can we configure that” config - > ipipeif_param.source = CCDC”?

    I configure register as this

    .ipipeif_param = {

                                /*IPPEIF config register*/

                                .data_shift = BITS11_0,//wu

                                .clock_select = PIXCEL_CLK

                                .ialaw = ALAW_OFF,

                                .pack_mode = SIXTEEN_BIT,

                                .avg_filter = AVG_OFF,

                                .clk_div = DIVIDE_FOURTH,//

                                .source = CCDC,//add by ghj

                                .decimation = DECIMATION_OFF,

                                .mode = CONTINUOUS,//ONE_SHOT,

                                .glob_hor_size = 1280+8,

                                .glob_ver_size = 720+10,

                                .hnum = 1280,//wu

                                .vnum = 720,//wu

                                .adofs = 1280 * 2,/*1248,  to make it 32 alligned */

                                .rsz = ONE,   /* resize ratio = 16/rsz:  valid range (16-112) */

                                .gain = 0x200    /* (precision is U10Q9) */wu

           },

           .ipipe_mode = CONTINUOUS,//ONE_SHOT,

           /*input/output datapath register*/

           .ipipe_dpaths_fmt = YUV2YUV,//add by ghj

           .ipipe_dpaths_bypass = RAW_MODE_OFF,//...check

           /*color pattern register*//

        .ipipe_colpat_elep = BLUE,         ipipe_colpat_elop = GREEN_BLUE,

        .ipipe_colpat_olep = GREEN_RED,    .ipipe_colpat_olop = RED,

           /*horizontal/vertical start, horizontal/vertical size*/

           .ipipe_vst = 1,//add by ghj

           .ipipe_vsz = 720-1,

           .ipipe_hst = 0,//add by ghj

           .ipipe_hsz = 1280-1,

    /*interupt generation after lines*/

    ……               

          .edge_enhancer = {

     

                                .yee_en =  DISABLE,

                                 .yee_emf = DISABLE,

                                 .yee_shf = 4,          

                                       .yee_mul_00 = 48,

                                 .yee_mul_01 = 12,

                                 .yee_mul_02 = 1014,

                                 .yee_mul_10 = 12,

                                 .yee_mul_11 = 0,

                                 .yee_mul_12 = 1018,

                                 .yee_mul_20 = 1014,

                                 .yee_mul_21 = 1018,

                                 .yee_mul_22 = 1022,

                                 .ee_table =NULL// (unsigned int*) yeeTable

     

                          },

           .false_color_suppresion = {

                                   .fcs_en =        ENABLE, // Uint8 csupEnable//add by ghj//

                                     .fcs_typ_typ = 0,/

                                     .fcs_shf_y = 0,//03

                                     .fcs_shf_c = 7,//07

                                     .fcs_thr = 235,//01FFh

                                     .fcs_sgn = 0,//0-1FFh

                                     .fcs_lth = 0//0-1FFh

                                  },

           .rsz_seq_seq = DISABLE,

           .rsz_seq_tmm = DISABLE,//output confined mode (normal mode)

           .rsz_seq_hrv = DISABLE,

           .rsz_seq_vrv = DISABLE,

           .rsz_seq_crv = DISABLE,

           .rsz_aal = ENABLE,//

           .rsz_rsc_param ={

                           {

                                  .rsz_mode = CONTINUOUS,

                                  .rsz_i_vst = 0,

                                  .rsz_i_vsz = 0,

                                  .rsz_i_hst = 0,

                                        .rsz_o_vsz = 720-1,

                                  .rsz_o_hsz = 1280-1,

                                        .rsz_o_hst = 0,

                                  .rsz_v_phs = 0,

                                  //unsigned int rsz_v_phs_o;

                                  .rsz_v_dif = 256,

                                       //unsigned int rsz_v_siz_o;

                                  .rsz_h_phs = 0,

                                  .rsz_h_dif = 256,

                                  .rsz_h_typ = CUBIC,

                                  .rsz_h_lse_sel = INTERNAL_VALUE,

                                  .rsz_h_lpf = 0

                              },

                              {

                                  .rsz_mode = CONTINUOUS,

                                  .rsz_i_vst = 0,

                                  .rsz_i_vsz = 0,

                                  .rsz_i_hst = 0,

                                        .rsz_o_vsz = 192-1,

                                  .rsz_o_hsz = 352-1,

                                        .rsz_o_hst = 0,

                                  .rsz_v_phs = 0,

                                  //unsigned int rsz_v_phs_o;

                                  .rsz_v_dif = 930,

                                       //unsigned int rsz_v_siz_o;

                                  .rsz_h_phs = 0,

                                  .rsz_h_dif = 930,

                                  .rsz_h_typ = CUBIC,

                                  .rsz_h_lse_sel = INTERNAL_VALUE,

                                  .rsz_h_lpf = 0

                              }

                         },

           .rsz2rgb = {

                         {

                                .rsz_rgb_en = DISABLE,//....check

                  /*            .rsz_rgb_typ = 0

                                .rsz_rgb_msk0 = 0,

                                .rsz_rgb_msk1 = 0,

                                .rsz_rgb_alpha_val = 0 */

                            },

                         {

                                .rsz_rgb_en = DISABLE,//....check

                         }

                     },

           .ext_mem_param = {

                             {

                               .rsz_sdr_bad_h = 0,

                               .rsz_sdr_bad_l = 0,

                               .rsz_sdr_sad_h = 0,

                               .rsz_sdr_sad_l = 0,

                               .rsz_sdr_oft = 1280 * 2,

                               .rsz_sdr_ptr_s = 0,

                              .rsz_sdr_ptr_e = 720

                         },

                          {

                               .rsz_sdr_bad_h = 0,

                               .rsz_sdr_bad_l = 0,

                               .rsz_sdr_sad_h = 0,

                               .rsz_sdr_sad_l = 0,

                               .rsz_sdr_oft = 352 * 2,

                               .rsz_sdr_ptr_s = 0,

                              .rsz_sdr_ptr_e = 192

                         },

                          },

           .rsz_en[0] = ENABLE,

           .rsz_en[1] = ENABLE

    Regards