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.
Development Tools
VisualDSP++
Easy-to-use integrated software development and debugging environment (DDE)...
Blackfin Evaluation Kits
EZ-KIT Lite evaluation kits provide developers with a cost-effective method...
Starter Kits
Starter kits provide you with an EZ-KIT Lite evaluation kit and EZ-Extender...
USB Emulators
Rapid on-chip debugging allows developers to load code, set breakpoints, an...
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
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
