Thursday, May 16, 2013

constant and volatile

  static means a variable will be globally known only in this file. extern means a global variable defined in another file will also be known in this file, and is also used for accessing functions defined in other files.

 

Please any one explain me about

      1. Global variable  (example :   int i_Global)
      2. Extern variable (example  :  extern  int i_Global)
      3. static variable  (example : static int i_Local means in .h file)
      4. static global variable ( example : static int i_Global)

  • 1. Defines a global variable, allocating memory for it which will be accessible by all files in the program.
    2. Declares a global variable which is defined in another file. No memory is allocated. This is how global variables defined in one file can be used in another.
    3. static local variables retain their values on repeated calls into the function unlike other local variables.
    4. These global variables can only be accessed from within the file. Using the static keyword you can declare global variables with the same name in multiple files in the same program.

 http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/15b55a9f-ee92-495a-a18c-9f5dc42cca96

http://stackoverflow.com/questions/3684450/what-is-the-difference-between-static-and-extern-in-c

 storage

  1. Local variables and function frame - stack
  2. Global and static variables if uninitialized - .bss block start by symbol
  3. Global and static variables if initialized - data segment
  4. Environment variables and arguments - on top of the stack
  5. Dynamic data allocation - heap
  6. Const - ROM
  7. Volatile - no storage
  8. Register - cpu register
  9. Const volatile - in the same place as const storage

 


In which section is constant volatile variable stored in c.? In micro-controllers we should put such kind of variables in RAM. Right?





4 Answers

up vote 3 down vote accepted
A const volatile variable means that your C program can't legally change it, but something else can. It would be logical to place this variable in RAM, but the compiler won't complain if you tell it (via a linker script or a similar option) to place in ROM. It may also be useful to locate this variable where some memory-mapped device is, e.g. a read-only timer counter register or an ADC output register.




So if we are assigning constant variables to ROM then compiler will automatically allocate such variables to ROM. right? – suraj May 4 '12 at 11:09

It depends on your compiler and how you use it. – Alexey Frunze May 4 '12 at 11:11

Volatile has noting to do with where the variable is stored. It just tells the compiler to read the variable from memory every time to avoid any optimization that compiler might perform for that variable.




const variables for microcontroller applications are most likely stored in flash ROM. The only time they are stored in RAM is when they are evaluated in runtime, such as const parameters to functions. Or when you are doing some debug build executing from RAM.
volatile has nothing to do with where variables are stored, as explained in other answers.

 

 

 

 

Difference between const & const volatile

http://stackoverflow.com/questions/4592762/difference-between-const-const-volatile

If we declare a variable as volatile every time the fresh value is updated
If we declare a variable as const then the value of that variable will not be changed
Then const volatile int temp;
What is the of declaring the variable temp as above?
What happens if we declare as const int temp?










3 Answers 

 

  • volatile will tell the compiler not to optimise code related the variable, usually when we know it can be changed from "outside", e.g. by another thread.
  • const will tell the compiler that it is forbidden for the program to modify the variable's value.
  • const volatile is a very special thing you'll probably see used exactly 0 times in your life (tm). As is to be expected, it means that the program cannot modify the variable's value, but the value can be modified from the outside, thus no optimisations will be performed on the variable.


 


An object marked as const volatile will not be permitted to be changed by the code (an error will be raised due to the const qualifier) - at least through that particular name/pointer.
The volatile part of the qualifier means that the compiler cannot optimize or reorder access to the object.
In an embedded system, this is typically used to access hardware registers that can be read and are updated by the hardware, but make no sense to write to (or might be an error to write to).
An example might be the status register for a serial port. Various bits will indicate if a character is waiting to be read or if the transmit register is ready to accept a new character (ie., - it's empty). Each read of this status register could result in a different value depending on what else has occurred in the serial port hardware.
It makes no sense to write to the status register (depending on the particular hardware spec), but you need to make sure that each read of the register results in an actual read of the hardware - using a cached value from a previous read won't tell you about changes in the hardware state.
A quick example:
unsigned int const volatile *status_reg; // assume these are assigned to point to the 
unsigned char const volatile *recv_reg;  //   correct hardware addresses


#define UART_CHAR_READY 0x00000001

int get_next_char()
{
    while ((*status_reg & UART_CHAR_READY) == 0) {
        // do nothing but spin
    }

    return *recv_reg;
}
If these pointers were not marked as being volatile, a couple problems might occur:
  • the while loop test might read the status register only once, since the compiler could assume that whatever it pointed to would never change (there's nothing in the while loop test or loop itself that could change it). If you entered the function when there was no character waiting in UART hardware, you might end up in an infinite loop that never stopped even when a character was received.
  • the read of the receive register could be moved by the compiler to before the while loop - again because there's nothing in the function that indicates that *recv_reg is changed by the loop, there's no reason it can't be read before entering the loop.
The volatile qualifiers ensures that these optimizations are not performed by the compiler.





+1 for explanation. And I have a question: what about const volatile methods? If I have a class, which is accessed by many threads (although access is synchronized with mutex) does my const methods also have to be volatile (since some variable could be changed by other thread) – Sasa Aug 8 '12 at 23:31



3  
I'd have thought that volatile variables are usually what happens when you start messing with hardware, not with other threads. Where I've seen const volatile used is in things like memory-mapped status registers or the like. – JUST MY correct OPINION Jan 4 '11 at 12:33

Of course, you're absolutely right, multithreading is just one example, but not the only one :). – mingos Jan 4 '11 at 15:16


It is not because the variable is const that it may not have changed between two sequence points.
Constness is a promise you make not to change the value, not that the value won't be changed.

Thursday, May 9, 2013

multi media frame work ,VLIW, Gstreamer, Render



 multi media Course
http://www.ece.umd.edu/class/enee739m.S2002/EE739M_S02_schedule.html
http://people.cs.clemson.edu/~jzwang/ustc11/syllabus.htm
http://people.cs.clemson.edu/~jzwang/1201863/syllabus.htm
http://www.ece.cmu.edu/~ee899/outline.htm
http://signal.ece.utexas.edu/~arslan/courses/dsp/

VLIW
http://www.slidefinder.net/i/introduction_the_tms320c6000_vliw_dsp/vliw-tms320c60xx/7612134
 http://signal.ece.utexas.edu/~arslan/courses/dsp/
http://signal.ece.utexas.edu/~arslan/courses/realtime/lectures/
http://www.docstoc.com/search/introduction-to-the-tms320c6000-vliw-dsp

 multi media frame work
https://www.google.co.in/search?hl=en&q=multimedia+frameworks&bav=on.2,or.r_cp.r_qf.&bvm=bv.46226182,d.bGE&biw=1600&bih=702&um=1&ie=UTF-8&tbm=isch&source=og&sa=N&tab=wi&ei=5UmLUahny9DhBMH4gYAP

http://www.google.co.in/imgres?um=1&sa=N&hl=en&biw=1600&bih=702&tbm=isch&tbnid=l7Vg3ZMCbxEKeM:&imgrefurl=http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Multimedia_Domain&docid=t69J_JMzvNXQtM&imgurl=http://wiki.maemo.org/images/thumb/5/56/OMAP_architecture.png/800px-OMAP_architecture.png&w=800&h=557&ei=6EmLUb6hHcuQ4ASel4Eo&zoom=1&ved=1t:3588,r:2,s:0,i:87&iact=rc&dur=2072&page=1&tbnh=182&tbnw=262&start=0&ndsp=19&tx=162&ty=68

http://www.google.co.in/imgres?um=1&sa=N&hl=en&biw=1600&bih=702&tbm=isch&tbnid=A0Xh71PsAqOy5M:&imgrefurl=http://www.arm.com/community/partners/display_product/rw/ProductId/4757/&docid=IhPeIyOJAjLciM&imgurl=http://www.arm.com/community/partners/product_images/4725.jpg&w=1357&h=802&ei=6EmLUb6hHcuQ4ASel4Eo&zoom=1&ved=1t:3588,r:4,s:0,i:93&iact=rc&dur=1118&page=1&tbnh=172&tbnw=292&start=0&ndsp=19&tx=78&ty=55

http://www.google.co.in/imgres?um=1&sa=N&hl=en&biw=1600&bih=702&tbm=isch&tbnid=KPYkFCNyCJ0mDM:&imgrefurl=http://kcchao.wikidot.com/multimedia-framework&docid=XObn-J1_Qx9kfM&imgurl=http://www.freedesktop.org/wiki/GstOpenMAX%253Faction%253DAttachFile%2526do%253Dget%2526target%253Dgst-openmax.png&w=801&h=502&ei=6EmLUb6hHcuQ4ASel4Eo&zoom=1&ved=1t:3588,r:5,s:0,i:96&iact=rc&dur=268&page=1&tbnh=178&tbnw=284&start=0&ndsp=19&tx=180&ty=67



https://www.google.co.in/search?q=DSP+ISA/architecture&hl=en&tbm=isch&tbo=u&source=univ&sa=X&ei=FkqLUcOPD8qM4gSA5oD4BQ&ved=0CHEQsAQ&biw=1600&bih=702#imgrc=c6wl59fBYm3i5M%3A%3BZe9MlRYBknysBM%3Bhttp%253A%252F%252Fimg.docstoccdn.com%252Fthumb%252Forig%252F2684927.png%3Bhttp%253A%252F%252Fwww.docstoc.com%252Fdocs%252F2684927%252FINTRODUCTION-TO-THE-TMS320C6000-VLIW-DSP%3B1500%3B1125
http://scg.unibe.ch/archive/oosc/PDF/Gibb95aMMCF.pdf
http://www.qnx.com/developers/docs/6.3.2/photon/multimedia2/overview.html
http://www.linux-mips.org/wiki/Instruction_Set_Architecture
http://en.wikipedia.org/wiki/Instruction_set
http://www.google.com/patents/US20030023832



















Rendering (computer graphics)

http://en.wikipedia.org/wiki/Rendering_%28computer_graphics%29

From Wikipedia, the free encyclopedia
Jump to: navigation, search

http://www.ehow.com/facts_4923368_what-video-rendering.html


gstreamer

http://gstreamer.freedesktop.org/documentation/

http://www.google.co.in/imgres?um=1&sa=N&hl=en&biw=1600&bih=702&tbm=isch&tbnid=jq6yXQV7LDkUsM:&imgrefurl=http://meegoworld.blogspot.com/2010/12/gist-on-multimedia-framework-in-meego.html&docid=0LYn33Scu_Y5AM&imgurl=https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIJBOWUuXUK73qll2Go2JImUpLWS2ikuHpnhgdpylZMjsD0BRzbwjnDYWsuMCx0RcZm3Dqw1bbhg0b_hLggptLclGa6OqgLdeln_aj82dg56sN7FHAQK758PGG6MF1U6hLHMmXT2f9t4E/s1600/gstreamerarch.bmp&w=667&h=518&ei=6EmLUb6hHcuQ4ASel4Eo&zoom=1&ved=1t:3588,r:12,s:0,i:117&iact=rc&dur=667&page=1&tbnh=198&tbnw=255&start=0&ndsp=19&tx=124&ty=82

Multimedia resumes

http://www.devbistro.com/resumes/SF15FBECD9E70D
http://jobsearch.about.com/od/sampleresumes/l/blresume4.htm
http://www.jobvertise.com/resumes/view/1404928-523d5/image-processing-engineer-bangalore--
http://www.aroj.com/sample-Engineering/DSP-Engineer-Resume.html
http://www.greatsampleresume.com/Sample-Resumes/Sample-DSP-Engineer-Resume.html
http://www.kartheekchandu.com/curriculum-vitae.html
http://www.greatsampleresume.com/Sample-Image-Processing-Engineer-Resume.html

Senior Video Engineer Resume


Title
Senior Video Engineer


Primary Skills
Experience in RF technology, broadcast and broadband, digital and analog television


Location
US-CA-Los Angeles (will consider relocating)

Posted
Nov-17-12

RESUME DETAILS

OBJECTIVE AND CAREER SPECIFIC PROFESSIONAL SKILLS

I am looking to perform in Engineering/Application Engineering, pre and/or post Sales, Project or Product Management, in Entertainment/Electronics/Satellite/Telecommunications industries. I have relevant experience in RF technology, broadcast and broadband, digital and analog television, MPEG2/4 standards, encoding and compression, video and internet data (IP) signal processing and protocol enhancement, satellite communication, system integration & design, cable networking, media and other field related areas.

EMPLOYMENT HISTORY AND RELEVANT EXPERIENCE

2011 - Present - NBC Universal - Staff Engineer III
Duties/Domain: Engineering Broadcast and Integration

* Integrate in interoperability broadcast and video processing studio specific equipment (Leitch, and AJA frame synchronizers, entire Evertz product line, Miranda ITX, Omneon, Harris, Seachange, CISCO/Sc Atlanta, Tandberg/Ericsson), RF and IP based systems
* Research and evaluate various encoding, transcoding platforms such as MPEG2, MPEG4 part 10 - AVC, AVC-Intra, DVCPRO HD by Panasonic, with focus on all compression algorithms, video formats, standards
* Build systemic routes for 'live' events, while ensuring correct video delivery from satellite and fiber optics to postproduction and cable, use specialty equipment to QC and analyze video and audio signals, such as Tectonics, Wohler, Dektec, etc
* Design and document (using Visio) system blocks and circuitry, other engineering flows, write Standard Operating Procedures (SOP) for various internal engineering processes
* Troubleshoot and maintain all existing equipment from transmission to master control and post production
* Perform software upgrades, light repairs and engineering testing on all equipment available
* Doing second level support for other technical staff, operators

2011 - 2011 - Hurst USA - Uplink Engineer - freelance/consulting
Duties/Domain: Engineering video content contribution (Sports and News gathering)

* Uplink in Ku and C bands microwave links using satellite communication
* Operate and setup MPEG/MPEG4 Encoders, HPAs, Up converters, Modulators, fiber optics, IP content and various other monitoring systems
* Coordinating content delivery with local engineering crews

2009 - 2010 - DirecTv - Staff Engineer III
Duties/Domain: Engineering Video on Demand Asset preparation

* Create procedures to ensure transmission of cleanest and clearest picture and sound in conformance with company quality standards, mainly focusing on high bit-rate SD/HD mpeg2 mezzanine files, mpeg4 AVC
* Using special play-out file-based equipment (ITX, DAL), SD and HD VTR players by Sony, Panasonic, and part of available hardware platform including but not limited to routing equipment (NVISION, Leitch, Probell) other service routers for video content deployment (i.e. The BigBand Broadband Multimedia-Service Router) passing/receiving various video and audio formats to/from compression equipment
* Ensuring content and asset management through dedicated subsystems for encoding, encryption, distribution (CMS, AMS, WFS, VTPS, CDS)
* Investigating and troubleshooting broadcast quality issues related to DIRECTV's on Demand channels (Tektronix WFM, Wohler Audio monitoring, etc)
* Gathering detailed information and provide second level support based on customer feedback and problem reports on Video on Demand content delivery
* Assessing status of broadcast equipment and video compression systems, which includes video/audio encoders (Tandberg, Harmonics, ATEME), receiver-decoders (Sencore, CISCO, Scientific Atlanta, Motorola)
* Monitoring digital signals performing real-time data captures in the broadcast stream using transport stream monitors, analyzers, and other tools
* Analyzing and troubleshooting Metadata XML scripts, errors and log files to pinpoint the source of the problem
* Coordinating with other engineering groups to resolve broadcast quality issues related to software and/or hardware anomalies in the DIRECTV On Demand signal chain, mainly focusing on Tandberg systems
* Quality assurance of DIRECTV on Demand systems (software and hardware) to verify stability and reliability prior to going on-air using both objective and subjective methods

2008 - 2009 - San Diego Teleproduction - Truck Broadcast Engineer - freelance
Duties/Domain: Engineering an Uplink, production mobile lab - content distribution

* Multi-camera production (MPEG SD and HD video/audio)
* Uplink in Ku using satellite communication
* Operate and setup MPEG2 video Contribution Encoders, Power Amplifiers, Up converters, QPSK/QAM Modulators
* Postproduction (editing/montage)

2004 -2008 - Tiernan Radyne ComStream Inc, San Diego, Ca - Testing Design and Quality Assurance Engineer; Technical Support/Field Service Engineer
Duties/Domain: Support video products and systems

* Design and develop Test Procedures and Plans for MPEG2 and MPEG4-AVC video Encoders (Tiernan) and Decoders (Tiernan, Sencore)
* Extensive software product technical evaluations, analysis, testing and verification
* Complex System configuration and integration (including third party equipment such as Sencore MRD decoders, Motorola Statistical Mux-Cherrypicker, Smart Stream Encryptor/Modulator (SEM), etc
* Technical Support for standard and high definition video processing products in MPEG2, PAL/NTSC norms, DVB/ATSC compliant, SMPTE standards
* Dealing with RF and video integrated systems built on various transmission medium such as cable, fiber optics, Ku, C and L band links, QPSK, 8PSK, QAM modulation, ATM interfaces, etc
* Troubleshooting Broadcast Equipment, implementing and solve potential interoperability issues in high complexity test systems, manage encryption methods (Tiernan proprietary, ATSC), modulation, up-conversion
* Video compression knowledge, TCP/IP, ATM and OC-3 standards, networking and routing technical expertise
* Using Telephone, Email and performing Field support while working under little or no supervision with key customers and other major broadcasters around the Globe
* Debugging engineering design and soft issues, writing reports and work with developers for addressing them, open action requests as a result of customer's feedback and/or own testing
* Using MPEG Analyzers (for measuring and analyzing TS and ES) and other RF and Video Instrumentation for testing and measurement purposes
* Using dedicated Databases such as Microsoft SQL Server (Forth Shift), Clientele, Microsoft Access's IntellDCN (Document Change Management System), etc

2001 - 2004 - IGP Ltd. Timisoara, Romania - Manager own 'small size' company
Duties/Domain: Managing a computer and electronics reseller company
* Architect, customize and resell commercial personal computer for home and business
* Integrate, test and resale satellite TV receive cards as part of the PC systems
* Manage up to five employees

2002 - 2003 - Project Developer (Engineering/Telecommunication Department) - Romkatel-Kathrein (Kathrein Werke Germany-Eastern European Headquarters), Rosenheim, Germany
Duties/Domain: Managing and developing the project called VSAT (Very Small Aperture Terminal),
Bi-directional internet via satellite link

* Working in a team environment and providing technical expertise in data communication, RF and satellite topics
* Performing a complete worldwide marketing campaign and direct negotiation (product and service) with foreign providers
* Orchestrating and obtaining all necessary paperwork such as: local technical authorizations for the purpose of becoming an Internet Service Provider and doing foreign Hi-Tech Communication Equipment import.
* Installing, operating, testing and integrating the Equipment
* Performing a pre and post-sale activity through a formal technical product advertise and system capability demonstration

2000 - 2001 - Logic Innovations, Inc., San Diego, Ca, USA - Technical Support Engineer
Duties/Domain: Broadband/data processing techniques/network protocols

___________________________________________________________________________________


Objective: To secure a promising position that offers both a challenge and a good opportunity for growth.
Personal Data:Date of Birth: March 26, 1975
Place of Birth: Qatana, Syria
Nationality: Syrian & Lebanese
Marital Status: Single Male
Education:
Bachelor of Science in Electronics Engineering, Concentration of Telecommunication Engineering (2000), Damascus University. Damascus, Syria.
Note: Ranked second among the graduates of the academic year 1999 -2000.
Master of Engineering, Computer and Communications Engineering (CCE). Thesis in Digital Image Processing. Date of graduation: June 2004, American University of Beirut A.U.B. Beirut, Lebanon.
Related Skills:
Hardware: Z80 Microprocessor, Intel 8085 Microprocessor, Analog Design, Digital Design, RF Design, Digital signal processing, Digital image processing.
Design Tools: Function generator, oscilloscope, Digital voltmeters, and logic analyzer.
Computer: Operating System: MSDOS, Microsoft Windows, Windows NT.
Design: PSPICE, MATLAB, and MATHEMATICA
Programming Language: FORTRAN, PASCAL, Assembly
General:Visio Technical
Language:
Fluent in Arabic and English.
Undergraduate Projects:
Function generator design: Generating sinusoidal, triangular and rectangular small signals using digital techniques.
Ultrasonic guiding device for the Blind: The device used ultrasonic transmitters and receivers aided with the 8031 Intel processor to perform a desired algorithm. The program was written in assembly language and stored in an external EPROM chip. The project provided a clear path for the user by producing an audible signal.
Graduate Projects:
Digital signal processing: Musical sound processing: Designing filters and doing all the needed simulations using MATLAB to see the frequency response, gain response and the pole-zero plot of these filters. The aim of this project is to design filters able to generate single echo, multiple echoes or infinite number of echoes for the original direct sound (input of the filter). The project included also all the needed simulations for designing comb filters, teeth filters, first order filters and shelving filters, second order filters and equalizers and high order equalizers.
Digital Image Processing: Designed an algorithm to trace the boundary of an object in a digital image, using MATLAB and then displaying the contour.
Thesis: Boundary Extraction Methods for Segmentation, Representation and Description in Digital Image Processing. The research concentrated on showing the advantages of the four-neighbor connectivity approach, which is used to trace the contour of objects, over the eight-neighbor connectivity approach in terms of the chain code's efficiency and the compression ratio that can be achieved. Another boundary extraction method using morphological operations was developed in the research.
Experience:
Graduate Assistant American University of Beirut Beirut, Lebanon 2003 - 2004
· Assisted a professor in the computer simulation of digital circuits (RC Integrators) using both PSPICE and MATLAB.
· Assisted an instructor in the area of electromagnetic fields and radar systems.
· Worked as an instructor in the Microprocessor Lab: Duties included teaching the students, correcting their reports and assisting in the assembly of electronic circuits.
· Programmed microprocessors based on the Z80 and the Intel 8085 using Assembly language.
  • Worked as an instructor in the physics dept/AUB (Electricity and Magnetism Lab.)
  • Working as a research assistant with a professor in the area of digital image processing: The work includes investigating the properties of a new edge detecting technique with a smoothing effect.
Teaching American University of Beirut Beirut, Lebanon 2002 - 2003
  • Worked as an instructor in the physics dept/AUB (Electricity and Magnetism Lab.)
  • Worked as an instructor in the physics dept/AUB (Electronics Lab.)
Hardware/Software Engineer Allied System Group Beirut, Lebanon 2000 - 2002
Duties included the installation and maintenance of software and hardware related products.
Maintenance engineer Arabic Computer Center Damascus, Syria. 1999 - 2000
-----------------------------------------------------------------------------------------------------------------------




Candidate's Name
FLAT NO:D 414
MARATHA HALLI
BANGALORE
EMAIL:E-mail Address
Contact no: Phone Number

CAREER OBJECTIVE:
 Seeking a position to utilize my skills and  abilities  in  the  multimedia
 industry  that  offers  security  and  professional  growth   while   being
 resourceful, innovative and flexible.

CAREER SUMMARY:
    . Working in R&D wing of  TCS as an Algorithm developer
    . 2.7+ years of experience in image/video processing domain
    .  Involved  in  design,  implementation,  optimization,  debugging  and
      integration of various image processing projects.
    . Experience in image processing tools such as OpenCV,ITK,VTK,FLTK
    . Filed US and Indian  patent  for  "AUTOMOBILE  ASSISTANCE  SYSTEM  FOR
      OBJECT DETECTION AND TRACKING" as a developer.
    . Worked  in  automotive  image  processing  domain  and  Medical  image
      processing domain.

SKILL SET:
    . Programming Languages:C,familiar with C++
    . Software Development and Tools: OpenCV 1.1 and 2.1, Visual Studio 2005
      and 2008,Insight Tool Kit(ITK),Visual Tool  Kit(VTK),Fast  Light  Tool
      Kit(FLTK).
    . Development Platforms/OS: Windows XP


   EDUCATIONAL QUALIFICATION:
      . B.TECH in Electronics and Communication Engineering from Govt.Model
        Engineering College, Kerala




Key Projects Handled at TCS:


      Project Title            : Speed Limit and traffic signal  recognition
      system
      Environment            : GCC Compiler, Pentium-4 Intel Processor, Free
      Scale IMX-51
      Tool                          : Microsoft visual studio  2005,Open  CV
      2.1,Ubuntu 10.04


       Description
      Speed Limit  and traffic signal recognition system is a  project  that
      can be used to detect and recognize speed  limit  signs   and  traffic
      signal on both side of the road. A camera need to  be  placed  on  the
      dash board of car. Speed Limit Recognition System  will  scan  through
      the frames which is captured by camera,and detect the speed limit  and
      traffic signal and recognize the speed  limit  and  alert  the  driver
      accordingly.


      Key Responsibilities:
         . Algorithm development of Speed Limit recognition System
         . Testing and verified the algorithm.








      Project Title            : Lane Departure warning And  Sign  Detection
      System Environment                   : GCC Compiler,  Pentium-4  Intel
      Processor, Free Scale IMX-51 Tool                          : Microsoft
      visual studio 2005,Open CV 2.1,Ubuntu 10.04
       Description
      Lane detection and sign detection are part of  ADAS  (Advanced  Driver
      Assist System). It involves the detection of  lane  on  the  road  and
      alerts the driver when moving out of the lane. A  camera  need  to  be
      fixed on dash board of a car. The output of camera is  given  to  Lane
      Departure Warning Algorithm. The lane detection system  scans over the
      image and detects lines present on the road and picks two proper lines
      as lanes and display the distance of left and right lane. If  no  lane
      is detected, then the algorithm  will  predict  actual  lane  position
      based on previous frame output. Sign detection  on  the  road  is  the
      extension of the Lane detection system.  It  is  performed  using  the
      template matching over the edge detected output.
      Key Responsibilities:
         . Implementation of lane detection algorithm for ADAS.
         . Testing and verified the algorithm.
         . Developed an automated  tool  to  check  the  accuracy  of  Lane
           Departure Warning and Sign Detection System.
         .  Integrated  Lane  Departure  warning  algorithm  with   Vehicle
           detection algorithm and make it as a single product.




      Project Title              : Forward Vehicle Collision Detection
      Environment                 :   GCC    Compiler,    Pentium-4    Intel
      Processor,Free Scale IMX-51
      Tool                            : Microsoft visual studio 2005,Open CV
      2.1,Ubuntu 10.04
       Description
      ADAS (Advanced Driver Assistance System) is based on  computer  vision
      and image processing in order to  alert  the  driver  to  prevent  the
      collision.  This project involved detection of vehicles captured by  a
      camera mounted on dash board of a car. Histogram  of  Gradients  (HOG)
      algorithm along with the SVM classifier is used to detect the  forward
      vehicle. The detected vehicles  are  tracked  further  using  adaptive
      block matching algorithm.
      Key Responsibilities:
         .  Involved  in  design,  porting,  implementation,  optimization,
           debugging and integration of ADAS.
         . Developed an automated tool for SVM training  that  reduced  the
           training time by ¾ th.
         . Training of images
         . Developed concepts such as multiple vectors for different
           features, adaptive thresholding etc
         . Developed an automated tool to check accuracy of Forward
           Collision Detection System.





      Project  Title            :  Implementation  of  ITK  Goldstein  Phase
      Unwrapping
           .                                   Filter
       Environment        : Pentium 4 Intel Processor
      Tool                           :  Insight Tool Kit (ITK), FLTK


      Description
      Goldstein Filter implementation is a POC successfully executed by TCS
      to demonstrate TCS image processing capabilities and grab customer
      project.
      The system consists of a FLTK based GUI module and ITK Compliant
      Goldstein Filter module. The GUI shall Interface with the User and
      shall get necessary inputs from user. The FLTK based GUI is integrated
      with ITK framework. The ITK Compliant Goldstein filter module shall
      unwrap the phase data of the input Image file and shall store the
      output files in predefined location.


      Key Responsibilities:

      . Involved in creating System Requirement Specification document,
        Design document

      . Developed source code for Filter and Test driver
      . Interaction with client
      . Tested and verified the functionality of the tool.




      Project Title                 : People counting application
      Environment             : GCC Compiler, Pentium-4 Intel Processor,Free
                           Scale IMX-51
      Tool                           : Microsoft visual studio 2005, Open CV
      2.1, Ubuntu 10.04
      Description
      An application that can be used to detect pedestrians passing through
      road or count number of people that passing through a corresponding
      area.HOG algorithm are using to detect pedestrians/people here.
      Application will count the detection and display average number of
      people in given time.
      Key Responsibilities:

         . Modified HOG algorithm according to requirement.
         . Training of Pedestrian images








      Project Title                :  Patient  Specific  Instrument  Surgeon
      Tool
      Environment                      : Pentium 4 Intel Processor
      Tool                                   : Visual Tool Kit (VTK), FLTK
      Description


      Development of a 3D tool that can be useful for surgeon during knee
      replacement surgery. Knee replacement is a surgical procedure to
      replace the weight-bearing surfaces of the knee joint to relieve the
      pain. The surgery consists of replacing the diseased or damaged joint
      surfaces of the knee with metal and plastic components shaped to allow
      continued motion of the knee. Tool will display front, side and bottom
      view of Fermer and Tibia bones. Surgeon can visualize the abnormality
      by rotating 3D scanned images of the same and can plan the angle of
      cut, depth of cut they have to do for surgery. The tool enables the
      surgeon to choose appropriate Metal plate to replace damaged surfaces
      of bone.




      Key Responsibilities:
      Analyzing the business requirements
      Creating GUI using FLTK
      Development of tool using VTK






    PERSONAL PROFILE:

|Date Of Birth        |19-10-1986                          |
|Nationality          |Indian                              |
|Sex                  |Male                                |
|                     |Kallely House                       |
|Permanent Address and|Pariyaram P.O                       |
|phone number         |Kerala                              |
|                     |680721                              |
|                     |Ph:8095796208                       |
|Designation          |Systems Engineer                    |

_______

DSP Video Engineer and multi media engineer

1. SQA Engineer ; PUNE [India]
 Responsibilities:

  •  Perform software QA for company’s many audio/voice codecs. 
  • Working with Senior SQA engineer, the SQA engineer is responsible for carrying out test plans and test procedures, including but not limited to generating erroneous streams, collecting test streams, developing test benches, duplicating established test procedure to other codecs.
  • Perform daily tests and pre-release tests.
  • Work closely with the development team for the common goal of improving codec quality. 
  • Keep good records of the test procedures and results.


Requirements:

  •  BE in CS or EE is required,   MTech/MS is preferred .
  •  3-5 years of experiences in software QA in embedded software domain. Some experience in software development (C/C++ programming) is required.
  • Proficient in Perl, Shell and similar scripting tools.
  • Very good verbal and written communication skills.
  • Very good organizational skills.
  • Work well both independently and with members of other teams.
  • User level experiences with both Linux workstations and Windows PC.
  • Experience in testing of audio/voice codec or multimedia systems will be an advantage.
 If interested kindly forward your updated resume to the email address hr@impetuspeople.com 

 2. Tech Lead / Software Engineers - Multimedia : Pune [India]
  
Responsibilities:
  • Candidate will have to work within a dynamic team that designs state-of-the-art High Level drivers for the video hardware. This will bring you into contact with current and future generations of video systems targeted at mobile phones, MediaPlayer and PC based platforms.
  • Drive NextGen Multimedia framework spec and standards.
  • Develop platform independent OpenMAX Compliant Device Drivers for company’s Video Decoder and Encoder Cores.
  • Integration of the video components into different multimedia frameworks like GStreamer, Android.
  • System Programming
  
Requirements:
  • Candidate should have B.E/B.Tech/M.Tech/MS degree
  • Should have 3-7 years of experience
  • Candidate should have  experience in C programming
  • Should have experience with video subsystems
  • Experience of working with low level software and hardware interaction Knowledge of video  system  architecture
  • Work with the other teams, including the hardware teams.
  • Should have strong interest in multimedia subsystems
  • Spec reading and implementation
  • Good understanding of RTOS and Linux
  • Excellent spoken and written English

If interested kindly forward your updated resume to the email address hr@impetuspeople.com

3. DSP Video Engineer :  PUNE [India]

Responsibilities:
This job involves the development of firmware and DSP architecture verification and enhancement for Image and Video processing applications. This involves:
 
●    Developing and testing customized instructions for accelerating image and video processing algorithms. using the C Intrinsics
●    Developing, debugging and optimizing  examples and software libraries for Image and Video processing  algorithms
●    Ensuring that the customized instructions are optimized considering hardware gate count & power and verification of the customized instructions.
●    Generating the engineering and customer documentation.
 
Requirements :
  • Educational qualification: BE/BS in CS or EE is required,   MTech/MS is preferred.
  • 5-10 years  relevant work experience in optimization of DSP, Video/Imaging algorithms/modules for a given DSP.
  • Experience in developing and optimizing core signal processing algorithms (for video and imaging domain)  in C and assembly-language/intrinsic programming for a DSP, ARM or other DSP-like processor.
  • The candidate should have a good knowledge of processor ISA/architecture for at least 1-2 DSP  and should have a strong grasp of the issues surrounding software performance tuning for the given DSP ISA/architecture including ISA, cache and DMA optimizations.
  • Should have experience in applying principles of good software and interface design, and should have experience with at least one revision control system
  • Knowledge of scripting languages (Shell, Batch, Perl) and use of common video and imaging software (MATLAB/Octave, OpenCV, GIMP, FFMPEG) is a plus.
  • Good technical communication skills is required.
  • Candidate must be self-motivated and capable of working independently or as part of a team.
  • Experience/knowledge of  video-image  processing  is required.. 
 
If interested kindly forward your updated resume to the email address hr@impetuspeople.com
 
4. Applications Engineer - DSP Audio – ; PUNE [India]
 
You will be a member of the Central Applications Engineering (CAE) team , with a focus on audio products and technologies.
 
Members of the Central Applications Engineering team are technical experts in their field. In this position you will work with company’s development engineering team as well as the customer support team.
 
You will be involved in product definition and release, as well as in supporting customers with the programming, use and integration of these products into their systems.
 
 
Responsibilities:
  • Be the applications engineering expert on integrating company’s audio/voice codecs into the audio sub-system or multimedia framework of embedded systems.
  • Help customers with performance analysis, evaluating design tradeoffs and making appropriate design choices when integrating company’s audio DSPs and codecs into their SoC designs
  • Develop working knowledge of the architecture and programming model of company’s audio DSPs, audio and voice codecs and the codec API.
  • Work closely with the R&D team to provide feedback on customer usage of audio products and requests for enhancements so that future products may better serve customer requirements.
  • Participate in the definition of new products and in the testing and release of the finished product.
  • Work closely with other application engineers in supporting company’s customers using the audio products to answer their advanced questions on these products. Interact directly with customers as needed to achieve this objective.
  • Develop customer training for these products and help train customers and field application engineers.
  • Help in authoring application notes, documentation, and create and maintain a Knowledge Base on issues surrounding the audio products. Create code examples to illustrate the usage of the product in an efficient manner.
  • Some amount (up to 15% of time) of international travel may be involved.
 
 
Requirements:
  • MTech/ME in  EE with specialization in Signal Processing (DSP) and 8+ years of relevant work experience required.
  • Knowledge of computer architecture, DSP principles and digital audio coding principles.
  • Experience in integrating audio codecs into the multimedia framework of mobile or home entertainment systems is required. This includes analysis and optimization of performance, memory bandwidth, latency and power.
  • Must be familiar with optimizing and debugging code on embedded processor platforms, with good knowledge of C/C++ as well as assembly programming.
  • Exposure to audio/voice/speech codec implementation and optimization on a DSP is desirable.
  • Strong communication skills – written and oral are required.
  • Experience in working with customers and resolving customer issues, writing product documentation, creating training material and presenting such material is desired.
If interested kindly forward your updated resume to the email address hr@impetuspeople.com  

5. Senior DSP Engineer :  PUNE [India]
 Responsibilities:

This position requires planning, development and feature enhancement of optimized audio codecs and audio processing applications for company's configurable embedded processors. Job activities will include:
  • Developing and Optimizing performance of audio processing firmware using C level changes using C instrinsics.
  • Updating the audio firmware for features, interfaces and new processor configurations.
  • Assessing the difficulty of various implementation tasks to inform  schedule estimates.
  • Documenting the implementation for engineering details and for customers.
  • Interacting with internal customer engineering team & partners and resolving different Audio issues.

Requirements :
  • Educational qualification: BE/BS in CS or EE is required,   MTech/MS is preferred.
  • 6-10 years  relevant work experience in DSP  specifically in audio  codecs / Video Codec.
  • Experience in communications signal processing would be an advantage.
  • The candidate should have a good experience in developing and optimizing DSP applications in C and assembly language for a DSP or DSP-like processor, and should have a strong grasp of the issues surrounding software performance tuning.
  • The candidate should have experience applying principles of good software and interface design (for example, abstraction and encapsulation) and should have experience with at least one revision control system.
  • Candidate must be self-motivated and capable of working independently or as part of a team.
  • Good technical communication skills is required.
  • Experience with embedded hardware and knowledge of computer system architecture is required.
 
If interested kindly forward your updated resume to the email address hr@impetuspeople.com

6. DSP Audio Engineer : Pune [ India] 
 
Responsibilities:
 The given opportunity is within research and design teams focusing on audio systems.
  • Implementation and optimization of Audio Encoders and Decoders for application in high volume, cost sensitive, mass market consumer products.
  • Algorithm development for audio systems.
 
Requirements:
  • B.Tech / B.E. with first class in electronic engineering or related stream. plus 2 to 6 years work experience.
  • Experience of C and DSP assembler is essential, ideally in audio systems
  • Implementation and optimization of Audio Encoders and Decoders
  • Good knowledge and understanding of DSP algorithms
 
If interested kindly forward your updated resume to the email address hr@impetuspeople.com 
 
 
 
7. Embedded Development Engineer ; PUNE [India]
 
Role
 
Be part of a dynamic software development team to design and develop applications for leading edge Embedded Systems. This role demands strong development skills in C or C++, preferably with knowledge of using 2D/3D graphics APIs as well as excellent engineering judgment and communication skills.
 
Responsibilities
 
  • Coding in C/C++
  • Design, develop, test and maintain embedded software
  • Interface with development to identify opportunities for cooperative testing
  • Analyse and improve test coverage across the test suite, automation, accuracy and ease of use
  • Investigate and resolve customer reported issues, and create regression tests where required.
  • Create and review test specifications and schedules with other teams
  • Creating internal documentation for training other team members to use and support automation and tools
     
 
Requirements.
 
•    B.E ( Electronics/Computers)
•    2-4years of experience in development 
•    Experience in C/C++ including debugging/troubleshooting skills are required.
•    Expereince in  Video software development, Multimedia etc.
•    Experience  multi operating system- Windows /Linux/Symbian/Android
•    Good communication skills
 
If interested kindly forward your updated resume to the email address careers@impetuspeople.com
 
 
Video Display Driver
-
1. Experience in Multimedia Software development 
2. Experience in Video post-processing algorithms 
3. Exposure to Image processing & Digital TV technology 
4. Device Drivers programming under Linux environment - mandatory 
5. Experience in Programming on ARM 
Skill Set
- C, C , Linux, Video Processing , Image Processing, Algorithms and Android
Multimedia
-
1. Expertise in C Programming Language
2. Hands on Experience in Multi Media framework Development like GStreamer, Open Max IL(Open core, Stagefright, etc)
3. Experience in Media Streaming (HTTP, RTSP) content playback support.
4. Expertise in Audio , Video & Image Codec 
5. Expertise in Media Components like Pulse Audio, Q Image etc
Skills set
C, GStreamer, Open Max, Stagefright Audio, Video , Image Codecs, RTP, RTSP, Android Framework.

Android Multimedia
-
1. C, Data Structures, Core Java , Android Applications, Handling of various Multimedia Types(Images,Videos ,Audio Files ) in application. Relavant Work experience in Music Player, Video player, Media Explorer Image Viewer/Editor Applications. OMA DRM work experience. Database knowledge is plus
2. Language C,C * Knowledge of MTP/PTP Protocol , USB Modes - MSC/MTP , Linux USB Drivers, Understanding of SQLite, POSIX Standards Relevant Experience of MTP related implementation / Bug Fixing in mobile platforms like Android.
3. Android Graphics Framework, Graphics kernel, Surface Flinger, Image composition, Rendering, Display Technology, MHL/HDMI, OpenGLES
- DRM/MTP Security, Video/Audio Security, HDCP 1.3/2.0, Android StageFright/ NuPlayer Architecture, OMX FWK(AL/IL), ASF, AVI, MP4, MP3,3GPP,DIvx, Google DRM FWK
4. Codecs (Audio/Video codec H.264, H.232, AMR, AAC/e AAC ), Streaming (RTSP/RTP, HLS, HTTP)
5. Image Signal Processing OMA/OMA FL DRM, Divx DRM, Widevine DRM , Playready/WM DRM, ARM Trustzones, G&D Mobicore
Skills Set-
C, Data Stuctures, Core Java, Android, H.264, Audio/Video, MP3, MP4, MPEG, AAC,JPEG
Salary
INR 5,50,000 - 15,50,000 P.A
Industry
IT-Software / Software Services
Functional Area
IT Software - Embedded, EDA, VLSI, ASIC, Chip Design
Role Category
Programming & Design
Role
Software Developer
Keyskills
, 
C ,Data Structures, Algorithms, Gstreamer, Stagefright, Open Max, RTP RTSP, RTP, RTSP, Android, Linux, Audio Codec, Video Codec, Image Processing, MPEG, JPEG, MP3, MP4, , H.264, ACC, algorithm, datastructures, direct show
Other Required Skills

Education
(UG - B.Tech/B.E. - Any Specialization) OR (PG - M.Tech - Any Specialization, MCA - Computers) OR ( Doctorate - Doctorate Not Required) 
Video Display Driver
1. Experience in Multimedia Software development 
2. Experience in Video post-processing algorithms 
3. Exposure to Image processing & Digital TV technology 
4. Device Drivers programming under Linux environment - mandatory 
5. Experience in Programming on ARM 
Skill Set-
C, C , Linux, Video Processing , Image Processing, Algorithms and Android
Multimedia
1. Expertise in C Programming Language
2. Hands on Experience in Multi Media framework Development like GStreamer, Open Max IL(Open core, Stagefright, etc)
3. Experience in Media Streaming (HTTP, RTSP) content playback support.
4. Expertise in Audio , Video & Image Codec 
5. Expertise in Media Components like Pulse Audio, Q Image etc
Skills set
C, GStreamer, Open Max, Stagefright Audio, Video , Image Codecs, RTP, RTSP, Android Framework.
Android Multimedia
1. C, Data Structures, Core Java , Android Applications, Handling of various Multimedia Types(Images,Videos ,Audio Files ) in application. Relavant Work experience in Music Player, Video player, Media Explorer Image Viewer/Editor Applications. OMA DRM work experience. Database knowledge is plus
2. Language C,C * Knowledge of MTP/PTP Protocol , USB Modes - MSC/MTP , Linux USB Drivers, Understanding of SQLite, POSIX Standards Relevant Experience of MTP related implementation / Bug Fixing in mobile platforms like Android.
3. Android Graphics Framework, Graphics kernel, Surface Flinger, Image composition, Rendering, Display Technology, MHL/HDMI, OpenGLES
- DRM/MTP Security, Video/Audio Security, HDCP 1.3/2.0, Android StageFright/ NuPlayer Architecture, OMX FWK(AL/IL), ASF, AVI, MP4, MP3,3GPP,DIvx, Google DRM FWK
4. Codecs (Audio/Video codec H.264, H.232, AMR, AAC/e AAC ), Streaming (RTSP/RTP, HLS, HTTP)
5. Image Signal Processing OMA/OMA FL DRM, Divx DRM, Widevine DRM , Playready/WM DRM, ARM Trustzones, G&D Mobicore
Skills Set-
C, Data Stuctures, Core Java, Android, H.264, Audio/Video, MP3, MP4, MPEG, AAC,
 
 
 
 
 Technical Skills
Applications: Echo-Location, Wireless Communication Systems, Image Processing, Audio Compression, Echo Cancelling, Adaptive Equalization, Time-Frequency Analysis and Mixed-signal Integrated Circuits
DSP Algorithms: FIR / IIR Filters, FFT, DFT, CWT, DWT, STFT and a variety of others
Programming Languages: C++, MATLAB and Assembly Language
Digital Hardware: FPGA, CPLD, PIC, Altera Microprocessor and the Motorola M68HC11 Microcontroller
Communication Schemes: OFDM, CDM, AM, FM, PM, SSB and VSB
Circuit Design: Xilinx, VHDL and Verilog
Software Applications / Programs: Microsoft Office, Microsoft Visual Studio, Eclipse IDE, Pro Tools, Ableton Live, Dreamweaver and Flash
Operating Systems / Platforms: UNIX, Redhat Linux, and Windows XP / Vista / 7
Misc: Technical Writing and Documentation
 
 
 
 
 
 
 
 http://www.ittiam.com/en/Identity/Being-An-Ittian/Careers/Mobile-Multimedia-Codec-Engineer.aspx
http://impetuspeople.com/hot_jobs/dsp_audiovideo__multimedia