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.

1080p30 4channel encode & display usecase

Other Parts Discussed in Thread: TVP5158

Hi.

I'm using DVRRDK 3.5. My usecase is as follow.

1080p30 4CH Capture ---> Resize(1080p, 720p, etc..) --> encode

                                  |-> swMs --> display

I know that one scalar's capablity is upto 1080p30 * 3. So. i should use 2 scalars for encoder.

But, if I use 2 scalar for encoding. swMs can't be created.

I use DEI single output scalar for encoder.

According to RDK source code, VPS_M2M_INST_MAIN_DEIH_SC3_VIP0 / VPS_M2M_INST_AUX_DEI_SC4_VIP1 are used.(maybe SC3 & SC4. Correct?)

In this case only SC5(SYSTEM_SW_MS_SC_INST_SC5) is OK, and the other scalar instance makes assertion error.

Is this usecase possible? If possible, how should i assign scalars for encoder & swMs?

  • If your output format is YUV420 in the capture path, you will not be able to use VIP portion in DEI driver since there is no free path available in the capture for the DEI.

     

    Regards,

    Brijesh

  • Thx for reply.

    I don't use 420out on Capture PATH.

    My chain is as follows.

    Capture(1080p30 * 4)  422OUT --> DUP ----> DEI(1080p30 * 4) --> 420OUT --> Encode (1080p30 * 4)

                                                                      |---> swMs(1080p30*4) --> Display

     

    And, swMs cannot be created with any SC instance except SC5.

     

  • I decided to set display frame rate to 15.

    And instead enabling dual output(420p/422p) of DEI.

    So. my chain was changed to as follows.

    Capture(1080p30 * 4)  --> DUP ----> DEI ---> 420out(1080p30 4ch) -----------> merge --> Encode (1080p30 * 4 + 480p30 * 4)

                                                                       |-> 422out(480p30 4ch) -> nsf ->|

                                        |---> swMs with SC5(1080p15*4) --> Display

    But, there are frame drops in DEI 420P of DEIHQ out path about 20%(30fps->25fps)

    I don't know the reason of fps drop.

     

    This is detailed statistics of DEI

    [m3vpss ]  *** [DEI0    ] DEI Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time           : 230 secs
     [m3vpss ]  Total Fields Processed : 6832
     [m3vpss ]  Total Fields FPS       : 108 FPS
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  CH  | In Recv In Reject In Process Out[0] Out[1] Out[2] Out[3] Out[4] Skip Out[0] Skip Out[1] Skip Out[2] Skip Out[3] Skip Out[4] User Out[0] User Out[1] User Out[2] User Out[3] User Out[4] Latency  
     [m3vpss ]  Num | FPS     FPS       FPS        FPS    FPS    FPS    FPS    FPS       FPS         FPS         FPS         FPS         FPS       Skip FPS    Skip FPS    Skip FPS    Skip FPS    Skip FPS   Min / Max
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |      29         0         29     29     25      0      0      0           0           4           0           0           0           0           0           0           0           0  14 /  54
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [DEI1    ] DEI Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time           : 230 secs
     [m3vpss ]  Total Fields Processed : 6859
     [m3vpss ]  Total Fields FPS       : 99 FPS
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  CH  | In Recv In Reject In Process Out[0] Out[1] Out[2] Out[3] Out[4] Skip Out[0] Skip Out[1] Skip Out[2] Skip Out[3] Skip Out[4] User Out[0] User Out[1] User Out[2] User Out[3] User Out[4] Latency  
     [m3vpss ]  Num | FPS     FPS       FPS        FPS    FPS    FPS    FPS    FPS       FPS         FPS         FPS         FPS         FPS       Skip FPS    Skip FPS    Skip FPS    Skip FPS    Skip FPS   Min / Max
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |      29         0         29     29     24      0      0      0           0           5           0           0           0           0           0           0           0           0  15 /  59
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [DEI2    ] DEI Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time           : 230 secs
     [m3vpss ]  Total Fields Processed : 6859
     [m3vpss ]  Total Fields FPS       : 111 FPS
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  CH  | In Recv In Reject In Process Out[0] Out[1] Out[2] Out[3] Out[4] Skip Out[0] Skip Out[1] Skip Out[2] Skip Out[3] Skip Out[4] User Out[0] User Out[1] User Out[2] User Out[3] User Out[4] Latency  
     [m3vpss ]  Num | FPS     FPS       FPS        FPS    FPS    FPS    FPS    FPS       FPS         FPS         FPS         FPS         FPS       Skip FPS    Skip FPS    Skip FPS    Skip FPS    Skip FPS   Min / Max
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |      29         0         29     29     29      0      0      0           0           0           0           0           0           0           0           0           0           0  16 /  53
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  *** [DEI3    ] DEI Statistics ***
     [m3vpss ] 
     [m3vpss ]  Elasped Time           : 230 secs
     [m3vpss ]  Total Fields Processed : 6829
     [m3vpss ]  Total Fields FPS       : 109 FPS
     [m3vpss ] 
     [m3vpss ] 
     [m3vpss ]  CH  | In Recv In Reject In Process Out[0] Out[1] Out[2] Out[3] Out[4] Skip Out[0] Skip Out[1] Skip Out[2] Skip Out[3] Skip Out[4] User Out[0] User Out[1] User Out[2] User Out[3] User Out[4] Latency  
     [m3vpss ]  Num | FPS     FPS       FPS        FPS    FPS    FPS    FPS    FPS       FPS         FPS         FPS         FPS         FPS       Skip FPS    Skip FPS    Skip FPS    Skip FPS    Skip FPS   Min / Max
     [m3vpss ]  -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     [m3vpss ]    0 |      29         0         29     29     29      0      0      0           0           0           0           0           0           0           0           0           0           0  14 /  58
     [m3vpss ] 
     [m3vpss ] 

  • After some debug, I found that the frame drops came from encoder.

    I assign encoder as follows.

    static SystemVideo_Ivahd2ChMap_Tbl systemVid_encDecIvaChMapTbl =
    {
    .isPopulated = 1,
    .ivaMap[0] =
    {
    .EncNumCh = 2,
    .EncChList = {0, 1}, // 2ch 1080p30
    .DecNumCh = 0,
    .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    .ivaMap[1] =
    {
    .EncNumCh = 2,
    .EncChList = {2, 3}, // 2ch 1080p30
    .DecNumCh = 0,
    .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    .ivaMap[2] =
    {
    .EncNumCh = 4, 
    .EncChList = {4, 5, 6, 7}, // 4ch D1
    .DecNumCh = 0,
    .DecChList = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    };

    DEI_HQ's VIP out is connected to IVAHD0. and IVAHD0 cannot encode 2ch 1080p30.

    But, if I disable swMs & display path, there's no frame drop.

    Is encoder affected by swMs or display?

  • Hi, again.

    I migrated to DVR RDK 4.1. And I found the MultichHD usecase

    in dvr_rdk/mcfw/src_linux/mcfw_api/usecases/ti816x/multichhd_vcap_venc_vdis.c

    I commented out ENABLE_FAKE_HD_MODE, because my custom board does not use TVP5158.

    And the test result shows frame drops too.

    Any idea?

     

  • I found the reason.

    My board's ddr3 mem clock was set to 400MHz.

    After set to 675Mhz, the problem has gone.

    Sorry for confusion.