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.

CBR stuffing bytes

Hi,

i have a question regarding the CBR.

I am directly using the LINKAPI for the h264 Encoder application and I have configure the Encoder for CBR.

Constant is currently only the maxBitRate which mean, there are no Peaks. In static scene´s, the Bitrate is pretty

much under the targetBitRate.

My question is, where can i activate adding stuffing Bytes to meet the targetBitRate also in static scene´s?

Regards

  • Additional:
    I am using the DVR_RDK 4.0
  • Hello,

    You could check the encoder user guide.

    If I understand you right you could check Control masks FILLER(bit 12).

    I will try to check with the codec team as well.

    BR
    Margarita

  • Hi Andreas,

                  With control masks, FILLER had to be enabled along with set minBitrate accordingly to satisfy the below statement.

    By looking at the minbitrate, the filler bytes will be decided.

    minBitrate need to be at least 10% lower than target bitrate

    minBitrate need to be at least 2 mbps lower than target bitrate


    For an example if 22 mbps is target average bitrate, minBitrate should be
    19.8 mbps or lower.
    For an example if 10 mbps is target average bitrate, minBitrate should be 8
    mbps or lower.

    Regards

    Gajanan

  • Hi,
    thanks for the reply.

    I know about the minBitRate but did not find anything in the DVR_RDK where I can set a this.

    It is mentioned in the User Guide but but did not find it in the code. Where is the Location to set the minBitRate?
    I am using directly the LINK API.

    FILLER bit is clear, but i would expect that if I set both, the targetBitRate and the minBitRate, the Encoder should automatically insert such FILLER Frames. Is that the case?

    Regards
    Andy
  • Hi Andreas,

               MinBitrate is part of (IVIDENC2_Params *videnc2Params) structure.

    Yes once minbitrate & filler bytes are set, then Encoder will insert the filler data.

    Regards

    Gajanan

  • Hi,
    ok thanks, I found the Settings. It is not exported by the LINKAPI to control it directly from the application.

    If i set the minBitRate as well as the FILLER bits (in naluPresentMaskStartOfSequence and naluPresentMaskNonIntraPicture) the Output "flickers" each time the Encoder tries to insert a filler Frame.

    In which control Mask do I Need to set the FILLER bits? Is this only a bit to decided which nalu type should be used as a FILLER Frame?

    Regards
    Andy
  • Hi Andreas,

              I think it should work without changing any Nalu Parameters. Only Minbitrate should handles the adding the filler bytes. If its not working then add in naluPresentMaskIntraPicture and naluPresentMaskNonIntraPicture.

    Regards

    Gajanan