Add documentation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1219
docs/research/tv-dump/audio_policy.txt
Normal file
1219
docs/research/tv-dump/audio_policy.txt
Normal file
File diff suppressed because it is too large
Load Diff
373
docs/research/tv-dump/display.txt
Normal file
373
docs/research/tv-dump/display.txt
Normal file
@@ -0,0 +1,373 @@
|
||||
DISPLAY MANAGER (dumpsys display)
|
||||
mSafeMode=false
|
||||
mPendingTraversal=false
|
||||
mViewports=[DisplayViewport{type=INTERNAL, valid=true, isActive=true, displayId=0, uniqueId='local:4627014146675823360', physicalPort=0, orientation=0, logicalFrame=Rect(0, 0 - 1920, 1080), physicalFrame=Rect(0, 0 - 3840, 2160), deviceWidth=3840, deviceHeight=2160}]
|
||||
mDefaultDisplayDefaultColorMode=0
|
||||
mWifiDisplayScanRequestCount=0
|
||||
mStableDisplaySize=Point(3840, 2160)
|
||||
mMinimumBrightnessCurve=[(0.0, 0.0), (2000.0, 50.0), (4000.0, 90.0)]
|
||||
|
||||
mHdrConversionMode=HdrConversionMode{ConversionMode=HDR_CONVERSION_SYSTEM, PreferredHdrOutputType=HDR_TYPE_INVALID}
|
||||
|
||||
Display States: size=1
|
||||
Display Id=0
|
||||
Display State=ON
|
||||
Display Brightness=1.0
|
||||
Display SdrBrightness=1.0
|
||||
|
||||
Display Adapters: size=3
|
||||
LocalDisplayAdapter
|
||||
VirtualDisplayAdapter
|
||||
OverlayDisplayAdapter
|
||||
mCurrentOverlaySetting=
|
||||
mOverlays: size=0
|
||||
|
||||
Display Devices: size=1
|
||||
DisplayDeviceInfo{"Встроенный экран": uniqueId="local:4627014146675823360", 3840 x 2160, modeId 1, renderFrameRate 60.000004, defaultModeId 1, supportedModes [{id=1, width=3840, height=2160, fps=60.000004, alternativeRefreshRates=[], supportedHdrTypes=[1, 2, 3, 4]}], colorMode 0, supportedColorModes [0], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[1, 2, 3, 4], mMaxLuminance=100.0, mMaxAverageLuminance=50.0, mMinLuminance=0.05}, allmSupported false, gameContentTypeSupported false, density 640, 59.0 x 59.0 dpi, appVsyncOff 1000000, presDeadline 16666666, touch INTERNAL, rotation 0, type INTERNAL, address {port=0, model=0x403674d9f751d3}, deviceProductInfo DeviceProductInfo{name=MStar Demo, manufacturerPnpId=MST, productId=48, modelYear=null, manufactureDate=ManufactureDate{week=10, year=2014}, connectionToSinkType=1}, state ON, committedState ON, frameRateOverride , brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 1.0, hdrSdrRatio NaN, FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY, FLAG_ROTATES_WITH_CONTENT, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_TRUSTED, installOrientation 0, displayShape DisplayShape{ spec=-545313861 displayWidth=3840 displayHeight=2160 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}}
|
||||
mAdapter=LocalDisplayAdapter
|
||||
mUniqueId=local:4627014146675823360
|
||||
mDisplayToken=android.os.BinderProxy@b7048f
|
||||
mCurrentLayerStack=0
|
||||
mCurrentFlags=1
|
||||
mCurrentOrientation=0
|
||||
mCurrentLayerStackRect=Rect(0, 0 - 1920, 1080)
|
||||
mCurrentDisplayRect=Rect(0, 0 - 3840, 2160)
|
||||
mCurrentSurface=null
|
||||
mPhysicalDisplayId=4627014146675823360
|
||||
mDisplayModeSpecs={baseModeId=1 allowGroupSwitching=false primary=physical: (0.0 Infinity) render: (0.0 60.0) appRequest=physical: (0.0 Infinity) render: (0.0 Infinity)}
|
||||
mDisplayModeSpecsInvalid=false
|
||||
mActiveModeId=1
|
||||
mActiveColorMode=0
|
||||
mDefaultModeId=1
|
||||
mUserPreferredModeId=-1
|
||||
mState=ON
|
||||
mCommittedState=ON
|
||||
mBrightnessState=1.0
|
||||
mBacklightAdapter=BacklightAdapter [useSurfaceControl=true (force_anyway? true), backlight=null]
|
||||
mAllmSupported=false
|
||||
mAllmRequested=false
|
||||
mGameContentTypeSupported=false
|
||||
mGameContentTypeRequested=false
|
||||
mStaticDisplayInfo=StaticDisplayInfo{isInternal=true, density=2.0, secure=true, deviceProductInfo=DeviceProductInfo{name=MStar Demo, manufacturerPnpId=MST, productId=48, modelYear=null, manufactureDate=ManufactureDate{week=10, year=2014}, connectionToSinkType=1}, installOrientation=0}
|
||||
mSfDisplayModes=
|
||||
DisplayMode{id=0, width=3840, height=2160, xDpi=59.0, yDpi=59.0, refreshRate=60.000004, appVsyncOffsetNanos=1000000, presentationDeadlineNanos=16666666, supportedHdrTypes=[1, 2, 3, 4], group=0}
|
||||
mActiveSfDisplayMode=DisplayMode{id=0, width=3840, height=2160, xDpi=59.0, yDpi=59.0, refreshRate=60.000004, appVsyncOffsetNanos=1000000, presentationDeadlineNanos=16666666, supportedHdrTypes=[1, 2, 3, 4], group=0}
|
||||
mActiveRenderFrameRate=60.000004
|
||||
mSupportedModes=
|
||||
DisplayModeRecord{mMode={id=1, width=3840, height=2160, fps=60.000004, alternativeRefreshRates=[], supportedHdrTypes=[1, 2, 3, 4]}}
|
||||
mSupportedColorModes=[0]
|
||||
mDisplayDeviceConfig=DisplayDeviceConfig{mLoadedFrom=/vendor/etc/displayconfig/display_id_4627014146675823360.xml, mBacklight=[0.035433073, 0.5, 1.0], mNits=[7.0866146, 100.0, 200.0], mRawBacklight=[0.0, 0.5, 1.0], mRawNits=[0.0, 100.0, 200.0], mInterpolationType=0, mBrightness=[0.0, 0.48163262, 1.0], mBrightnessToBacklightSpline=MonotoneCubicSpline{[(0.0, 0.035433073: 0.96456695), (0.48163262, 0.5: 0.9645669), (1.0, 1.0: 0.9645668)]}, mBacklightToBrightnessSpline=MonotoneCubicSpline{[(0.035433073, 0.0: 1.0367347), (0.5, 0.48163262: 1.0367348), (1.0, 1.0: 1.0367348)]}, mNitsToBacklightSpline=MonotoneCubicSpline{[(7.0866146, 0.035433073: 0.005), (100.0, 0.5: 0.005), (200.0, 1.0: 0.005)]}, mBacklightMinimum=0.035433073, mBacklightMaximum=1.0, mBrightnessDefault=1.0, mQuirks=[canSetBrightnessViaHwc], isHbmEnabled=false, mHbmData=null, mSdrToHdrRatioSpline=null, mThermalBrightnessThrottlingDataMapByThrottlingId={}
|
||||
, mBrightnessRampFastDecrease=0.70472443, mBrightnessRampFastIncrease=0.70472443, mBrightnessRampSlowDecrease=0.23228346, mBrightnessRampSlowIncrease=0.23228346, mBrightnessRampDecreaseMaxMillis=0, mBrightnessRampIncreaseMaxMillis=0
|
||||
, mAmbientHorizonLong=10000, mAmbientHorizonShort=2000
|
||||
, mScreenDarkeningMinThreshold=0.0, mScreenDarkeningMinThresholdIdle=0.0, mScreenBrighteningMinThreshold=0.0, mScreenBrighteningMinThresholdIdle=0.0, mAmbientLuxDarkeningMinThreshold=0.0, mAmbientLuxDarkeningMinThresholdIdle=0.0, mAmbientLuxBrighteningMinThreshold=0.0, mAmbientLuxBrighteningMinThresholdIdle=0.0
|
||||
, mScreenBrighteningLevels=[0.0], mScreenBrighteningPercentages=[10.0], mScreenDarkeningLevels=[0.0], mScreenDarkeningPercentages=[20.0], mAmbientBrighteningLevels=[0.0], mAmbientBrighteningPercentages=[10.0], mAmbientDarkeningLevels=[0.0], mAmbientDarkeningPercentages=[20.0]
|
||||
, mAmbientBrighteningLevelsIdle=[0.0], mAmbientBrighteningPercentagesIdle=[10.0], mAmbientDarkeningLevelsIdle=[0.0], mAmbientDarkeningPercentagesIdle=[20.0], mScreenBrighteningLevelsIdle=[0.0], mScreenBrighteningPercentagesIdle=[10.0], mScreenDarkeningLevelsIdle=[0.0], mScreenDarkeningPercentagesIdle=[20.0]
|
||||
, mAmbientLightSensor=Sensor{type: , name: , refreshRateRange: [0.0, Infinity]} , mScreenOffBrightnessSensor=Sensor{type: null, name: null, refreshRateRange: [0.0, Infinity]} , mProximitySensor=Sensor{type: null, name: null, refreshRateRange: [0.0, Infinity]} , mRefreshRateLimitations= [], mDensityMapping= DensityMapping{mDensityMappingEntries=[DensityMappingEntry{squaredDiagonal=19411200, density=640}]}, mAutoBrightnessBrighteningLightDebounce= 4000, mAutoBrightnessDarkeningLightDebounce= 8000, mBrightnessLevelsLux= [0.0], mBrightnessLevelsNits= [], mDdcAutoBrightnessAvailable= true, mAutoBrightnessAvailable= false
|
||||
, mDefaultLowBlockingZoneRefreshRate= 0, mDefaultHighBlockingZoneRefreshRate= 0, mDefaultPeakRefreshRate= 0, mDefaultRefreshRate= 60, mRefreshRateZoneProfiles= {}, mDefaultRefreshRateInHbmHdr= 0, mDefaultRefreshRateInHbmSunlight= 0, mRefreshRateThrottlingMap= {}
|
||||
, mLowDisplayBrightnessThresholds= [], mLowAmbientBrightnessThresholds= [], mHighDisplayBrightnessThresholds= [], mHighAmbientBrightnessThresholds= []
|
||||
, mScreenOffBrightnessSensorValueToLux=null
|
||||
, mUsiVersion= null}
|
||||
|
||||
LogicalDisplayMapper:
|
||||
mSingleDisplayDemoMode=false
|
||||
mCurrentLayout=[{dispId: 0(ON), displayGroupName: , addr: {port=0, model=0x403674d9f751d3}, mThermalBrightnessThrottlingMapId: null, mRefreshRateZoneId: null, mLeadDisplayId: -1, mThermalRefreshRateThrottlingMapId: null}]
|
||||
mDeviceStatesOnWhichToWakeUp={}
|
||||
mDeviceStatesOnWhichToSleep={}
|
||||
mInteractive=true
|
||||
mBootCompleted=true
|
||||
|
||||
mDeviceState=0
|
||||
mPendingDeviceState=-1
|
||||
mDeviceStateToBeAppliedAfterBoot=-1
|
||||
|
||||
Logical Displays: size=1
|
||||
Display 0:
|
||||
mDisplayId=0
|
||||
mIsEnabled=true
|
||||
mIsInTransition=false
|
||||
mLayerStack=0
|
||||
mPosition=-1
|
||||
mHasContent=true
|
||||
mDesiredDisplayModeSpecs={baseModeId=1 allowGroupSwitching=false primary=physical: (0.0 Infinity) render: (0.0 60.0) appRequest=physical: (0.0 Infinity) render: (0.0 Infinity)}
|
||||
mRequestedColorMode=0
|
||||
mDisplayOffset=(0, 0)
|
||||
mDisplayScalingDisabled=false
|
||||
mPrimaryDisplayDevice=Встроенный экран
|
||||
mBaseDisplayInfo=DisplayInfo{"Встроенный экран", displayId 0, displayGroupId 0, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_TRUSTED, real 3840 x 2160, largest app 3840 x 2160, smallest app 3840 x 2160, appVsyncOff 1000000, presDeadline 16666666, mode 160.000004, defaultMode 1, modes [{id=1, width=3840, height=2160, fps=60.000004, alternativeRefreshRates=[], supportedHdrTypes=[1, 2, 3, 4]}], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[1, 2, 3, 4], mMaxLuminance=100.0, mMaxAverageLuminance=50.0, mMinLuminance=0.05}, userDisabledHdrTypes [], minimalPostProcessingSupported false, rotation 0, state ON, committedState ON, type INTERNAL, uniqueId "local:4627014146675823360", app 3840 x 2160, density 640 (59.0 x 59.0) dpi, layerStack 0, colorMode 0, supportedColorModes [0], address {port=0, model=0x403674d9f751d3}, deviceProductInfo DeviceProductInfo{name=MStar Demo, manufacturerPnpId=MST, productId=48, modelYear=null, manufactureDate=ManufactureDate{week=10, year=2014}, connectionToSinkType=1}, removeMode 0, refreshRateOverride 0.0, brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 1.0, installOrientation ROTATION_0, layoutLimitedRefreshRate null, hdrSdrRatio not_available, thermalRefreshRateThrottling {}, thermalBrightnessThrottlingDataId default}
|
||||
mOverrideDisplayInfo=DisplayInfo{"Встроенный экран", displayId 0, displayGroupId 0, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_TRUSTED, real 1920 x 1080, largest app 1920 x 1920, smallest app 1080 x 1080, appVsyncOff 1000000, presDeadline 16666666, mode 160.000004, defaultMode 1, modes [{id=1, width=3840, height=2160, fps=60.000004, alternativeRefreshRates=[], supportedHdrTypes=[1, 2, 3, 4]}], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[1, 2, 3, 4], mMaxLuminance=100.0, mMaxAverageLuminance=50.0, mMinLuminance=0.05}, userDisabledHdrTypes [], minimalPostProcessingSupported false, rotation 0, state ON, committedState ON, type INTERNAL, uniqueId "local:4627014146675823360", app 1920 x 1080, density 320 (29.5 x 29.5) dpi, layerStack 0, colorMode 0, supportedColorModes [0], address {port=0, model=0x403674d9f751d3}, deviceProductInfo DeviceProductInfo{name=MStar Demo, manufacturerPnpId=MST, productId=48, modelYear=null, manufactureDate=ManufactureDate{week=10, year=2014}, connectionToSinkType=1}, removeMode 0, refreshRateOverride 60.000004, brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 1.0, installOrientation ROTATION_0, layoutLimitedRefreshRate null, hdrSdrRatio not_available, thermalRefreshRateThrottling {}, thermalBrightnessThrottlingDataId default}
|
||||
mRequestedMinimalPostProcessing=false
|
||||
mFrameRateOverrides=[]
|
||||
mPendingFrameRateOverrideUids={}
|
||||
mDisplayGroupName=
|
||||
mThermalBrightnessThrottlingDataId=default
|
||||
mLeadDisplayId=-1
|
||||
mLayoutLimitedRefreshRate=null
|
||||
mThermalRefreshRateThrottling={}
|
||||
|
||||
DeviceStateToLayoutMap:
|
||||
Registered Layouts:
|
||||
state(-1): [{dispId: 0(ON), displayGroupName: , addr: {port=0, model=0x403674d9f751d3}, mThermalBrightnessThrottlingMapId: null, mRefreshRateZoneId: null, mLeadDisplayId: -1, mThermalRefreshRateThrottlingMapId: null}]
|
||||
|
||||
Callbacks: size=12
|
||||
0: mPid=750, mWifiDisplayScanRequested=false
|
||||
1: mPid=1115, mWifiDisplayScanRequested=false
|
||||
2: mPid=1365, mWifiDisplayScanRequested=false
|
||||
3: mPid=1500, mWifiDisplayScanRequested=false
|
||||
4: mPid=1961, mWifiDisplayScanRequested=false
|
||||
5: mPid=2223, mWifiDisplayScanRequested=false
|
||||
6: mPid=3734, mWifiDisplayScanRequested=false
|
||||
7: mPid=9064, mWifiDisplayScanRequested=false
|
||||
8: mPid=9914, mWifiDisplayScanRequested=false
|
||||
9: mPid=17555, mWifiDisplayScanRequested=false
|
||||
10: mPid=18239, mWifiDisplayScanRequested=false
|
||||
11: mPid=28050, mWifiDisplayScanRequested=false
|
||||
|
||||
Display Power Controllers: size=1
|
||||
|
||||
Display Power Controller:
|
||||
mDisplayId=0
|
||||
mLeadDisplayId=-1
|
||||
mLightSensor=null
|
||||
mDisplayBrightnessFollowers={}
|
||||
|
||||
Display Power Controller Locked State:
|
||||
mDisplayReadyLocked=true
|
||||
mPendingRequestLocked=policy=BRIGHT, useProximitySensor=false, screenBrightnessOverride=NaN, screenAutoBrightnessAdjustmentOverride=NaN, screenLowPowerBrightnessFactor=1.0, blockScreenOn=false, lowPowerMode=false, boostScreenBrightness=false, dozeScreenBrightness=NaN, dozeScreenState=UNKNOWN
|
||||
mPendingRequestChangedLocked=false
|
||||
mPendingUpdatePowerStateLocked=false
|
||||
|
||||
Display Power Controller Configuration:
|
||||
mScreenBrightnessDozeConfig=0.0
|
||||
mScreenBrightnessDimConfig=0.05
|
||||
mUseSoftwareAutoBrightnessConfig=false
|
||||
mSkipScreenOnBrightnessRamp=false
|
||||
mColorFadeFadesConfig=false
|
||||
mColorFadeEnabled=false
|
||||
mIsDisplayInternal=true
|
||||
mCachedBrightnessInfo.brightness=1.0
|
||||
mCachedBrightnessInfo.adjustedBrightness=1.0
|
||||
mCachedBrightnessInfo.brightnessMin=0.0
|
||||
mCachedBrightnessInfo.brightnessMax=1.0
|
||||
mCachedBrightnessInfo.hbmMode=0
|
||||
mCachedBrightnessInfo.hbmTransitionPoint=Infinity
|
||||
mCachedBrightnessInfo.brightnessMaxReason =0
|
||||
mDisplayBlanksAfterDozeConfig=false
|
||||
mBrightnessBucketsInDozeConfig=false
|
||||
|
||||
Display Power Controller Thread State:
|
||||
mPowerRequest=policy=BRIGHT, useProximitySensor=false, screenBrightnessOverride=NaN, screenAutoBrightnessAdjustmentOverride=NaN, screenLowPowerBrightnessFactor=1.0, blockScreenOn=false, lowPowerMode=false, boostScreenBrightness=false, dozeScreenBrightness=NaN, dozeScreenState=UNKNOWN
|
||||
mBrightnessReason=manual
|
||||
mAppliedDimming=false
|
||||
mAppliedLowPower=false
|
||||
mAppliedThrottling=false
|
||||
mDozing=false
|
||||
mSkipRampState=RAMP_STATE_SKIP_NONE
|
||||
mScreenOnBlockStartRealTime=580658077
|
||||
mScreenOffBlockStartRealTime=521250842
|
||||
mPendingScreenOnUnblocker=null
|
||||
mPendingScreenOffUnblocker=null
|
||||
mPendingScreenOff=false
|
||||
mReportedToPolicy=REPORTED_TO_POLICY_SCREEN_ON
|
||||
mIsRbcActive=false
|
||||
AutomaticBrightnessStrategy:
|
||||
mDisplayId=0
|
||||
mAutoBrightnessAdjustment=0.0
|
||||
mPendingAutoBrightnessAdjustment=NaN
|
||||
mTemporaryAutoBrightnessAdjustment=NaN
|
||||
mShouldResetShortTermModel=false
|
||||
mAppliedAutoBrightness=false
|
||||
mAutoBrightnessAdjustmentChanged=false
|
||||
mAppliedTemporaryAutoBrightnessAdjustment=false
|
||||
mUseAutoBrightness=false
|
||||
mWasShortTermModelActive=false
|
||||
mAutoBrightnessAdjustmentReasonsFlags=0
|
||||
mScreenBrightnessRampAnimator.isAnimating()=false
|
||||
|
||||
Display Power State:
|
||||
mStopped=false
|
||||
mScreenState=ON
|
||||
mScreenBrightness=1.0
|
||||
mSdrScreenBrightness=1.0
|
||||
mScreenReady=true
|
||||
mScreenUpdatePending=false
|
||||
mColorFadePrepared=false
|
||||
mColorFadeLevel=1.0
|
||||
mColorFadeReady=true
|
||||
mColorFadeDrawPending=false
|
||||
|
||||
Photonic Modulator State:
|
||||
mPendingState=ON
|
||||
mPendingBacklight=1.0
|
||||
mPendingSdrBacklight=1.0
|
||||
mActualState=ON
|
||||
mActualBacklight=1.0
|
||||
mActualSdrBacklight=1.0
|
||||
mStateChangeInProgress=false
|
||||
mBacklightChangeInProgress=false
|
||||
No Reduce Bright Colors Adjustments
|
||||
HighBrightnessModeController:
|
||||
mBrightness=0.0
|
||||
mUnthrottledBrightness=0.0
|
||||
mThrottlingReason=none
|
||||
mCurrentMin=0.0
|
||||
mCurrentMax=1.0
|
||||
mHbmMode=off
|
||||
mHbmStatsState=HBM_OFF
|
||||
mHbmData=null
|
||||
mAmbientLux=0.0 (old/invalid)
|
||||
mIsInAllowedAmbientRange=false
|
||||
mIsAutoBrightnessEnabled=false
|
||||
mIsAutoBrightnessOffByState=false
|
||||
mIsHdrLayerPresent=false
|
||||
mBrightnessMin=0.0
|
||||
mBrightnessMax=1.0
|
||||
remainingTime=0
|
||||
mIsTimeAvailable= false
|
||||
mRunningStartTimeMillis=-1 (51650707 ms ago)
|
||||
mIsBlockedByLowPowerMode=false
|
||||
width*height=3840*2160
|
||||
mEvents=
|
||||
BrightnessThrottler:
|
||||
mThermalBrightnessThrottlingDataId=default
|
||||
mThermalThrottlingData=null
|
||||
mUniqueDisplayId=local:4627014146675823360
|
||||
mThrottlingStatus=-1
|
||||
mBrightnessCap=1.0
|
||||
mBrightnessMaxReason=none
|
||||
mDdcThermalThrottlingDataMap={}
|
||||
mThermalBrightnessThrottlingDataOverride={}
|
||||
mThermalBrightnessThrottlingDataString=null
|
||||
SkinThermalStatusObserver:
|
||||
mStarted: false
|
||||
ThermalService not available
|
||||
|
||||
|
||||
WakelockController State:
|
||||
mDisplayId=0
|
||||
mUnfinishedBusiness=false
|
||||
mOnStateChangePending=false
|
||||
mOnProximityPositiveMessages=false
|
||||
mOnProximityNegativeMessages=false
|
||||
|
||||
|
||||
DisplayBrightnessController:
|
||||
mDisplayId=: 0
|
||||
mScreenBrightnessDefault=1.0
|
||||
mPersistBrightnessNitsForDefaultDisplay=false
|
||||
mPendingScreenBrightness=NaN
|
||||
mCurrentScreenBrightness=1.0
|
||||
mLastUserSetScreenBrightness=NaN
|
||||
Last selected DisplayBrightnessStrategy= InvalidBrightnessStrategy
|
||||
|
||||
DisplayBrightnessStrategySelector:
|
||||
mDisplayId= 0
|
||||
mOldBrightnessStrategyName= InvalidBrightnessStrategy
|
||||
mAllowAutoBrightnessWhileDozingConfig= false
|
||||
TemporaryBrightnessStrategy:
|
||||
mTemporaryScreenBrightness:NaN
|
||||
|
||||
|
||||
DisplayStateController:
|
||||
mPerformScreenOffTransition:false
|
||||
|
||||
DisplayPowerProximityStateController:
|
||||
mPendingWaitForNegativeProximityLocked=false
|
||||
mDisplayId=0
|
||||
mWaitingForNegativeProximity=false
|
||||
mIgnoreProximityUntilChanged=false
|
||||
mProximitySensor=null
|
||||
mProximitySensorEnabled=false
|
||||
mProximityThreshold=0.0
|
||||
mProximity=Unknown
|
||||
mPendingProximity=Unknown
|
||||
mPendingProximityDebounceTime=-1 (51650707 ms ago)
|
||||
mScreenOffBecauseOfProximity=false
|
||||
mSkipRampBecauseOfProximityChangeToNegative=false
|
||||
|
||||
PersistentDataStore
|
||||
mLoaded=true
|
||||
mDirty=false
|
||||
RememberedWifiDisplays:
|
||||
DisplayStates:
|
||||
0: local:4627014146675823360
|
||||
ColorMode=0
|
||||
BrightnessValue=1.0
|
||||
DisplayBrightnessConfigurations:
|
||||
Resolution=0 0
|
||||
RefreshRate=0.0
|
||||
StableDeviceValues:
|
||||
StableDisplayWidth=3840
|
||||
StableDisplayHeight=2160
|
||||
GlobalBrightnessConfigurations:
|
||||
mBrightnessNitsForDefaultDisplay=-1.0
|
||||
|
||||
Display Window Policy Controllers: size=0
|
||||
|
||||
BrightnessTracker state:
|
||||
mStarted=false
|
||||
mLightSensor=null
|
||||
mLastBatteryLevel=NaN
|
||||
mLastBrightness=-1.0
|
||||
mEventsDirty=false
|
||||
mEvents.size=0
|
||||
mWriteBrightnessTrackerStateScheduled=false
|
||||
mSensorRegistered=false
|
||||
mColorSamplingEnabled=false
|
||||
mNoFramesToSample=0
|
||||
mFrameRate=0.0
|
||||
|
||||
DisplayModeDirector
|
||||
mSupportedModesByDisplay:
|
||||
0 -> [{id=1, width=3840, height=2160, fps=60.000004, alternativeRefreshRates=[], supportedHdrTypes=[1, 2, 3, 4]}]
|
||||
mDefaultModeByDisplay:
|
||||
0 -> {id=1, width=3840, height=2160, fps=60.000004, alternativeRefreshRates=[], supportedHdrTypes=[1, 2, 3, 4]}
|
||||
mModeSwitchingType: SWITCHING_TYPE_WITHIN_GROUPS
|
||||
mAlwaysRespectAppRequest: false
|
||||
SettingsObserver
|
||||
mDefaultRefreshRate: 60.0
|
||||
mDefaultPeakRefreshRate: 0.0
|
||||
AppRequestObserver
|
||||
mAppRequestedModeByDisplay:
|
||||
mAppPreferredRefreshRateRangeByDisplay:
|
||||
BrightnessObserver
|
||||
mAmbientLux: -1.0
|
||||
mBrightness: 255
|
||||
mDefaultDisplayState: 2
|
||||
mLowPowerModeEnabled: false
|
||||
mRefreshRateChangeable: false
|
||||
mShouldObserveDisplayLowChange: false
|
||||
mShouldObserveAmbientLowChange: false
|
||||
mRefreshRateInLowZone: 0
|
||||
mShouldObserveDisplayHighChange: false
|
||||
mShouldObserveAmbientHighChange: false
|
||||
mRefreshRateInHighZone: 0
|
||||
mRegisteredLightSensor: null
|
||||
mLightSensor: null
|
||||
mLightSensorName:
|
||||
mLightSensorType:
|
||||
mLastSensorData: 0.0
|
||||
mTimestamp: 1970-01-01 03:00:00.000
|
||||
UdfpsObserver
|
||||
mUdfpsRefreshRateEnabled:
|
||||
mAuthenticationPossible:
|
||||
HbmObserver
|
||||
mHbmMode: {}
|
||||
mHbmActive: {}
|
||||
mRefreshRateInHbmSunlight: 0
|
||||
mRefreshRateInHbmHdr: 0
|
||||
SkinThermalStatusObserver:
|
||||
mStatus: 0
|
||||
mThermalThrottlingByDisplay: {0={}}
|
||||
mVotesByDisplay:
|
||||
-1:
|
||||
PRIORITY_USER_SETTING_MIN_RENDER_FRAME_RATE -> Vote: {width: -1, height: -1, refreshRateRanges: physical: (0.0 Infinity) render: (0.0 Infinity), disableRefreshRateSwitching: false, appRequestBaseModeRefreshRate: 0.0}
|
||||
PRIORITY_DEFAULT_REFRESH_RATE -> Vote: {width: -1, height: -1, refreshRateRanges: physical: (0.0 Infinity) render: (0.0 60.0), disableRefreshRateSwitching: false, appRequestBaseModeRefreshRate: 0.0}
|
||||
SensorObserver
|
||||
mIsProxActive=false
|
||||
mDozeStateByDisplay:
|
||||
0 -> false
|
||||
BrightnessSynchronizer
|
||||
mLatestIntBrightness=255
|
||||
mLatestFloatBrightness=1.0
|
||||
mCurrentUpdate=null
|
||||
mPendingUpdate=null
|
||||
755
docs/research/tv-dump/media_codecs-mt5896.xml
Normal file
755
docs/research/tv-dump/media_codecs-mt5896.xml
Normal file
@@ -0,0 +1,755 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (C) 2012 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<!--
|
||||
<!DOCTYPE MediaCodecs [
|
||||
<!ELEMENT MediaCodecs (Decoders,Encoders)>
|
||||
<!ELEMENT Decoders (MediaCodec*)>
|
||||
<!ELEMENT Encoders (MediaCodec*)>
|
||||
<!ELEMENT MediaCodec (Type*,Quirk*)>
|
||||
<!ATTLIST MediaCodec name CDATA #REQUIRED>
|
||||
<!ATTLIST MediaCodec type CDATA>
|
||||
<!ELEMENT Type EMPTY>
|
||||
<!ATTLIST Type name CDATA #REQUIRED>
|
||||
<!ELEMENT Quirk EMPTY>
|
||||
<!ATTLIST Quirk name CDATA #REQUIRED>
|
||||
]>
|
||||
|
||||
There's a simple and a complex syntax to declare the availability of a
|
||||
media codec:
|
||||
|
||||
A codec that properly follows the OpenMax spec and therefore doesn't have any
|
||||
quirks and that only supports a single content type can be declared like so:
|
||||
|
||||
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
|
||||
|
||||
If a codec has quirks OR supports multiple content types, the following syntax
|
||||
can be used:
|
||||
|
||||
<MediaCodec name="OMX.foo.bar" >
|
||||
<Type name="something/interesting" />
|
||||
<Type name="something/else" />
|
||||
...
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="output-buffers-are-unreadable" />
|
||||
</MediaCodec>
|
||||
|
||||
Only the three quirks included above are recognized at this point:
|
||||
|
||||
"requires-allocate-on-input-ports"
|
||||
must be advertised if the component does not properly support specification
|
||||
of input buffers using the OMX_UseBuffer(...) API but instead requires
|
||||
OMX_AllocateBuffer to be used.
|
||||
|
||||
"requires-allocate-on-output-ports"
|
||||
must be advertised if the component does not properly support specification
|
||||
of output buffers using the OMX_UseBuffer(...) API but instead requires
|
||||
OMX_AllocateBuffer to be used.
|
||||
|
||||
"output-buffers-are-unreadable"
|
||||
must be advertised if the emitted output buffers of a decoder component
|
||||
are not readable, i.e. use a custom format even though abusing one of
|
||||
the official OMX colorspace constants.
|
||||
Clients of such decoders will not be able to access the decoded data,
|
||||
naturally making the component much less useful. The only use for
|
||||
a component with this quirk is to render the output to the screen.
|
||||
Audio decoders MUST NOT advertise this quirk.
|
||||
Video decoders that advertise this quirk must be accompanied by a
|
||||
corresponding color space converter for thumbnail extraction,
|
||||
matching surfaceflinger support that can render the custom format to
|
||||
a texture and possibly other code, so just DON'T USE THIS QUIRK.
|
||||
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Settings>
|
||||
<Setting name="max-video-encoder-input-buffers" value="1" />
|
||||
<Setting name="supports-multiple-secure-codecs" value="true" />
|
||||
<Setting name="supports-secure-with-non-secure-codec" value="true" />
|
||||
</Settings>
|
||||
|
||||
<Decoders>
|
||||
<MediaCodec name="c2.mtk.atv.decoder" type="tv/atv" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.hdmi.decoder" type="tv/hdmi" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.component.decoder" type="tv/component" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.composite.decoder" type="tv/composite" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.avc.decoder" type="video/avc" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="7680x4320" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="performance-point-3840x2160" value="30" />
|
||||
<Limit name="performance-point-7680x4320" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.avc.decoder.secure" type="video/avc" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="7680x4320" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="performance-point-3840x2160" value="30" />
|
||||
<Limit name="performance-point-7680x4320" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.hevc.decoder" type="video/hevc" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="7680x4320" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-7680x4320" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.hevc.decoder.secure" type="video/hevc" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="7680x4320" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-7680x4320" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.shvc.decoder" type="video/vnd.shvc" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.shvc.decoder.secure" type="video/vnd.shvc" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.mpeg4.decoder" type="video/mp4v-es" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.h263.decoder" type="video/3gpp" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="size" min="16x16" max="1408x1152" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1280x720" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.mpeg2.decoder" type="video/mpeg2" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.mpeg2.decoder.secure" type="video/mpeg2" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.vp8.decoder" type="video/x-vnd.on2.vp8" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="size" min="128x128" max="1920x1088" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.vp9.decoder" type="video/x-vnd.on2.vp9" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="7680x4320" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="performance-point-3840x2160" value="30" />
|
||||
<Limit name="performance-point-7680x4320" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="7680x4320" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="performance-point-3840x2160" value="30" />
|
||||
<Limit name="performance-point-7680x4320" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.av1.decoder" type="video/av01" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="size" min="64x64" max="7680x4320" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-7680x4320" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.av1.decoder.secure" type="video/av01" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="size" min="64x64" max="7680x4320" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-7680x4320" value="60" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="low-latency" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.mjpeg.decoder" type="video/x-motion-jpeg" >
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="size" min="8x8" max="1920x1088" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.vc1.decoder" type="video/VC1" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="32x32" max="1920x1088" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.flv.decoder" type="video/flv" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.avs.decoder" type="video/avs" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="1920x1088" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.avs2.decoder" type="video/avs2" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2160" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.wmv3.decoder" type="video/x-ms-wmv" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="32x32" max="1920x1088" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.rv.decoder" type="video/vnd.rn-realvideo" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="32x32" max="1920x1088" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
</MediaCodec>
|
||||
<!--
|
||||
<MediaCodec name="c2.mtk.dvav.per.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvav.per.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvav.pen.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvav.pen.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.der.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.der.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.den.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.den.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.dtr.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.dtr.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.stn.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.stn.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.dth.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.dth.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.dtb.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.dtb.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.st.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvhe.st.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvav.se.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvav.se.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvav1.10.decoder" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dvav1.10.decoder.secure" type="video/dolby-vision" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="64x64" max="4096x2176" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="tunneled-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-4096x2176" value="60" />
|
||||
</MediaCodec>
|
||||
-->
|
||||
<MediaCodec name="c2.mtk.hdmi.capture" type="audio/vnd.hdmicap">
|
||||
<Limit name="channel-count" max="8" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="bitrate" range="8000-960000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.atv.capture" type="audio/vnd.atvcap">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.analog.capture" type="audio/vnd.analogcap">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.ac3.decoder">
|
||||
<Type name="audio/ac3">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
<Type name="audio/eac3">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
<Type name="audio/eac3-joc">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.dts.decoder">
|
||||
<Type name="audio/vnd.dts">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
<Type name="audio/vnd.dts.hd">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
<Type name="audio/vnd.dts.hd;profile=lbr">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
<Type name="audio/vnd.dts.uhd;profile=p2">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</Type>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.adts.decoder">
|
||||
<Type name="audio/aac-adts">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
<Type name="audio/mp4a-latm-hw">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.mpeg.decoder">
|
||||
<Type name="audio/mpeg-L1">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
<Type name="audio/mpeg-L2">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.wma.decoder">
|
||||
<Type name="audio/x-ms-wmapro">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
<Type name="audio/x-ms-wma">
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</Type>
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.adpcmima.decoder" type="audio/x-adpcm-dvi-ima" >
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.adpcmms.decoder" type="audio/x-adpcm-ms" >
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.cook.decoder" type="audio/vnd.rn-realaudio" >
|
||||
<Limit name="channel-count" max="2" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.heif.decoder" type="image/vnd.android.heic" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="16383x16383" />
|
||||
<Limit name="blocks-per-second" min="1" max="2088960" />
|
||||
<Limit name="performance-point-1920x1088" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.jpeg.decoder" type="image/jpeg" >
|
||||
<Limit name="concurrent-instances" max="1" />
|
||||
<Limit name="alignment" value="32x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="8x8" max="16383x16383" />
|
||||
<Limit name="blocks-per-second" min="1" max="2088960" />
|
||||
<Limit name="performance-point-1920x1088" value="30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.mtk.frame.filter" type="image/vnd.android.filter" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="size" min="64x64" max="16383x16383" />
|
||||
<Limit name="blocks-per-second" min="1" max="2088960" />
|
||||
<Limit name="performance-point-1920x1088" value="30" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="OMX.MS.MP1.Decoder" >
|
||||
<Type name="audio/mpeg-L1">
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</Type>
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="OMX.MS.MP2.Decoder" >
|
||||
<Type name="audio/mpeg-L2">
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</Type>
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="OMX.MS.MP3.Decoder" >
|
||||
<Type name="audio/mpeg">
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</Type>
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="OMX.MS.AAC.Decoder" type="audio/mp4a-latm-hw" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MS.VORBIS.Decoder" type="audio/vorbis" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MS.ADPCM.Decoder">
|
||||
<Type name="audio/adpcm" />
|
||||
<Type name="audio/x-adpcm-ms" />
|
||||
<Type name="audio/x-adpcm-ima" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MS.LPCM.Decoder" type="audio/lpcm" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MS.RA.Decoder" type="audio/vnd.rn-realaudio" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MS.WMA.Decoder" >
|
||||
<Type name="audio/x-ms-wma" />
|
||||
<Type name="audio/x-ms-wmapro" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MS.AC3.Decoder" >
|
||||
<Type name="audio/ac3">
|
||||
<Limit name="channel-count" max="6" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</Type>
|
||||
<Type name="audio/eac3">
|
||||
<Limit name="channel-count" max="6" />
|
||||
<Limit name="sample-rate" ranges="8000-48000" />
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</Type>
|
||||
<Type name="audio/ac3p">
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
</Type>
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MS.DTS.Decoder" >
|
||||
<Type name="audio/dts" />
|
||||
<Type name="audio/dts-hd" />
|
||||
<Type name="audio/dts-lbr" />
|
||||
<Type name="audio/vnd.dts" />
|
||||
<Type name="audio/vnd.dts.hd" />
|
||||
<Type name="audio/vnd.dts.hd;profile=lbr" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MS.DRA.Decoder" type="audio/dra" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MS.FLAC.Decoder" type="audio/flac" >
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
|
||||
</Decoders>
|
||||
<Encoders>
|
||||
<MediaCodec name="c2.mtk.avc.encoder" type="video/avc">
|
||||
<Limit name="concurrent-instances" max="2" />
|
||||
<Limit name="size" min="176x144" max="1920x1088" />
|
||||
<!--<Limit name="aspect-ratio" in="blocks" range="11:9-16:9" />-->
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="bitrate" range="102400-28000000" />
|
||||
<!--<Quirk name="kAvoidMemcopyInputRecordingFrames" />-->
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="performance-point-1920x1088" value="60" />
|
||||
<Limit name="blocks-per-second" range="1-489600" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</MediaCodecs>
|
||||
Reference in New Issue
Block a user