History

remove thread cpu core bind

volvet committed 12 years ago

Commit 9fd7fbc1 parent f3050962 files · +0 −23Browse files

Showing the changes to codec/encoder/core/src/slice_multi_threading.cpp (1 of 2 files). Show all

Unified · Split

codec/encoder/core/src/slice_multi_threading.cpp+0−19
@@ -951,29 +951,10 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 950 unmodified lines
951int32_t CreateSliceThreads (sWelsEncCtx* pCtx) {951int32_t CreateSliceThreads (sWelsEncCtx* pCtx) {
952 const int32_t kiThreadCount = pCtx->pSvcParam->iCountThreadsNum;952 const int32_t kiThreadCount = pCtx->pSvcParam->iCountThreadsNum;
953 int32_t iIdx = 0;953 int32_t iIdx = 0;
954#if defined(_WIN32) && defined(BIND_CPU_CORES_TO_THREADS)
955 DWORD dwProcessAffinity;
956 DWORD dwSystemAffinity;
957 GetProcessAffinityMask (GetCurrentProcess(), &dwProcessAffinity, &dwSystemAffinity);
958#endif//WIN32 && BIND_CPU_CORES_TO_THREADS
959 954
960 while (iIdx < kiThreadCount) {955 while (iIdx < kiThreadCount) {
961 WelsThreadCreate (&pCtx->pSliceThreading->pThreadHandles[iIdx], CodingSliceThreadProc,956 WelsThreadCreate (&pCtx->pSliceThreading->pThreadHandles[iIdx], CodingSliceThreadProc,
962 &pCtx->pSliceThreading->pThreadPEncCtx[iIdx], 0);957 &pCtx->pSliceThreading->pThreadPEncCtx[iIdx], 0);
963#if defined(_WIN32) && defined(BIND_CPU_CORES_TO_THREADS)
964 if (dwProcessAffinity > 1
965 && pCtx->pSliceThreading->pThreadHandles[iIdx] != NULL) { // multiple cores and thread created successfully
966 DWORD dw = 0;
967 DWORD dwAffinityMask = 1 << iIdx;
968 if (dwAffinityMask & dwProcessAffinity) { // check if cpu is available
969 dw = SetThreadAffinityMask (pCtx->pSliceThreading->pThreadHandles[iIdx], dwAffinityMask); //1 << iIdx
970 if (dw == 0) {
971 char str[64] = {0};
972 WelsSnprintf (str, 64, "SetThreadAffinityMask iIdx:%d", iIdx);
973 }
974 }
975 }
976#endif//WIN32 && BIND_CPU_CORES_TO_THREADS
977 958
978 ++ iIdx;959 ++ iIdx;
979 }960 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t