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.

A basic question about DVRRDK dec & enc links (DM816x)

Hello,

    I have a conceptual question regarding to DECODER & ENCODER links on DVRRDK that need your quick answer.

    In my usecase, if I have multiple sources that need to be encoded , (ex: VGA capture, HDMI capture, SwMS overlaid signal, .etc)

    Is it possible to create multiple enc links in one chain? (for example: SYSTEM_LINK_ID_VENC_0, SYSTEM_LINK_ID_VENC_1, SYSTEM_LINK_ID_VENC_2 .etc appearing in a chain)

    Similar question, is multiple dec links in a chain allowed?

  • No, multiple enc/dec links are not allowed. But we can have multiple channels which have different resolutions in one enc/dec link. I think this can also meet your requiremet.

  • Thanks for quick response.

    1.  So we have to merge (merge link) all channels into one queue before fed into dec/enc links, righr??

    2.  Do you mean "all channels" in the queue will be encoded / decoded concurrently, right?

  • 1. For enc, yes, merge is needed. For dec, dynamic channel delete and add are supported. You can refer to DVR RDK vdec_vdis demo.

    2. Yes.

  • OK, now I get it.

    So, regarding to capture link, multiple cap links is not allowed also, right?

  • I appreciate your quick answer.

    best regards.

    - JohnWang

  • Hello, Haijun Guo

    Sorry that I have some more questions need your help.

    1.  Can I change encoder settings in the run time?

         I mean, to change format / profile / bit rate / frame rate / .etc settings after chain started.

    2.  Will it consume encoder H/W capability (Video M3 encode capability) if the signal of some channel is not presented when chain runs??

         (ie,  capture source equipment is plugged off from DM8168 box.)

  • 1. if you are using DVR_RDK, you can refer to enclink_h264_set_dynamic_params and enclink_h264_set_static_params to see what parameters can be changed dynamically(at run time) and what can not. Here, format, profile can not be changed at run time but bit rate and frame rate can.

    2.Yes, the encoder will still happen even the signal is removed. As long as there are inputs coming to encoder, encoder will work, no matter the input is blank frames or real video. But you can disable encoding channel at running time when no signal is detected, this can save the encoding capability.

  • Dear Haijun,

          Can you please clarify what action would be needed to change a static parameter of encoder.

          I mean, let's consider an example to change H264 profile from HP to MP:

          Method 1:

                          a. stop the chain

                          b. change H264_HP -> H264_MP

                          c. start the chain

          Method 2:

                          a. stop the chain

                          b. delete chain (delete links)

                          c. change H264_HP -> H264_MP

                          d. create chain (create links)

                          e. start the chain

          What method is correct? Do we need to delete the chain in order to change a static encoder param?

             

  • For changing static parameter of encoder you will have to delete the chain and recreate it.i.e.  Method 2 should be used