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.

DM6446 H.264 HD BP encoder (v2.0) output format

Hi there,

I am working with the H.264 encoder lib provided with the DM6446 SDK. Is there any document to describe the encoder output bitstream  in detail? The description in the user guide is just too vague. I need to integrate the encoder to a video phone so encoding each frame into slices is needed (FU is not acceptable). My questions are:

1. If I set the maxBytesPerSlice in the dynamic parameter, do I need to specify maxMBsPerSlice as well?

2. If maxBytesPerSlice is set to a non-zero value, say 1400, does the encoder put all the slices into one output buffer? If yes, how can I tell the boundary between slices?

3. How can I get the PPS(picture parameter set) and SPS(sequence parameter set)? Will the encoder produce this or do I need to create them?

Thanks a lot.

Yushu Shi

  • Hello Yushu,

     

    The answers to your query are inline,

    1. If I set the maxBytesPerSlice in the dynamic parameter, do I need to specify maxMBsPerSlice as well?

    Ans: No there is no need to specify maxMBsPerSlice if maxBytesPerSlice are set.

    2. If maxBytesPerSlice is set to a non-zero value, say 1400, does the encoder put all the slices into one output buffer? If yes, how can I tell the boundary between slices?

    Ans: This is dependent on streamFormat set. If this is set as IH264_NALU_STREAM, it is possible to get output as one slice per NAL unit. The slice delimiter i.e. slice start code used is 00 00 00 01, please refer to user guide appendix for more details and H.264 standard.

    3. How can I get the PPS(picture parameter set) and SPS(sequence parameter set)? Will the encoder produce this or do I need to create them?

    Ans: H.264 encoder produces PPS and SPS for IDR frame.

    Please refer H.264 standard, for more details on format of H.264 bit stream.

     

    Regards,

    Jaydeep

  • Hi Jaydeep,

    Thanks for the post as I'm facing similar problem here.  But where can I set streamFormat parameter?  I searched all the code and could not find a structure has this field and there is no IH264_NALU_STREAM definition as well.

  • Hi David,

    Please check for 'IH264VENC_StreamFormat' parameter. If you set it to

    (1)'IH264_BYTE_STREAM' - bit stream generated will be in byte stream format

    (2)'IH264_NALU_STREAM' - bit stream generated will be in NAL unit format

    Please refer to user guide for details of all parameters.

    Thanks,

    Roopesh

  • Thanks for the reply.  But I searched the whole dm6446_h264enc_02_02_00_02_production package and all the other TI packages and could not find the string IH264VENC_StreamFormat in any header file or C file.

  • Hi David,

    From the source code we find that 'streamFormat' parameter settings are not supported in this codebase. Apologies for the previous reply.

    Thanks,

    Roopesh