if ((wide_mode >= VIDEO_WIDEOPTION_4_3_IGNORE) && (wide_mode <= VIDEO_WIDEOPTION_16_9_COMBINED) && orig_aspect)
时间: 2023-10-22 18:07:03 浏览: 90
这段代码的作用是什么?
这段代码的作用是判断视频显示模式是否为4:3或16:9的宽屏模式,并且视频的原始宽高比(即视频的宽度与高度之比)不为0。如果满足这些条件,则进入条件语句内部执行相应的操作,否则跳过不执行。在这里,wide_mode 是视频的宽屏模式,orig_aspect 是视频的原始宽高比。这段代码可能被用于视频显示模块的初始化或者视频播放过程中的分辨率调整等操作。
相关问题
static void smblib_handle_rp_change(struct smb_charger *chg, int typec_mode) { int rp_ua; const struct apsd_result *apsd = smblib_get_apsd_result(chg); if ((apsd->pst != POWER_SUPPLY_TYPE_USB_DCP) && (apsd->pst != POWER_SUPPLY_TYPE_USB_FLOAT)) return; /* * if APSD indicates FLOAT and the USB stack had detected SDP, * do not respond to Rp changes as we do not confirm that its * a legacy cable */ if (chg->real_charger_type == POWER_SUPPLY_TYPE_USB) return; /* * We want the ICL vote @ 100mA for a FLOAT charger * until the detection by the USB stack is complete. * Ignore the Rp changes unless there is a * pre-existing valid vote. */ if (apsd->pst == POWER_SUPPLY_TYPE_USB_FLOAT && get_client_vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER) <= 100000) return; /* * handle Rp change for DCP/FLOAT/OCP. * Update the current only if the Rp is different from * the last Rp value. */ smblib_dbg(chg, PR_MISC, "CC change old_mode=%d new_mode=%d\n", chg->typec_mode, typec_mode); rp_ua = get_rp_based_dcp_current(chg, typec_mode); vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER, true, rp_ua); }代码分析
这段代码是在 `smblib_handle_rp_change` 函数中的一段具体实现。该函数的作用是处理 Type-C 口模式变化时的操作,该代码段主要负责根据 Type-C 口模式更新充电器的电流限制值。
首先,通过 `smblib_get_apsd_result` 函数获取当前的充电状态信息,并将结果存储在变量 `apsd` 中。然后,该代码段会判断当前的充电状态是否为 USB DCP 或者 USB FLOAT,如果不是则直接返回。接着,该代码段会判断当前的充电类型是否为 USB,如果是则直接返回。最后,该代码段会根据 Type-C 口模式计算出新的电流限制值,并将其设置为充电器的电流限制值。
需要注意的是,该代码段只是一个片段,无法确定整个程序的具体作用。如果需要进一步了解程序的作用,需要查看整个程序的代码。
阅读全文