49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
#include <gtest/gtest.h>
|
|
|
|
#include "utils/DataGenerator.h"
|
|
#include "encoder_context.h"
|
|
#include "wels_task_management.h"
|
|
|
|
using namespace WelsEnc;
|
|
|
|
|
|
TEST (EncoderTaskManagement, CWelsTaskManageBase) {
|
|
sWelsEncCtx sCtx;
|
|
SWelsSvcCodingParam sWelsSvcCodingParam;
|
|
|
|
sCtx.pSvcParam = &sWelsSvcCodingParam;
|
|
sWelsSvcCodingParam.iMultipleThreadIdc = 4;
|
|
sCtx.iMaxSliceCount = 35;
|
|
IWelsTaskManage* pTaskManage = IWelsTaskManage::CreateTaskManage (&sCtx, 1, false);
|
|
ASSERT_TRUE (NULL != pTaskManage);
|
|
|
|
delete pTaskManage;
|
|
}
|
|
|
|
TEST (EncoderTaskManagement, CWelsTaskManageParallel) {
|
|
sWelsEncCtx sCtx;
|
|
SWelsSvcCodingParam sWelsSvcCodingParam;
|
|
|
|
sCtx.pSvcParam = &sWelsSvcCodingParam;
|
|
sWelsSvcCodingParam.iMultipleThreadIdc = 4;
|
|
sCtx.iMaxSliceCount = 35;
|
|
IWelsTaskManage* pTaskManage = IWelsTaskManage::CreateTaskManage (&sCtx, 1, true);
|
|
ASSERT_TRUE (NULL != pTaskManage);
|
|
|
|
delete pTaskManage;
|
|
}
|
|
|
|
TEST (EncoderTaskManagement, CWelsTaskManageMultiD) {
|
|
sWelsEncCtx sCtx;
|
|
SWelsSvcCodingParam sWelsSvcCodingParam;
|
|
|
|
sCtx.pSvcParam = &sWelsSvcCodingParam;
|
|
sWelsSvcCodingParam.iMultipleThreadIdc = 4;
|
|
sWelsSvcCodingParam.sSpatialLayers[0].sSliceArgument.uiSliceNum = 35;
|
|
sCtx.iMaxSliceCount = 35;
|
|
|
|
IWelsTaskManage* pTaskManage = IWelsTaskManage::CreateTaskManage (&sCtx, 4, true);
|
|
ASSERT_TRUE (NULL != pTaskManage);
|
|
|
|
delete pTaskManage;
|
|
} |