NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on The site is now set to read only.

HDVICP2 Video Codecs

From Texas Instruments Wiki
Jump to: navigation, search

Place Holder for Video Codecs on DM816x/DM814x


This page gives the overview of the Video codecs available on HDVICP2 hardware accelarator (used in platforms like DM816x/DM814x). The creation and control of codecs is done through the OMX layer in SDK. All the codecs work on YUV420 Semi Planar Color format. The following are the HDVICP2 hardware accelarator based video codecs available on DM816x/DM814x

  • H264 Encoder
  • H264 Decoder
  • MPEG4-H263 Decoder
  • MPEG4-H263 Encoder
  • MJPEG Decoder
  • MPEG2 Decoder
  • VC1 Decoder

H264 Encoder

  • Supports up to level 4.2 of Baseline, Main and High Profile
  • Supports resolutions from 96x80 to 2048x2048 (for 2048x2048 encoder should be created with Level 5)
  • Supports Stereoscopic SEI for 3D Video Coding
  • Supports B frame encoding
  • Supports Progressive and field based Interlaced coding with different controls as ARF (Adaptive Reference Field), MRF (Most Recent Reference Field) and SPF (Same Parity Reference Field)
  • Supports multiple Scaling Matrix Preset and User Defined Scaling Matrices
  • Supports Long Term Reference Picture (LTRP) and allows user to force referencing to long term reference frame
  • Supports insertion of IDR frame at random point with forceFrame control
  • Supports user controlled partition size till 8x8 for inter prediction
  • Supports user controlled POC type (POC type 0,1 and 2)
  • Supports low latency features - subframe level synchronization for input data and bitstream
  • Supports dynamic change of bit-rate, frame rate, resolution and other parameters
  • Supports TI proprietary rate-control for storage and low-delay applications with finer control for quantization parameter range, HRD buffer size, max and min Pic size, Partial Frame Skip, MB level Perceptual Rate control and expensive coeffecients threshold
  • Supports masks to insert user controlled NALU at different access points in Sequence
  • Supports forcing a frame/field-pair with all macroblocks as skipped
  • Supports multiple slices per picture based on number of macroblocks in each slice or slice-start-offset
  • Supports multiple slices per picture based on number of bytes per slice for H.241 based MTU packetization
  • Supports H.241 defined RCDO profile and StaticMbCount Exposure
  • Supports user controlled in-loop filtering
  • Supports exposure of Analytic info - SAD and MotionVectors
  • Supports user controlled quarter-pel interpolation and integer pel for motion estimation
  • Supports all intra modes (4x4, 8x8 and 16x16)
  • Supports user controlled constraints set flag
  • Supports 8x8 and 4x4 transform size
  • Supports user controlled IDR frequency control
  • Supports buffering period, timing_info, stereo video info SEI and user defined SEI
  • Supports control to have Bottom Field First for interlaced coding
  • Supports control to have Bottom field inter or intra for Interlaced coding
  • Supports user configurable GOP (Group Of Pictures) length and GOP structures
  • Supports control to enable/disable SkipMB feature
  • Supports Constrained Intra Prediction
  • Supports Cyclic Intra Refresh Mechanism
  • Supports Hierarchichal-P progressive and interlaced coding with maximum of 4 temporal layers
  • Support for SVC headers

H264 Decoder

  • Supports up to level 4.2 of High Profile
  • Supports resolutions from 64x64 up to 2048x2048 (Decoder needs to be created in Level 5)
  • Supports Interlaced, Progressive, PicAFF, MBAFF picture types
  • Supports CAVLC and CABAC decoding
  • Supports all intra-prediction and inter-prediction modes
  • Supports up to 16 MV per MacroBlock
  • Supports all resolutions from 64x64 to 2048x2048
  • Supports Error Concealment
  • Supports SEI (Supplemental Enhancement Information) and VUI (Video Usability Information) parsing
  • Supports memory management and control operations (MMCO)
  • Supports Dynamic Change in Resolution
  • Supports configurable display delay for low delay operations
  • Supports low latency features - Sub frame level synchronization for input and output. Input data synchronization is based upon slices and fixed length of bit-stream. Output data synchronization is based upon MB row
  • Limited support for decoding of Scalable Video Coding (SVC) streams
  • Supports parsing of stereo SEI and frame parsing SEI

MPEG4 Decoder

  • Supports MPEG4 Simple Profile of level 0,1,2,3,4A,5 and 6
  • Supports MPEG4 Advanced Simple Profile of level 0,1,2,3,4,5 and 6
  • Supports H.263 Profile 0 and 3
  • Supports H.263 Annexes I,J,K and T only
  • Supports Progressive, interlaced type picture decoding
  • Supports resolutions from 64x64 to 1920x1088
  • Supports user controlled De-blocking filter
  • Supports Error Concealment
  • Supports access to MBInfo data as part of Meta-Data information
  • Supports user configuration of Display Delay for Low Delay applications
  • Does not support Low Latency features - sub frame level synchronization for input and output
  • Does not support Global Motion Compensation (GMC) feature

MPEG4 Encoder

  • Supports MPEG4 Simple Profile levels 0,0b,1,2,3,4A,5 and 6
  • Supports H.263 baseline profiles 10,20,30,40,45,50,60 and 70
  • Supports resolution from 96x80 to 2048x2048 (Resolution should be multiple of 2)
  • Only Progressive frame type picture encoding supported
  • Supports AC Prediction
  • Supports Half-Pel interpolation for motion estimation
  • Supports Unrestricted Motion Vector Search that allows motion vectors to be outside the frame boundary
  • Supports Custom Picture Format and GOB interval of H.263
  • Supports both 1MV and 4MV per macroblock
  • Supports coding of Header Extension Code(HEC)
  • Supports low latency features - subframe level synchronization for input data and output bit-stream
  • Supports encoding of multiple slices per picture by inserting Resync marker(RM) based on H241 packetization or fixed number of macroblocks
  • Supports User configuration of Group Of Picture(GOP) length
  • Supports control of IDR frequency
  • Supports different Intra Refresh Mechanism
  • Supports Force I Frame Feature
  • Supports Scene Change Detection algorithm

MPEG2 Decoder

  • Supports up to High Level of Main Profile (MP)
  • Supports decoding of MPEG1 constrained video streams
  • Supports progressive and interlaced type picture decoding
  • Supports all standard resolutions from 64x64 to 2048x2048
  • Supports decoding of P and B type frames
  • Supports out-of-loop deblocking
  • Supports error concealment while decoding erroneous streams
  • Supports access to macroblock properties in transcode mode
  • Does not support sub frame level data synchronization

VC1 Decoder

  • Supports up to Level 3 of VC1 Advanced Profile
  • Supports Progressive, Interlaced field and Interlaced Frame types
  • Supports resolutions from 64x64 to 1920x1088
  • Supports Multiple slices decoding
  • Supports Range reduction and Range mapping
  • Supports Intensity compensation
  • Supports RCV (Both RCV1 and RCV2) and Elementary Stream format
  • Supports all features of Simple Profile, Main Profile and Advanced Profile (upto level 3)
  • Supports all block type partitioned and prediction modes
  • Supports Error Concealment feature

MJPEG Decoder

  • Supports Baseline sequential mode
  • Supports extended sequential mode with some constraints
  • Supports all resolutions from 32x32 to 4096x4096
  • Supports YUV444, YUV422, YUV420 and GrayScale Chroma sub-sampling formats as input
  • Supports YUV444 planar, YUV422 IBE (YUYV) and YUV420 semi-planar formats as output
  • Supports maximum of 4 Huffman tables each for AC and DC DCT coeffecients
  • Supports sub-frame data synchronization for input and output buffers
  • Supports slice level decoding
  • Supports spatial error concealment
  • Supports 8-bit and 16-bit quantization tables
  • Supports decoding of custom Huffman tables
  • Supports parsing of JFIF, Exif and comment markers
  • Supports restart management for bitstream with Define Restart Interval Marker (DRI) and Restart Marker (RST)
  • Supports thumbnail decoding. Thumbnail can be in JFIF or Exif marker segment. ThumbNail can be RGB as well as JPG
  • Supports scaling of YUV444 and YUV400 images
  • Does not Support Arithmetic decoding
  • Does not support source images of 12 bits per sample