for (int nIndex = 0; nIndex < iEncoderCount; nIndex++)
{
//pVXVideoEncoderModule->GetEncoderInfo(nFourCC, nIndex, VX_INFO_TYPE_DESCRIPTION, nullptr, nInfoSize);
char pcEncoderName[MAXENCODERNAME];
pVXVideoEncoderModule->GetEncoderInfo(nFourCC, nIndex, VX_INFO_TYPE_DESCRIPTION, pcEncoderName, nInfoSize);
wchar_t* wchar;
int len = MultiByteToWideChar(CP_ACP, 0, pcEncoderName, strlen(pcEncoderName), NULL, 0);
wchar = new wchar_t[len + 1];
MultiByteToWideChar(CP_ACP, 0, pcEncoderName, strlen(pcEncoderName), wchar, len);
wchar[len] = '\0';
std::wstring w_str = wchar;
TPLogInfoX(_T("TPFile"), _T("[VXVideoEncoderModule] TPFileMange TPFileMange.cpp, vecEncoderName[%d] = %ls"), nIndex, wchar);
delete[]wchar;
if (nFourCC == FOURCC_JPXS || nFourCC == FOURCC_SSVC)
{
//注意必须要赋初值,不然下一次循环来的时候,会记录上一次的值
int nTotalMemSize = 0;
int nAdapterCnt = 0;
TPFile_GetAdapterParams(nTotalMemSize, nAdapterCnt);
CString csEncoderName;
csEncoderName.Format(_T("%s"), CStringW(pcEncoderName));
if(nTotalMemSize < 8000 && 0 == csEncoderName.CompareNoCase(_T("GPU CUDAEnc")))
continue;
}
vecEncoderName.push_back(w_str);
}
循环里面的局部变量问题
最新推荐文章于 2022-12-29 22:45:57 发布