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.

Does TI provide the H.264 MP/HP encoder optimized for C6678 & what is the profiling data of 1080p video encoder



Hi,

   1. Does TI provide the H.264 MP/HP encoder optimized for C6678? Where can I get it?

   2. As for H.264 BP encoder, I noticed that the resolution of  the test case in the datasheet

are all under D1. I want to know the profiling data of 1080P case. For 1080p video input can

single core do real time encoding? Or we have to split jobs and dispatch them to 2 or more

cores? If so, Does TI provide the library for doing that? Thank you!

Sunzhao



  • Sunzhao,

    Please check out the following newly released MCSDK-Video package:

    http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/latest/index_FDS.html

    On that page, there is a link to video codecs, including H.264 for C6678.

    H.264 Encoder is partitioned based on slices. Each core operates on a non-overlapping slice and master core puts together the bit stream.

    Regards,

    Travis

  • Sunzhao,

    H.264 Encoder that is currently available on the web is Base Profile (BP) only. H.264 MP/HP (Main/High Profile) Codec is under development, currently at pre-beta stage. Current outlook for the availability of MP/HP on the web is end of June 2012. We are in the processing of updating the data sheets for BP Encoder to include profiling data for 1080p. It takes 5 cores to encode 1080p30 stream at Base Profile. The currently library and application is already multicore and can encode 1080p resolution. Like Travis mentioned, it is slice based encoding and each core operates on non-overlapping slice and master core puts together the bit stream. Please let us know if you have any follow up questions.

    Regards,

    Vivek


  • Vivek, how could know the single core profile since different codec using different core number without any declaration?

    While the C6678 jpeg encoder codec uses single core, the H.264 BP encoder uses 5 cores ?

     

  • dp,

    I am not sure I completely understand your question. However, please see if the following explanation helps. 

    The # of cores needed to run an encode or decode depends on the MIPS requirement for that Codec. The MIPS requirement is determined by a lot of factors (resolution, bitrate, framerate, features, profile-level etc). For H.264 BP Encoder, it is configurable to run the Codec on 1 core or more than 1 core. For e.g: you can run say upto D1 resolution in 1 core and 720p in 3 cores and 1080p in 5 cores for real time performance (30fps). You can also run 720p/1080p in single core - however it will not be real time. 

    The # of cores and slice line boundaries for H.264 BP Encoder can be configured through static and dynamic parameters of the XDM interface in the Codec.

    Please let me know if you have any followup questions.

    Regards,

    Vivek

  • vivek,

    Thanks for your clear explanation.

    I got it.