195 lines
7.2 KiB
JSON
195 lines
7.2 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)
|
|
*/
|
|
|
|
{
|
|
"enableBokehOptimize": 0,
|
|
"supportFrontBokehDepthScale": true,
|
|
"supportDownCapture": true,
|
|
"supportSortResult": false,
|
|
"supportRemosaicMfnrQuickShot": true,
|
|
// When APP supports DownCapture, mihal needs to discard the useless snapshot request front Burst.
|
|
"InternalPreviewBufferQueueSize": 36,
|
|
"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.005
|
|
},
|
|
"RawStreamResolutionOptions": {
|
|
"AspectRatioList": [1, 1.33, 1.77, 2.22],
|
|
"Tolerance": 0.3
|
|
}
|
|
},
|
|
"supportMiviFullSceneRawCB": false,
|
|
"FeatureList": {
|
|
"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": 6,
|
|
// please refer to function applyHdrParameter in:
|
|
// packages/apps/MiuiCamera/src/com/android/camera2/MiCamera2ShotParallelBurst.java
|
|
"shouldApplyAElock": true
|
|
},
|
|
"FeatureSR": {
|
|
"NumOfSnapshotRequiredBySR": 8
|
|
},
|
|
"FeatureSRHDR": {
|
|
"NumOfSnapshotRequiredBySRHDR": 10,
|
|
"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,
|
|
// used in function findBiggestResolution()
|
|
"SuperResolutionImageRatio": {
|
|
"width": 4,
|
|
"height": 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)
|
|
"MialgoTaskCapacity": 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
|
|
// 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": [4,2],
|
|
"MDBokehPhotographer": 2,
|
|
"HdrBokehPhotographer": [4,2],
|
|
"SEBokehPhotographer": [4,2],
|
|
"HdrPhotographer": 3,
|
|
"HwmfPhotographer": 1,
|
|
"SupernightPhotographer": 4,
|
|
"RawSupernightPhotographer": 4,
|
|
"SrPhotographer": 4,
|
|
"SrHdrPhotographer": 5,
|
|
"FusionPhotographer": 3,
|
|
"ProfessionalPhotographer": 1,
|
|
"BurstPhotographer": 0,
|
|
"AINRPhotographer": 4,
|
|
"HdAINRPhotographer": 6
|
|
},
|
|
"BokehStaticRemosaicSwitch": {
|
|
"Full": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"Bust": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"35mm": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"50mm": {
|
|
"masterEnable": true,
|
|
"slaveEnable": false
|
|
},
|
|
"75mm": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"90mm": {
|
|
"masterEnable": false,
|
|
"slaveEnable": false
|
|
},
|
|
"duration": 30000,
|
|
// Due to memory pressure, only N3 with 8G RAM need to choose binning mode for slave lens, please check.
|
|
"SlaveRAMControl": true
|
|
},
|
|
"BokehStaticFallback": {
|
|
"Full": {
|
|
"enable": false
|
|
},
|
|
"Bust": {
|
|
"enable": true
|
|
},
|
|
"35mm": {
|
|
"enable": false
|
|
},
|
|
"50mm": {
|
|
"enable": false
|
|
},
|
|
"75mm": {
|
|
"enable": true
|
|
},
|
|
"90mm": {
|
|
"enable": true
|
|
},
|
|
"duration": 30000
|
|
}
|
|
}
|