Change-Id: If8d0b57acc6b41c28c7a331e41db44d2 Signed-off-by: zenin1504 <me.zenin1504.dev@gmail.com>
351 lines
14 KiB
JSON
351 lines
14 KiB
JSON
/*
|
|
device:ishtar
|
|
some quick reference:
|
|
|
|
stream format: (for complete list, refer to: system/core/include/system/graphics-base-vx.x.h)
|
|
HAL_PIXEL_FORMAT_RGBA_8888 = 1,
|
|
HAL_PIXEL_FORMAT_RGBX_8888 = 2,
|
|
HAL_PIXEL_FORMAT_RGB_888 = 3,
|
|
HAL_PIXEL_FORMAT_RGB_565 = 4,
|
|
HAL_PIXEL_FORMAT_BGRA_8888 = 5,
|
|
HAL_PIXEL_FORMAT_YCBCR_422_SP = 16,
|
|
HAL_PIXEL_FORMAT_YCRCB_420_SP = 17,
|
|
HAL_PIXEL_FORMAT_YCBCR_422_I = 20,
|
|
HAL_PIXEL_FORMAT_RGBA_FP16 = 22,
|
|
HAL_PIXEL_FORMAT_RAW16 = 32,
|
|
HAL_PIXEL_FORMAT_BLOB = 33,
|
|
HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED = 34,
|
|
HAL_PIXEL_FORMAT_YCBCR_420_888 = 35,
|
|
HAL_PIXEL_FORMAT_RAW_OPAQUE = 36,
|
|
HAL_PIXEL_FORMAT_RAW10 = 37,
|
|
HAL_PIXEL_FORMAT_RAW12 = 38,
|
|
HAL_PIXEL_FORMAT_RGBA_1010102 = 43,
|
|
HAL_PIXEL_FORMAT_Y8 = 538982489,
|
|
HAL_PIXEL_FORMAT_Y16 = 540422489,
|
|
HAL_PIXEL_FORMAT_YV12 = 842094169,
|
|
|
|
stream dataspace: (for complete list, refer to: system/core/include/system/graphics-base-vx.x.h)
|
|
HAL_DATASPACE_JFIF = 257,
|
|
HAL_DATASPACE_V0_JFIF = 146931712, // ((STANDARD_BT601_625 | TRANSFER_SMPTE_170M) | RANGE_FULL)
|
|
*/
|
|
|
|
{
|
|
"isSupportExtCamera": true,
|
|
"ignoreV4L2DevicesByExtCamera": [0, 1],
|
|
"halHeicSupported": true,
|
|
"supportDownCapture": true,
|
|
"supportSortResult": true,
|
|
"supportSortNotify": true,
|
|
"supportFrameDrop": false,
|
|
"maxPendingFrameNum": 10,
|
|
"maxTotalPendingFrameNum": 20,
|
|
"setQRstreamUsecase": 524545,
|
|
// When APP supports DownCapture, mihal needs to discard the useless snapshot request front Burst.
|
|
"InternalPreviewBufferQueueSize": 30,
|
|
"QuickviewBufferQueueSizeMax": 26,
|
|
"MockCameraFwkStreamMaxBufferQueueSize": 30,
|
|
// when mihal allocate a stream's GraBuffer, it will refresh a timer.
|
|
// If no one else request the stream's GraBuffer for "BufferReclaimWaitMilliseconds",
|
|
// then the idle buffers of that stream will be reclaimed to save memory
|
|
"BufferReclaimWaitMilliseconds": 3000,
|
|
// this is the time you wait for some buffers to get released when all the buffers of the
|
|
// stream you are requesting are busy
|
|
"RequestGraBufferTimeOutMilliseconds": 300,
|
|
"InternalSnapshotStreamProperty": {
|
|
"UpScaleSizeFactor": 2,
|
|
"InternalRawStreamAspectRatio": 1.33,
|
|
// NOTE: the sensor supported yuv output resolution
|
|
// resolution of streams sent by framework should be in this option list with ± tolerance
|
|
"YuvStreamResolutionOptions": {
|
|
"AspectRatioList": [1, 1.12851, 1.33333, 1.5, 1.77777, 2.16666, 2.22222, 2.333, 1.118],
|
|
// the tolerance shouldn't be too small. otherwise, mihal will choose the wrong
|
|
// resolution. for example, in L2, when do Sr+Hdr, if you change frame ratio as 3:4,
|
|
// then Qcom expects ouput stream size as 4080X3072, but 4080/3072=1.328125
|
|
// which is not 4/3=1.33333. Therefore, we need some tolerance
|
|
"Tolerance": 0.0095
|
|
},
|
|
"RawStreamResolutionOptions": {
|
|
"AspectRatioList": [1, 1.33, 1.50, 1.60, 1.77, 2.22],
|
|
"Tolerance": 0.1
|
|
}
|
|
},
|
|
"supportZSLQ": true,
|
|
"ZSLSelectorPriority": {
|
|
"ZSLSelectorAiHighLight": 10,
|
|
"ZSLSelectorBokehRawHDR": 20,
|
|
"ZSLSelectorBokehForSmartAE": 30,
|
|
"ZSLSelectorELL": 40,
|
|
"ZSLSelectorHDR": 50,
|
|
"ZSLSelectorLeica": 60,
|
|
"ZSLSelectorMotion": 70,
|
|
"ZSLSelectorNightMotion": 80,
|
|
"ZSLSelectorNightMotionZSLBanding": 90,
|
|
"ZSLSelectorSR": 100,
|
|
"ZSLSelectorMFNR": 200,
|
|
"ZSLSelectorSingle": 300,
|
|
"ZSLSelectorDefault": 400,
|
|
"ZSLSelectorDsac": 500
|
|
},
|
|
"supportStreaming": true,
|
|
"supportStreamingMode":{
|
|
"AllModes": false,
|
|
"supportOpModes": [0, 36868, 36872, 36878, 36871, 36876, 36877, 36875, 37632, 36867, 32778, 36866, 36865, 32777, 36869, 36864, 32793],
|
|
"controlPreviewOpModes": [36867, 36864, 37632]
|
|
// StreamConfigModeNormal 0 StreamConfigModeQCFALite 36865
|
|
// StreamConfigModeAlgoDualSAT 36866 StreamConfigModeMiuiVideoBeautyWithEIS 32793
|
|
// StreamConfigModeAlgoSingleRTB 36867 StreamConfigModeAlgoDualBokeh 36864
|
|
//StreamConfigModeMiuiSuperNight 32778 StreamConfigModeAlgoQCFAMFNR 36868
|
|
//StreamConfigModeAlgoManual 36872 StreamConfigModeAlgoManualHdRaw 36878 StreamConfigModeAlgoManualSuperHD 36871
|
|
//StreamConfigModeAlgoManualHdUltraRaw 36876 StreamConfigModeAlgoManualRaw 36877
|
|
//StreamConfigModeAlgoUltraRaw 36875 StreamConfigModeAlgoNormal 36869
|
|
//StreamConfigModeMiuiVideoBeauty 32777 StreamConfigModeCinelook 32819
|
|
//StreamConfigModeMiuiCineModeWithBokeh 32818
|
|
},
|
|
"supportSmartAE": true,
|
|
"SuperResolutionImageRatio": [1.33333, 1.77778],
|
|
"FeatureList": {
|
|
"FeatureSmartAE": {
|
|
"HDREVCheck": [1, 1, 1, 1, 0, 0, 0, 0, 1, 0],
|
|
"DOL2ZSLHDRNum": 10,
|
|
"NZSLHDREVCheck": [1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0],
|
|
"DOL2NZSLHDRNum": 10
|
|
},
|
|
"FeatureMihalMFNR": {
|
|
"wideMfnrUseRaw16": true
|
|
},
|
|
"FeatureHDR": {
|
|
// in normal hdr mode(not stagger hdr), we need to send mutiple requests
|
|
// to vendor and merge these requests in mialgoengine, this variable sets
|
|
// the minimum number of requests needed by mialgoengine to do
|
|
// HDR processing, if the number of ev values returned by hdr checker is
|
|
// less than this value, then this HDR snapshot is problematic
|
|
"MinNumOfSnapshotRequiredByYuvHDR": 3,
|
|
"MinNumOfSnapshotRequiredByRawHDR": 2,
|
|
// please refer to function applyHdrParameter in:
|
|
// packages/apps/MiuiCamera/src/com/android/camera2/MiCamera2ShotParallelBurst.java
|
|
"shouldApplyAElock": true
|
|
},
|
|
"FeatureSR": {
|
|
"SupportRawSr": true,
|
|
"NumOfSnapshotRequiredBySR": 8,
|
|
"NumOfSnapshotRequiredByRemosaicSR": 4,
|
|
"NumOfQuadBayerSRSnapshotCustom": true,
|
|
"NumOfSnapshotRequiredByQUADBayerSR": 6
|
|
},
|
|
"FeatureSRHDR": {
|
|
"SupportRawSrHdr": true,
|
|
"NumOfSnapshotRequiredBySRHDR": 10,
|
|
"NumOfExpandedEvZeroBySRHDR": [8, 4],
|
|
"DefaultExpValuesOfSRHDR": [0, 0, 0, 0, 0, 0, 0, 0, -6, 6]
|
|
},
|
|
"FeatureSN": {
|
|
"supportMfnrForSn": false
|
|
},
|
|
"FeatureAINR": {
|
|
"NumOfSnapshotRequiredByAINR": 6,
|
|
"LimitTimeByHDUltrRawUpper": 7000,
|
|
"LimitTimeByHDUltrRawLower": 4000
|
|
},
|
|
"FeatureFusion": {
|
|
"SrFusionZoomRegion": {
|
|
"lowerBound": 3.0,
|
|
"upperBound": 5.0
|
|
},
|
|
"MfnrFusionZoomRegion": {
|
|
"lowerBound": 0.6,
|
|
"upperBound": 1.0
|
|
}
|
|
},
|
|
"FeatureHD": {
|
|
// in K1, under superHD mode we want to use mfnr to get a high quality image
|
|
// but if we set exposure time to a large value, it will take very long time to
|
|
// snapshot, so we need to disable mfnr when we set a long exposure time.
|
|
// this variable is the max exposure time to allow mfnr. the unit is nano second.
|
|
"MfnrMaxExpTime": 250000000,
|
|
"SupportRawHD": true,
|
|
"NumOfSnapshotRequiredByRemosaicHD": 3
|
|
},
|
|
"FeatureDepthExtend": {
|
|
"MinNumOfSnapshotRequiredByDepthExtend": 5
|
|
},
|
|
"FeatureManual": {
|
|
"B2YLongExposureTime": 250000000
|
|
}
|
|
},
|
|
"AttachPreview": {
|
|
/**
|
|
*Bit[0] - Support HD mode
|
|
*Bit[1] - Support SAT mode
|
|
**/
|
|
"AttachPreviewSupportMask": 3
|
|
},
|
|
// you can't just keep sending tasks to mialgoengine, we need to confine the num
|
|
// of task in process, (one task means one photographer)
|
|
"MialgoCapacity": 10, // the total resource in mialgo
|
|
"MialgoTaskConsumption": {
|
|
// the entries below show the reources cost by various photographer per snapshot.
|
|
// If the sum of these resource reaches "MialgoCapacity", we will stop the app
|
|
// "Photographer": 1,
|
|
// "B2YRawUpPhotographer": 1,
|
|
// "BokehPhotographer": 2,
|
|
// "MDBokehPhotographer": 2,
|
|
// "HdrBokehPhotographer": 2,
|
|
// "DSACBokehPhotographer": 2,
|
|
// "SEBokehPhotographer": 2,
|
|
// "HdrPhotographer": 3,
|
|
// "HwmfPhotographer": 1,
|
|
// "SupernightPhotographer": 4,
|
|
// "RawSupernightPhotographer": 4,
|
|
// "SrPhotographer": 4,
|
|
// "SrHdrPhotographer": 5,
|
|
// "FusionPhotographer": 3,
|
|
// "ProfessionalPhotographer": 1,
|
|
// "BurstPhotographer": 0,
|
|
// "AINRPhotographer": 4,
|
|
// "HdAINRPhotographer": 6,
|
|
// "ManualRawPhotographer": 2,
|
|
// "ManualHdRawPhotographer": 4,
|
|
// "DepthExtendPhotographer": 3,
|
|
// "MihalMfnrBokehPhotographer":2,
|
|
// "MihalMFNRPhotographer":1
|
|
|
|
|
|
"0": 1, // {Photographer_SIMPLE, "B2YRawUpPhotographer"},
|
|
"1": 4, // {Photographer_HDR, "HdrPhotographer"},
|
|
"2": 4, // {Photographer_SR, "SrPhotographer"},
|
|
"3": 4, // {Photographer_SN, "SupernightPhotographer"},
|
|
"4": 0, // {Photographer_BURST, "BurstPhotographer"},
|
|
"5": 4, // {Photographer_HDRSR, "SrHdrPhotographer"},
|
|
"6": 3, // {Photographer_FUSION, "FusionPhotographer"},
|
|
"7": 3, // {Photographer_SR_FUSION, "FusionPhotographer"},
|
|
"8": 1, // {Photographer_VENDOR_MFNR, "MFNRPhotographer"},
|
|
"9": 2, // {Photographer_MIHAL_MFNR, "MihalMFNRPhotographer"},
|
|
"10": 2, // {Photographer_BOKEH, "BokehPhotographer"},
|
|
"11": 2, // {Photographer_BOKEH_MD, "MDBokehPhotographer"},
|
|
"12": 4, // {Photographer_BOKEH_HDR, "HdrBokehPhotographer"},
|
|
"13": 4, // {Photographer_BOKEH_SE, "SEBokehPhotographer"},
|
|
"14": 2, // {Photographer_BOKEH_MD_SN, "SEBokehPhotographer"},
|
|
"15": 2, // {Photographer_BOKEH_MD_HDR, "HdrBokehPhotographer"},
|
|
"16": 2, // {Photographer_BOKEH_MIHAL_MFNR, "MihalMfnrDualBokehPhotographer"},
|
|
"17": 2, // {Photographer_BOKEH_VENDOR_MFNR, "VendorMfnrDualBokehPhotographer"},
|
|
"18": 2, // {Photographer_SINGLE_BOKEH_MIHAL_MFNR, "MihalMFNRPhotographer"},
|
|
"19": 1, // {Photographer_SINGLE_BOKEH_VENDOR_MFNR, "SinglePhotographer"},
|
|
"20": 1, // {Photographer_SINGLE_BOKEH, "SinglePhotographer"},
|
|
"21": 1, // {Photographer_MANUAL, "ProfessionalPhotographer"},
|
|
"22": 3, // {Photographer_AINR, "AINRPhotographer"},
|
|
"23": 6, // {Photographer_HD_AINR, "HdAINRPhotographer"},
|
|
"24": 2, // {Photographer_HD_UPSCALE, "RemosaicMfnrPhotographer"},
|
|
"25": 1, // {Photographer_HD_MFNR, "HdMFNRPhotographer"},
|
|
"26": 2, // {Photographer_HD_REMOSAIC_MFNR, "RemosaicMfnrPhotographer"},
|
|
"27": 1, // {Photographer_HD_REMOSAIC_MFNR_HDR, "RemosaicHdrMfnrPhotographer"},
|
|
"28": 3, // {Photographer_DEPTH_EXTEND, "DepthExtendPhotographer"},
|
|
"29": 1, // {Photographer_MANUALRAW, "SinglePhotographer"},
|
|
"30": 1, // {Photographer_HD_MANUALRAW, "SinglePhotographer"},
|
|
"31": 3, // {Photographer_HDR_RAW,"RawHdrPhotographer"},
|
|
"32": 3, // {Photographer_HDR_STAGGER_RAW, "StaggerRawHdrPhotographer"},
|
|
"33": 3, // {Photographer_HD_REMOSAIC_HDR, "RemosaicRawHdrPhotographer"},
|
|
"34": 3, // {Photographer_SINGLE_BOKEH_HDR, "RawHdrPhotographer"},
|
|
"35": 2, // {Photographer_DSAC_BOKEH, "Photographer_DSAC_BOKEH"},
|
|
"36": 4, // {Photographer_AINR_FLASH, "AinrFlashPhotographer"},
|
|
"37": 1, // {Photographer_QUAD_RAW_SR, "SrQuadRawPhotographer"},
|
|
"38": 3, // {Photographer_HD_HDR_RAW, "HdRawHdrPhotographer"},
|
|
"39": 1, // {PHOTOGRAPHER_HD_REMOSAIC_SINGLE, "RemosaicSinglePhotographer"},
|
|
"40": 2, // {Photographer_SmartAE_AllInOne, "SmartAEPhotographer"},
|
|
"41": 2, // {Photographer_SmartAE_AllInOne_Bokeh, "BokehSmartAEPhotographer"},
|
|
"42": 3, // {Photographer_DOL2, "DOL2Photographer"},
|
|
"43": 4, // {Photographer_BOKEH_AINR, "Photographer_BOKEH_AINR"},
|
|
"44": 4, // {Photographer_BOKEH_SR, "Photographer_BOKEH_SR"},
|
|
"45": 4, // {Photographer_BOKEH_SNSC, "Photographer_BOKEH_SNSC"},
|
|
"46": 4, // {Photographer_BOKEH_HDSR, "Photographer_BOKEH_HDSR"},
|
|
"47": 1 // {Photographer_ASTRAL, "AstralPhotographer"},
|
|
},
|
|
"BokehStaticRemosaicSwitch": {
|
|
"35mm": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"50mm": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"75mm": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"90mm": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"Bokeh1X": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"Bokeh1_5X": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"Bokeh2X": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"Bokeh3X": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"duration": 30000
|
|
},
|
|
"BokehStaticFallback": {
|
|
"35mm": {
|
|
"enable": false
|
|
},
|
|
"50mm": {
|
|
"enable": true
|
|
},
|
|
"75mm": {
|
|
"enable": true
|
|
},
|
|
"90mm": {
|
|
"enable": true
|
|
},
|
|
"Bokeh1X": {
|
|
"enable": false
|
|
},
|
|
"Bokeh1_5X": {
|
|
"enable": false
|
|
},
|
|
"Bokeh2X": {
|
|
"enable": true
|
|
},
|
|
"Bokeh3X": {
|
|
"enable": true
|
|
},
|
|
"duration": 30000
|
|
},
|
|
"OverrideRequestedConfiguration":{
|
|
"opModes": [32779]
|
|
},
|
|
"UltraHdr": {
|
|
"Supported": true,
|
|
"Version": "2.0"
|
|
},
|
|
"supportFrontBokehDepthScale": true,
|
|
"DoRotationOnImage": {
|
|
"jpeg": true,
|
|
"heif": true
|
|
},
|
|
"BugHunter":{
|
|
"allinoneAlgoNoncriticalErrorCode": [0, 1023200]
|
|
},
|
|
|
|
"supportDignostician": {
|
|
"diagnosticianEnable": 1,
|
|
"snapshotLogPrintEnable": 0,
|
|
"snapshotDumpEnable": 0,
|
|
"moduleDiagEnable": 0,
|
|
"miviDumpEnable": 1
|
|
},
|
|
"BugHunter":{
|
|
"allinoneAlgoNoncriticalErrorCode": [0, 1023200]
|
|
}
|
|
}
|