H.264 Baseline Profile Encoder

This implementation of the H.264 Baseline Profile Encoder has been highly optimized to run on the Analog Devices ADSP-BF5xx Blackfin processor. It is a self-contained software component that has ...More

H.264 Baseline Profile Encoder

Product Description

This implementation of the H.264 Baseline Profile Encoder has been highly optimized to run on the Analog Devices ADSP-BF5xx Blackfin processor. It is a self-contained software component that has been rigorously tested and validated with JM reference decoder and commercial decoders for the conformance with ITU-T H.264 standard. It contains an intuitive C-callable API that is interruptible, maintains flexibility and provides seamless system integration.

Features

  • Profile: Baseline Profile
  • Level: Up to L3.0 inclusive
  • Frame Support: I & P Frames
  • Input Resolution: Up to 5 Mega Pixel per frame, D1 inclusive
  • Entropy Encoder: CAVLC
  • Number of Reference Frames: 1
  • Motion vector resolution: 1/2 pel & 1/4 pel
  • In-loop de-blocking filter: Yes
  • Pre-Processing: A simple 2:1 and 4:1 downscaling, de-interlacing for YUV422 input (in ITU-R BT.656 and progressive YUV422 from CMOS sensors) and YUV420 input. Pre-processing API to enable applications to plug-in own pre-processing blocks into encoder
  • Scene Change Detection: Supported
  • Scalability: Scalable Search Engine for MIPS and Quality trade-off
  • Cache: For BF533, No Cache and I Cache & D Cache, For BF548, No Cache and I Cache & D Cache, For BF527, No Cache and I Cache & D Cache, For BF561, I Cache Only and I Cache and D Cache In all configurations, one channel MDMA is used
  • ROI: Region of Interest Encoding Support for YUV420 and YUV422 input formats
  • ADSP-BF561: Symmetrical or Asymmetrical loading across core-A and core-B
  • Bitrate Control: VBR and CBR. Flexibility of switching between VBR and CBR during encoding
  • Max Resolution:
      ADSP-BF561: Up to D1 at 30fps;
      5MPixel at lower fps
      ADSP-BF533: up to 1/2 D1 at 30fps;
      D1 at 15fps; 5Mpixel at lower fps
  • Both NTSC & PAL format supported

Functions

  • Conformance Standard: INTERNATIONALSTANDARD ISO/IEC14496-10:2005- Information Technology – Coding of audio-visual objects – Part 10: Advanced Video Coding
  • Reference Code Revision: JM Reference 12.3
  • Target Processor: This software module supports the BF52x, BF53x, BF54x, BF561 processor families. Demonstrations are available for the BF527, BF533, BF548 & BF561 EZ-Kit Lites. Note that the BF535 is not supported
  • Release format: Object code module with C source wrapper
  • Input format: ITU-R BT.656 format (NTSC/PAL) or YUV420 planar format or YUV422 format from CMOS sensors
  • Output format: H.264 BP elementary bitstream in Annex-B output format
  • Frame Rate: 2-30 frames per second
  • Bit Rates: All bit rates specified by standard (VBR and CBR mode configurable for desired bit rates)
  • Multiple instance: Support simultaneous multiple channel encoding

Performance Metrics

MIPS summary:

Code Memory (KB) Data RAM (KB) Fame Buffer (MB) Output Buffer (MB) Input Buffer (MB) Cycles/pel (MIPS)
Average Moving Average Peak
55.59 40.64 1.37 1.00 1.08 87 (902) 103 (1067)
  • Cycle Count measured using a bit rate of 1.0mbps, 25 fps, 720x576 (PAL D1) image size, ITU-R BT.656 input, PAL format, optimal memory layout, ADSP-BF561 rev 0.5 processor, ADI Defined Surveillance Profile using surveillance camera content.
  • Measuments done with CAS 1[1] =3 for SDRAM, CCLK 2[2] =600, SCLK 3[3] =120 for ADSP-BF561
  • Data cache and instruction cache are enabled. The cache is set in "write back" and "small cache" (DCBS=0) mode
  • Memory DMA is used with 32 bit DMA
  • "Data RAM" for one instance includes Stack, Scratch, Constant Data Tables, Encoder Instance Memory, Encoder Scratch Memory allocated by application for D1 PAL resolution
  • Frame Buffer for one instance of encoder and D1 PAL resolution
  • Minimum Input and Output Single Buffers, for ITU-R BT656 D1 PAL input
  • 1 MB = 1024 KB; 1 KB = 1024 Bytes
  • NOTE: In deriving the "Moving Avg Peak" value, an 8 consecutive frame sliding window was used. An average cycle count was measured for each window of frames, and the worst case average cycle from all the sliding window measurements was determined to be the "Moving Avg Peak" value

Applications

  • Mobile TV
  • Multi-media Co-processor
  • Industrial Control
  • Instrumentation

Requirements

  • Download VisualDSP++ 5.0 Update 2
  • Hardware: Evaluation board/Evaluation version of VisualDSP++
  • Processor: This software module supports the BF52x, BF53x, BF54x, BF561 processor families. Demonstrations are available for the BF527, BF533, BF548 & BF561 EZ-Kit Lites. Note that the BF535 is not supported

Availability and Licensing

Each module supports the Analog Devices, Inc. (ADI) Blackfin Processor family and is a licensed product that is available in object code format. Recipients must sign a license agreement with ADI prior to being shipped the modules identified in the license agreement.