EncodeOneIDRandP (pPtrEnc); pPtrEnc->Uninitialize(); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess));} TEST_F (EncoderInterfaceTest, EncodeParameterSets) { SEncParamBase sEncParamBase; GetValidEncParamBase (&sEncParamBase); int iResult = pPtrEnc->Initialize (&sEncParamBase); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); if (iResult != cmResultSuccess) { fprintf (stderr, "Unexpected ParamBase? \ iUsageType=%d, Pic=%dx%d, TargetBitrate=%d, iRCMode=%d, fMaxFrameRate=%.1f\n", sEncParamBase.iUsageType, sEncParamBase.iPicWidth, sEncParamBase.iPicHeight, sEncParamBase.iTargetBitrate, sEncParamBase.iRCMode, sEncParamBase.fMaxFrameRate); } PrepareOneSrcFrame(); EncodeOneIDRandP (pPtrEnc); //try EncodeParameterSets pPtrEnc->EncodeParameterSets (&sFbi); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_EQ (sFbi.eFrameType, static_cast<int> (videoFrameTypeInvalid)); //check the result int iNalType = 0; SLayerBSInfo* pLayerBsInfo; for (int i = 0; i < sFbi.iLayerNum; i++) { pLayerBsInfo = & (sFbi.sLayerInfo[i]); EXPECT_EQ (pLayerBsInfo->uiLayerType , static_cast<int> (NON_VIDEO_CODING_LAYER)); iNalType = GET_NAL_TYPE (pLayerBsInfo->pBsBuf); EXPECT_EQ (true, IS_PARASET (iNalType)); for (int j = 0; j < (pLayerBsInfo->iNalCount - 1); j++) { iNalType = GET_NAL_TYPE (pLayerBsInfo->pBsBuf + pLayerBsInfo->pNalLengthInByte[j]); EXPECT_EQ (true, IS_PARASET (iNalType)); } } //try another P to make sure no impact on succeeding frames iResult = pPtrEnc->EncodeFrame (pSrcPic, &sFbi); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_NE (sFbi.eFrameType, static_cast<int> (videoFrameTypeIDR)); iResult = pPtrEnc->Uninitialize(); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess));} TEST_F (EncoderInterfaceTest, BasicReturnTypeTest) { //TODO}Lines 501–553 of 553. Previous lines
EncodeOneIDRandP (pPtrEnc); pPtrEnc->Uninitialize(); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); } TEST_F (EncoderInterfaceTest, EncodeParameterSets) { SEncParamBase sEncParamBase; GetValidEncParamBase (&sEncParamBase); int iResult = pPtrEnc->Initialize (&sEncParamBase); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); if (iResult != cmResultSuccess) { fprintf (stderr, "Unexpected ParamBase? \ iUsageType=%d, Pic=%dx%d, TargetBitrate=%d, iRCMode=%d, fMaxFrameRate=%.1f\n", sEncParamBase.iUsageType, sEncParamBase.iPicWidth, sEncParamBase.iPicHeight, sEncParamBase.iTargetBitrate, sEncParamBase.iRCMode, sEncParamBase.fMaxFrameRate); } PrepareOneSrcFrame(); EncodeOneIDRandP (pPtrEnc); //try EncodeParameterSets pPtrEnc->EncodeParameterSets (&sFbi); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_EQ (sFbi.eFrameType, static_cast<int> (videoFrameTypeInvalid)); //check the result int iNalType = 0; SLayerBSInfo* pLayerBsInfo; for (int i = 0; i < sFbi.iLayerNum; i++) { pLayerBsInfo = & (sFbi.sLayerInfo[i]); EXPECT_EQ (pLayerBsInfo->uiLayerType , static_cast<int> (NON_VIDEO_CODING_LAYER)); iNalType = GET_NAL_TYPE (pLayerBsInfo->pBsBuf); EXPECT_EQ (true, IS_PARASET (iNalType)); for (int j = 0; j < (pLayerBsInfo->iNalCount - 1); j++) { iNalType = GET_NAL_TYPE (pLayerBsInfo->pBsBuf + pLayerBsInfo->pNalLengthInByte[j]); EXPECT_EQ (true, IS_PARASET (iNalType)); } } //try another P to make sure no impact on succeeding frames iResult = pPtrEnc->EncodeFrame (pSrcPic, &sFbi); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); EXPECT_NE (sFbi.eFrameType, static_cast<int> (videoFrameTypeIDR)); iResult = pPtrEnc->Uninitialize(); EXPECT_EQ (iResult, static_cast<int> (cmResultSuccess)); } TEST_F (EncoderInterfaceTest, BasicReturnTypeTest) { //TODO }