Saturday, December 28, 2013

Global Combo-chip for Tablet market to grow at a CAGR of 41.3% in next four years

Combo-chips have become a vital component for wireless connectivity devices such as tablets and smartphones. The increasing need among consumers to communicate and access data has increased the demand for combo-chips in tablets. Combo-chips that integrate Bluetooth, Wi-Fi, GPS, FM radio, and NFC technology provide tablet users with faster connectivity and consume less power than stand-alone chips. 

The analysts forecast the Global Combo-chip for Tablet market to grow at a CAGR of 41.3 percent over the period 2014-2018. One of the key factors contributing to this market growth is the increasing sales of tablets worldwide. The Global Combo-chip market for Tablets has also been witnessing technological convergence. However, the high cost of integration could pose a challenge to the growth of this market. 

See more detail in "Global Combo-chip for Tablet Market 2014-2018".

A Free Online Android Programming Course by University of Maryland

Started from January 21st 2014, University of Maryland will offer an eight weeks of online Android programming course, "Programming Mobile Applications for Android Handheld Systems". 

Tentative Schedule

Week #1:
  Lecture #0 - Handheld systems, their use, and how this affects the design of handheld applications
  Lecture #1 – The Android Platform
  Lecture #2 – The Android Development Environment
  Lab #1: Setup: Students identify required software & install it on their personal computers.  Students perform several tasks to familiarize themselves with the Android Platform and development environment. 
Week #2:
  Lecture #3 – Application Fundamentals
  Lecture #4 – The Activity Class
  Lab #2 – The Activity Lifecycle & Reconfiguration: We'll build applications that 1) trace the lifecycle callback methods issued by the Android platform and that 2) change the application’s layout when the device configuration changes (e.g., when the device moves from portrait to landscape mode).
Week #3:
  Lecture #5 – The Intent Class
  Lecture #6 – Permissions
•  Lecture #7 – The Fragment Class
  Lab #3a - Intents & Permissions:  We'll build several applications that require starting multiple Activities via standard and custom Intents, and that require non-default permissions.
  Lab #3b – Tablet User Interfaces: We'll build two applications; one that has a series of Activities for use on a phone; one that has a multi-pane user interface for use on a tablet.
Week #4: 
  Lectures #8 – User Interface Classes - Part I
  Lectures #9 – User Interface Classes - Part II
  Lab #4 – ToDoManager:  We'll build a ToDo list manager using the user interface elements discussed in lecture. The application will use custom views for creatively displaying ToDo items in a list. The application will display two different types of user interfaces, based on whether the device on which it’s running is a small phone or a larger tablet.
Week #5:
  Lecture #10 – User Notifications
  Lecture #11 – The BroadcastReceiver Class
  Lecture #12 – Threads, AsyncTask & Handlers
  Lecture #13 - Alarms
  Lecture #14 - Networking
  Lab #5a – Threads: We'll write concurrent, multi-threaded code to load ToDo items from a networked server via background threads (i.e., without blocking the main UI thread).
•  Lab #5b - Broadcast Receiver: We'll build an application that uses a BroadcastReceiver to react when events such as connecting and disconnecting the charger occur.
Week #6:
  Lecture #15 – Graphics & Animation I
  Lecture #16 – Graphics & Animation II
  Lecture #17 – Multi-touch & Gestures
•  Lecture #18 – MultiMedia
  Lab #6a - Gesture Sampler:  Students build and application that accepts gesture input, such as using an "X" gesture to delete, using a "?" gesture to show help, etc.
  Lab #6b - Bubble Popper: We'll write an application to display and animate bubbles (graphics that look like bubbles) on the device's screen. When users touch the screen where a bubble appears, the bubble pops.
Week #7:
   Lecture #19 – Sensors
  Lecture #20 – Location & Maps
  Lab #7a - Obstacle Course: Students build an application that uses the orientation of the device (tilting, rotating, etc.) to guide an object around obstacles. 
Week #8:
  Lecture #21 – DataManagement
  Lecture #22 – The ContentProvider Class
  Lecture #23 – The Service Class
  Lab #8a - Data Management (SQL): Students develop a database for storing and retrieving multimedia notes with textual tags.
  Lab #8b - Mutlimedia Notes Content Provider: Students extend the multimedia notes database so multimedia notes can be shared via a ContentProvider across multiple applications. 

Thursday, December 5, 2013

Android NDK GDB Client/Server Graphical Debugging for Native C/C++ Executable with ddd

1. Install gdbserver on device

Assuming the Android NDK is installed in ~/android-ndk-r8e, and the device is rooted, su and change the system permission command for to be writable, for example, for Asus Transformer TF201,

mount -o rw,remount -t yaffs2 /dev/block/mmcblk0p1 /system

Then push android-ndk-r8e\prebuilt\android-arm\gdbserver to /system/bin.

2. adb push the native executable app_executable to /data/data/app_name

3. In device sdcard, make a working directory /sdcard/app_name

4. On the device or emulator, go to /sdcard/app_name, launch a new command (port number 5039 is an example)

gdbserver : 5039 /data/data/app_name/app_executable some_command_line_options_defined_in_exe

5. On the host, forward port 5039 to the device with adb:

adb forward tcp: 5039 tcp: 5039

6.  Assuming the executable build directory is exe_build_directory, set source path with "set solib-search-path ~/android-ndk-r8e/platforms/android-9/arch-arm/usr/include ~/android-ndk-r8e/sources/cxx-stl/gnu-libstdc+/4.6/include: ~/android-ndk-r8e/sources/cxx-stl/gnu-libstdc+/4.6/libs/armeabi/include: exe_build_directory"

7. Go to the exe_build_directory, start a special version of gdb client that lives in the "prebuilt" area of the source tree with ddd, for example,

 ddd --debugger ~/android-ndk-r8e/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gdb

8. Then "file app_executable", the source code trees are brought in ddd window,

9. Connect to the device by issuing the gdb command in ddd window:

target remote: 5039

and then have fun with ddd

Comparison Between H.264/AVC, H.265/HEVC, VP9 and Daala


H.264/MPEG-4 Part 10 or AVC (Advanced Video Coding) is a video compression format, and is currently one of the most commonly used formats for the recording, compression, and distribution of video content. The final drafting work on the first version of the standard was completed in May 2003. It has been widely adopted.


High Efficiency Video Coding (HEVC) or H.265 is the current joint video coding standardization project of ITU-T Video Coding Experts Group (ITU-T Q.6/SG 16) and ISO/IEC Moving Picture Experts Group (ISO/IEC JTC 1/SC 29/WG 11). It is an evolution of current industrial H.264/AVC standard and was developed to increase AVC compression efficiency by two times and endorse the development of UHD systems. HEVC is expected to replace AVC in newly developed video systems.


VP9 is an open video compression standard being developed by Google. It basically shares common features with AVC coding like VP8 did.


Daala is the current working name of a video codec under development by the Xiph.Org Foundation. Daala is intended to be a high-efficiency codec for use cases similar to those of High Efficiency Video Coding (HEVC or H.265) and VP9. Daala is using a lapped transform to reduce the blocking artifacts characteristic of other video codecs that use the discrete cosine transform directly.


Estimated Current Compression Efficiency for General Video



Very High
Current Performance
Almost free now
Transform Coding
DCT/ Hadamard
Lapped (linear discrete block)
Prediction Coding
8 Modes for intra predictions
33 Directional modes for intra predictions
+ planar and DC intra prediction modes
10 Modes for intra predictions
Entropy Coding
Context-adaptive binary arithmetic coding,
Context-adaptive variable-length coding (CABAC),
Context-adaptive binary arithmetic coding (CABAC)

Block Size
Up to 64x64

Max Resolution Support


Implemented Color Spaces
YUV 4:2:0 -4:4:4
YUV 4:2:0

Semiconductor Market Could Grow 15% in 2014

According to Bill Jewell at, the world semiconductor market could grow 15% in 2014.

Other forecasts shows


Blog Archive

About Me

My photo
HD Multimedia Technology player