NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Migration Guide for DM36x H.264 version 2.2 codecs
Migration Guide for DM36x H.264 version 2.2 codecs
Contents
Migration guide: DM36x ver 2.2 H.264 codec
This document describes the changes done in H.264 ver 2.2 codec over the previous 2.1 codec. It outlines the advantages to migrate to the new codec and the steps needed to do so. This wikitopic is applicable for release on and after 2.20.00.00
New Features in Version 2.2 H.264 codec[edit]
New DM36x version 2.2 H.264 codec is an enhanced version of the existing ver 2.1 codec that supports more features.
The salient new features are:
- H.264 encoder
- Improved performance over previous version 2.1 encoder
- Support for Privacy Masking feature
- Rate control modes Constrained VBR Rate control (CVBR) and custom CBR1 were made configurable.
Comparison between version 2.2 and 2.1 codec[edit]
For details about features supported in version 2.1 please visit H.264 DM36x Ver 2.1 Codec.
Memtab requirement has increased in this version of the codec. Privacy Masking feature requires an additional memtab. Please refer datasheet for details.
API changes in version 2.2 codec[edit]
There are changes in extended parameter of DM365 encoder when compared to ver 2.1. The changes are listed below –
IH264VENC_Params[edit]
Parameter | Ver. 2.2 | Ver. 2.1 | Comments |
encQuality | Value 0,2,3 | Value 0,2 | New encoder mode with improved performance. |
IH264VENC_Dynamic_Params[edit]
Parameter | Ver. 2.2 | Ver. 2.1 | Comments |
CVBRsensitivity | Value 0-8 0 -> rate control decides the bitrate for high complexity state depending on complexity. 8 -> rate control tries to achieve maxBitrateCVBR in increased complexity state. For any value is between 0 and 8, rate control achieves intermediate bitrates. |
Reserved | Specifies maximum bitrate achieved in high complexity scenarios |
LBRmaxpicsize | Values non-negative | Reserved | Specifies the maximum number of bits allocated per frame. More details refer to user guide and Rate Control Modes |
LBRminpicsize | Values non-negative | Reserved | Specifies the minimum number of bits allocated per frame. More details refer to user guide and Rate Control Modes |
LBRskipcontrol | Values non-negative | Reserved | Configures the minimum number of frames to be encoded in a set of frames. More details refer to user guide and Rate Control Modes |
maxHighCmpxIntCVBR | Value 0-60 | Reserved | Specifies the maximum duration of increased complexity. More details refer to user guide and Rate Control Modes |
ROI_Interface[edit]
Parameter | Ver. 2.2 | Ver. 2.1 | Comments |
roiType | Value 0-4 | Value 0-3 | Support for privacy mask feature. |
roiPriority | Values (-4)-4. New set of values for privacy mask | Values (-4)-4 | Refer user guide for details. |
How to integrate ver 2.2 codec in existing application?[edit]
- In case application has already migrated to ver 2.1 codec, just replace the existing codec RTSC package with the new ver 2.2 codec RTSC package and rebuild the application. In case the existing application is built on ver 1.1 or prior codec, please refer to Migartion guide to ver 2.0 codec before integrating this codec.
- The codec can work in DVSDK 2.1 and 3.1 demo and DVTB(base class) by just replacing the existing ver 2.1 library.
- An additional memtab is required and the changes in sizes of few memtabs. Hence the user might observe increased memory requirement from codec.
- There are no changes in the requirement of EDMA channels. It is same as previous version 2.1
- Since there are no new extended parameters introduced in this release compared to pervious version 2.1, the same application can be used. To use the new features, changes mentioned above have to incorporated. Please refer to the new interface file, sample test application and user guide to understand the changes in detail.