You are on page 1of 22

VINJEY Solutions Guide

About Us
VINJEY Software Systems is a young, vibrant and technologically focused company on design and development of new and emerged embedded multimedia software solutions by setting the quality bench mark. With technologies, we're transforming the way business is done; for an example VINJEY is the worlds first to provide commercial independent implementation of Ogg vorbis decoder and FLAC Encoder/Decoder. Our Focus: Our core competency strength is with the best skills about the Digital Signal Processing concepts as well as various RISC/DSP architectures which include both fixed point and floating point processors. This enables us to develop more world-class standard signal processing algorithms which includes Audio Codecs, Speech Codecs, Image Codecs and Various Post processing algorithms. This algorithms are developed in such way that it can fit into various frame work with simple to use API and adapt to the interfaces standards. Our other core strength enables the OEM/SOC customers to have all in one place solutions available from us to enable the complete system solutions which includes file systems, Embedded Operating systems, device drivers with multimedia codecs. This will be used to bring time to market solutions to the end user applications like Car Audio Players, Home theater systems, Music players, Games audio mixing...etc. Our Technology: Our technology has been broadly classified into three categories i.e. Algorithms, Middleware and Drivers. We will briefly explain each segment in details below:
Our Solutions

Algorithms

System Software

Drivers

Audio

Post Processing Alg

Image

Speech

File systems

RTOS

SD

Decoder

Encoder

VGEQ

VJPG

Speex

FAT

EFOS

NAND FLASH

AAC

FLAC

VPEQ

FLASH

USB

MP3

SBC

VSPEC

ISO 9660

FLAC

VSRC

exFAT

Ogg Vorbis

DTS Neo

WMA

DTSSS

WMA Pro

WMA Lossless

Vision
HEAAC

To become World's No.1 Embedded Software Solutions Company

SBC

Mission
DTS Core

Optimal Solutions for phenomenal differentiation

DTS HD

DTS 96/24

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

VINJEY Algorithms Guide

Key Benefits
Our solutions provide the following benefits: Field proven solutions. Well optimized code for resource constraint applications. Available on wide variety of processor architectures. Significantly reduced time to market. Robust, error resilient and certified implementation. Simple API along with simple application aid in lower integration time. Pioneer in multimedia algorithms - worlds first commercial independent implementation of Ogg vorbis decoder and FLAC Encoder/Decoder. Supplemented with middleware/system solutions reduces cost and time to market.

Salient Features
MIPS and Memory optimized implementation. Bit accurate PC code for PC simulation. Reentrant. Clean separation between parser and decoder. Supports both streaming and local playback. Support seeking and trick play (FF, FR) in streaming and local playback. Support for various interfaces/media framework: Gstreamer, XDAIS/XDM/VISA.

Technologies Available
Audio Codec: AAC-LC, MP3, FLAC Decoder/Encoder, OGG Vorbis, WMA, WMA PRO, WMA Lossless, HEAAC-v1 and V2, SBC Decoder/Encoder, DTS Core Decoder, DTS HD Decoder and DTS 96/24 Decoder. Image and Speech Codec: JPEG and Speex Post Processing Algorithm: Graphic/Parametric Equalizer, Spectrogram, Sample Rate Converter, DTS Neo and DTS Surround Sensation.

Target Market
Mobile Portable Multimedia player Network Audio Player AV Receivers Audio SOC Set-Top Boxes Automotive infotainment Broadcast

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Codec Availability Matrix on Various Platforms


TI - ISA Components Audio Codecs AAC Decoder MP3 Decoder FLAC Decoder Ogg Vorbis Decoder WMA Std Decoder WMA Pro Decoder WMA Lossless Decoder HEAAC Decoder SBC Decoder FLAC Encoder SBC Encoder DTS Core Decoder DTS HD Decoder DTS 96/24 Decoder Post Processing Alg Graphic/Parametr ic Equalizer Sample Rate Converter DTS Neo DTS Surround Sensation. Image Codec JPEG Speech Codec Speex C54x C55x C64X/C64X+ C66x C67x/C67x+ V4-T V5-TE V6 ARM - ISA V6-Z V7-A V6-M V7-M V7-ME G1 ZSP - ISA G2 G3

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Availability of Cores on various ISA

ISA C54x C55x C64X/C64X+ C66x C67x/C67x+ ARMV4-T ARMV5-TE ARMV6 ARMV6-Z ARMV7-A ARMV6-M ARMV7-M ARMV7-ME ZSP G1 ZSP G2 ZSP G3 TMS320C54x TMS320C55x TMS320C64x+ and TMS320C64x TMS320C66x TMS320C674x and TMS320C67x

Cores Available

ARM 7 TDMIS CORE, ARM 9TDMI and ARM 920T ARM 968-S CPU CORE and ARM 946 CPU CORE, ARM 926EJ PROCESSOR and ARM 926EJ-S CPU CORE ARM1136JF-S ARM1176JZF-S core ARM CORTEX A9 and ARM CORTEX A8 ARM CORTEX M-0 CORTEX M3 ARM CORTEX M4 ZSP Neo, ZSP 200, ZSP 400, ZSP 410 and ZSP 420 ZSP 500, ZSP 540 ZSP 800M, ZSP 880M, ZSP 800, ZSP 840 and ZSP 880

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Codec Performance Details on Various Platforms


C54x ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder PMEM (KW) TMEM (KW) DMEM (KW) On Simulator

* 1W = 2 Bytes or 16 Bits and 1KW= 1024 Words

C55x ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder * 1W = 2 Bytes or 16 Bits and 1KW= 1024 Words PMEM (KW) TMEM (KW) DMEM (KW) On Simulator

C64x/C64x+ ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder WMA Lossless Decoder *1KB = 1024 Byte * Sampling Rate is 44 KHz * Channel Stereo * 0 Wait state PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

C66x ISA
Component AAC Decoder MP3 Decoder VFLAC Decoder VOV Decoder WMA Decoder WMA Lossless Decoder FLAC Encoder *1KB = 1024 Byte PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

67x/C67x+ ISA
Component AAC Decoder MP3 Decoder VFLAC Decoder VOV Decoder WMA Decoder WMA Lossless Decoder FLAC Encoder *1KB = 1024 Byte PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

ARMv4T ISA
Component VSBC Decoder VSBC Encoder *1KB = 1024 Byte PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

ARMv5-TE ISA
Component PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

*1KB = 1024 Byte * Sampling Rate is 44 KHz * Channel Stereo * 0 Wait state

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

ARMv6 ISA
Component AAC Decoder MP3 Decoder VFLAC Decoder VOV Decoder WMA Decoder FLAC Encoder VJPG *1KB = 1024 Byte PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

ARMv6-Z ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder *1KB = 1024 Byte PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

ARMv7-A ISA
Component MP3 Decoder AAC Decoder VOV Decoder WMA Decoder *1KB = 1024 Byte PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

ARMv6-M ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder *1KB = 1024 Byte * Sampling Rate is 44 KHz * Channel Stereo * 0 Wait state PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

ARMv7-M ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder *1KB = 1024 Byte PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

ARMv7-ME ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder *1KB = 1024 Byte PMEM (KB) TMEM (KB) DMEM (KB) On Simulator

ZSP G1 ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder * 1w = 2byte Or 16 Bits PMEM (KW) TMEM (KW) DMEM (KW) On Simulator

ZSP G2 ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder * 1w = 2byte Or 16 Bits * Sampling Rate is 44 KHz * Channel Stereo * 0 Wait state PMEM (KW) TMEM (KW) DMEM (KW) On Simulator

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

ZSP G3 ISA
Component AAC Decoder MP3 Decoder VOV Decoder WMA Decoder * 1w = 2byte Or 16 Bits * Sampling Rate is 44 KHz * Channel Stereo * 0 Wait state PMEM (KW) TMEM (KW) DMEM (KW) On Simulator

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Design Limitation in Gstreamer Plug-ins


WAV Parser Limitations:
WAV Parser provided by VINJEY supports only extraction of LPCM data. This would mean all other format tag values apart from 1 will yield into error generated as against pad with those caps. For list of format tags http://www.onicos.com/staff/iz/formats/wav.html

Compile Time Limitations:


Following macros define the features and limitations of the decoder build. When streams are presented which doesn't conform to this, error code would be returned. Compile Timie Macro MAX_NUM_OF_CHANNELS (HEAAC) GST_VFLAC_APP_MAX_CHANNELS GST_VFLAC_APP_PIC_BUFFER_SIZE GST_VOV_MAX_CHANNELS GST_VOV_PROB_MODEL_MEM_SIZE GST_WMAL_MAX_CHANNELS Limitation Details 6. This means HEAAC decoder won't support decoding anything more than 6 channel streams. 2. This means VFLAC decoder won't supprot decoding anything more than 2 channel streams. 128K. This means VFLAC decoder plugin won't support extraction of pictures more than 128K. 2. This means VOV decoder plugin won't support decoding of more than 2 channels streams. 64K. This means VOV decoder plugin won't support decoding of streams which requires more than 64K for codebooks. 2. This means WMA Lossless decoder plugin won't support decoding of more than 2 channels stream.

FLAC Decoder Limitations:


VINJEY FLAC Decoder won't support decoding of streams encoded with 0.3 to 0.8 versions of encoder & specification. This is because FLAC format was in draft format till that time and have incompatible format changes. VINJEY Core FLAC Decoder don't have any limitations on the maximum number of channels supported. It is limited at the application level. In GStreamer Plugin, it is limited by macro GST_VFLAC_APP_MAX_CHANNELS. If is set to 2, it means streams with more than 2 channels won't be supported by FLAC Decoder Plugin.

OGG Parser Limitations:


OGG Parser won't support decoding of chained streams. In case of chained stream only the Vorbis/FLAC of the first chain will be played back.

MP4 Parser Limitations:


Fragmented Movie Files are not supported. In case of MP4 file with fragmented movies object, those content won't be played back.

MPG Parser Limitations:


MP3 Free Format Streams are not supported MP3 duration for vbr streams will not be accurate.

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Design Limitation in Gstreamer Plug-ins


Typefind Limitations:
Typefind that comes along with gstreamer might not detect streams that are corrupted. It might also detect wrong stream type. Typefind plug-in provided with nSDK won't detect vflac streams encoded with vlc encoder. It will print "Could not determine type of stream" error.

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

VINJEY Middleware Guide

Key Benefits
Our solutions provide the following benefits: Field proven solutions. Clean and simple interface for the device driver. Well optimized code for resource constraint applications and extremely small footprint. Available on wide variety of processor architectures (MCUs/DSPs). Significantly reduced time to Market. Robust, error resilient and certified implementation. Simple API along with simple application aid in lower integration time. One of the key player for having implementation for exFAT file system. Worlds first commercial independent implementation of Ogg vorbis decoder and FLAC Encoder/Decoder. Supplemented with Middleware/System Solutions reduces cost and time to market.

Salient Feature File Systems


Compatible with FAT12, 16, 32 and VFAT. Support for long filenames. Efficient Buffer Cache with completely configurable options. Optimized and fully compatible with MSDOS/Windows. Standard C API (fopen, fread fclose, fwrite). ANSI C compliant C code portable across multiple platforms. Efficient Cluster Management to aid faster access. Support for removable media No Buffer Allocation

Provides efficient system consistency by using write through cache.


File System Consistency on power failure Multiple files open for reading and writing. Provision for Custom Device Drivers Illustration of usage of the File Systems by Sample Applications. Comes with complete source code Detailed User and Reference Guide for easy integration.

Technologies Available
Porting: File Systems:
FAT, FLASH Systems and ISO 9660 File

RTOS:
EFOS

Tested on various RTOS (includes: MobiApps?) Verified on various development environments like: GCC, RVDS, CS, CCS etc) We provide the sample drivers for various media types. Clean developer guide that indicates the areas needs to be modified for a specific host system.

Media Device Support


Secure Digital Cards: microSD, microSDHC CompactFlash MultiMediaCard (MMC) USB SATA NAND Flash NOR Flash DataFlash SD, SDHC,

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

FLASH File systems


Bad Block Management Wear Leveling Garbage Collection Support for Delayed write & Blocklevel write Optimized cluster management Configurable Buffer Manager Supports Long file names Well tested and Readily usable Optimized for memory and MIPS

ISO9660 File systems


Has support for Multi-extents Conforms to level 3 Interchange Designed to take less amount of time and less space for storing the file system information Has support for Reading Multi-session ISO9660 Media Has support for Joliet Extensions Provision to hook custom device driver Has support for Playback of CDDA CDs through control calls Provision to add customer-defined buffer cache implementation

Salient Feature EFOS


EFOS is the VINJEYs implementation of Real-Time Operating Systems (RTOS) having following benefits: EFOS is designed with performance, ease of use and flexibility in mind. EFOS provides flexibility and ease of use for developer with features like multi-tasking, Inter-task communication etc. Well optimized for meeting the low memory and high efficiency constraints of the embedded product. The APIs of EFOS are designed to be simple to reduce the amount of learning time for the developer. EFOS comes with a Graphical User Interface (GUI) that can be used for creating objects of different EFOS modules statically at the beginning of the program. EFOS is flexible and it is configurable to the needs of the design. EFOS is application morphic to meet the needs of each application which are different from that of others and also differs on various stages of development life-cycle. EFOS is highly performance efficient, for instance system calls take very little CPU cycles to execute leaving the other CPU cycles for development of creative and demanding realtime applications. EFOS is Real Time-Efficient for its very low context switching time and low interrupt latency time. There is no limitation on the number of Tasks, Semaphore (-Or-) any EFOS objects that can be created, so EFOS is fully scalable. It aids developer to start concentrating on his application rather than on the intricate of the RTOS because of easy to understand documentation and examples. EFOS comes with source-code (C/Assembly) with sufficient comments in it. EFOS package comes with the test-suite that we use for testing the EFOS for the release.

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Middleware Product Matrix on Various Platforms:


Architecture Components File Systems FAT FLASH ISO 9660 exFAT RTOS EFOS C54x C55x C62x C64x C67x C64x+/DM64xx ARM9E Cortex A8 ZSP400 ZSP540 ZSP800

http://www.keil.com/rl-arm/rl-flash_perf.asp

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Middleware Performance Details on Various Platforms:


C54x Architecture

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

VINJEY Drivers Guide

Key Benefits
Our solutions provide the following benefits: Field proven solutions. Well optimized code for resource constraint applications. Available on wide variety of processor architectures. Significantly reduced time to Market. Robust, error resilient and certified implementation. Simple API along with simple application aid in lower integration time. Worlds first commercial independent implementation of Ogg vorbis decoder and FLAC Encoder/Decoder. Supplemented with Middleware/System Solutions reduces cost and time to market.

Salient Features
SD Driver: Supports Reading / Writing Single / Multiple sectors from/to SD Cards. It has support for SD, SDHC and MMC Cards. Supports reading card specific information. Notify the presence and removal of cards. Supports various processing modes (Polling, Interrupt and DMA) based on the support available in the processors. Supports two types of I/O Mode i.e. Blocking I/O Non-blocking I/O Compatible with VINJEYs FAT filesystems. Low memory foot print. Tool chain supports GNU

Technologies Available
Drivers:
SD/MMC Controller, NAND Driver, USB Mass Storage, USB EHCI, USB OHCI

Verified on various development environments like: GCC, RVDS, CS, CCS etc). Comes with sample applications like Read/Write, Test suite- for Black box testing etc.
Simple API and Error Codes.

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Salient Features
USB Driver: Ultralow memory footprint. High performance USB Host, device and On-The-Go (OTG) embedded stack. Designed for processors with both integrated USB host controllers and external USB host controllers, processor with OTG controller, Have support for USB low speed, full speed and high speed. Ported on various architectures. Supports most of the standard USB class drivers including Mass Storage, CDC, HID, Audio, MIDI, FTDI, Hub, OBEX, ECM, RNDIS, MTP, Printer and a Bootloaderetc. Highly functional USB APIs.

Salient Features
NAND Driver: Extremely efficient, very little RAM size and small sector requirements. Designed to support one or multiple SLC (single level cell). Consistent and fail safe to uncertain reset. Efficient read and write performance (Fixme - speed). KB<fixme>Code foot print. Widely accepted for its high storage, high performance and low cost benefits. Compatible with other file systems. Bad block handler. Error detection and correction Hardware interface layer (HIL) interfaces directly to standard NAND flash chips.

Operating Systems Supports


Windows Linux EFOS Other

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Driver Product Matrix on Various Platforms:


Architecture Components Driver
SD/MMC Controller NAND USB Mass Storage USB EHCI USB OHCI

C54x C55x C62x C64x C67x

C64x+/DM64xx

ARM9E

Cortex A8

ZSP400 ZSP540 ZSP800

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

Driver Performance Details on Various Platforms:


SD/MMC Controller

Architecture C54x C55x C62x C67x C64x+/DM64xx ARM9E Cortex A8 ZSP 400 ZSP 540 ZSP 800

Buffer Size In KB

Megabytes/sec

File Size in MB

Read

Write

Read

Write

Read

Write

NAND Flash Driver:

Architecture C54x C55x C62x C67x C64x+/DM64xx ARM9E Cortex A8 ZSP 400 ZSP 540 ZSP 800 Read

Polled Mode Buffer Size In KB Megabytes/sec File Size in MB

Write

Read

Write

Read

Write

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

USB Mass Storage

Architecture C54x C55x C62x C67x C64x+/DM64xx ARM9E Cortex A8 ZSP 400 ZSP 540 ZSP 800 Read

Buffer Size In KB

Total Bytes Transferred (MB)

Transfer Rate (MB/s)

Write

Read

Write

Read

Write

USB EHCI

Architecture C54x C55x C62x C67x C64x+/DM64xx ARM9E Cortex A8 ZSP 400 ZSP 540 ZSP 800 Read

Buffer Size In KB

Total Bytes Transferred (MB)

Transfer Rate (MB/s)

Write

Read

Write

Read

Write

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.

USB OHCI:

Architecture C54x C55x C62x C67x C64x+/DM64xx ARM9E Cortex A8 ZSP 400 ZSP 540 ZSP 800

Buffer Size In KB

Total Bytes Transferred (MB)

Transfer Rate (MB/s)

Read Write

Read

Write

Read

Write

Contact Information
VINJEY Software Systems Pvt. Ltd, # 4/19, 20th Main, Venketeshwara Layout Maruthi Nagar Main Road, BTM 1st Stage, Bangalore, Karnataka 560029 Tele: +91-80-26842839/40 Fax: +91-80-26784803 Email: info@vinjey.com Web: www.vinjey.com

Copyright 2011 VINJEY Software Systems Pvt. Ltd, All Rights Reserved. VINJEY Software Systems Pvt. Ltd reserves right to make changes without prior notice to any products/information herein. All trademarks mentioned here are properties of their respective owners.