Sunday, July 14, 2013

Android Engineering @ ESL.

Android MMF Slides 

http://www.embeddedsoftwarelabs.com/OpenCore_Architecture_ESL.pdf
libion_exynos: Add initial version
libcamera: Added CameraHAL Class
RGB_OVERLAY: screen flicker issue just before screen suspend
Usually, SurfaceFlinger calls hwc_set with dpy & sur parameters NULL to indicate that the screen is turning off.Sometimes, hwc_set is called with only the list parameter NULL (before the actual screen suspend).
call forcibly FB_BLANK_POWERDOWN when initialze window
In s3c_fb_set_par(), it Enable DMA channel for this window. so when hwc_device_open(), it Enable DMA channel for window 0, 1, 2. although it does not use.
ui_dipslay issue after wakeup from suspend.
UI is being disappeared sometimes after wakeup from suspend. The issue was happened because of window configuration problem. window was not getting reconfigured after wakeup from resume. So, it needs to preserve the window configuration before entering suspend. The modified code preserves the winodw configuration.
when HDMI cable was plugged after boot on, HDMI output isn't displayed on the TV.
When HDMI cable was plugged after boot on, HDMI output isn't displayed on the TV before Change UI. The cause of this problem is blit2hdmi function not called, blit2hdmi function was called.
glReadPixel is added before the eglSwapBuffers.
glReadPixel call ensures the composition done.
Performance optimization for OVERLAY + FB composition.
OVERLAY + FB scenario ===> video + UI layers (when number of layers are more than2).glReadPixels and eglSwapBuffers calls are seperated for improving the OVERLAY + FB scenario performance. SO, the GSC operation and 3D operation will happen in parallel.
Support scalable fb
Scalable FB requires some modifications to libhdmi 1. Added getHdmiResolution function 2. Added resetTVOutService to reset handle to 0 (NULL) 3. Added kill routine in ExynosHdmi::connect if newly connected TV has a different max resolution than the previous one
Add initial device files for Android board





























Diffstat
-rw-r--r-- Android.mk 37
-rw-r--r-- codecs/Android.mk 3
-rw-r--r-- codecs/sec_codecs/Android.mk 1
-rw-r--r-- codecs/sec_codecs/audio/Android.mk 11
-rw-r--r-- codecs/sec_codecs/audio/exynos4/Android.mk 14
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/Android.mk 26
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/include/srp_api.h 52
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/include/srp_error.h 22
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/include/srp_ioctl.h 23
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/alp/src/srp_api.c 265
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/libsa_jni/Android.mk 13
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/libsa_jni/SACtrl.c 33
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/Android.mk 23
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/include/srp_api.h 55
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/include/srp_api_ctrl.h 25
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/include/srp_ioctl.h 66
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/src/srp_api.c 381
-rw-r--r-- codecs/sec_codecs/audio/exynos4/srp/ulp/src/srp_api_ctrl.c 331
-rw-r--r-- codecs/sec_codecs/audio/exynos5/Android.mk 9
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/Android.mk 26
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/include/srp_api.h 52
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/include/srp_error.h 22
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/include/srp_ioctl.h 23
-rw-r--r-- codecs/sec_codecs/audio/exynos5/srp/alp/src/srp_api.c 265
-rw-r--r-- codecs/sec_codecs/video/Android.mk 11
-rw-r--r-- codecs/sec_codecs/video/exynos4/Android.mk 7
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/Android.mk 38
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/dec/src/SsbSipMfcDecAPI.c 1165
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/enc/src/SsbSipMfcEncAPI.c 866
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/include/SsbSipMfcApi.h 420
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/include/mfc_errno.h 79
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc/include/mfc_interface.h 528
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/Android.mk 34
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/dec/src/SsbSipMfcDecAPI.c 1352
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/enc/src/SsbSipMfcEncAPI.c 1206
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/include/SsbSipMfcApi.h 382
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/include/mfc_errno.h 79
-rw-r--r-- codecs/sec_codecs/video/exynos4/mfc_v4l2/include/mfc_interface.h 541
-rw-r--r-- codecs/sec_codecs/video/exynos5/Android.mk 7
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/Android.mk 34
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/dec/src/SsbSipMfcDecAPI.c 1740
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/enc/src/SsbSipMfcEncAPI.c 1506
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/include/SsbSipMfcApi.h 431
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/include/mfc_errno.h 79
-rw-r--r-- codecs/sec_codecs/video/exynos5/mfc_v4l2/include/mfc_interface.h 588
-rw-r--r-- component/audio/dec/Android.mk 20
-rw-r--r-- component/audio/dec/SEC_OMX_Adec.c 1376
-rw-r--r-- component/audio/dec/SEC_OMX_Adec.h 132
-rw-r--r-- component/audio/dec/mp3/Android.mk 32
-rw-r--r-- component/audio/dec/mp3/SEC_OMX_Mp3dec.c 925
-rw-r--r-- component/audio/dec/mp3/SEC_OMX_Mp3dec.h 63
-rw-r--r-- component/audio/dec/mp3/library_register.c 58
-rw-r--r-- component/audio/dec/mp3/library_register.h 54
-rw-r--r-- component/common/Android.mk 43
-rw-r--r-- component/common/SEC_OMX_Basecomponent.c 1535
-rw-r--r-- component/common/SEC_OMX_Basecomponent.h 196
-rw-r--r-- component/common/SEC_OMX_Baseport.c 1014
-rw-r--r-- component/common/SEC_OMX_Baseport.h 95
-rw-r--r-- component/common/SEC_OMX_Resourcemanager.c 478
-rw-r--r-- component/common/SEC_OMX_Resourcemanager.h 59
-rw-r--r-- component/video/dec/Android.mk 25
-rw-r--r-- component/video/dec/SEC_OMX_Vdec.c 1544
-rw-r--r-- component/video/dec/SEC_OMX_Vdec.h 160
-rw-r--r-- component/video/dec/h264/Android.mk 77
-rw-r--r-- component/video/dec/h264/SEC_OMX_H264dec.c 2603
-rw-r--r-- component/video/dec/h264/SEC_OMX_H264dec.h 74
-rw-r--r-- component/video/dec/h264/library_register.c 65
-rw-r--r-- component/video/dec/h264/library_register.h 57
-rw-r--r-- component/video/dec/mpeg4/Android.mk 60
-rw-r--r-- component/video/dec/mpeg4/SEC_OMX_Mpeg4dec.c 2099
-rw-r--r-- component/video/dec/mpeg4/SEC_OMX_Mpeg4dec.h 92
-rw-r--r-- component/video/dec/mpeg4/library_register.c 63
-rw-r--r-- component/video/dec/mpeg4/library_register.h 59
-rw-r--r-- component/video/dec/vc1/Android.mk 60
-rw-r--r-- component/video/dec/vc1/SEC_OMX_Wmvdec.c 2010
-rw-r--r-- component/video/dec/vc1/SEC_OMX_Wmvdec.h 94
-rw-r--r-- component/video/dec/vc1/library_register.c 57
-rw-r--r-- component/video/dec/vc1/library_register.h 52
-rw-r--r-- component/video/dec/vp8/Android.mk 60
-rw-r--r-- component/video/dec/vp8/SEC_OMX_Vp8dec.c 1661
-rw-r--r-- component/video/dec/vp8/SEC_OMX_Vp8dec.h 66
-rw-r--r-- component/video/dec/vp8/library_register.c 58
-rw-r--r-- component/video/dec/vp8/library_register.h 54
-rw-r--r-- component/video/enc/Android.mk 32
-rw-r--r-- component/video/enc/SEC_OMX_Venc.c 1857
-rw-r--r-- component/video/enc/SEC_OMX_Venc.h 166
-rw-r--r-- component/video/enc/h264/Android.mk 40
-rw-r--r-- component/video/enc/h264/SEC_OMX_H264enc.c 1605
-rw-r--r-- component/video/enc/h264/SEC_OMX_H264enc.h 77
-rw-r--r-- component/video/enc/h264/library_register.c 55
-rw-r--r-- component/video/enc/h264/library_register.h 55
-rw-r--r-- component/video/enc/mpeg4/Android.mk 40
-rw-r--r-- component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.c 1803
-rw-r--r-- component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.h 77
-rw-r--r-- component/video/enc/mpeg4/library_register.c 64
-rw-r--r-- component/video/enc/mpeg4/library_register.h 59
-rw-r--r-- core/Android.mk 26
-rw-r--r-- core/SEC_OMX_Component_Register.c 264
-rw-r--r-- core/SEC_OMX_Component_Register.h 75
-rw-r--r-- core/SEC_OMX_Core.c 364
-rw-r--r-- core/SEC_OMX_Core.h 78
-rw-r--r-- include/khronos/OMX_Audio.h 1311
-rw-r--r-- include/khronos/OMX_Component.h 579
-rw-r--r-- include/khronos/OMX_ContentPipe.h 195
-rw-r--r-- include/khronos/OMX_Core.h 1431
-rw-r--r-- include/khronos/OMX_IVCommon.h 920
-rw-r--r-- include/khronos/OMX_Image.h 328
-rw-r--r-- include/khronos/OMX_Index.h 258
-rw-r--r-- include/khronos/OMX_Other.h 337
-rw-r--r-- include/khronos/OMX_Types.h 347
-rw-r--r-- include/khronos/OMX_Video.h 1060
-rw-r--r-- include/sec/SEC_OMX_Def.h 182
-rw-r--r-- include/sec/SEC_OMX_Macros.h 66
-rw-r--r-- openmax/Android.mk 3
-rw-r--r-- openmax/sec_omx/Android.mk 32
-rw-r--r-- openmax/sec_omx/component/audio/dec/Android.mk 19
-rw-r--r-- openmax/sec_omx/component/audio/dec/SEC_OMX_Adec.c 1376
-rw-r--r-- openmax/sec_omx/component/audio/dec/SEC_OMX_Adec.h 132
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/Android.mk 31
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/SEC_OMX_Mp3dec.c 925
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/SEC_OMX_Mp3dec.h 63
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/library_register.c 58
-rw-r--r-- openmax/sec_omx/component/audio/dec/mp3/library_register.h 54
-rw-r--r-- openmax/sec_omx/component/common/Android.mk 43
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Basecomponent.c 1535
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Basecomponent.h 196
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Baseport.c 1014
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Baseport.h 95
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Resourcemanager.c 478
-rw-r--r-- openmax/sec_omx/component/common/SEC_OMX_Resourcemanager.h 59
-rw-r--r-- openmax/sec_omx/component/video/dec/Android.mk 23
-rw-r--r-- openmax/sec_omx/component/video/dec/SEC_OMX_Vdec.c 1544
-rw-r--r-- openmax/sec_omx/component/video/dec/SEC_OMX_Vdec.h 160
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/Android.mk 76
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/SEC_OMX_H264dec.c 2603
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/SEC_OMX_H264dec.h 74
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/library_register.c 65
-rw-r--r-- openmax/sec_omx/component/video/dec/h264/library_register.h 57
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/Android.mk 59
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/SEC_OMX_Mpeg4dec.c 2099
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/SEC_OMX_Mpeg4dec.h 92
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/library_register.c 63
-rw-r--r-- openmax/sec_omx/component/video/dec/mpeg4/library_register.h 59
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/Android.mk 59
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/SEC_OMX_Wmvdec.c 2010
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/SEC_OMX_Wmvdec.h 94
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/library_register.c 57
-rw-r--r-- openmax/sec_omx/component/video/dec/vc1/library_register.h 52
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/Android.mk 59
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/SEC_OMX_Vp8dec.c 1661
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/SEC_OMX_Vp8dec.h 66
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/library_register.c 58
-rw-r--r-- openmax/sec_omx/component/video/dec/vp8/library_register.h 54
-rw-r--r-- openmax/sec_omx/component/video/enc/Android.mk 31
-rw-r--r-- openmax/sec_omx/component/video/enc/SEC_OMX_Venc.c 1857
-rw-r--r-- openmax/sec_omx/component/video/enc/SEC_OMX_Venc.h 166
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/Android.mk 39
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/SEC_OMX_H264enc.c 1605
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/SEC_OMX_H264enc.h 77
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/library_register.c 55
-rw-r--r-- openmax/sec_omx/component/video/enc/h264/library_register.h 55
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/Android.mk 39
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.c 1803
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/SEC_OMX_Mpeg4enc.h 77
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/library_register.c 64
-rw-r--r-- openmax/sec_omx/component/video/enc/mpeg4/library_register.h 59
-rw-r--r-- openmax/sec_omx/core/Android.mk 26
-rw-r--r-- openmax/sec_omx/core/SEC_OMX_Component_Register.c 264
-rw-r--r-- openmax/sec_omx/core/SEC_OMX_Component_Register.h 75
-rw-r--r-- openmax/sec_omx/core/SEC_OMX_Core.c 364
-rw-r--r-- openmax/sec_omx/core/SEC_OMX_Core.h 78
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Audio.h 1311
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Component.h 579
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_ContentPipe.h 195
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Core.h 1431
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_IVCommon.h 920
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Image.h 328
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Index.h 258
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Other.h 337
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Types.h 347
-rw-r--r-- openmax/sec_omx/include/khronos/OMX_Video.h 1060
-rw-r--r-- openmax/sec_omx/include/sec/SEC_OMX_Def.h 182
-rw-r--r-- openmax/sec_omx/include/sec/SEC_OMX_Macros.h 66
-rw-r--r-- openmax/sec_omx/osal/Android.mk 42
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Android.cpp 579
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Android.h 81
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_ETC.c 237
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_ETC.h 66
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Event.c 217
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Event.h 61
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Library.c 54
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Library.h 46
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Log.c 56
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Log.h 79
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Memory.c 71
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Memory.h 48
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Mutex.c 93
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Mutex.h 47
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Queue.c 174
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Queue.h 66
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Semaphore.c 134
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Semaphore.h 49
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Thread.c 158
-rw-r--r-- openmax/sec_omx/osal/SEC_OSAL_Thread.h 48
-rw-r--r-- osal/Android.mk 42
-rw-r--r-- osal/SEC_OSAL_Android.cpp 579
-rw-r--r-- osal/SEC_OSAL_Android.h 81
-rw-r--r-- osal/SEC_OSAL_ETC.c 237
-rw-r--r-- osal/SEC_OSAL_ETC.h 66
-rw-r--r-- osal/SEC_OSAL_Event.c 217
-rw-r--r-- osal/SEC_OSAL_Event.h 61
-rw-r--r-- osal/SEC_OSAL_Library.c 54
-rw-r--r-- osal/SEC_OSAL_Library.h 46
-rw-r--r-- osal/SEC_OSAL_Log.c 56
-rw-r--r-- osal/SEC_OSAL_Log.h 79
-rw-r--r-- osal/SEC_OSAL_Memory.c 71
-rw-r--r-- osal/SEC_OSAL_Memory.h 48
-rw-r--r-- osal/SEC_OSAL_Mutex.c 93
-rw-r--r-- osal/SEC_OSAL_Mutex.h 47
-rw-r--r-- osal/SEC_OSAL_Queue.c 174
-rw-r--r-- osal/SEC_OSAL_Queue.h 66
-rw-r--r-- osal/SEC_OSAL_Semaphore.c 134
-rw-r--r-- osal/SEC_OSAL_Semaphore.h 49
-rw-r--r-- osal/SEC_OSAL_Thread.c 158

-rw-r--r-- osal/SEC_OSAL_Thread.h