refine code

This commit is contained in:
lyao2
2014-09-01 17:49:59 +08:00
parent 24bd0b74ae
commit 849a730608

View File

@@ -174,7 +174,7 @@ TEST_F (EncoderInterfaceTest, EncoderAdditionalOptionSetTest) {
iResult = pPtrEnc->GetOption (eOptionId, &iReturn); iResult = pPtrEnc->GetOption (eOptionId, &iReturn);
EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess));
EXPECT_EQ (iValue, iReturn); EXPECT_EQ (iValue, iReturn);
PrepareOneSrcFrame(); PrepareOneSrcFrame();
iResult = pPtrEnc->EncodeFrame (pSrcPic, &sFbi); iResult = pPtrEnc->EncodeFrame (pSrcPic, &sFbi);
EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess));
@@ -188,7 +188,7 @@ TEST_F (EncoderInterfaceTest, EncoderAdditionalOptionSetTest) {
EXPECT_EQ (iResult, static_cast<int> (cmInitParaError)); EXPECT_EQ (iResult, static_cast<int> (cmInitParaError));
else{ else{
EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess));
iResult = pPtrEnc->GetOption (eOptionId, &fReturn); iResult = pPtrEnc->GetOption (eOptionId, &fReturn);
EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess));
EXPECT_EQ (WELS_CLIP3 (fValue, 1, 30), fReturn); EXPECT_EQ (WELS_CLIP3 (fValue, 1, 30), fReturn);
@@ -248,19 +248,20 @@ TEST_F (EncoderInterfaceTest, EncoderAdditionalOptionSetTest) {
TEST_F (EncoderInterfaceTest, TemporalLayerSettingTest) { TEST_F (EncoderInterfaceTest, TemporalLayerSettingTest) {
pParamExt->iPicWidth = m_iWidth; pParamExt->iPicWidth = 1280;
pParamExt->iPicHeight = m_iHeight; pParamExt->iPicHeight = 720;
m_iWidth = pParamExt->iPicWidth;
m_iHeight = pParamExt->iPicHeight;
pParamExt->iTargetBitrate = 60000; pParamExt->iTargetBitrate = 60000;
pParamExt->sSpatialLayers[0].iVideoHeight = pParamExt->iPicHeight; pParamExt->sSpatialLayers[0].iVideoHeight = pParamExt->iPicHeight;
pParamExt->sSpatialLayers[0].iVideoWidth = pParamExt->iPicWidth; pParamExt->sSpatialLayers[0].iVideoWidth = pParamExt->iPicWidth;
pParamExt->sSpatialLayers[0].iSpatialBitrate = 50000; pParamExt->sSpatialLayers[0].iSpatialBitrate = 50000;
pParamExt->iTemporalLayerNum = 1; pParamExt->iTemporalLayerNum = 1;
pParamExt->iSpatialLayerNum = 1; pParamExt->iSpatialLayerNum = 1;
int iResult;
for(int i = 0; i < 2; i++){ for(int i = 0; i < 2; i++){
pParamExt->iUsageType = (( i == 0 ) ? SCREEN_CONTENT_REAL_TIME : CAMERA_VIDEO_REAL_TIME); pParamExt->iUsageType = (( i == 0 ) ? SCREEN_CONTENT_REAL_TIME : CAMERA_VIDEO_REAL_TIME);
iResult = pPtrEnc->InitializeExt (pParamExt); int iResult = pPtrEnc->InitializeExt (pParamExt);
EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess));
PrepareOneSrcFrame(); PrepareOneSrcFrame();
@@ -307,6 +308,46 @@ TEST_F (EncoderInterfaceTest, TemporalLayerSettingTest) {
EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess));
} }
InitializeParamExt();
pParamExt->iUsageType = (rand() % 2) ? SCREEN_CONTENT_REAL_TIME : CAMERA_VIDEO_REAL_TIME;
pParamExt->iRCMode = (rand() % 2) ? RC_BITRATE_MODE : RC_QUALITY_MODE;
int iResult = pPtrEnc->InitializeExt (pParamExt);
const int kiFrameNumber = TEST_FRAMES;
m_iWidth = pParamExt->iPicWidth;
m_iHeight = pParamExt->iPicHeight;
m_iPicResSize = m_iWidth * m_iHeight * 3 >> 1;
delete []pYUV;
pYUV = new unsigned char [m_iPicResSize];
ASSERT_TRUE (pYUV != NULL);
PrepareOneSrcFrame();
ENCODER_OPTION eOptionId = ENCODER_OPTION_SVC_ENCODE_PARAM_EXT;
memcpy (pOption, pParamExt, sizeof (SEncParamExt));
for(int i = 0; i < kiFrameNumber; i ++){
if ((i%7) == 0){
if (pOption->iTemporalLayerNum<4){
pOption->iTemporalLayerNum++;
} else {
pOption->iTemporalLayerNum--;
}
iResult = pPtrEnc->SetOption (eOptionId, pOption);
EXPECT_EQ (iResult, static_cast<int32_t> (cmResultSuccess));
pSrcPic->uiTimeStamp += 30;
}
int iStartX = rand() % (m_iPicResSize >> 1);
int iEndX = (iStartX + (rand() % MEM_VARY_SIZE)) % m_iPicResSize;
for (int j = iStartX; j < iEndX; j++)
pYUV[j] = rand() % 256;
iResult = pPtrEnc->EncodeFrame (pSrcPic, &sFbi);
EXPECT_EQ (iResult, static_cast<int32_t> (cmResultSuccess));
pSrcPic->uiTimeStamp += 30;
}
iResult = pPtrEnc->Uninitialize(); iResult = pPtrEnc->Uninitialize();
EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess));