H264 MP DECODER
CODEC OVERVIEW
H264 is a widely accepted video coding standard that was jointly developed by Video Coding Experts Group (VCEG) of the ITU-T and the Moving Picture Experts Group (MPEG) of ISO/IEC. It uses state-of-the-art coding tools and provides enhanced coding efficiency for a wide range of applications, including video telephony, video conferencing, TV, storage, streaming video and many others. H.264 standard defines several profiles and levels that specify restrictions on the bit stream and hence limits the capabilities needed to decode the bit streams. The main profile provides additional tools such as B-Slices for greater coding efficiency, weighted prediction for providing increased flexibility in creating motion-compensated prediction block and an alternative entropy coding method called CABAC (Context Adaptive Binary Arithmetic Coding). The potential applications of Main Profile include television broadcasting and storage.
SALIENT FEATURES
- Based on the ISO/IEC 14496-10 standard
- Optimized ASM/C implementation.
- Re-entrant implementation
- C-callable APIs
- Up to level 3 features of main profile supported.
- Progressive, interlaced, Picture Adaptive Frame Field (PicAFF), and Macro Block Adaptive Frame Field (MBAFF) type picture decoding supported
- Multiple slices and multiple reference frames supported.
- CAVLC and CABAC decoding supported
- All intra-prediction and inter-prediction modes supported.
- Block sizes of 4×4 supported.
- Frame cropping supported
- Frame width of the range of 32 to 720 pixels supported.
- Byte-stream syntax for the input bit stream supported.
- Parsing of Supplemental Enhancement Information (SEI) and Video Usability Information (VUI) supported
- Long term reference frame and adaptive reference picture marking supported.
- Gaps in the frame number supported.
- Skipping of non reference pictures supported
- Configurable delay for display of frames supported.
- Outputs are available in YUV 420 planar formats.
- Optional support for xDM 1.0 IVIDEC2 APIs.
TESTING FEATURES
- Implementation is tested for all JVT test streams
- Implementation is tested for wide range of non-standard test vectors for all levels
- Tested with error streams. Corrupted streams includes NAL, slice, MB level data & header corruptions.
- Tested with 3gpp error pattern corrupted streams.
- Tested for resource usage.(DMA channels, params etc)
- Tested for illegal memory access by the module.
- Module is fully interruptible.
- Tested for compliance with register preservation requirements
- Tested for Input buffer corruption
- Tested for I/O buffer alignment requirements
- Tested for multi-instance implementation.
- Tested with scratch contamination at frame boundaries
- Tested for 100% code coverage
- Range validation of all API parameters.
- Validated on eInfochips C6472 EVM.