The DM355 Beta DVSDK includes the following codecs: MPEG4 SP encoder, MPEG4 SP decoder, JPEG encoder, JPEG decoder.
Each codec package has documentation available in the docs folder. For example, for MPEG4 encoder, the documentation is located in dvsdk_1_30_00_23\dm355_codecs_1_06_01\packages\ti\sdo\codecs\mpeg4enc\dm355\docs.
The DM355 codecs are implemented on the hardware accelerator. No codec related processing is performed on the ARM
The DM355 MPEG4 Encoder implements the Simple Profile level 0,1,2,3. The Simple Profile supports I and P frmes. It does not support B frames.
Supports resyncmarker generation. By default Resyncmarkers are generated. The generation period can be adjusted through the numMBRows parameter. The default value is numMBRows=Height/16
The following picture shows the structure of the stream generated with the DM355 MPEG4 encoder.
Video Object and Video Object Layer header at the beginning of the stream The first frame is an I frame. There are 6 video packets included in this frame. The video packets are delimited by resync markers. The following frames are P frames.
The MPEG4 stream generated can be decoded by mplayer
MPEG4 Encoder Headers
Some streaming applications, such as live555 (http://www.live555.com) require the following additional headers in the MPEG4 stream: Visual Object Sequence Start (VOSS) and the Visual Object Start (VOS) headers.
VOSS = 000001B0 00000000; VOS = 000001B5 00000005
These headers are not present in the stream generated by the DM355 encoder because they are optional for elementary streams. (Note: these headers are present in a stream generated by the DM6446 or DM6437 MPEG4 Encoder)
If an application requires these headers, the application must add them to the encoded stream in the following order: VOSS+VOS+EncodedStream.
MPEG4 Encoder and H263 Streams
The MPEG4 Encoder can generate an H263 stream with Short Video Header (SVH). This is accomplished by setting extended parameter
IMP4VENC_Params.SVH = 1.
SVH standard supports only specific resolutions of QCIF, CIF and 4CIF (176x144,352x288, 704x576) It is not possible to use SVH with VGA resolution (400x600).
Since the DM355 MPEG4 also supports rotation, the widthxheight uses with SVH will depend on the rotation value: If rotation is 0 or 180 degree, the supported resolutions are 176x144, 352x288 and 704x576. If rotation is 90 or 270, the supported resolutions are 144x176, 288x352 and 576x704.
The following picture shows a stream with SVH header generated with DM355 MPEG4 Encoder
MPEG4 Encoder Q&A
Q1: Does the encoder support streams with I frames only?
A1: Yes, it is possible to encode a stream with I frames only by using intraFrameInterval = 0
Q2: What is the Processing Time to encode a stream with I frames only
A2: It is ~ 10 ms for D1 resolution
Q3: What is the Processing Time to encode a D1 stream with I and P frames.
A3: For I +29P format it is ~ 12.5ms
Q4: What is the Processing Time to encode a 720p stream with I and P frames.
A4: For I +29P format it is ~ 30ms
Q5: Do customers have to pay any royalties if they use the DM355 MPEG4?
A5:Customers should have no problem going straight into production with the codecs on the chip, and there is no additional cost. There is, however, a cost enforced by the MPEG-LA (MPEG4 creators) that the customer would have to pay, but only if they reach very high volumes (>50,000/year, more info: http://www.mpegla.com/m4v/m4vweb.ppt)
The DM355 MPEG4 decoder implements MPEG4 Simple Profile levels 0,1,2,3. It supports HD resolutions 720p (1280x720) and SXVGA (1280x960).
The processing time for D1 is around 15.4 ms/frame and for 720p,it is around 28 ms/frame.
Limitation: The DM355 MPEG4 decoder can not decode MPEG4 streams encoded with any MPEG4 SP encoder. It can decode MPEG4 streams encoded with the DM355 MPEG4 encoder but has some limitation with respect to streams generated by other encoders. Please read datasheet for more details.
The DM355 DVSDK includes the G.711 audio codec.
Ittiam provides ARM9 audio codecs, including MP3 encode/decode, WMA encode/decode, AAC encode/decode and AEC (acoustic echo cancellation). These codecs are made available from the TI software download site.
Acquiring Production Codecs
Production codecs for the DM355 can be acquired from http://www.ti.com/requestfreesoftware.