Merge pull request #1469 from shihuade/APIUTV1.5.2

refactor --for BaseEncoderTest
This commit is contained in:
sijchen
2014-11-03 09:31:11 +08:00
5 changed files with 113 additions and 63 deletions

View File

@@ -91,15 +91,38 @@ class DecodeEncodeTest : public ::testing::TestWithParam<DecodeEncodeFileParam>,
BufferedData buf_;
};
void DecEncFileParamToParamExt (DecodeEncodeFileParam * pDecEncFileParam, SEncParamExt* pEnxParamExt) {
ASSERT_TRUE (NULL != pDecEncFileParam && NULL != pEnxParamExt);
pEnxParamExt->iPicWidth = pDecEncFileParam->width;
pEnxParamExt->iPicHeight = pDecEncFileParam->height;
pEnxParamExt->fMaxFrameRate = pDecEncFileParam->frameRate;
//default value
pEnxParamExt->iUsageType = CAMERA_VIDEO_REAL_TIME;
pEnxParamExt->iSpatialLayerNum = 1;
pEnxParamExt->bEnableDenoise = false;
pEnxParamExt->bIsLosslessLink = false;
pEnxParamExt->bEnableLongTermReference = false;
pEnxParamExt->iEntropyCodingModeFlag = 0;
for (int i = 0; i < pEnxParamExt->iSpatialLayerNum; i++) {
pEnxParamExt->sSpatialLayers[i].sSliceCfg.uiSliceMode = SM_SINGLE_SLICE;
}
}
TEST_P (DecodeEncodeTest, CompareOutput) {
DecodeEncodeFileParam p = GetParam();
SEncParamExt EnxParamExt;
DecEncFileParamToParamExt(&p,&EnxParamExt);
#if defined(ANDROID_NDK)
std::string filename = std::string ("/sdcard/") + p.fileName;
ASSERT_TRUE (Open (filename.c_str()));
#else
ASSERT_TRUE (Open (p.fileName));
#endif
EncodeStream (this, CAMERA_VIDEO_REAL_TIME, p.width, p.height, p.frameRate, SM_SINGLE_SLICE, false, 1, false, false,false, this);
EncodeStream (this, &EnxParamExt, this);
unsigned char digest[SHA_DIGEST_LENGTH];
SHA1Result (&ctx_, digest);
if (!HasFatalFailure()) {