[Xiaomi Mi A1 Themes, Apps, and Mods] tosmopolitan:
[MENTION=4860033]Arnova8G2[/MENTION] Here is Mi A1 Nougat Camera2 Test results:

OS Version: 3.18.31-perf-g8f360fc(7.12.19)
OS API Level: 7.1.2(25)
Device: tissot_sprout
Model (and Product): Mi A1 (tissot)

Camera 0 (BACK)
android.sync:
- maxLatency = SYNC_MAX_LATENCY_PER_FRAME_CONTROL

android.lens:
- facing = LENS_FACING_BACK

android.request:
- availableCapabilities = [0,1,2,5,6,4,7,9,3]
- maxNumInputStreams = 1
- maxNumOutputProc = 3
- maxNumOutputProcStalling = 1
- maxNumOutputRaw = 1
- partialResultCount = 2
- pipelineMaxDepth = 8

android.statistics.info:
- availableFaceDetectModes = [0,1]
- availableHotPixelMapModes = [false]
- availableLensShadingMapModes = [0,1]
- maxFaceCount = 10

android.shading:
- availableModes = [0,1,2]

android.control:
- aeAvailableAntibandingModes = [0,2,1,3]
- aeAvailableModes = [0,1,2,3,4]
- aeAvailableTargetFpsRanges = [[15, 15],[20, 20],[24, 24],[7, 25],[25, 25],[7, 30],[30, 30]]
- aeCompensationRange = [-12, 12]
- aeCompensationStep = 1/6
- aeLockAvailable = true
- afAvailableModes = [1,0,2,3,4]
- availableEffects = [0,1,2,3,4,5,6,7,8]
- availableModes = [0,1,2]
- availableSceneModes = [4,9,8,10,5,3,13,11,15,12,14,6,7,2,1]
- availableVideoStabilizationModes = [0,1]
- awbAvailableModes = [1,2,3,4,5,6,7,8,0]
- awbLockAvailable = true
- maxRegionsAe = 1
- maxRegionsAf = 1
- maxRegionsAwb = 0
- postRawSensitivityBoostRange = [100, 3199]

android.sensor:
- availableTestPatternModes = [0,1,2,4]
- blackLevelPattern = BlackLevelPattern([64, 64], [64, 64])
- calibrationTransform1 = ColorSpaceTransform([126/128, 0/128, 0/128], [0/128, 128/128, 0/128], [0/128, 0/128, 129/128])
- calibrationTransform2 = ColorSpaceTransform([126/128, 0/128, 0/128], [0/128, 128/128, 0/128], [0/128, 0/128, 129/128])
- colorTransform1 = ColorSpaceTransform([84/128, -11/128, -17/128], [-128/128, 246/128, 3/128], [-46/128, 60/128, 69/128])
- colorTransform2 = ColorSpaceTransform([101/128, -1/128, -61/128], [-144/128, 306/128, -58/128], [-22/128, 41/128, 77/128])
- forwardMatrix1 = ColorSpaceTransform([90/128, 1/128, 32/128], [46/128, 66/128, 16/128], [14/128, -43/128, 135/128])
- forwardMatrix2 = ColorSpaceTransform([97/128, -24/128, 51/128], [47/128, 45/128, 36/128], [10/128, -67/128, 162/128])
- maxAnalogSensitivity = 1550
- orientation = 90
- referenceIlluminant1 = 21
- referenceIlluminant2 = 17

android.info:
- supportedHardwareLevel = HARDWARE_LEVEL_3

android.jpeg:
- availableThumbnailSizes = [0x0,176x144,240x144,256x144,240x160,256x154,240x240,320x240]

android.lens.info:
- availableApertures = [2.2]
- availableFilterDensities = [0.0]
- availableFocalLengths = [3.81]
- availableOpticalStabilization = [0]
- focusDistanceCalibration = 2
- hyperfocalDistance = 0.37888965
- minimumFocusDistance = 10.0

android.scaler:
- availableMaxDigitalZoom = 10.0
- croppingType = SCALER_CROPPING_TYPE_CENTER_ONLY
- streamConfigurationMap =
OutputFormats:
[4096x3072, RAW_SENSOR(32), min_dur:40000000, stall:200000000]
[4000x3000, JPEG(256), min_dur:40000000, stall:258000000]
[4000x2250, JPEG(256), min_dur:33333333, stall:253000000]
[3840x2160, JPEG(256), min_dur:33333333, stall:243000000]
[3264x2448, JPEG(256), min_dur:40000000, stall:179000000]
[3200x2400, JPEG(256), min_dur:40000000, stall:161000000]
[2976x2976, JPEG(256), min_dur:40000000, stall:144000000]
[2592x1944, JPEG(256), min_dur:33333333, stall:133000000]
[2688x1512, JPEG(256), min_dur:33333333, stall:116000000]
[2592x1458, JPEG(256), min_dur:33333333, stall:108000000]
[2048x1536, JPEG(256), min_dur:33333333, stall:103000000]
[1920x1080, JPEG(256), min_dur:33333333, stall:99000000]
[1600x1200, JPEG(256), min_dur:33333333, stall:91000000]
[1440x1080, JPEG(256), min_dur:33333333, stall:85000000]
[1280x960, JPEG(256), min_dur:33333333, stall:80000000]
[1280x768, JPEG(256), min_dur:33333333, stall:75000000]
[1280x720, JPEG(256), min_dur:33333333, stall:68000000]
[1200x1200, JPEG(256), min_dur:33333333, stall:67000000]
[1024x768, JPEG(256), min_dur:33333333, stall:66000000]
[800x600, JPEG(256), min_dur:33333333, stall:65000000]
[864x480, JPEG(256), min_dur:33333333, stall:61000000]
[800x480, JPEG(256), min_dur:33333333, stall:59000000]
[720x480, JPEG(256), min_dur:33333333, stall:55000000]
[640x480, JPEG(256), min_dur:33333333, stall:49000000]
[640x360, JPEG(256), min_dur:33333333, stall:49000000]
[480x640, JPEG(256), min_dur:33333333, stall:48000000]
[480x360, JPEG(256), min_dur:33333333, stall:45000000]
[480x320, JPEG(256), min_dur:33333333, stall:35000000]
[352x288, JPEG(256), min_dur:33333333, stall:30000000]
[320x240, JPEG(256), min_dur:33333333, stall:25000000]
[240x320, JPEG(256), min_dur:33333333, stall:18000000]
[176x144, JPEG(256), min_dur:33333333, stall:9277129363456]
[160x120, JPEG(256), min_dur:33333333, stall:9277129363200]
[144x176, JPEG(256), min_dur:33333333, stall:4638564681600]
[4000x3000, PRIVATE(34), min_dur:40000000, stall:0]
[4000x2250, PRIVATE(34), min_dur:33333333, stall:0]
[3840x2160, PRIVATE(34), min_dur:33333333, stall:0]
[3264x2448, PRIVATE(34), min_dur:40000000, stall:0]
[3200x2400, PRIVATE(34), min_dur:40000000, stall:0]
[2976x2976, PRIVATE(34), min_dur:40000000, stall:0]
[2592x1944, PRIVATE(34), min_dur:33333333, stall:0]
[2688x1512, PRIVATE(34), min_dur:33333333, stall:0]
[2592x1458, PRIVATE(34), min_dur:33333333, stall:0]
[2048x1536, PRIVATE(34), min_dur:33333333, stall:0]
[1920x1080, PRIVATE(34), min_dur:33333333, stall:0]
[1600x1200, PRIVATE(34), min_dur:33333333, stall:0]
[1440x1080, PRIVATE(34), min_dur:33333333, stall:0]
[1280x960, PRIVATE(34), min_dur:33333333, stall:0]
[1280x768, PRIVATE(34), min_dur:33333333, stall:0]
[1280x720, PRIVATE(34), min_dur:33333333, stall:0]
[1200x1200, PRIVATE(34), min_dur:33333333, stall:0]
[1024x768, PRIVATE(34), min_dur:33333333, stall:0]
[800x600, PRIVATE(34), min_dur:33333333, stall:0]
[864x480, PRIVATE(34), min_dur:33333333, stall:0]
[800x480, PRIVATE(34), min_dur:33333333, stall:0]
[720x480, PRIVATE(34), min_dur:33333333, stall:0]
[640x480, PRIVATE(34), min_dur:33333333, stall:0]
[640x360, PRIVATE(34), min_dur:33333333, stall:0]
[480x640, PRIVATE(34), min_dur:33333333, stall:0]
[480x360, PRIVATE(34), min_dur:33333333, stall:0]
[480x320, PRIVATE(34), min_dur:33333333, stall:0]
[352x288, PRIVATE(34), min_dur:33333333, stall:0]
[320x240, PRIVATE(34), min_dur:33333333, stall:0]
[240x320, PRIVATE(34), min_dur:33333333, stall:0]
[176x144, PRIVATE(34), min_dur:33333333, stall:0]
[160x120, PRIVATE(34), min_dur:33333333, stall:0]
[144x176, PRIVATE(34), min_dur:33333333, stall:0]
[4000x3000, YUV_420_888(35), min_dur:40000000, stall:0]
[4000x2250, YUV_420_888(35), min_dur:33333333, stall:0]
[3840x2160, YUV_420_888(35), min_dur:33333333, stall:0]
[3264x2448, YUV_420_888(35), min_dur:40000000, stall:0]
[3200x2400, YUV_420_888(35), min_dur:40000000, stall:0]
[2976x2976, YUV_420_888(35), min_dur:40000000, stall:0]
[2592x1944, YUV_420_888(35), min_dur:33333333, stall:0]
[2688x1512, YUV_420_888(35), min_dur:33333333, stall:0]
[2592x1458, YUV_420_888(35), min_dur:33333333, stall:0]
[2048x1536, YUV_420_888(35), min_dur:33333333, stall:0]
[1920x1080, YUV_420_888(35), min_dur:33333333, stall:0]
[1600x1200, YUV_420_888(35), min_dur:33333333, stall:0]
[1440x1080, YUV_420_888(35), min_dur:33333333, stall:0]
[1280x960, YUV_420_888(35), min_dur:33333333, stall:0]
[1280x768, YUV_420_888(35), min_dur:33333333, stall:0]
[1280x720, YUV_420_888(35), min_dur:33333333, stall:0]
[1200x1200, YUV_420_888(35), min_dur:33333333, stall:0]
[1024x768, YUV_420_888(35), min_dur:33333333, stall:0]
[800x600, YUV_420_888(35), min_dur:33333333, stall:0]
[864x480, YUV_420_888(35), min_dur:33333333, stall:0]
[800x480, YUV_420_888(35), min_dur:33333333, stall:0]
[720x480, YUV_420_888(35), min_dur:33333333, stall:0]
[640x480, YUV_420_888(35), min_dur:33333333, stall:0]
[640x360, YUV_420_888(35), min_dur:33333333, stall:0]
[480x640, YUV_420_888(35), min_dur:33333333, stall:0]
[480x360, YUV_420_888(35), min_dur:33333333, stall:0]
[480x320, YUV_420_888(35), min_dur:33333333, stall:0]
[352x288, YUV_420_888(35), min_dur:33333333, stall:0]
[320x240, YUV_420_888(35), min_dur:33333333, stall:0]
[240x320, YUV_420_888(35), min_dur:33333333, stall:0]
[176x144, YUV_420_888(35), min_dur:33333333, stall:0]
[160x120, YUV_420_888(35), min_dur:33333333, stall:0]
[144x176, YUV_420_888(35), min_dur:33333333, stall:0]
[4096x3072, RAW_PRIVATE(36), min_dur:40000000, stall:0]
[4096x3072, RAW10(37), min_dur:40000000, stall:0]
HighSpeedVideoConfigurations:
[480x320, min_fps:30, max_fps:120], [480x320, min_fps:120, max_fps:120], [1280x720, min_fps:30, max_fps:120], [1280x720, min_fps:120, max_fps:120], [480x360, min_fps:30, max_fps:120], [480x360, min_fps:120, max_fps:120], [720x480, min_fps:30, max_fps:120], [720x480, min_fps:120, max_fps:120]

InputsString:
4000x3000, PRIVATE(34),
4000x3000, YUV_420_888(35),

ValidOutputFormatsForInputString:

PRIVATE(34), out:JPEG(256), YUV_420_888(35)
YUV_420_888(35), out:JPEG(256), YUV_420_888(35)

android.colorCorrection:
- availableAberrationModes = [0,1,2]

android.sensor.info:
- activeArraySize = Rect(8, 8 - 4104, 3080)
- colorFilterArrangement = 3
- exposureTimeRange = [10823, 121561475]
- maxFrameDuration = 121640379
- physicalSize = 5.14x3.86
- pixelArraySize = 4112x3088
- preCorrectionActiveArraySize = Rect(8, 8 - 4104, 3080)
- sensitivityRange = [100, 1550]
- timestampSource = SOURCE_UNKNOWN
- whiteLevel = 1023

android.tonemap:
- availableToneMapModes = [0,1,2]
- maxCurvePoints = 64

android.flash.info:
- available = true

android.edge:
- availableEdgeModes = [0,1,2,3]

android.noiseReduction:
- availableNoiseReductionModes = [0,1,2,3,4]

android.hotPixel:
- availableHotPixelModes = [1,2]

Camera 1 (FRONT)
android.sync:
- maxLatency = SYNC_MAX_LATENCY_PER_FRAME_CONTROL

android.lens:
- facing = LENS_FACING_FRONT

android.request:
- availableCapabilities = [0,1,2,5,6,4,7,9,3]
- maxNumInputStreams = 1
- maxNumOutputProc = 3
- maxNumOutputProcStalling = 1
- maxNumOutputRaw = 1
- partialResultCount = 2
- pipelineMaxDepth = 8

android.statistics.info:
- availableFaceDetectModes = [0,1]
- availableHotPixelMapModes = [false]
- availableLensShadingMapModes = [0,1]
- maxFaceCount = 10

android.shading:
- availableModes = [0,1,2]

android.control:
- aeAvailableAntibandingModes = [0,2,1,3]
- aeAvailableModes = [0,1]
- aeAvailableTargetFpsRanges = [[15, 15],[20, 20],[24, 24],[7, 30],[30, 30]]
- aeCompensationRange = [-12, 12]
- aeCompensationStep = 1/6
- aeLockAvailable = true
- afAvailableModes = [0]
- availableEffects = [0,1,2,3,4,5,6,7,8]
- availableModes = [0,1,2]
- availableSceneModes = [4,9,8,10,5,3,13,11,15,12,14,6,7,2,1]
- availableVideoStabilizationModes = [0]
- awbAvailableModes = [1,2,3,4,5,6,7,8,0]
- awbLockAvailable = true
- maxRegionsAe = 1
- maxRegionsAf = 0
- maxRegionsAwb = 0
- postRawSensitivityBoostRange = [100, 3199]

android.sensor:
- availableTestPatternModes = [0,1,2,3]
- blackLevelPattern = BlackLevelPattern([64, 64], [64, 64])
- calibrationTransform1 = ColorSpaceTransform([0/128, 0/128, 0/128], [0/128, 128/128, 0/128], [0/128, 0/128, 0/128])
- calibrationTransform2 = ColorSpaceTransform([0/128, 0/128, 0/128], [0/128, 128/128, 0/128], [0/128, 0/128, 0/128])
- colorTransform1 = ColorSpaceTransform([59/128, 18/128, -13/128], [-85/128, 195/128, 13/128], [-31/128, 54/128, 59/128])
- colorTransform2 = ColorSpaceTransform([123/128, -15/128, -67/128], [-60/128, 205/128, -33/128], [-2/128, 29/128, 72/128])
- forwardMatrix1 = ColorSpaceTransform([124/128, -38/128, 37/128], [53/128, 71/128, 4/128], [12/128, -64/128, 157/128])
- forwardMatrix2 = ColorSpaceTransform([83/128, -20/128, 61/128], [18/128, 78/128, 31/128], [-16/128, -77/128, 199/128])
- maxAnalogSensitivity = 1600
- orientation = 270
- referenceIlluminant1 = 21
- referenceIlluminant2 = 17

android.info:
- supportedHardwareLevel = HARDWARE_LEVEL_3

android.jpeg:
- availableThumbnailSizes = [0x0,176x144,240x144,256x144,240x160,256x154,240x240,320x240]

android.lens.info:
- availableApertures = [2.0]
- availableFilterDensities = [0.0]
- availableFocalLengths = [2.639]
- availableOpticalStabilization = [0]
- focusDistanceCalibration = 0
- hyperfocalDistance = 0.64327884
- minimumFocusDistance = 0.0

android.scaler:
- availableMaxDigitalZoom = 4.0
- croppingType = SCALER_CROPPING_TYPE_CENTER_ONLY
- streamConfigurationMap =
OutputFormats:
[2592x1944, RAW_SENSOR(32), min_dur:33333333, stall:60000000]
[2592x1944, JPEG(256), min_dur:33333333, stall:133000000]
[2592x1458, JPEG(256), min_dur:33333333, stall:108000000]
[2048x1536, JPEG(256), min_dur:33333333, stall:103000000]
[1920x1080, JPEG(256), min_dur:33333333, stall:99000000]
[1600x1200, JPEG(256), min_dur:33333333, stall:91000000]
[1440x1080, JPEG(256), min_dur:33333333, stall:80000000]
[1280x960, JPEG(256), min_dur:33333333, stall:77000000]
[1280x768, JPEG(256), min_dur:33333333, stall:75000000]
[1280x720, JPEG(256), min_dur:33333333, stall:68000000]
[1200x1200, JPEG(256), min_dur:33333333, stall:67000000]
[1024x768, JPEG(256), min_dur:33333333, stall:66000000]
[800x600, JPEG(256), min_dur:33333333, stall:65000000]
[864x480, JPEG(256), min_dur:33333333, stall:61000000]
[800x480, JPEG(256), min_dur:33333333, stall:59000000]
[720x480, JPEG(256), min_dur:33333333, stall:55000000]
[640x480, JPEG(256), min_dur:33333333, stall:49000000]
[640x360, JPEG(256), min_dur:33333333, stall:49000000]
[480x640, JPEG(256), min_dur:33333333, stall:48000000]
[480x360, JPEG(256), min_dur:33333333, stall:45000000]
[480x320, JPEG(256), min_dur:33333333, stall:35000000]
[352x288, JPEG(256), min_dur:33333333, stall:30000000]
[320x240, JPEG(256), min_dur:33333333, stall:25000000]
[240x320, JPEG(256), min_dur:33333333, stall:18000000]
[176x144, JPEG(256), min_dur:33333333, stall:779000000]
[160x120, JPEG(256), min_dur:33333333, stall:682000000]
[144x176, JPEG(256), min_dur:33333333, stall:506000000]
[2592x1944, PRIVATE(34), min_dur:33333333, stall:0]
[2592x1458, PRIVATE(34), min_dur:33333333, stall:0]
[2048x1536, PRIVATE(34), min_dur:33333333, stall:0]
[1920x1080, PRIVATE(34), min_dur:33333333, stall:0]
[1600x1200, PRIVATE(34), min_dur:33333333, stall:0]
[1440x1080, PRIVATE(34), min_dur:33333333, stall:0]
[1280x960, PRIVATE(34), min_dur:33333333, stall:0]
[1280x768, PRIVATE(34), min_dur:33333333, stall:0]
[1280x720, PRIVATE(34), min_dur:33333333, stall:0]
[1200x1200, PRIVATE(34), min_dur:33333333, stall:0]
[1024x768, PRIVATE(34), min_dur:33333333, stall:0]
[800x600, PRIVATE(34), min_dur:33333333, stall:0]
[864x480, PRIVATE(34), min_dur:33333333, stall:0]
[800x480, PRIVATE(34), min_dur:33333333, stall:0]
[720x480, PRIVATE(34), min_dur:33333333, stall:0]
[640x480, PRIVATE(34), min_dur:33333333, stall:0]
[640x360, PRIVATE(34), min_dur:33333333, stall:0]
[480x640, PRIVATE(34), min_dur:33333333, stall:0]
[480x360, PRIVATE(34), min_dur:33333333, stall:0]
[480x320, PRIVATE(34), min_dur:33333333, stall:0]
[352x288, PRIVATE(34), min_dur:33333333, stall:0]
[320x240, PRIVATE(34), min_dur:33333333, stall:0]
[240x320, PRIVATE(34), min_dur:33333333, stall:0]
[176x144, PRIVATE(34), min_dur:33333333, stall:0]
[160x120, PRIVATE(34), min_dur:33333333, stall:0]
[144x176, PRIVATE(34), min_dur:33333333, stall:0]
[2592x1944, YUV_420_888(35), min_dur:33333333, stall:0]
[2592x1458, YUV_420_888(35), min_dur:33333333, stall:0]
[2048x1536, YUV_420_888(35), min_dur:33333333, stall:0]
[1920x1080, YUV_420_888(35), min_dur:33333333, stall:0]
[1600x1200, YUV_420_888(35), min_dur:33333333, stall:0]
[1440x1080, YUV_420_888(35), min_dur:33333333, stall:0]
[1280x960, YUV_420_888(35), min_dur:33333333, stall:0]
[1280x768, YUV_420_888(35), min_dur:33333333, stall:0]
[1280x720, YUV_420_888(35), min_dur:33333333, stall:0]
[1200x1200, YUV_420_888(35), min_dur:33333333, stall:0]
[1024x768, YUV_420_888(35), min_dur:33333333, stall:0]
[800x600, YUV_420_888(35), min_dur:33333333, stall:0]
[864x480, YUV_420_888(35), min_dur:33333333, stall:0]
[800x480, YUV_420_888(35), min_dur:33333333, stall:0]
[720x480, YUV_420_888(35), min_dur:33333333, stall:0]
[640x480, YUV_420_888(35), min_dur:33333333, stall:0]
[640x360, YUV_420_888(35), min_dur:33333333, stall:0]
[480x640, YUV_420_888(35), min_dur:33333333, stall:0]
[480x360, YUV_420_888(35), min_dur:33333333, stall:0]
[480x320, YUV_420_888(35), min_dur:33333333, stall:0]
[352x288, YUV_420_888(35), min_dur:33333333, stall:0]
[320x240, YUV_420_888(35), min_dur:33333333, stall:0]
[240x320, YUV_420_888(35), min_dur:33333333, stall:0]
[176x144, YUV_420_888(35), min_dur:33333333, stall:0]
[160x120, YUV_420_888(35), min_dur:33333333, stall:0]
[144x176, YUV_420_888(35), min_dur:33333333, stall:0]
[2592x1944, RAW_PRIVATE(36), min_dur:33333333, stall:0]
[2592x1944, RAW10(37), min_dur:33333333, stall:0]
HighSpeedVideoConfigurations:
[480x320, min_fps:30, max_fps:120], [480x320, min_fps:120, max_fps:120], [480x360, min_fps:30, max_fps:120], [480x360, min_fps:120, max_fps:120], [720x480, min_fps:30, max_fps:120], [720x480, min_fps:120, max_fps:120]

InputsString:
2592x1944, PRIVATE(34),
2592x1944, YUV_420_888(35),

ValidOutputFormatsForInputString:

PRIVATE(34), out:JPEG(256), YUV_420_888(35)
YUV_420_888(35), out:JPEG(256), YUV_420_888(35)

android.colorCorrection:
- availableAberrationModes = [0,1,2]

android.sensor.info:
- activeArraySize = Rect(8, 8 - 2600, 1952)
- colorFilterArrangement = 1
- exposureTimeRange = [16938, 270733792]
- maxFrameDuration = 270832408
- physicalSize = 2.92096x2.1952
- pixelArraySize = 2608x1960
- preCorrectionActiveArraySize = Rect(8, 8 - 2600, 1952)
- sensitivityRange = [100, 1600]
- timestampSource = SOURCE_UNKNOWN
- whiteLevel = 1023

android.tonemap:
- availableToneMapModes = [0,1,2]
- maxCurvePoints = 64

android.flash.info:
- available = false

android.edge:
- availableEdgeModes = [0,1,2,3]

android.noiseReduction:
- availableNoiseReductionModes = [0,1,2,3,4]

android.hotPixel:
- availableHotPixelModes = [1,2]