Files
vendor_xiaomi_rodin/proprietary/odm/etc/camera/xiaomi/overridesettings.json
Ido 6c8f417a1e rodin: initial vendor tree
Change-Id: Ib5f383c3c800567d8884a37ebfb5a956e7400e2b
Signed-off-by: Ido <dev.xyzuniverse@gmail.com>
2025-12-08 18:24:08 +01:00

460 lines
18 KiB
JSON

/*
device:corot
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)
*/
{
"supportDownCapture": true,
"supportSortResult": true,
"supportSortNotify": true,
"maxPendingFrameNum": 40,
// When APP supports DownCapture, mihal needs to discard the useless snapshot request front Burst.
"InternalPreviewBufferQueueSize": 30,
"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.77777, 2.22222],
// 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.05
},
"RawStreamResolutionOptions": {
"AspectRatioList": [1, 1.33, 1.77, 2.22],
"Tolerance": 0.3
}
},
"supportZSLQ": true,
"ZSLSelectorPriority": {
"ZSLSelectorDsac": 0,
"ZSLSelectorHDR": 1,
"ZSLSelectorDefault": 2
},
"supportStreaming": true,
"supportMiviFullSceneRawCB": true,
"messageStreamSize": {
"app": {
"MinVSESupportWidth": 640,
"MinVSESupportHeight": 360
},
"mihal": {
"HalVSESupportWidth": 1280,
"HalVSESupportHeight": 960
}
},
"FeatureList": {
"Common": {
"isSupportAiFlash": 0,
"MFNRHDRSetting": {
"MFNRNums": 5,
"BokehMFNRNums":4
},
"isSupportUseAdrcGain": 1,
"supportMFNRMaxNums": 8
},
"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
"MinNumOfSnapshotRequiredByHDR": 2
},
"FeatureRAWHDR": {
// 0: close; 1: useRatio; 2: useEvindex
"CustomDbForEv0": 2
},
"FeatureStaggerHDR": {
"StaggerHDRCapSupportType": 0,
"VHDRType": 32,
"DXGCapSupport": 0,
"DXGType": 0,
// appmodule
// 0xA3 MODE_CAPTURE 0xA7 MODE_PRO_PHOTO
// 0xB4 MODE_PRO_VIDEO 0xBA MODE_DOC 0xA2 MODE_RECORD_VIDEO
"DxgSupportMode":[]
},
"FeatureSR": {
"NumOfSnapshotRequiredBySR": 8,
"NumOfSnapshotRequiredBySRByZoom" : [0, 1, 40, 6],
"isNeedGetCrop": 1,
"SrRatioThreshold": 1.1,
"isRawToRGB": 1
},
"FeatureSRHDR": {
"NumOfSnapshotRequiredBySRHDR": 10,
"DefaultExpValuesOfSRHDR": [0, 0, 0, 0, 0, 0, 0, 0, -6, 6]
},
"FeatureQuadRawSR": {
"ISZQuadRawSRSupport": [0, 1],
"ISZQuadRawSRIsoTh": [0, 1200],
"ISZQuadRawSRZoomTh": [0, 2],
"ISZQuadRawSRCROSSTALK": [0, 0],
"ISZQuadRawSRPreviewISZ": [0, 1],
"ISZQuadRawSRZSLSupport": [0, 1],
"ISZQuadRawSRQuickShotSupport": [0, 1],
"ISZQuadRawMode": [0, 1]
},
"FeatureSN": {
"supportMfnrForSn": false,
"supportFrontSnPlusFlash": false
},
"FeatureAINR": {
"supportUltraWideForAINR": false,
"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,
// used in function findBiggestResolution()
"SuperResolutionImageRatio": {
"width": 4,
"height": 3
},
"MaxQuickShotNums": 2,
"MfnrZoomRatio": {
"mfnrStartZoomRatio": 1.0,
"mfnrEndZoomRatio": 10.0
},
"isSupportHdSr": 1,
"isSupportSrReprocess": 1,
"isNeedGetCropInMizone": 1,
"isSupportSR10BIT":0
},
"Simple": {
"HdrType": 2,
"MFNRHDRSetting": {
"MFNRNums": 5
},
"doFrontY2YScale": 1,
"isSupportFrontHDRBokeh": 1
},
"ProfessionalMode": {
"isSupportProfessionalProcessRaw": true
},
"Bokeh": {
"isSupportSEBokeh": 1,
"isSupportHDRBokeh": 1,
"isSupportSwitchDualBokehDisCap": 0
},
"SuperHD": {
"SuperResolToBinningResolFactor": 2,
"RemosaicHDRSupport": 0,
"RemosaicType": 2
},
"SuperNight": {
"isFrontRawProcess": 1,
"isSupportFrontSnPlusFlash": 0,
"isSupportEll": 0,
"isSupportIsz": 0
},
"Beauty": {
"SuportPreviewFaceToCapture": 1
},
"VideoNight":{
"SensorMode": 267
}
},
"AttachPreview": {
/**
*Bit[0] - Support HD mode
*Bit[1] - Support SAT mode
**/
"AttachPreviewSupportMask": 3
},
/**
*4kNoSatUfbc: 7
*8kUfbc: 8
**/
"supportUFBCFormatSences": [7, 8],
/**
*0x8004 StreamConfigModeMiuiVideo 32772
*0x801d StreamConfigModeMiuiVideo8k 32797
**/
"supportAFBCFormatSences": [32772, 32797],
//Each stream 512M+256M memory default
"CaptureBufferThreshold": 536870912,
"CaptureSEBufferThreshold": 805306368,
"CaptureSNBufferThreshold": 805306368,
"HdQuickViewCacheMax": 15,
// you can't just keep sending tasks to mialgoengine, we need to confine the num
// of task in process, (one task means one photographer)
// the total resource in mialgo
"MialgoCapacity": 10,
"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
// This value supports input of one or two digits:
// 2 or [2] (both low memory and high memory, the cost is 2.)
// [8, 2] (The cost is 8 for low memory device and 2 for high memory device.)
// "Photographer": 1,
// "BokehPhotographer": 2,
// "MihalMfnrBokehPhotographer": 4,
// "MDBokehPhotographer": 2,
// "HdrBokehPhotographer": 6,
// "SEBokehPhotographer": [4,2],
// "HdrPhotographer": 3,
// "HwmfPhotographer": 1,
// "MihalMFNRPhotographer": 1,
// "SupernightPhotographer": 4,
// "RawSupernightPhotographer": 4,
// "SrPhotographer": 4,
// "SrHdrPhotographer": 5,
// "StaggerRawHdrPhotographer": 3,
// "RawHdrPhotographer": 2,
// "FusionPhotographer": 3,
// "ProfessionalPhotographer": 1,
// "BurstPhotographer": 0,
// "AINRPhotographer": 4,
// "HdMFNRPhotographer": 5,
// "RemosaicMfnrPhotographer": 5,
// "HdRawHdrPhotographer": 2,
// "HdAINRPhotographer": 6
"0": 1, // {Photographer_SIMPLE, "B2YRawUpPhotographer"},
"1": [5,3], // {Photographer_HDR, "HdrPhotographer"},
"2": 4, // {Photographer_SR, "SrPhotographer"},
"3": 4, // {Photographer_SN, "SupernightPhotographer"},
"4": 0, // {Photographer_BURST, "BurstPhotographer"},
"5": 5, // {Photographer_HDRSR, "SrHdrPhotographer"},
"6": 3, // {Photographer_FUSION, "FusionPhotographer"},
"7": 3, // {Photographer_SR_FUSION, "FusionPhotographer"},
"8": 1, // {Photographer_VENDOR_MFNR, "MFNRPhotographer"},
"9": [4,2],// {Photographer_MIHAL_MFNR, "MihalMFNRPhotographer"},
"10": 2, // {Photographer_BOKEH, "BokehPhotographer"},
"11": 2, // {Photographer_BOKEH_MD, "MDBokehPhotographer"},
"12": 6, // {Photographer_BOKEH_HDR, "HdrBokehPhotographer"},
"13": [6,2], // {Photographer_BOKEH_SE, "SEBokehPhotographer"},
"14": [4,2], // {Photographer_BOKEH_MD_SN, "SEBokehPhotographer"},
"15": 6, // {Photographer_BOKEH_MD_HDR, "HdrBokehPhotographer"},
"16": [6,4], // {Photographer_BOKEH_MIHAL_MFNR, "MihalMfnrDualBokehPhotographer"},
"17": 2, // {Photographer_BOKEH_VENDOR_MFNR, "VendorMfnrDualBokehPhotographer"},
"18": 1, // {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": 4, // {Photographer_AINR, "AINRPhotographer"},
"23": 6, // {Photographer_HD_AINR, "HdAINRPhotographer"},
"24": 5, // {Photographer_HD_UPSCALE, "RemosaicMfnrPhotographer"},
"25": 5, // {Photographer_HD_MFNR, "HdMFNRPhotographer"},
"26": 5, // {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,2], // {Photographer_HDR_RAW,"RawHdrPhotographer"},
"32": 3, // {Photographer_HDR_STAGGER_RAW, "StaggerRawHdrPhotographer"},
"33": 3, // {Photographer_HD_REMOSAIC_HDR, "RemosaicRawHdrPhotographer"},
"34": 5, // {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": [5,2], // {Photographer_HD_HDR_RAW, "HdRawHdrPhotographer"},
"39": 1, // {PHOTOGRAPHER_HD_REMOSAIC_SINGLE, "RemosaicSinglePhotographer"},
"40": 1, // {Photographer_SmartAE_AllInOne, "SmartAEPhotographer"},
"41": 1, // {Photographer_SmartAE_AllInOne_Bokeh, "BokehSmartAEPhotographer"},
"42": 3, // {Photographer_DOL2, "DOL2Photographer"},
"43": 2, // {Photographer_BOKEH_AINR, "Photographer_BOKEH_AINR"},
"44": 2, // {Photographer_BOKEH_SR, "Photographer_BOKEH_SR"},
"45": 2, // {Photographer_BOKEH_SNSC, "Photographer_BOKEH_SNSC"},
"46": 2, // {Photographer_BOKEH_HDSR, "Photographer_BOKEH_HDSR"},
"47": 1 // {Photographer_ASTRAL, "AstralPhotographer"},
},
"QuickShot": {
/**
*Bit Mask for HighQualityQuickShotDelayTime configure
*Bit[0 ~ 3] - DelayTime XX ms of Bokeh MFNR in Back Camera
*Bit[4 ~ 7] - DelayTime XX ms of Bokeh MFNR in Front Camera
*Bit[8 ~ 11] - DelayTime XX ms of Back Normal Capture
*Bit[12 ~ 15] - DelayTime XX ms of HDR in Front Camera
*Bit[16 ~ 19] - DelayTime XX ms of HDR in Back Camera
*Bit[20 ~ 23] - DelayTime XX ms of SuperNightSe in Back Camera
*Bit[24 ~ 27] - DelayTime XX ms of SR in Back Camera
*Bit[28 ~ 31] - DelayTime XX ms of Front Normal Capture
*Bit[32 ~ 35] - DelayTime XX ms of MIHAL AINR in Back Camera
*Bit[40 ~ 63] - reserv
*/
"QuickShotDelayTimeMask": "0x0000000000",
/**
* Bit Mask Of HighQualityQuickShot Support
* Bit[0] - Support MFSR/LLS in SAT mode
* Bit[1] - Support HDR in SAT mode
* Bit[2] - Support SR in SAT mode
* Bit[3] - Support SuperNightSE in SAT mode
* Bit[4~7] - reserve
* Bit[8] - Support Bokeh MFNR in Back Camera
* Bit[9] - Support Bokeh HDR in Back Camera
* Bit[10] - Support MFNR in Front Camera
* Bit[11] - Support HDR in Front Camera
* Bit[12] - Support Bokeh in Front Camera
* Bit[13] - Support Macro Mode
* Bit[14~15] - reserve
* Bit[16~19] - HighQualityQuickShot queue length(max number of HighQualityQuickShot)
* Bit[20] - Support reuse RDI buffer or not
* Bit[21] - Support Limit MFNR input frames or not
* Bit[22~31] - reserve
**/
"QuickShotSupportedMask": "0xC30C07"
},
"BokehMD": {
"BokehMDCaptureSize": {
"BOKEH1X_4_3": {
"WideCrop": [0, 0, 4096, 3072],
"UWideCrop": [0, 0, 2624, 1968],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1X_16_9": {
"WideCrop": [0, 384, 4096, 2304],
"UWideCrop": [0, 246, 2624, 1476],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1X_FULL": {
"WideCrop": [0, 616, 4096, 1840],
"UWideCrop": [0, 392, 2624, 1184],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1_5X_4_3": {
"WideCrop": [528, 396, 3040, 2280],
"UWideCrop": [320, 240, 1984, 1488],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1_5X_16_9": {
"WideCrop": [528, 680, 3040, 1712],
"UWideCrop": [320, 426, 1984, 1116],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1_5X_FULL": {
"WideCrop": [528, 852, 3040, 1368],
"UWideCrop": [320, 536, 1984, 896],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
}
},
"BokehMDPreviewSize": {
"BOKEH1X_4_3": {
"WideCrop": [0, 0, 4096, 3072],
"UWideCrop": [320, 240, 2624, 1968],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1X_16_9": {
"WideCrop": [0, 384, 4096, 2304],
"UWideCrop": [320, 486, 2624, 1476],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1X_FULL": {
"WideCrop": [0, 616, 4096, 1840],
"UWideCrop": [320, 632, 2624, 1184],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1_5X_4_3": {
"WideCrop": [528, 396, 3040, 2280],
"UWideCrop": [640, 480, 1984, 1488],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1_5X_16_9": {
"WideCrop": [528, 680, 3040, 1712],
"UWideCrop": [640, 666, 1984, 1116],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
},
"BOKEH1_5X_FULL": {
"WideCrop": [528, 852, 3040, 1368],
"UWideCrop": [640, 776, 1984, 896],
"Fallback_WideCrop": [0,0,0,0],
"Fallback_UWideCrop": [0,0,0,0]
}
},
"BokehExifInfo": {
"BokehMDExif": {
"BOKEH_MD_50MM": [0.95, 50.0, 50.0],
"BOKEH_MD_90MM": [2.3, 90.0, 90.0],
"BOKEH_MD_35MM": [1.4, 35.0, 35.0],
"BOKEH_MD_75MM": [1.25, 75.0, 75.0]
},
"BokehExif": {
"BOKEH_23MM": [0.0, 0.0, 23.0],
"BOKEH_35MM": [0.0, 0.0, 35.0],
"BOKEH_50MM": [0.0, 0.0, 50.0],
"BOKEH_75MM": [0.0, 0.0, 75.0]
}
},
"defaultBokehRole": 63
},
"UltraHdrSupported": true,
"UltraHdr": {
"Supported": true,
"Version": "2.0"
},
"isSupport3rdHLGStreaming":false,
"MaxPendingRequest": 3,
"RealtimePostProcess": {
"PerfForceError": {
"SkipThresholds": [18, 21],
"SkipNums": [3, 2],
"FrameDelayNums": 25,
"SkipEnable": 1
}
}
}