openh264/test/encoder/EncUT_EncoderTaskManagement.cpp

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;
}