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.

DM816x CPROC equations



On the DM816x HDVPSS,
I would like to run the CPROC in a 'bypass' mode,
so it only does a linear YUV -> RGB conversion.
I would like to get the same color results as the CSC hardware.

Is there any documentation available for the DM816x CPROC hardware,
other than the register descriptions in DM816x HDVPSS NDA guide section 3.17?
There is no "Theory of Operation" section for CPROC in the HDVPSS NDA guide.

http://www.cis.rit.edu/fairchild/PDFs/AppearanceLec.pdf

  • One additional note:

    I see that DVR RDK4.01.00.02 has some additional settings available exposed
    in the Vdis_setEdeStrength() and Vdis_setCprocConfig() API's.

    Can someone from DVR-RDK / HDVPSS side comment on getting
    CPROC settings to match CSC?

  • Hi,

     

    We don’t really any feature of the CSC. The only purpose of the CPROC is to convert YUV422 into RGB. Other than this, none of the feature of the CSC is enabled.

     

    And for converting YUV to RGB, it is simple CSC. It uses two modules, it uses YUV to CIECAM and CIECAM to RGB module.  There is no direct CSC in the CPROC.

     

    Regards,

    Brijesh Jadav

  • Hi,

        In HDMI path, YUV to RGB is done by CPROC and RGB to YUV is done by CSC in hdvenc .

        But after hdvenv ,the luminance component is smaller than the value befor CPROC. here is some test :

               before CPROC :      after HDVHNC

      y:         0xa0                                 0x99

                  0x80                                 0x77

                  0x50                                 0x44

          that means the Image is darker than the image after decoder .

          maybe the converting from YUV -> CIECAM -> RGB -> YUV result in this problem.

          How to solve this problem ?

          By the way ,there is no such problem on DVO2 path because of using csc to convert Y2R and R2Y .

  • Brijesh Jadav said:

    Hi,

     

    We don’t really any feature of the CSC. The only purpose of the CPROC is to convert YUV422 into RGB. Other than this, none of the feature of the CSC is enabled.

     

    And for converting YUV to RGB, it is simple CSC. It uses two modules, it uses YUV to CIECAM and CIECAM to RGB module.  There is no direct CSC in the CPROC.

     

    Regards,

    Brijesh Jadav

    Hi ,

        could you help me on this problem ?thanks

        In HDMI path, YUV to RGB is done by CPROC and RGB to YUV is done by CSC in hdvenc .

        But after hdvenv ,the luminance component is smaller than the value befor CPROC. here is some test :

               before CPROC :      after HDVHNC

      y:         0xa0                                 0x99

                  0x80                                 0x77

                  0x50                                 0x44

          that means the Image is darker than the image after decoder .

          maybe the converting from YUV -> CIECAM -> RGB -> YUV result in this problem.

          How to solve this problem ?

          By the way ,there is no such problem on DVO2 path because of using csc to convert Y2R and R2Y .

  • Hi,

     

    What is output format from DVO2 and HDMI? If it is same, can you please first make sure that CSC in both of these VENCS are configured with the same settings? Once this is done, we just have to look into the CPROC and make sure it gives matching output.

     

    Regards,

    Brijesh

  • Brijesh,

    The colorspace conversion registers in DVO2 and HDMI are set up identically --

    see below.

             VPS_HD_VENC_D_DVO1_CFG0= 44013051
             VPS_HD_VENC_D_DVO1_CFG1= 003f0275
             VPS_HD_VENC_D_DVO1_CFG2= 1ea500bb
             VPS_HD_VENC_D_DVO1_CFG3= 1f9901c2
             VPS_HD_VENC_D_DVO1_CFG4= 1fd71e67
             VPS_HD_VENC_D_DVO1_CFG5= 004001c2
             VPS_HD_VENC_D_DVO1_CFG6= 00200200
             VPS_HD_VENC_D_DVO1_CFG7= 184c0c77
             VPS_HD_VENC_D_DVO1_CFG8= 1c0c0c30
             VPS_HD_VENC_D_DVO1_CFG9= 1c0c0c30
            VPS_HD_VENC_D_DVO1_CFG10= 84465898
            VPS_HD_VENC_D_DVO1_CFG11= 2c24900d
            VPS_HD_VENC_D_DVO1_CFG12= 2c7880bd
            VPS_HD_VENC_D_DVO1_CFG13= 00000464
            VPS_HD_VENC_D_DVO1_CFG14= 00038338
            VPS_HD_VENC_D_DVO1_CFG15= 2c780118
            VPS_HD_VENC_D_DVO1_CFG16= 0000e000
            VPS_HD_VENC_D_DVO1_CFG17= 00456000
            VPS_HD_VENC_D_DVO1_CFG18= 05004000
            VPS_HD_VENC_D_DVO1_CFG19= 05001001
            VPS_HD_VENC_D_DVO1_CFG20= 0024323f
            VPS_HD_VENC_D_DVO1_CFG21= 2c780110
            VPS_HD_VENC_D_DVO1_CFG22= 0000e001
            VPS_HD_VENC_D_DVO1_CFG23= 00457249
            VPS_HD_VENC_D_DVO1_CFG24= 05001000
            VPS_HD_VENC_D_DVO1_CFG25= 05004232

             VPS_HD_VENC_D_DVO2_CFG0= 44013051
             VPS_HD_VENC_D_DVO2_CFG1= 003f0275
             VPS_HD_VENC_D_DVO2_CFG2= 1ea500bb
             VPS_HD_VENC_D_DVO2_CFG3= 1f9901c2
             VPS_HD_VENC_D_DVO2_CFG4= 1fd71e67
             VPS_HD_VENC_D_DVO2_CFG5= 004001c2
             VPS_HD_VENC_D_DVO2_CFG6= 00200200
             VPS_HD_VENC_D_DVO2_CFG7= 184c0c77
             VPS_HD_VENC_D_DVO2_CFG8= 1c0c0c30
             VPS_HD_VENC_D_DVO2_CFG9= 1c0c0c30
            VPS_HD_VENC_D_DVO2_CFG10= 84465898
            VPS_HD_VENC_D_DVO2_CFG11= 2c24900d
            VPS_HD_VENC_D_DVO2_CFG12= 2c7880bd
            VPS_HD_VENC_D_DVO2_CFG13= 00000464
            VPS_HD_VENC_D_DVO2_CFG14= 00038338
            VPS_HD_VENC_D_DVO2_CFG15= 2c780118
            VPS_HD_VENC_D_DVO2_CFG16= 0000e000
            VPS_HD_VENC_D_DVO2_CFG17= 00456000
            VPS_HD_VENC_D_DVO2_CFG18= 05004000
            VPS_HD_VENC_D_DVO2_CFG19= 05001001
            VPS_HD_VENC_D_DVO2_CFG20= 0024323f
            VPS_HD_VENC_D_DVO2_CFG21= 2c780110
            VPS_HD_VENC_D_DVO2_CFG22= 0000e001
            VPS_HD_VENC_D_DVO2_CFG23= 00457249
            VPS_HD_VENC_D_DVO2_CFG24= 05001000
            VPS_HD_VENC_D_DVO2_CFG25= 05004232

    The CPROC mismatch is most easily seen in darker areas with bluish hues.

    Regards,

    John Whittington

  • Brijesh Jadav said:

    Hi,

     

    What is output format from DVO2 and HDMI? If it is same, can you please first make sure that CSC in both of these VENCS are configured with the same settings? Once this is done, we just have to look into the CPROC and make sure it gives matching output.

     

    Regards,

    Brijesh

    hi,

       the output format from DVO2 and HDMI is both 720p60. And the VENCS of DVO2 and HDMI are configed the same CSC settings . we still have this problem .

  • Hi zhuohua

     

    We have support for many different color conversion coefficients in CPROC. I have pasted it below. Can you select the one of them depending on input and output color format and see if it resolves your problem?

     

        /**< SDTV Limted range YUV to Limited Range RGB */
        VPS_CPROC_CIECAM_MODE_SDTV_YUV_LIMITED_RGB_LIMITED = 0,
        /**< SDTV Full range YUV to full Range RGB */
        VPS_CPROC_CIECAM_MODE_SDTV_YUV_FULL_RGB_FULL,
        /**< SDTV Limted range YUV to Full Range RGB */
        VPS_CPROC_CIECAM_MODE_SDTV_YUV_LIMITED_RGB_FULL,

        /**< HDTV Limted range Y to Limited Range RGB */
        VPS_CPROC_CIECAM_MODE_HDTV_YUV_LIMITED_RGB_LIMITED,
        /**< HDTV Limted range YUV to Limited Range RGB */
        VPS_CPROC_CIECAM_MODE_HDTV_YUV_FULL_RGB_FULL,
        /**< SDTV Full range YUV to full Range RGB */
        VPS_CPROC_CIECAM_MODE_HDTV_YUV_LIMITED_RGB_FULL,

     

    Regards,

    Brijesh