vendor_oneplus_sm8250-common/proprietary/vendor/etc/wfdconfig.xml

761 lines
24 KiB
XML
Raw Permalink Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!--
Copyright (C) 2012 - 2019 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
-->
<WFDConfig>
<Capability>
<!--
Audio capabilities
-->
<AudioLPCM>
<Name>LPCM</Name>
<Valid>1</Valid>
<Channels>2</Channels>
<SamplingFreq>48000</SamplingFreq>
<Latency>33</Latency>
</AudioLPCM>
<AudioAAC>
<Name>AAC</Name>
<Valid>1</Valid>
<Channels>6</Channels>
<SamplingFreq>48000</SamplingFreq>
<Latency>0</Latency>
</AudioAAC>
<AudioAC3>
<Name>AC3</Name>
<Valid>0</Valid>
<Channels>0</Channels>
<SamplingFreq>0</SamplingFreq>
<Latency>0</Latency>
</AudioAC3>
<!--
Video extended capabilities for H264 codec
-->
<VideoFormats>
<VideoCodecHeader>
<TotalProfiles>3</TotalProfiles>
<PreferredDisplaySupport>0</PreferredDisplaySupport>
</VideoCodecHeader>
<!-- AVC Profile 0 - Constrained Baseline,
1 - Constrained High,
2 - Constrained High2,
3 - BaseLine
4 - Main
5 - High
HEVC Profile 0 - Main
-->
<!-- AVC Level 0 - 3.1,
1 - 3.2,
2 - 4.0,
3 - 4.1,
4 - 4.2,
5 - 5,
6 - 5.1,
7 - 5.2
HEVC Level 0 - 3.1,
1 - 4,
2 - 4.1,
3 - 5,
4 - 5.1
-->
<VideoCodec1>
<CodecName>H.264</CodecName>
<Profile>0</Profile>
<Level>6</Level>
<HorizontalResolution>3840</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec1>
<VideoCodec2>
<CodecName>H.264</CodecName>
<Profile>1</Profile>
<Level>6</Level>
<HorizontalResolution>3840</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec2>
<VideoCodec3>
<CodecName>H.265</CodecName>
<Profile>0</Profile>
<Level>4</Level>
<HorizontalResolution>3840</HorizontalResolution>
<VerticalResolution>2160</VerticalResolution>
<Latency>0</Latency>
<MinimumSliceSize>0</MinimumSliceSize>
<SliceEncodingParams>0</SliceEncodingParams>
<FrameRateControlSupp>1</FrameRateControlSupp>
<VideoFps>30</VideoFps>
<TranscodingMode>1</TranscodingMode>
<NonTranscodingMode>1</NonTranscodingMode>
</VideoCodec3>
</VideoFormats>
<!--
Aux streaming addition added for Direct streaming
-->
<AuxStreamInfo>
<Codec>
<Count>1</Count>
<Name1>PNG</Name1>
</Codec>
<!--
Limiting the number of layers to 5 in the overlay
Resolution is 720P
-->
<MaxOverlay>5</MaxOverlay>
<HRes>1280</HRes>
<VRes>720</VRes>
<Mode>CEA</Mode>
</AuxStreamInfo>
<!--
Standby Resume capability is supported
-->
<StandbyResumeCapability>
<Valid>1</Valid>
</StandbyResumeCapability>
<!--
Explicit AV format change
Not supported
-->
<AVFormatChange>
<Valid>0</Valid>
<AVInterval>0</AVInterval>
</AVFormatChange>
<!--
Frame skipping interval is in the scale of 500 msec or half second.
FrameInterval can be between 1 to 7, according to the WFD spec.
0 means Frame skipping interval is infinite and recommended value is 0
-->
<FrameSkipping>
<Valid>1</Valid>
<FrameInterval>0</FrameInterval>
</FrameSkipping>
<!-- disable HDCP by default -->
<ContentProtection>
<Valid>1</Valid>
<!--
Valid values WFD_HDCP_2_0,
WFD_HDCP_2_1 and WFD_HDCP_2_2
-->
<Version>WFD_HDCP_2_3</Version>
<CPPort>6789</CPPort>
<!--
turn on/off audio encryption
-->
<EncryptAudio>0</EncryptAudio>
</ContentProtection>
<!--
To enable RTP dump at source
-->
<RTPDumpEnable>
<!-- DEPRECATED -->
<!-- For enabling RTP encoder dumping set
persist.vendor.debug.rtp.enable_dump to 1
/data/media/dump.ts
-->
</RTPDumpEnable>
<!--
UIBC settings
-->
<UIBC>
<UIBCValid>1</UIBCValid> <!-- UIBC by default enabled -->
<M4Enable>1</M4Enable> <!-- 0/1 send UIBC enable in M4 or not -->
<M14Support>0</M14Support> <!-- 0/1 M14 supported or not -->
<InputCategory>
<Generic>1</Generic> <!-- 0/1 - support generic or not -->
<HID>1</HID> <!-- 0/1 - support HID or not -->
</InputCategory>
<!-- Supported input events -->
<InputEvents>
<GenericInputEvents>
<!-- 0/1 for all Input Event Types -->
<Mouse>1</Mouse>
<Keyboard>1</Keyboard>
<SingleTouch>1</SingleTouch>
<MultiTouch>1</MultiTouch>
<JoyStick>0</JoyStick>
<Camera>0</Camera>
<Gesture>0</Gesture>
<RemoteControl>0</RemoteControl>
</GenericInputEvents>
<!--
Each input path will have a byte and support
for the input types is indicated by setting a bit:
KEYBOARD BIT0
MOUSE BIT1
SINGLETOUCH BIT2
MULTITOUCH BIT3
JOYSTICK BIT4
CAMERA BIT5
GESTURE BIT6
REMOTECONTROL BIT7
-->
<HIDInputPaths>
<Infrared>0</Infrared>
<USB>3</USB>
<BT>0</BT>
<Zigbee>0</Zigbee>
<Wifi>0</Wifi>
<NoSP>0</NoSP>
</HIDInputPaths>
</InputEvents>
<!-- TCP port on which UIBC connection established -->
<TcpPort>4321</TcpPort>
</UIBC>
</Capability>
<!--
Enabling Rtcp
-->
<RTCP>
<RtcpRRNotificationEnabled>1</RtcpRRNotificationEnabled>
</RTCP>
<!--
Dynamic bitrate adaptation is supported based on link speed
Based on the available link speed change video bitrate dynamically
-->
<DynamicBitrateAdaptation>1</DynamicBitrateAdaptation>
<!--
Send keep alive messages for every 50sec
-->
<SendKeepAlive>1</SendKeepAlive>
<!--
RTSP port on which RTSP server is running
-->
<RTSPPort>5550</RTSPPort>
<!--
To configure video core in SVS mode
-->
<PerformanceLevelSVSMode>0</PerformanceLevelSVSMode>
<!--
To configure video core in Nominal mode
-->
<PerformanceLevelNominalMode>0</PerformanceLevelNominalMode>
<!--
To configure video core in Turbo mode
-->
<PerformanceLevelTurboMode>0</PerformanceLevelTurboMode>
<!--
To configure minqp value
-->
<MinQPValue>22</MinQPValue>
<!--
To configure maxqp value
-->
<MaxQPValue>44</MaxQPValue>
<!--
Bitrate settings for each mode
-->
<BitrateTable>
<!--
Bitrate table for Audio formats
-->
<AAC>
<!--
Bitrate table for AAC
-->
<BIT0>
<MaxBitrate>256000</MaxBitrate>
<MinBitrate>256000</MinBitrate>
</BIT0>
<BIT1>
<MaxBitrate>384000</MaxBitrate>
<MinBitrate>384000</MinBitrate>
</BIT1>
<BIT2>
<MaxBitrate>512000</MaxBitrate>
<MinBitrate>512000</MinBitrate>
</BIT2>
</AAC>
<!--
CEA Min and Max bit rates for each resolution
Will configure the video core with MaxBitrate
Based on the available link speed video bitrate
can go upto MinBitrate
-->
<CEA>
<!-- 640x480p60 -->
<BIT0>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT0>
<!-- 720x480p60 -->
<BIT1>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT1>
<!-- 720x480i60 -->
<BIT2>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT2>
<!-- 720x576p50 -->
<BIT3>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT3>
<!-- 720x576i50 -->
<BIT4>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT4>
<!-- 1280x720p30 -->
<BIT5>
<MinBitrate>2500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT5>
<!-- 1280x720p60 -->
<BIT6>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT6>
<!-- 1920x1080p30 -->
<BIT7>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT7>
<!-- 1920x1080p60 -->
<BIT8>
<MinBitrate>7000000</MinBitrate>
<MaxBitrate>13000000</MaxBitrate>
</BIT8>
<!-- 1920x1080i60 -->
<BIT9>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT9>
<!-- 1280x720p25 -->
<BIT10>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT10>
<!-- 1280x720p50 -->
<BIT11>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT11>
<!-- 1920x1080p25 -->
<BIT12>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT12>
<!-- 1920x1080p50 -->
<BIT13>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT13>
<!-- 1920x1080i50 -->
<BIT14>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT14>
<!-- 1280x720p24 -->
<BIT15>
<MinBitrate>2500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT15>
<!-- 1920x1080p24 -->
<BIT16>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT16>
<!-- 3840x2160p24 -->
<BIT17>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT17>
<!-- 3840x2160 p25 -->
<BIT18>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT18>
<!-- 3840x2160p30 -->
<BIT19>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT19>
<!-- 3840x2160p50 -->
<BIT20>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT20>
<!-- 3840x2160p60 -->
<BIT21>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT21>
<!-- 4096x2160p24 -->
<BIT22>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT22>
<!-- 4096x2160p25 -->
<BIT23>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT23>
<!-- 4096x2160p30 -->
<BIT24>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT24>
<!-- 4096x2160p50 -->
<BIT25>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT25>
<!-- 4096x2160 p60 -->
<BIT26>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT26>
</CEA>
<!--
VESA Min and Max bit rates for each resolution
Will configure the video core with MaxBitrate
Based on the available link speed video bitrate
can go upto MinBitrate
-->
<VESA>
<!-- 800x600p30 -->
<BIT0>
<MinBitrate>500000</MinBitrate>
<MaxBitrate>2000000</MaxBitrate>
</BIT0>
<!-- 800x600p60 -->
<BIT1>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>5000000</MaxBitrate>
</BIT1>
<!-- 1024x768p30 -->
<BIT2>
<MinBitrate>2500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT2>
<!-- 1024x768p60 -->
<BIT3>
<MinBitrate>2500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT3>
<!-- 1152x864p30 -->
<BIT4>
<MinBitrate>2500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT4>
<!-- 1152x864p60 -->
<BIT5>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT5>
<!-- 1280x768p30 -->
<BIT6>
<MinBitrate>2500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT6>
<!-- 1280x768p60 -->
<BIT7>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT7>
<!-- 1280x800p30 -->
<BIT8>
<MinBitrate>3500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT8>
<!-- 1280x800p60 -->
<BIT9>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT9>
<!-- 1360x768p30 -->
<BIT10>
<MinBitrate>3500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT10>
<!-- 1360x768p60 -->
<BIT11>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT11>
<!-- 1366x768p30 -->
<BIT12>
<MinBitrate>2500000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT12>
<!-- 1366x768p60 -->
<BIT13>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT13>
<!-- 1280x1024p30 -->
<BIT14>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT14>
<!-- 1280x1024p60 -->
<BIT15>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT15>
<!-- 1400x1050p30 -->
<BIT16>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT16>
<!-- 1400x1050p60 -->
<BIT17>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT17>
<!-- 1440x900p30 -->
<BIT18>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT18>
<!-- 1440x900p60 -->
<BIT19>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT19>
<!-- 1600x900p30 -->
<BIT20>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT20>
<!-- 1600x900p60 -->
<BIT21>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT21>
<!-- 1600x1200p30 -->
<BIT22>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT22>
<!-- 1600x1200p60 -->
<BIT23>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT23>
<!-- 1680x1024p30 -->
<BIT24>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT24>
<!-- 1680x1024p60 -->
<BIT25>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT25>
<!-- 1680x1050p30 -->
<BIT26>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT26>
<!-- 1680x1050p60 -->
<BIT27>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT27>
<!-- 1920x1200p30 -->
<BIT28>
<MinBitrate>5000000</MinBitrate>
<MaxBitrate>10000000</MaxBitrate>
</BIT28>
<!-- 1920x1200p60 -->
<BIT29>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT29>
<!-- 2560x1440p30 -->
<BIT30>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT30>
<!-- 2560x1440p60 -->
<BIT31>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>20000000</MaxBitrate>
</BIT31>
<!-- 2560x1600p30 -->
<BIT32>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>15000000</MaxBitrate>
</BIT32>
<!-- 2560x1600p60 -->
<BIT33>
<MinBitrate>10000000</MinBitrate>
<MaxBitrate>30000000</MaxBitrate>
</BIT33>
</VESA>
<!--
HH Min and Max bit rates for each resolution
Will configure the video core with MaxBitrate
Based on the available link speed video bitrate
can go upto MinBitrate
-->
<HH>
<!-- 800x480p30 -->
<BIT0>
<MinBitrate>500000</MinBitrate>
<MaxBitrate>2000000</MaxBitrate>
</BIT0>
<!-- 800x480p60 -->
<BIT1>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT1>
<!-- 854x480p30 -->
<BIT2>
<MinBitrate>500000</MinBitrate>
<MaxBitrate>2000000</MaxBitrate>
</BIT2>
<!-- 854x480p60 -->
<BIT3>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT3>
<!-- 864x480p30 -->
<BIT4>
<MinBitrate>500000</MinBitrate>
<MaxBitrate>2000000</MaxBitrate>
</BIT4>
<!-- 864x480p60 -->
<BIT5>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT5>
<!-- 640x360p30 -->
<BIT6>
<MinBitrate>500000</MinBitrate>
<MaxBitrate>2000000</MaxBitrate>
</BIT6>
<!-- 640x360p60 -->
<BIT7>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT7>
<!-- 960x540p30 -->
<BIT8>
<MinBitrate>500000</MinBitrate>
<MaxBitrate>2000000</MaxBitrate>
</BIT8>
<!-- 960x540p60 -->
<BIT9>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT9>
<!-- 848x480p30 -->
<BIT10>
<MinBitrate>500000</MinBitrate>
<MaxBitrate>2000000</MaxBitrate>
</BIT10>
<!-- 848x480p60 -->
<BIT11>
<MinBitrate>1000000</MinBitrate>
<MaxBitrate>4000000</MaxBitrate>
</BIT11>
</HH>
</BitrateTable>
<!--
To disable/enable audio stream playback
support during power suspend - 0 or 1
-->
<!-- #ifdef OPLUS_BUG_STABILITY -->
<!-- Liang.Xu@PSW.MM.AudioServer.Base.1297775, 2018/12/12, -->
<!-- Modify for audio should still playing on TV after screen off -->
<AudioStreamInSuspend>1</AudioStreamInSuspend>
<!-- #endif //OPLUS_BUG_STABILITY -->
<!--
Compensation delay for audio
This is maintain good AV sync in the mux TS A + V stream Recommended
value is 150 msec arrived at this number after fine tuning OEMs can
change this value in case they want
-->
<AudioAVSyncDelay>-150</AudioAVSyncDelay>
<!--
enable/disable CyclicIntraRefresh
-->
<CyclicIntraRefresh>0</CyclicIntraRefresh>
<!--
NumberOfMacroBlocks for V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB
-->
<CIRNumberOfMacroBlocks>50</CIRNumberOfMacroBlocks>
<!--
Enable/Disable NALU byte to detect end of AU
-->
<DisableFillerNalU>1</DisableFillerNalU>
<!--
Enable/Disable to generate blank frame during suspend/resume
-->
<GenerateBlankFrame>0</GenerateBlankFrame>
<!--
To disable fixed interval of IDR frames, set PeriodicIDRValid to 0.
Set the duration in seconds after which full refresh is required in
the PeriodicIDRInterval
Recommended value is 5 secs
-->
<PeriodicIDRSettings>
<PeriodicIDRValid>1</PeriodicIDRValid>
<PeriodicIDRInterval>5</PeriodicIDRInterval>
</PeriodicIDRSettings>
<!-- Direct Streaming Feature support -->
<StreamingSupport>1</StreamingSupport>
<!-- Enfore HDCP for Direct Streaming -->
<DSRequiresHDCP>1</DSRequiresHDCP>
</WFDConfig>