TI MM H.264 Encoder User Guide
Introduction

Supported Features

TI’s embedded processors such as J721E having Imagination Technologies VXE384MP2 (ENCODER) for accelerating multimedia encode. "TI MM H.264 Video Encoder" supports:

  • H.264 encoding up to 1080p (1920x1080) resolutions
  • NV12 (two plane) format, 8-bit content support
  • Frame level encoding
  • I-Frame only encoding
    • This is the default mode supported in the driver
  • I & P Frame encoding
    • In order to enable I & P Frame encoding, driver code needs to be modified to set the required configuration
    • See Reconfiguring Driver below on how to change the default driver configuration
  • Two channel encoding up to 1080p (1920x1080) resolutions at 30fps.
    • In order to support more than two channels, the carveout memory for video codecs needs to be increased from the current 64MB
      • Please see SDK Documentation on the SDK memory map for more information on how to increase the carveout.

Non-Supported Features

"TI MM H.264 Video Encoder" does not support:

  • B-Frame encoding
  • Non NV12 pixel formats
  • Error recovery for crashes due to non-standard settings
  • Greater than two channels encoding

Reconfiguring Driver

File to change: psdk_rtos_auto_j7_xx/video_codec/ti-img-encode-decode/timmlib/encoder/mm_enc_create.c

Function: vxe_enc_s_fmt

Directory Structure

The main modules in Video Codec are listed below

Video Codec Modules Description
concerto Makefile build infrastructure
docs User documentation.
examples Application/Demo and Additional utility functions.
examples/apps/bios_cfg Application bios configuration for TI-RTOS on R5F and A72.
examples/apps/common Application common source code for TI-RTOS on R5F, and A72.
examples/apps/decoder Application/Demo sample application for single and multichannel usecase.
examples/apps/mcu2_0 R5F configuration.
examples/apps/mpu1 A72 configuration.
examples/utils Additional utility functions used.
lib MM Driver fw library.
makerules Build utility.
out Build/Generated files and executables.
ti-img-encode-decode MM Encoder Driver source code and firmware binary.
tools Scripts used to load and run the executables on CCS.

Known Limitations

  • QCIF resolution encoding not working
  • Only two simultaneous channels are supported with the current memory carveout setup for Video Codecs