Saturday, March 4, 2017

Android ROM Media, Sensor and Graphics Architecture



                               please like & Subscribe our youtube channel

           https://www.youtube.com/playlist?list=PLQzJncZC8PUwCTcniu_akzp0N0oDx7l1n




 ROM Media Architecture



The Android system provides APIs for recording and playing audio and video, and for using the built-in camera as an input device.


Supported Media Formats
The media codec, container, and network protocols supported by the Android platform.

MediaPlayer
The MediaPlayer class provides basic audio and video playback capabilities.

MediaRecorder
The MediaRecorder class provides basic audio recording capabilities using the device's microphone.

Media Routing
Apps use the Android routing APIs to play audio and video on remote devices.

Camera API
The Camera API is used to specify image capture settings, start/stop imaging preview, take pictures, and retrieve the raw video.

The Android multimedia framework contains support for playing various of common media types, so that you can easily integrate audio, video and images into your applications. You can play audio or video from media files stored in your application's resources (raw resources, assets) using MediaPlayer APIs.




In media, architecture executes all media application and provides API to third party applications.


android ROM Media Architecture
android ROM Media Architecture


Application Layer

The application layer of audio architecture includes media applications.

Application framework Layer

Android framework layer includes android.media Libraries which access JNI.

JNI (java native Interface)

JNI provide core code for android libraries or android API.

Native Libraries

Native libraries provide the interface to system API. These files are written in c/c++ code.

IPC (Inter Process Communication)

IPC provide Communication between different processes. It is also located in framework/av/libmedia.

Media Service

It is the multimedia framework which provides the engine for audio and video Record. For this process use mediaplayerservice.cpp and located into framework/av/media/libmediaframewrokservice.

OMX Integration

OMX Integration provides interface with the hardware-based component.


ROM Sensors Architecture


Android has built-in sensors that measure motion, orientation, and various environmental conditions. These sensors are providing raw data with accuracy and provide three-dimensional device movement or positioning, or you want to monitor changes in the environment near a device. For example, a game might track readings from a device's gravity sensor to infer complex user gestures and motions, such as tilt, shake, rotation, or swing. Likewise, a weather application might use a device's temperature sensor and humidity sensor to calculate or a travel application might use the geomagnetic field sensor and accelerometer to report a compass bearing.




Sensors Architecture executes all applications which are related Sensors.


android ROM Sensors Architecture
android ROM Sensors Architecture

Application layer

The application layer of audio architecture includes Sensor applications.

Application framework Layer

Android framework layer includes android.hardware Libraries which access JNI and interact with Bluetooth hardware.

JNI (java native Interface)

JNI provide core code for android libraries or android API. Its provide interface with android.hardware API. This included in frameworks/base/core/JNI folder.

Native Libraries

Native libraries provide the interface to system API. These files are written in c/c++ code. This included in frameworks/native folder.

IPC (Inter Process Communication)

IPC provide Communication between different processes.

Sensor Service

Sensor service provides interface with HAL.

Sensor HAL

Sensor HAL provides userspace. It provides Interface with your hardware and drives. Its contain sensors.h and sensors.app files. It’s located into hardware/libhardware/include/hardware.

Sensor Driver

Sensor driver contains input event and sensor hub driver which understand by the kernel.

Sensor Hub

Sensor hub use in low-level computation.

Batching

Batching process is used to store sensor event in hardware in FIFO to process to HAL.

Sensor Types

Base Sensor

This type’s sensor associated with hardware
  • ACCELEROMETER
  • GYROSCOPE
  • MAGNETOMETER

Composite Sensors

A sensor which not associated with the base sensor is called composite sensor.


 ROM Graphics Architecture 



android Provides low-level graphics features such as canvases, color, points, and rectangles to drawing to the screen directly.

The Android framework provides a various of graphics APIs for 2D and 3D that interact with manufacturer implementations of graphics drivers, so it is important to the understanding of how those APIs work at a higher level. This page introduces the graphics hardware abstraction layer (HAL) upon which those drivers are built.
Application developers draw images to the screen in two ways: with Canvas or OpenGL.



Graphics Architecture executes all applications which are related to 2D and 3D graphics.


android ROM Graphics Architecture
android ROM Graphics Architecture 


Application Layer

This layer contains media player app, camera applications, OpenGL app.

Application Framework

This Layer includes window Manager Lib and OpenGL lib.

JNI (java native Interface)

This layer contains core code like surface.cpp, GLConsumer.cpp files in frameworks/native/lib/gui folder.

2D and 3D Engine

This layer contains java lib for 2d and 3d Graphics.

Composition with HwComposer

HwComposer used to combine specific surface layer supported by the specific vendor. And HW composer Disable by removing /System/lib/hw/hwComposer.imx6.so. It’s a hardware lib file.

HwComposer HAL

HwComposer HAL Layer provides interface HwComposer with CPU 2D core layer.

Display Frame Buffer

Frame buffer display takes input from hardware and provides output to display. For this used to the high-speed semiconductor.


Modern Graphics System

 

 

ROM above figure we can easily understand Application access graphics and android graphics lib contain OpenGL or Direct3D lib. Its provide communication between application part and hardware part and hardware part provide input to the system.


No comments:

Post a Comment