DM365 Codecs FAQ

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

Contents




DM365 codecs FAQ



What is DM365 SoC?

DM365 is a low power imaging, video and audio SOC for applications like Digital camera, IP based security, Digital picture frame, Low end STB, Home and industrial automation. It supercedes DM355 SoC with improved video capabilities

For more details - www.ti.com/dm365prod


Which are the codecs supported by the device?

The codecs supported are –


What are the codecs available?

The following codecs are developed.

For more details on availability, see: DM365 Codec Availability Schedule


Does H.264 How is the codec distribution on VICP and HDVICP?


Why the word "closed" for some of the decoders?

Closed loop decoders can only decode stream encoded by the encoder of that corresponding device. It cannot decode any stream available under the supported profile and level.


What is the performance of each codec?

The below link gives a tentative performance chart

DM365 Codec Availability Schedule


Does the performance quoted in "DM365 Codec Availability Schedule" worst case performance?

No, the performance quoted is typical case performance. Depending on the stream characteristics and encoder configuration, performance may vary.


Does the codec support multi channel operation?

Yes, all the DM365 codecs support multichannel operation. One can create codec instance for each channel and achieve multichannel operation.


Does the codec support multi stream/codec operation?

Yes, all the DM365 codecs can co-exist with each other. One can create codec instance for any codec combination and they will get scheduled in a frame interleaved manner to achieve real-time operation.


What are the codec combos supported?

Any codec combo can be achieved using frame level interleaving. The performance of the codec combo has to be scaled down linearly depending on the individual performance and the combo needed


Is Mpeg2, VC1, H.264 1080P and Mpeg4 universal codecs available in DVSDK release?

No, the below stage 2 and 3 codecs are not part of DVSDK 2.10.

These codec will be formally integrated in DVSDK 3.1 release further down in timeline. As part of codec release, we will be providing a readme which will guide how to integrate a codec in DVSDK 2.10. Customer can use this readme to integrate the codec in DVSDK and get started.


Can H.264 and Mpeg/Jpeg run concurrently as they use different accelerators?

The version 1.00.00 of H.264 and Mpeg cannot run concurrently. H.264 encoder uses VICP buffer for intermediate storage of data, hence Mpeg4 cannot run concurrently with H.264. But this does not limit Mpeg4 and H.264 multi-channel use case. This can be indeed achieved by running them sequentially in a frame interleaved manner.

Version 2.00.00 H.264 encoder will have option to not to use the VICP/MJCP buffers. With those codecs, one can run VICP codecs and H.264 concurrently. But since both of them use EDMA channels, one should be sure that the sum of EDMA channels used by them should not increase the required limit.


What are the inputs and output formats for the codecs?

The input and the output format of the codecs are –

  H.264, Mpeg2, HDVICP Mpeg4 encode H.264, Mpeg2, VC1 and Mpeg4 ASP decode Mpeg4 encode Mpeg4 decode Jpeg encode Jpeg decode
Input YUV 420 SP YUV420 bitstream YUV422 ILE
YUV 420 SP
YUV420 Bitstream YUV422 ILE
YUV422 P
YUV420P
YUV 420 SP
YUV422 bitstream
YUV 420 bitstream
YUV444 bitstream
Grey level bitstream
Output YUV420 Bitstream YUV 420 SP YUV420 Bitstream YUV422 ILE
YUV 420 SP
YUV422 bitstream
YUV 420 bitstream

YUV422 ILE
YUV 420 SP

Note: 420 SP: 420 Semi Planer, this format consists of Y as one plane and CbCr interleaved as other.


What is the interface for the codecs?

The codecs implement the following XDM-defined interfaces:


Is rotation and resize part of codec API?

It is there for few codecs and for limited resolution.

  Rotation Resize comments
Jpeg Decode Yes Yes  
Jpeg Encode Yes No  
Mpeg4 Decode Yes No Rotation support upto D1 only
Mpeg4 Encode Yes No Rotation support upto D1 only
H.264, VC1, Mpeg2, Mpeg4 ASP universal Decode No No  
H.264, Mpeg2, Mpeg4 HDVICP Encode No No  

What is the application scenario considered when specifying the performance?

While specifying the performance, basic application scenario is considered.

For decoder, it consists of stream i/p, decode and display. For encoder, it consists of capture, encode and stream o/p.


What is the latency of the codec?

All the codecs operate at frame level and hence the latency is one frame encode or decoder time. For a 720P@30fps on 300MHz device, the latency will be approx 33 ms.

In later version of H.264 codec (ver 2.00.00 and beyond), there is a provision of slice level call back API which enables application to give/take data from the codec at sub frame level. For the same 720P@30fps on 300 MHz device, the latency will decrease to 5ms compared to 33 ms.

But end to end system latency will be a sum of capture + encode + transmit buffering <-Network-> receive buffering + decode +display. So there are many other factors other than codecs which comes into play here.


What is the codec ARM926 MHz load?

The ARM926 MHz is approximately 25 MHz in DVSDK demo.

For an 8ch CIF in DVR ref design, ARM926 load due to codec is around 100MHz for H.264 encoder.


Are the codecs OS independent?

Yes, the codecs are OS independent. The codecs use Framework Components (FC) to satisfy all OS specific needs like cache, physical<->virtual memory translation, etc. FC supports both Linux and WinCE; to use the codecs on other OSes, users will need to port FC. FC releases include full source code.


Are the codecs CCS compiled libraries available?

Currently CCS compiled libraries are not available. TI is working on getting the CCS build available. Please check with your TI contact for latest update


What are the main features of H.264 encoder?


Can H.264 encoder do all Intra frames encoding?

Yes, H.264 encoder can do all intra frames encoding. One has to set IntraFrameInterval with correct value.


There is no H.264 BP mentioned in the codec data sheet or availability chart, is it a subset of HP? If yes, will they be part of one library?

Yes, H.264 BP is a subset of HP encoder. There will be only one library for all BP, MP and HP profiles. The required profile can be chosen by giving the right configuration to the encoder. In case of decoder, any profile stream can be given and the decoder will decode it.


How does the quality of H.264 encoder look like?

Please get in touch with your TI contact for details of DM36x video quality.


What are the main features of H.264 decoder?


Is the H.264 HP decoder universal?

The H.264 HP decoder supports all features of HP and MP. The only feature not available is FMO, ASO and RS. Apart from that it is true BP/MP/HP universal decoder. Version 2.00.00 will have the above features. Apart from that it will also be capable of performing closed loop decoding of 1080P@30fps on DM368. It will be available in May 2010.


Does H.264 support multiple sequences to be decoded without deleting and creating the instance again?

Decoder can decode multiple sequences as long as there is no change in the resolution. In case there is resolution change but the new resolution is lower than the earlier resolution, one call XDM_RESET control command and then run the new stream. The application level DPB/display buffer management and to be accordingly handled.


What are the modes in which H.264 Decoder can be invoked?

As per IVIDDEC2 specification, decoder supports two modes namely, decode header only mode and the normal mode. When decode header only mode is set, decoder parses only the headers(SPS and PPS) and return, while in normal mode it parses all type of NALs, including headers.


Will there be change in performance for H.264 BP and HP profile?

H.264 decoder: Yes, there will be change in performance when decoding H.264 BP vs decoding H.264 HP stream. This is because HP can have tool chains like B frames and weighted prediction which take more time.

H.264 encoder: In the current S/W setup, there will be no change in performance between H.264 BP and HP. This is because HP tool chains like B frame, weighted prediction are not supported. The limited H.264 HP encoder consists of CABAC, Intra8x8, Inter8x8 transform, scaling matrix which does not add to ARM or DMA load.


What is the roadmap of H.264 codec on DM365?


Can H.264 codec do 1080P@30fps? Is there some new codec to achieve this?

H.264 encoder can do 1080P@30fps on DM368. This performance will be in ver 2.00.00 codec which will be available in May 2010. A new encoding mode/preset is added which will support this performance. The existing standard and high quality mode will also be available in the same library.


What type of error concealment is supported in H.264 decoder?

H.264 Decoder performs predictor based spatial and temporal error concealment on erroneous frames. Concealment is applied to only that part of picture which could not be decoded due to error or insufficient data. If a picture is concealed, the status is reflected in extended error code.


What is the DDR b/w of H.264 encoder and decoder?=

For H.264 encoder (STD quality mode), the DDR b/w is 230Mbytes/sec for 720P@30fps. For H.264 HP progressive decoder, the DDR b/w is 350Mbytes/sec for 720P@30fps.


What are the main features of Mpeg4 encoder?


How does the quality of Mpeg4 encoder look like?

The overall quality of Mpeg4 encoder will be same as DM355 solution. There is new support of Low bitrate Rate control which gives better rate control at low bitrates.


What is the difference between 1.00.00 and 1.10.00 version of Mpeg4 encoder?

Version 1.10.00 is the latest version of VICP based Mpeg4 encoder. It has the below new features


What are the main features of Mpeg4 decoder?


What type of error concealment is supported in Mpeg4 ASP decoder?

Mpeg4 ASP decoder performs predictor based spatial and temporal error concealment on erroneous frames. Concealment is applied to only that part of picture which could not be decoded due to error or insufficient data. If a picture is concealed, the status is reflected in extended error code.


What is the difference between 1.00.00 and 1.10.00 version of Mpeg4 decoder?

Version 1.10.00 is the latest version of VICP based Mpeg4 decoder. It has the below new features


What are the main features of Jpeg encoder?


What are the main features of Jpeg decoder?


What are the main features of Mpeg2 encoder?


What are the main features of Mpeg2 decoder?


What are the main features of VC1 decoder?


Is VC1 encoder also available?

No, VC1 encoder is not available on DM365.


What are the main features of Mpeg4 ASP decoder?


Is the Mpeg4 decoder universal?

There are two Mpeg4 decoders available - Version 1.00.00 which runs on MJCP is a closed loop Mpeg4 decoder. It has performance of SXVGA@30fps on 300 MHz device.

Mpeg4 Decoder version 2.00.00 runs on HDVICP and it is a universal Mpeg4 SP/ASP decoder. It has performance of 720P@24fps on 300MHz device.


What is smart codec?

Smart codec is name given to new H.264 codec available in version 2.00.00. It has features like region of interest encoding and pseudo two pass encoding which can help achieve superior perceptual quality compared to traditional encoding techniques.


What is Region of Interest coding?

There exist many applications where particular spatial and temporal regions of the video signal are more interest to the user than other areas. Examples are (i) in video conferencing applications, the viewer pays more attention to the face regions when compared to other regions, (ii) in security applications, areas of potential activity (e.g. doors, windows) are more important. These more important regions or the regions where the viewer pays more attention to are called regions of interest (ROI). In such scenarios it is important that the ROI areas are reproduced as reliable as possible since they contribute significantly towards the overall quality and perception of the video. When encoding a video signal the video encoder prioritizes the ROI areas and encodes them at higher fidelity when compared to non-ROI areas. This is achieved by assigning higher number of bits to the ROI areas when compared to non-ROI areas.


What is pseudo multi – pass encoding?

In pseudo-multi-pass encoding, initially, a low resolution of the video frame is encoded and statistics from this low resolution encoding are used when encoding the higher resolution of the video frame. The small resolution encoding can generate the following statistics which can be passed to high resolution encoding:


DM36x H.264 encoder FAQ

A DM36x H.264 encoder specific FAQ is available.


Will DM365 codecs run on DM368?

All s/w component of DM365 are 100% compatible with DM368 and vice versa. This includes all DVSDK components viz codecs, Framework Components, PSP, demos et.al.



Leave a Comment

Comments

Comments on DM365 Codecs FAQ


Pbansal said ...

What is difference between DM365 and DM6467 codec implementations and their corresponding HDVICPs? Thanks.

--Pbansal 16:17, 29 March 2010 (CDT)

Sujit nist said ...

What is the difference between TMS320DM365ZCE and ZCE30 and ZCEF chip ?

--Sujit nist 23:48, 18 October 2010 (CDT)

Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox