Aslam P A +91-944*******
*******@*****.***
Objective
A challenging position in software design and development on embedded platforms with
special emphasis on video, audio compressions methods and multimedia applications.
Professional Summary
• 7 years of experience in implementing Multimedia Codecs, middleware and
applications on embedded platforms
• M.tech and B.tech in Computer Science and Engineering from NIT(REC) Calicut
• Involved in design and development of multimedia modules in various multimedia
products
• Experience in developing Directshow filters, DMOs, system services, and drivers
for Windows Mobile
• Good experience in implementing middleware functionalities like Audio video
synchronization, book marking, Pause, Fast-forward and rewind
• Expertise in implementing video decoding and encoding algorithms and codecs
• Good working knowledge in Android/Linux/Unix Internals and RTOS
• Sound knowledge in ARM/DSP architecture
• Object oriented analysis & design proficiency.
• Strong in Algorithms, Data structures and other computer science subjects
Skill Set
Qualcomm Snap
Dragon(Q8650/Q8250),MSM7500,MSM7200,MSM7200A,
Hardware MSM7225,MSM7600,MSM 7627,
TMS320 DM270 SOC,TMS320 DM 310 SOC,
Platforms
TMS320 C54x
ARM 7 TDMI, ARM 9 TDMI and ARM 11 TDMI
Windows Mobile (WM 6.1,WM 6.5,WM 7), ANDROID, REX,
RTOS
PSOS(u-Itron), Vxworks
Multimedia Framework OPEN MAX, DirectShow,OpenCore
MPEG1,MPEG4,MJPEG,H.264 and WMV VC1, WEBM
Video Standards
decoder
JPEG( baseline & Progressive ),Lossless JPEG, JPEG –
Still Picture Standards
LS
File parsers QT(QuickTime), DAT(VCD file format) and MPG(3GP)
Programming
C, C++, ARM Assembly
Languages
Windows multimedia
Directshow filters, DMOs
Components
Device Drivers Video/Audio Drivers for Windows mobile(WM) to
interface with REX RTOS.
Algorithms and DCT/IDCT/FFT, color conversion and scaling, motion
optimization estimation/compensation
Video Quality improvements(FPS),MMX optimization
Assembly optimization
Development
Platform builder, CCS(code composer studio), ADS,
Environment and
Real view debugger,Tornado, VC++
debugger tools
Version Control Systems Perforce
Other tools Trace-32, QXDM, QPST, Matlab, Graph Edit
Work Experience
Organization Designation Duration
LNT Infotech Project Lead Jan 2006 – TILL DATE
Flextronics Software Software Engineer March 2004 – Dec 2005
AWH Engineering College Assistant Professor March 2003 - April 2004
Total Experience :: 7.5 years
Overseas Experience : 1 year (Qualcomm Sandiego)
Project Details
Projects done in LNT infotech Bangalore:
Project Title : Android Froyo Porting on Client’s Mobile phone based on
Qualcomm 7200A chipset
Period : ongoing
Responsibilities : Porting middleware and drivers from Android Froyo version
onto Client;s mobile phone based on Qualcomm ’s 7200A chipset. Reference code used is an
existing ported version of Android doughnut on the same chipset. To guide the team to bring up
all the multimedia functionalities and other features like vibrator, compass and accelorometer . To
debug along with the application team and frame work team to resolve all the issues raised by the
testing team. To interact with the Client and Qualcomm ’s BSP team for timely delivery of the
modules.
Project Title : Implementing Open MAX component and client to decode
WEBM files
Period : 2 months
Responsibilities : To create an OpenMAX component layer on top of existing open
source WEBM decoder and integrate and modify with the existing IL client application.
Component should be open max compliant and should be able to work well with existing source
manager, video manager and should output YUV 4:2:0 to video renderer component. Source
manager is modified to support .ivf files. Video manager is modified to support special features
required for WEBM decoder. Component is integrated and tested on both windows and Linux.
Projects done in Qualcomm Bangalore:
Project Title : Implementing and maintaining various QTV modules on WM 6.5
: Adding DSP decoder support for WMV main profile upto WQVGA 30 fps.
Main Task
• Added feature to support main profile.
• B frame decoding interfaces to DSP.
• YUV buffer management.
• Frame holding logic to send frames in display order.
• ARM acclerated and DSP version switching.
• Bug fixes in blockiness,color bleeding and flickering issues.
Other Parallel Activities
• Fixing various issues in 8k Software Hantro decoder
• Triaging issues related to Video reported by AST and reassigning it properly
• Debugging and fixing issues in Video issues
• Triaging and creating a stability report of 8k with AST created error clips.
• mentoring team to triage and debug Audio Video functional and stability issues
Project Title : Implementing multimedia modules and features on top of the
existing Windows Mobile Multimedia system
Period : 18 months
Task 1 : Enhanced and optimized hantro software decoder according to requirements
Responsibilities:: Added DDRAW support in hantro decoder to reduce the CPU usage and to
improve the performance. NAL length support is added in software decoder from start code in the
case of h264 codecs. Added support in mp4parser to support for NAL length. Diag message
support is added in software decoder for easy debugging. Fixed various stability CRs related to
software decoder.
Task 2 : Implementing Direct Show filter “AudioCMXFilterV2” to support A2DP
(Blue Tooth) Head Set while playing .3gp and .mp4 files.
Responsibilities:: Designed and implemented direct show filter AudioCMXFilter V2 to support
.3gp clips playback over Bluetooth.
Implemented interfaces in AudioCMXFilterV2 to send Audio Samples for decoding to Audio
Driver and deliver the decoded PCM samples from DSP to Audio Renderer filter. Implemented
multimedia functionalities Pause, FF Rewind and concurrency support in AudioCMXFilter V2.
: Optimizing and Enhancing Qualcomm’s custom WMV DSP decoder
Task 3
Responsibilities:: Optimizing Qualcomm decoder for VGA Simple Profile clips using a special
DSP TURBO MODE to clock the DSP to the maximum.
Aspect Ratio Correction feature is implemented to display on WQVGA targets properly without
cropping.
Task 4: Fixing various CRs raised by customers and internal testing team.
Responsibilities:: Fixed various functional and stability issues during QTV manual or automated
testing either by testing team or in hopper testing in modules Audio/Video filters, WMV
decoder, Video driver and mp4 parser.
Task 5: Implementing PC simulation of existing video decoding pipeline
Responsibilities:: Port all direct show filters and wince video driver of the client on to PC.
Integrate with C simulator of the DSP decoding code and use GRAPH EDIT to connect the
filters.
Projects done in Qualcomm San diego :
Project Title : Designing and developing the Directshow frame work and
drivers on top of the REX emulation layer in WM6.1 based on Qualcomm chipsets.
Period : 20 months
Task 1 : Implementing Direct show Transform / Renderer filter to interact with Audio
Driver to support .3gp and .mp4 audio playback using WMP.
Responsibilities ::
Implemented Directshow filter (AudioCMXFilter) which will act as a transform and Renderer
filter to communicate between Mp4parser and Audio Driver.
Implemented interfaces in Audio driver and Audio CMX Filter to send audio samples for
decoding to Audio Driver. Implemented multimedia functionalities like pause, FF, Rewind and
concurrency support in module Audio CMX Filter.
: Implementing Qualcomm’s custom WMV DSP Decoder DMO
Task 2
Responsibilities::
Interacted with Microsoft to replace existing MSFT decoder with Qualcomm ’s WMV decoder
DMO on windows mobile.
Integrated Microsoft ARM accelerated solution of WMV decoder with Qualcomm ’s DSP
decoder for simple profile clips. Implemented routines to queue the input sample by putting it in
DSP slices and outputting back the decoded frame from DSP to WMP. Added interfaces to
Resource Manager Driver to support concurrency with other modules in using DSP. Power
routines are added to disable Dynamic Clock Voltage Switching (DCVS) to clock higher
frequencies in special cases.
Optimizing the existing mpeg4 /h264 decoder to achieve VGA 30 FPS
Task 3 ::
Responsiblities :: Designed and successfully implemented a parallel architecture to maximize
the utilization of All processors (ARM 11, DSP, MDP) .
Role was to create multiple threads which will run parallel to fully utilize DSP,MDP and ARM.
When a sample is doing ARM Decoding the next one will be decoding in DSP and the next next
one will be doing the color conversion, scaling and rotation using MDP. One thread is used just to
render the frame to final display.
Projects Done in LnT Infotech Bangalore:
Project Title : Porting and optimizing Mpeg4/h.263 encoder/decoder onto
ARM 11 platform.
Period : 5 months
Responsibilities: Porting the existing Mpeg4/h.263 encoder on ARM 9 to ARM 11
platform. Guiding the team to learn and use ARM11 platform and optimize using the ARM v6
architecture . C level restructuring is used followed by linear assembly coding.
Project Title : Porting and optimizing Progressive JPEG/Baseline JPEG
decoder onto ARM 9 with Broadcom coprocessor.
Period : 4 months
Responsibilities: Implemented the Progressive JPEG decoder onto ARM9 platform using
the VC reference code and modifying it to use Broadcom Co-processor. Creating a progressive
demo to display the image progressively as it decodes each scan.
To Guide the team to optimize the code by using C level restructuring and rewriting commonly
used functions and code in ARM 9 assembly.
Projects Done in Flextronics Bangalore :
Porting lossless JPEG and JPEG-LS Encoder/Decoder to
Project Title :
ARM9 on TMS320Dm320.
Period : 4 months.
Responsibilities : Porting JPEG decoder (both progressive and baseline JPEG) to
DM320 using DM270 code base. JPEG decoder is integrated with the MP3 decoder for MP3 –
JPEG slide show. Added support for multiple filling into buffer for decoding large JPEG images.
JPEG-LS Encoder/decoder is ported and integrated with the ARM Application on
TMS320Dm320 using VC reference code.
Project Title : Implementing and optimizing MPEG1 decoder on
TMS320Dm270
Period : 6 months
Responsibilities : Implementing MPEG1 decoder on TMS320Dm270. Optimizing
the MPEG1 Decoder on Dm270 using hardware parallelism of different coprocessors available in
TMS320Dm270. Parallelism used extensively between DSP, iMX, VLD and DMA .
Middleware functionalities “FF, Rewind, Pause and Book marking” are added in the DSP side.
Audio video synchronization and Mpeg4 Arm – Dsp command/ACk and request/Ack sequence is
properly implemented.
MPEG1 decoder is ported onto DM 310 from existing DM 270 code base.
Project Title : Implementing DAT – MPG file parser on Target DM270
Period : 3 months
Responsibilities: Implemented VCD file format (DAT) and MPG file parser in Visual C+
+. It is a combined parser for both MPG files and DAT files. Parser will parse the file headers and
fill the audio and video ring buffers using the metadata thus obtained.
DAT-MPG parser is integrated with ARM side application. Book marking support is added to
the ARM side application and Parser.
Project Title : Implementing QT file parser in Visual C++ and later porting it
onto Vxworks OS and PrKernal OS on ARM side.
Period : 3 months
Responsibilities : Implementing parser for QT file format in Visual C++. The
parser will stream the audio and video data into separate buffers for decoding by DSP.
QT parser is integrated with the Vxworks and Ps OS application
Education
M Tech (Computer Science and Engineering) from National Institute of Technology(NIT),
Calicut in 2003.
B Tech (Computer Science and Engineering) from REC(NIT) Calicut in 2000