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.

K2H EVM: Confirm H264 encode/decode performance

Guru 24520 points
Other Parts Discussed in Thread: 66AK2H12

Hi all,

Please let me know the performance(i.e. Latency, fps and so on) when perform the H264 real-time encoding for 1080p with using the K2H EVM .  I would like to show this performance to my customer. 

I know that this demonstration with above case is not include in Video MCSDK.

If you have any questions and need more information to estimate, please let me know.

Best regards.

Kaka

  • Hi Kaka,

    You can check C66x H.264 HP encoder data sheet for performance details (attached). Number of cores mainly depends on used configuration (Base profile, main profile, high profile).

    Please let us know if you have further questions,

    6545.H264_High_Profile_Encoder_C6678_DataSheet[1].pdf

    Thank you,

    Paula

  • Hi Paula,

    Thank you for your response. 

    I checked your attached document.  Please let me confirm my understanding because I am not well versed in video codecs.

    This encoder could not correspond for the following resolution and frame rate.

      Resolution: 1080p                 Frame Rate: 60f

    If correspond to this case, we need to prepare the new H264 decoder which supports the level up to 4.2.

    Is my understanding correct? And if my understanding is correct, do you have a plan to make the encoder which supports the level up to 4.2?  Or is this request difficult / tough for one 66AK2H12 to process this case?

    If yes, how many Keystone devices do we need in order to process it?

    If you have any questions, please let me know.

    Best regards.

    Kaka

  • Hi Paula,

    I might have mistakes for my understanding in my previous post.

    Would you please explain about "420p_8bit.yuv, YUV420, CABAC, VBR, IBBP @ 8Mbps @ 30 frames per second" in "Test Description" at Table 2 in detail?

    I understand that this test condition was used "airshow_p1920x1080.yuv" as input source. (i.e. Input the video which is 1920*1080* 30frame.)However, I could not understand about any other conditions.

    If you have any questions, please let me know.

    Best regards.

    Kaka

  • Hi Kaka,

    For Encoding 1080p60 we would need two 8-core DSPs chips, however, current H.264 HP encoder is multicore but no ready multichip, some changes on the encoder software architecture would need to be done. This changes are not currently on the H.264 HP encoder roadmap.

     Table 1 of previous attached datasheet is a summary of used configuration in order to get cycle numbers.

    For example CBR/VBR -> Refers to rate control Constant or Variable Bit Rate, this has not main repercution on performance. VBR could give better Video Quality but some applications required CBR.

    IPPP vs IBBP -> B-frames helps to improve compression efficiency but increase complexity and use more cycles

    CAVLC vs CABAC -> Cabac helps to improve compressin efficiency but it is more complex than CAVLC and use more cycles

    YUV420 -> refers to the raw input video format which is YUV, whith Chroma U and V subsampling.

    Airshow 1080p30 clip was used for profiling numbers.

    Let us know if you have further questions.

    thank you,

    Paula

  • Hi Paula,

    Thank you for your response and explanation. Please let me confirm your previous answers.

     -------------------

    For Encoding 1080p60 we would need to 8-core DSPs chips, however, current H.264 HP encoder is multicore but no ready multichip, some changes on the encoder software architecture would need to be done.

    -------------------

    [Question.1]

    Is this means as below?

     If encoding 1080p60, we need to use two C6678 devices. And customer need to develop the H.264 HP encoder library in order to correspond to multichip at this time.

     -------------------

    Table 1 of previous attached datasheet is a summary of used configuration in order to get cycle numbers.

    -------------------

    [Question.2]

    The result shows cycles in order to make 1 frame.

    Is my understanding correct? I could not understand the meaning of this value what it shows.

    If you have any question, please let me know.

    Best regards.

    Kaka

     

  • Hi Kaka

    [question 1] Your understanding is correct

    [question 2] Average cycles are shown per second per core. So for example if you are using a single core configuration and you set CPU to 1250MHz, and after profiling cycles you get an average mega cycles per second per core about ~500, then that implies, you could squezee two channels in one core. On the contrary, if with the same single core configuration you get mega cycles per second per core >1250 then you would need to add another core in order to achieve realtime.   

    Please let me know if this explanation is clear or if you have further questions,

    thank you,

    Paula 

  • Hi Paula,

    Thank you for your answers. My questions have been solved by your answers.

    If I will have more questions for this topics, please let me confirm them to you.

    Best regards.

    Kaka