--3rd+Party+Algorithm+Porting+Guide+On+6752_MT6595

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CONFIDENTIALB3rdPartyAlgorithmPortingGuideonMT6732/MT6752/MT65952015/3/30Copyright©MediaTekInc.Allrightsreserved.0CONFIDENTIALBAgenda▪CameraSWArchitectureOverview▪CameraCustomization•3rdPartyAlgorithmPortingForPreview•3rdPartyAlgorithmPortingForCapture•3rdPartyAlgorithmPortingForZSD2015/3/301CONFIDENTIALBCameraSWArchitecture2015/3/302CONFIDENTIALBToplevelViewAndroidCameraSystem2015/3/30Copyright©MediaTekInc.Allrightsreserved.3frameworks/av/services/camera/libcameraservice/device1/hardware/libhardware/include/hardware/camera.hhardware/libhardware/include/hardware/camera_common.hCONFIDENTIALB2015-03-30Copyright©MediaTekInc.Allrightsreserved.4MTKCameraHALLibraryStackCONFIDENTIALBComponentDiagram2015/3/30Copyright©MediaTekInc.Allrightsreserved.5CONFIDENTIALBClient’sImageBufferTravelingClientAdapterCONFIDENTIALB[MTKCameraHal]Component▪ImageBufferQueue•Providesenqueue/dequeuemechanismforcameraclient&itsservice.▪Client•Providesimagebuffers(addedintoimagebufferqueue)forprocessing.•InteractswithAndroidframework,suchasCameraServiceandSurfaceTexture.•IncludesDisplayClient,PreviewCallback,RecordCallback,FDClient,......▪Adapter•AnadaptertoCameraHardware•Couldbescenario-specific(Photo,VT,Video,Eng,……)▪CameraDevice•Virtualdevice:accessrealdevicesbyadapters.•Connectsclientstoanadapter.•DefaultCamDevice/MtkEngCamDevice……•Takeone-shotactionsduringinit/uninit(open/closesensor,andsoonifneeded)▪CameraDeviceManager•Providessupporteddeviceinformation(bysearching,…)•Manageseachdeviceanddecideswhichdevicetocreate.▪ParamsManager•Manages(Mtk)CameraParameters-relatedinformationandoperations.•Feature(table)control.CONFIDENTIALBMTKCameraSWStack2015/3/308MTKCameraCore-mediatek\platform\$(platform)\hardware\mtkcam\core\)CustomFolderKernel-spaceDrv(ISP,ImageSensor,MDP…etc)UserSpaceKernelSpaceMTKCameraHal-mediatek\hardware\mtkcam\-mediatek\hardware\inlcude\mtkcam\-mediatek\platform\$(platform)\hardware\include\mtkcam\-mediatek\platform\$(platform)\hardware\mtkcam\Entry\-mediatek\platform\$(platform)\hardware\mtkcam\DeviceMgr\-mediatek\platform\$(platform)\hardware\mtkcam\v1\CameraService(CameraHardwareInterface)ProtectFolderACDK(factory+CCTtool)-mediatek\platform\$(platform)\hardware\mtkcam\acdk\AndroidCameraDebugKitCONFIDENTIALBMTKCameraSWStacktowardAOSP2015/3/30Copyright©MediaTekInc.Allrightsreserved.9ForMediatekproprietaryfeatures,weaddyellowboxtoextendcameracapabilityCONFIDENTIALBMTKCameraSWStacktowardAOSP2015/3/30Copyright©MediaTekInc.Allrightsreserved.10AOSPfilesMTKextendedfilesCameraJAVA(newAPI/definitionsforproprietaryfeature)Camera.javaCameraJNI(newAPI;flowchangeforcallback)android_hardware_Camera.cppCameraService(newAPI;flowchange)CameraService.hCameraService.cpp(newAPIs;partofAOSP)(frameworks/av/services/camera/libcameraservice/mediatek/)CameraService.cppCameraClient(api1)(newAPI;flowchangeforcallback)CameraClient.cpp(newAPIs;partofAOSPforcallback)(frameworks/av/services/camera/libcameraservice/mediatek/)CameraClient.cppCameraParameters(nomodify)CameraParameters.hCameraParameters.cpp(newparameters;partofAOSPextendedparameter)(mediatek/frameworks/av/)MtkCameraParameters.hMtkCameraParameters.cppCAMERA_MSG_xxxCAMERA_CMD_xxxCAMERA_ERROR_xxx……system/core/include/system/camera.h(newmessage;partofAOSPextendedcallback)(mediatek/frameworks/av/)MtkCamera.hMtkCamera.cppCONFIDENTIALADataPathforMediatekProprietaryFeatures▪Controls•Parameters•Commands•Property▪Callbacks•Notify•DataYoucanaddyourowncallbackmessagebasedonMTKcallbackdatapathCONFIDENTIALADataPath–Control▪Parameter•Cameraparameterisastring-basedkey-valuemap.•MTK-specifickeysandvaluesaredefinedinMTKCameraParametersclass.▪SendCommand▪Property(InCameraService)YoucanextendyourownparameterstringbasedonMTKCameraParametersCONFIDENTIALBCameraCustomization2015/3/30Copyright©MediaTekInc.Allrightsreserved.13CONFIDENTIALB3rdPartyAlgorithmPortingForPreviewCameraCustomization2015/3/30Copyright©MediaTekInc.Allrightsreserved.14CONFIDENTIALBExtImgProcIntroduction▪Customerusuallyadd3rdPartyimageprocessforsomecamerafeature.▪ExtImgProcprovidecustomeraneasywaytoaddextraimageprocessforimagebufferandcentralizecontrolflows.CONFIDENTIALBClassDiagramExtImgProcHwinit/UninitgetImgMaskdoImgProcIExtImgProcinit/UninitgetImgMaskdoImgProcExtImgProcinit/UninitgetImgMaskdoImgProcCONFIDENTIALBCommonandPlatformbuffers▪TherearetwokindsofbufferforExtImgProc,commonandplatformbuffers.•TheDisplay,Record,andPreviewCBclientsusecommonbuffers.•TheISPprocessflowmaybedifferentbecausethechipdesignmaybedifferent.PlatformbuffersrelatedtoplatformISPprocessflow.CONFIDENTIALBMTKCameraHALStack2015-03-30Copyright©MediaTekInc.Allrightsreserved.18CommonbufferPlatformbufferExtImgProcExtImgProcHwCONFIDENTIALBExtImgProcProcess▪Display,Record,andPreviewCBclients(CommonBuffer)CONFIDENTIALBExtImgProcProcess▪CommonBufferProcess•1.DequebufferfromImgBufQueue.•2.SendbufferinformationtoExtImgProc.▪ExtImgProcshouldprocessimagebufferifneeded.•3.WaitExtImgProcfunctionreturn.•4.CallbackbuffertoAPP.CONFIDENTIALBExtImgProcProcess▪添加三方算法处理的流程(Commonbuffer)•

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功