diff --git a/VoidLink/Base.lproj/iPad.storyboard b/VoidLink/Base.lproj/iPad.storyboard index ae03359a..2aae85ee 100644 --- a/VoidLink/Base.lproj/iPad.storyboard +++ b/VoidLink/Base.lproj/iPad.storyboard @@ -1305,13 +1305,12 @@ - + - @@ -3244,19 +3243,19 @@ - + - + - + - + diff --git a/VoidLink/Base.lproj/iPhone.storyboard b/VoidLink/Base.lproj/iPhone.storyboard index b612e756..5da9b955 100644 --- a/VoidLink/Base.lproj/iPhone.storyboard +++ b/VoidLink/Base.lproj/iPhone.storyboard @@ -1129,13 +1129,12 @@ - + - diff --git a/VoidLink/ViewControllers/MainFrameViewController.m b/VoidLink/ViewControllers/MainFrameViewController.m index db165fdd..84bc1887 100644 --- a/VoidLink/ViewControllers/MainFrameViewController.m +++ b/VoidLink/ViewControllers/MainFrameViewController.m @@ -871,6 +871,7 @@ static NSMutableSet* hostList; case CODEC_PREF_AV1: #if defined(__IPHONE_16_0) || defined(__TVOS_16_0) if (VTIsHardwareDecodeSupported(kCMVideoCodecType_AV1)) { + _streamConfig.fullColorRange = false; if (streamSettings.enableYUV444) { _streamConfig.supportedVideoFormats |= VIDEO_FORMAT_AV1_HIGH8_444; } @@ -1589,11 +1590,14 @@ static NSMutableSet* hostList; if(![GenericUtils needUpdateDefaultSettings]) return; DataManager* dataMan = [[DataManager alloc] init]; Settings* settings = [dataMan retrieveSettings]; + + settings.preferredCodec = VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC) ? CODEC_PREF_HEVC : CODEC_PREF_H264; + switch ([UIDevice currentDevice].userInterfaceIdiom) { case UIUserInterfaceIdiomPhone: settings.sdrPerformanceWorkaround = true; settings.framePacingMode = @(FramePacingModeQueue); - settings.asyncFrameDequeue = true; + settings.asyncFrameDequeue = false; settings.touchMoveEventInterval = @(45); break; case UIUserInterfaceIdiomPad: diff --git a/VoidLink/ViewControllers/SettingsViewController.m b/VoidLink/ViewControllers/SettingsViewController.m index 2e42cb24..0fe3bc18 100644 --- a/VoidLink/ViewControllers/SettingsViewController.m +++ b/VoidLink/ViewControllers/SettingsViewController.m @@ -1875,7 +1875,8 @@ BOOL isCustomResolution(int resolutionSelected) { switch (self->tempSettings.preferredCodec) { case CODEC_PREF_AUTO: - [self.codecSelector setSelectedSegmentIndex:self.codecSelector.numberOfSegments - 1]; + [self.codecSelector setSelectedSegmentIndex:VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC) ? CODEC_PREF_HEVC-1 : CODEC_PREF_H264-1]; + [self codecSelectorChanged:self.codecSelector]; break; case CODEC_PREF_AV1: @@ -3280,24 +3281,16 @@ BOOL isCustomResolution(int resolutionSelected) { - (uint32_t) getChosenCodecPreference { // Auto is always the last segment - if (self.codecSelector.selectedSegmentIndex == self.codecSelector.numberOfSegments - 1) { - return CODEC_PREF_AUTO; - } - else { switch (self.codecSelector.selectedSegmentIndex) { case 0: return CODEC_PREF_H264; - case 1: return CODEC_PREF_HEVC; - case 2: return CODEC_PREF_AV1; - default: - abort(); + return VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC) ? CODEC_PREF_HEVC : CODEC_PREF_H264; } - } } - (NSInteger) getChosenStreamHeight { @@ -3788,7 +3781,7 @@ BOOL isCustomResolution(int resolutionSelected) { BOOL isAV1 = (codec == CODEC_PREF_AV1); BOOL isH264 = (codec == CODEC_PREF_H264); BOOL isHEVC = (codec == CODEC_PREF_HEVC); - + if (isAV1) { // AV1 must use limited range, so disable fullRange and turn it off [self.fullColorRangeSwitch setOn:NO animated:NO]; diff --git a/VoidLink/mul.lproj/iPad.xcstrings b/VoidLink/mul.lproj/iPad.xcstrings index fbe83788..5feba062 100644 --- a/VoidLink/mul.lproj/iPad.xcstrings +++ b/VoidLink/mul.lproj/iPad.xcstrings @@ -55,7 +55,7 @@ }, "zh-HK" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "關閉" } } @@ -115,7 +115,7 @@ }, "zh-HK" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "佇列緩衝" } } @@ -385,7 +385,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "非线性因子" } }, @@ -445,7 +445,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "内置陀螺仪映射为" } }, @@ -661,7 +661,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "延迟鼠标左单击" } }, @@ -1045,36 +1045,6 @@ } } }, - "aFy-0w-YPe.segmentTitles[3]" : { - "comment" : "Class = \"UISegmentedControl\"; aFy-0w-YPe.segmentTitles[3] = \"Auto\"; ObjectID = \"aFy-0w-YPe\";", - "extractionState" : "extracted_with_value", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "Auto" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "自动" - } - }, - "zh-Hant" : { - "stringUnit" : { - "state" : "translated", - "value" : "自動" - } - }, - "zh-HK" : { - "stringUnit" : { - "state" : "translated", - "value" : "自動" - } - } - } - }, "aGg-ET-e9F.text" : { "comment" : "Class = \"UILabel\"; text = \"Edge Trigger Sensitivity\"; ObjectID = \"aGg-ET-e9F\";", "extractionState" : "extracted_with_value", @@ -1087,7 +1057,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "边缘触发灵敏度" } }, @@ -1117,7 +1087,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "串流帧率" } }, @@ -1219,7 +1189,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "显示本地软键盘工具栏" } }, @@ -1249,7 +1219,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "关闭" } }, @@ -1279,7 +1249,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "启用" } }, @@ -1429,7 +1399,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "单点鼠标" } }, @@ -1489,7 +1459,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "导出所有" } }, @@ -1729,7 +1699,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "HD" } }, @@ -1759,7 +1729,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "鼠标按下" } }, @@ -1789,7 +1759,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "捏合快捷键" } }, @@ -2436,7 +2406,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "触点灵敏度" } }, @@ -3138,7 +3108,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "最小偏移量(陀螺仪→摇杆)" } }, @@ -3774,7 +3744,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "禁用" } }, @@ -3804,7 +3774,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "允许" } }, @@ -3834,7 +3804,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "屏显控件" } }, @@ -3864,7 +3834,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "串流码率" } }, @@ -3894,7 +3864,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "帧步进控制" } }, @@ -4146,7 +4116,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "触控模式" } }, @@ -4326,7 +4296,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "打开软键盘" } }, @@ -4458,7 +4428,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "鼠标指针灵敏度" } }, @@ -4680,7 +4650,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "手势滑动触发距离" } }, @@ -4752,7 +4722,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "串流分辨率" } }, @@ -4993,7 +4963,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "灵敏度分割位置" } }, @@ -5095,7 +5065,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "唤醒本地软键盘时, 抬升串流视图" } }, @@ -5593,7 +5563,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "轻点两下快捷键" } }, @@ -5917,7 +5887,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "异步帧出队" } }, @@ -5989,7 +5959,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "轻按任意控件加载配置 (各控件独立)" } }, @@ -6031,7 +6001,7 @@ }, "zh-Hans" : { "stringUnit" : { - "state" : "needs_review", + "state" : "translated", "value" : "指针速度" } }, @@ -6079,36 +6049,6 @@ } } }, - "Ylu-hT-Cuz.text" : { - "comment" : "Class = \"UILabel\"; text = \"The recommended value is 2. 1 frame provides the lowest latency, but may require an Ethernet connection.\"; ObjectID = \"Ylu-hT-Cuz\";", - "extractionState" : "stale", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "The recommended value is 2. 1 frame provides the lowest latency, but may require an Ethernet connection." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "建议值为2。1帧提供最低延迟,但可能需要以太网连接。" - } - }, - "zh-Hant" : { - "stringUnit" : { - "state" : "translated", - "value" : "建議值為2。1影格提供最低延遲,但可能需要乙太網路連線。" - } - }, - "zh-HK" : { - "stringUnit" : { - "state" : "translated", - "value" : "建議值為2。1影格提供最低延遲,但可能需要乙太網路連線。" - } - } - } - }, "YM8-us-6sh.text" : { "comment" : "Class = \"UILabel\"; text = \"Haptic Engine\"; ObjectID = \"YM8-us-6sh\";", "extractionState" : "extracted_with_value", diff --git a/VoidLink/mul.lproj/iPhone.xcstrings b/VoidLink/mul.lproj/iPhone.xcstrings index 836c3ca4..3dc37ff7 100644 --- a/VoidLink/mul.lproj/iPhone.xcstrings +++ b/VoidLink/mul.lproj/iPhone.xcstrings @@ -487,36 +487,6 @@ } } }, - "5Y7-To-ca2.segmentTitles[3]" : { - "comment" : "Class = \"UISegmentedControl\"; 5Y7-To-ca2.segmentTitles[3] = \"Auto\"; ObjectID = \"5Y7-To-ca2\";", - "extractionState" : "extracted_with_value", - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "Auto" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "自动" - } - }, - "zh-Hant" : { - "stringUnit" : { - "state" : "translated", - "value" : "自動" - } - }, - "zh-HK" : { - "stringUnit" : { - "state" : "translated", - "value" : "自動" - } - } - } - }, "6g1-G6-jZx.segmentTitles[0]" : { "comment" : "Class = \"UISegmentedControl\"; 6g1-G6-jZx.segmentTitles[0] = \"3 Finger Tap\"; ObjectID = \"6g1-G6-jZx\";", "extractionState" : "extracted_with_value",