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.

about SystemVideo_Ivahd2ChMap_Tbl

Hi,

Is the table SystemVideo_Ivahd2ChMap_Tbl in used? Or the system will deal with IVAHDs resources automatically? If not, and in the 2 channels 1080p60 encode and 1 channel 1080p60 decode scene, how the configuration of this table should be? Thank you.

static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl =
{
    .isPopulated = 1,
    .ivaMap[0] =
    {
        .EncNumCh  = 2,
        .EncChList = {0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0},
        .DecNumCh  = 0,
        .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    .ivaMap[1] =
    {
        .EncNumCh  = 2,
        .EncChList = {1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0},
        .DecNumCh  = 0,
        .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    .ivaMap[2] =
    {
        .EncNumCh  = 8,
        .EncChList = {4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0 , 0, 0},
        .DecNumCh  = 0,
        .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
};

  • Is the table SystemVideo_Ivahd2ChMap_Tbl in used?

     - yes it is used

    Or the system will deal with IVAHDs resources automatically?

    - no it is not assigned automatically

    2 channels 1080p60 encode and 1 channel 1080p60 decode scene, how the configuration of this table should be?

     - Below

    static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl =
    {
        .isPopulated = 1,
        .ivaMap[0] =
        {
            .EncNumCh  = 1,
            .EncChList = {0},
            .DecNumCh  = 0,
            .DecChList = {0},
        },
        .ivaMap[1] =
        {
            .EncNumCh  = 1,
            .EncChList = {1},
            .DecNumCh  = 0,
            .DecChList = {0},
        },
        .ivaMap[2] =
        {
            .EncNumCh  = 0,
            .EncChList = {0},
            .DecNumCh  = 1,
            .DecChList = {0},
        },
    };

     

  • Thanks very much, Badri. Your answers are very useful. Thanks once more!

  • Hi, Badri.

    I have one more question about systemVid_encDecIvaChMapTbl. The configuration for 2 channels 1080p60 encode and 1 channel 1080p60 decode scene is listed above, but  if I want to change to 1 channel 1080p60 encode and 2 channels 1080p60 decode scene, should the configuration of this table be changed to a different one? Thanks very much!

    Best regards,

  • No there is no need to change the map.

    Initially Assign

    IVA 0 - Encode channel 0

    IVA1 - Encode Channel 1 , Decode Channel 1

    IVA2 - Decode Channel 0.

     

    So when you switch from 2 encode + 1 decoder to 2 decode + 1 encode the load will still be balanced as IVA1 is shared between Encode Channel 1 and Decode Channel 1.

     

  • hi Badri,

      if I use 16D1+16CIF encode and without decode, how to allocate the resource to get a better balance?

  • You can refer /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/ti816x/multich_vcap_venc_vdis.c for 16 channel D1 + 16 channel CIF encode only usecase.IVA map is below:

    It uses only 2 HDVICP as it is meant to run on 8165 which has only 2 HDVICP

    static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl =
    {
        .isPopulated = 1,
        .ivaMap[0] =
        {
            .EncNumCh  = 24,
            .EncChList = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46},
            .DecNumCh  = 0,
            .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        },
        .ivaMap[1] =
        {
            .EncNumCh  = 24,
            .EncChList = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47},
            .DecNumCh  = 0,
            .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        },
        .ivaMap[2] =
        {
            .EncNumCh  = 0,
            .EncChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            .DecNumCh  = 0,
            .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        },
    };

  • in case of 16 D1/CIF only, did you mean I can list just as below, right?

    static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl =
    {
        .isPopulated = 1,
        .ivaMap[0] =
        {
            .EncNumCh  = 16,
            .EncChList = {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30},
            .DecNumCh  = 0,
            .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        },
        .ivaMap[1] =
        {
            .EncNumCh  = 16,
            .EncChList = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31},
            .DecNumCh  = 0,
            .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        },
        .ivaMap[2] =
        {
            .EncNumCh  = 0,
            .EncChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            .DecNumCh  = 0,
            .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
        },
    };

  • Yes that is correct