History

add timestamp in decoder

dong zhang committed 11 years ago

Commit 2e5243e1 parent f48b2e510 files · +78 −8Browse files

Showing the changes to test/api/encode_decode_api_test.cpp (1 of 10 files). Show all

Unified · Split

test/api/encode_decode_api_test.cpp+47−0
@@ -1032,6 +1032,53 @@ TEST_P (EncodeDecodeTestAPI, SetOptionECFlag_ERROR_CON_SLICE_COPY) { · 1031 unmodified lines
1032 (void) iSkipedBytes;1032 (void) iSkipedBytes;
1033}1033}
1034 1034
1035TEST_P (EncodeDecodeTestAPI, InOutTimeStamp) {
1036 EncodeDecodeFileParamBase p = GetParam();
1037 prepareParam (1, p.slicenum, p.width, p.height, p.frameRate);
1038 encoder_->Uninitialize();
1039 int rv = encoder_->InitializeExt (&param_);
1040 ASSERT_TRUE (rv == cmResultSuccess);
1041
1042 InitialEncDec (p.width, p.height);
1043 int32_t iTraceLevel = WELS_LOG_QUIET;
1044 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
1045 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
1046 int32_t iSpsPpsIdAddition = 1;
1047 encoder_->SetOption (ENCODER_OPTION_ENABLE_SPS_PPS_ID_ADDITION, &iSpsPpsIdAddition);
1048 int32_t iIDRPeriod = 60;
1049 encoder_->SetOption (ENCODER_OPTION_IDR_INTERVAL, &iIDRPeriod);
1050 SLTRConfig sLtrConfigVal;
1051 sLtrConfigVal.bEnableLongTermReference = 1;
1052 sLtrConfigVal.iLTRRefNum = 1;
1053 encoder_->SetOption (ENCODER_OPTION_LTR, &sLtrConfigVal);
1054 int32_t iLtrPeriod = 2;
1055 encoder_->SetOption (ENCODER_LTR_MARKING_PERIOD, &iLtrPeriod);
1056 int iIdx = 0;
1057 int iSkipedBytes;
1058 unsigned long long uiEncTimeStamp = 100;
1059 while (iIdx <= p.numframes) {
1060 EncodeOneFrame (1);
1061 //decoding after each encoding frame
1062 int len = 0;
1063 encToDecData (info, len);
1064 unsigned char* pData[3] = { NULL };
1065 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
1066 uint32_t uiEcIdc = ERROR_CON_SLICE_COPY_CROSS_IDR_FREEZE_RES_CHANGE;
1067 decoder_->SetOption (DECODER_OPTION_ERROR_CON_IDC, &uiEcIdc);
1068 dstBufInfo_.uiInBsTimeStamp = uiEncTimeStamp;
1069 rv = decoder_->DecodeFrame2 (info.sLayerInfo[0].pBsBuf, len, pData, &dstBufInfo_);
1070 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
1071 dstBufInfo_.uiInBsTimeStamp = uiEncTimeStamp;
1072 rv = decoder_->DecodeFrame2 (NULL, 0, pData, &dstBufInfo_); //reconstruction
1073 if(dstBufInfo_.iBufferStatus == 1) {
1074 EXPECT_EQ (uiEncTimeStamp, dstBufInfo_.uiOutYuvTimeStamp);
1075 }
1076 iIdx++;
1077 uiEncTimeStamp++;
1078 }
1079 (void) iSkipedBytes;
1080}
1081
1035TEST_P (EncodeDecodeTestAPI, GetOptionTid_AVC_NOPREFIX) {1082TEST_P (EncodeDecodeTestAPI, GetOptionTid_AVC_NOPREFIX) {
1036 SLTRMarkingFeedback m_LTR_Marking_Feedback;1083 SLTRMarkingFeedback m_LTR_Marking_Feedback;
1037 SLTRRecoverRequest m_LTR_Recover_Request;1084 SLTRRecoverRequest m_LTR_Recover_Request;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t