History

refator for API test--prepareEncDecParam and EncodeOneFrame

shihuade committed 12 years ago

Commit d875d921 parent 6b1630c1 file · +95 −331Browse files

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

Unified · Split

test/api/encode_decode_api_test.cpp+95−331
@@ -90,9 +90,11 @@ class EncodeDecodeTestBase : public ::testing::TestWithParam<EncodeDecodeFilePar · 89 unmodified lines
9090 }
9191
9292 protected:
93− SEncParamExt param_;
94− BufferedData buf_;
95− SBufferInfo dstBufInfo_;
93+ SEncParamExt param_;
94+ BufferedData buf_;
95+ SSourcePicture EncPic;
96+ SFrameBSInfo info;
97+ SBufferInfo dstBufInfo_;
9698 std::vector<SLostSim> m_SLostSim;
9799 WelsTraceCallback pFunc;
98100 STraceUnit sTrace;
@@ -112,8 +114,40 @@ class EncodeDecodeTestAPI : public EncodeDecodeTestBase { · 13 unmodified lines
112114 void prepareParam (int width, int height, float framerate) {
113115 EncodeDecodeTestBase::prepareParam (width, height, framerate);
114116 }
117+
118+ void prepareEncDecParam(const EncodeDecodeFileParamBase EncDecFileParam);
119+ void EncodeOneFrame() {
120+ int frameSize = EncPic.iPicWidth * EncPic.iPicHeight * 3 / 2;
121+ memset (buf_.data(), rand() % 256, frameSize);
122+ int rv = encoder_->EncodeFrame (&EncPic, &info);
123+ ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
124+ }
115125 };
116126
127+void EncodeDecodeTestAPI::prepareEncDecParam(const EncodeDecodeFileParamBase EncDecFileParam)
128+{
129+ // for encoder
130+ // I420: 1(Y) + 1/4(U) + 1/4(V)
131+ int frameSize = EncDecFileParam.width * EncDecFileParam.height * 3 / 2;
132+
133+ buf_.SetLength (frameSize);
134+ ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
135+
136+ memset (&EncPic, 0, sizeof (SSourcePicture));
137+ EncPic.iPicWidth = EncDecFileParam.width;
138+ EncPic.iPicHeight = EncDecFileParam.height;
139+ EncPic.iColorFormat = videoFormatI420;
140+ EncPic.iStride[0] = EncPic.iPicWidth;
141+ EncPic.iStride[1] = EncPic.iStride[2] = EncPic.iPicWidth >> 1;
142+ EncPic.pData[0] = buf_.data();
143+ EncPic.pData[1] = EncPic.pData[0] + EncDecFileParam.width * EncDecFileParam.height;
144+ EncPic.pData[2] = EncPic.pData[1] + (EncDecFileParam.width * EncDecFileParam.height >> 2);
145+
146+ //for decoder
147+ memset (&info, 0, sizeof (SFrameBSInfo));
148+}
149+
150+
117151 static const EncodeDecodeFileParamBase kFileParamArray[] = {
118152 {300, 160, 96, 6.0f, 2, 1, "000000000000001010101010101010101010101001101010100000010101000011"},
119153 {300, 140, 96, 6.0f, 4, 1, "000000000000001010101010101010101010101001101010100000010101000011"},
@@ -127,33 +161,19 @@ TEST_P (EncodeDecodeTestAPI, DecoderVclNal) { · 7 unmodified lines
127161 int rv = encoder_->InitializeExt (&param_);
128162 ASSERT_TRUE (rv == cmResultSuccess);
129163
130− //init for encoder
131− // I420: 1(Y) + 1/4(U) + 1/4(V)
132164 int frameSize = p.width * p.height * 3 / 2;
133165
134− buf_.SetLength (frameSize);
135− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
136166 int32_t iTraceLevel = WELS_LOG_QUIET;
137167 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
138168 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
139− SFrameBSInfo info;
140− memset (&info, 0, sizeof (SFrameBSInfo));
141169
142− SSourcePicture pic;
143− memset (&pic, 0, sizeof (SSourcePicture));
144− pic.iPicWidth = p.width;
145− pic.iPicHeight = p.height;
146− pic.iColorFormat = videoFormatI420;
147− pic.iStride[0] = pic.iPicWidth;
148− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
149− pic.pData[0] = buf_.data();
150− pic.pData[1] = pic.pData[0] + p.width * p.height;
151− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
170+ prepareEncDecParam(p);
171+
152172 int iIdx = 0;
153173 while (iIdx <= p.numframes) {
154− memset (buf_.data(), rand() % 256, frameSize);
155− rv = encoder_->EncodeFrame (&pic, &info);
156− ASSERT_TRUE (rv == cmResultSuccess);
174+
175+ EncodeOneFrame();
176+
157177 //decoding after each encoding frame
158178 int vclNal, len = 0;
159179 encToDecData (info, len);
@@ -179,35 +199,18 @@ TEST_P (EncodeDecodeTestAPI, GetOptionFramenum) { · 19 unmodified lines
179199 int rv = encoder_->InitializeExt (&param_);
180200 ASSERT_TRUE (rv == cmResultSuccess);
181201
182− //init for encoder
183− // I420: 1(Y) + 1/4(U) + 1/4(V)
184202 int frameSize = p.width * p.height * 3 / 2;
185203 int32_t iTraceLevel = WELS_LOG_QUIET;
186204 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
187205 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
188− buf_.SetLength (frameSize);
189− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
190206
191− SFrameBSInfo info;
192− memset (&info, 0, sizeof (SFrameBSInfo));
207+ prepareEncDecParam(p);
193208
194− SSourcePicture pic;
195− memset (&pic, 0, sizeof (SSourcePicture));
196− pic.iPicWidth = p.width;
197− pic.iPicHeight = p.height;
198− pic.iColorFormat = videoFormatI420;
199− pic.iStride[0] = pic.iPicWidth;
200− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
201− pic.pData[0] = buf_.data();
202− pic.pData[1] = pic.pData[0] + p.width * p.height;
203− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
204209 int32_t iEncFrameNum = -1;
205210 int32_t iDecFrameNum;
206211 int iIdx = 0;
207212 while (iIdx <= p.numframes) {
208− memset (buf_.data(), rand() % 256, frameSize);
209− rv = encoder_->EncodeFrame (&pic, &info);
210− ASSERT_TRUE (rv == cmResultSuccess);
213+ EncodeOneFrame();
211214 //decoding after each encoding frame
212215 int len = 0;
213216 encToDecData (info, len);
@@ -240,35 +243,22 @@ TEST_P (EncodeDecodeTestAPI, GetOptionIDR) { · 26 unmodified lines
240243 int32_t iTraceLevel = WELS_LOG_QUIET;
241244 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
242245 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
243− buf_.SetLength (frameSize);
244− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
245246
246− SFrameBSInfo info;
247− memset (&info, 0, sizeof (SFrameBSInfo));
247+ prepareEncDecParam(p);
248248
249− SSourcePicture pic;
250− memset (&pic, 0, sizeof (SSourcePicture));
251− pic.iPicWidth = p.width;
252− pic.iPicHeight = p.height;
253− pic.iColorFormat = videoFormatI420;
254− pic.iStride[0] = pic.iPicWidth;
255− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
256− pic.pData[0] = buf_.data();
257− pic.pData[1] = pic.pData[0] + p.width * p.height;
258− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
259249 int32_t iEncCurIdrPicId = 0;
260250 int32_t iDecCurIdrPicId;
261251 int32_t iIDRPeriod = 1;
262252 int32_t iSpsPpsIdAddition = 0;
263253 int iIdx = 0;
264254 while (iIdx <= p.numframes) {
265− memset (buf_.data(), rand() % 256, frameSize);
266255 iSpsPpsIdAddition = rand() % 2;
267256 iIDRPeriod = (rand() % 150) + 1;
268257 encoder_->SetOption (ENCODER_OPTION_IDR_INTERVAL, &iIDRPeriod);
269258 encoder_->SetOption (ENCODER_OPTION_ENABLE_SPS_PPS_ID_ADDITION, &iSpsPpsIdAddition);
270− rv = encoder_->EncodeFrame (&pic, &info);
271− ASSERT_TRUE (rv == cmResultSuccess);
259+
260+ EncodeOneFrame();
261+
272262 if (info.eFrameType == videoFrameTypeIDR) {
273263 iEncCurIdrPicId = (iSpsPpsIdAddition == 0) ? 0 : (iEncCurIdrPicId + 1);
274264 }
@@ -493,21 +483,9 @@ TEST_P (EncodeDecodeTestAPI, GetOptionLTR_ALLIDR) { · 218 unmodified lines
493483 int rv = encoder_->InitializeExt (&param_);
494484 ASSERT_TRUE (rv == cmResultSuccess);
495485 int frameSize = p.width * p.height * 3 / 2;
496− buf_.SetLength (frameSize);
497− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
498486
499− SFrameBSInfo info;
500− memset (&info, 0, sizeof (SFrameBSInfo));
501− SSourcePicture pic;
502− memset (&pic, 0, sizeof (SSourcePicture));
503− pic.iPicWidth = p.width;
504− pic.iPicHeight = p.height;
505− pic.iColorFormat = videoFormatI420;
506− pic.iStride[0] = pic.iPicWidth;
507− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
508− pic.pData[0] = buf_.data();
509− pic.pData[1] = pic.pData[0] + p.width * p.height;
510− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
487+ prepareEncDecParam(p);
488+
511489 int32_t iTraceLevel = WELS_LOG_QUIET;
512490 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
513491 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
@@ -523,9 +501,7 @@ TEST_P (EncodeDecodeTestAPI, GetOptionLTR_ALLIDR) { · 9 unmodified lines
523501 encoder_->SetOption (ENCODER_LTR_MARKING_PERIOD, &iLtrPeriod);
524502 int iIdx = 0;
525503 while (iIdx <= p.numframes) {
526− memset (buf_.data(), rand() % 256, frameSize);
527− rv = encoder_->EncodeFrame (&pic, &info);
528− ASSERT_EQ (rv, cmResultSuccess);
504+ EncodeOneFrame();
529505 ASSERT_TRUE (info.eFrameType == videoFrameTypeIDR);
530506 encoder_->ForceIntraFrame (true);
531507 iIdx++;
@@ -603,21 +579,9 @@ TEST_P (EncodeDecodeTestAPI, GetOptionLTR_Engine) { · 71 unmodified lines
603579 ASSERT_TRUE (rv == cmResultSuccess);
604580 m_LTR_Recover_Request.uiFeedbackType = NO_RECOVERY_REQUSET;
605581 int frameSize = p.width * p.height * 3 / 2;
606− buf_.SetLength (frameSize);
607− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
608− SFrameBSInfo info;
609− memset (&info, 0, sizeof (SFrameBSInfo));
610582
611− SSourcePicture pic;
612− memset (&pic, 0, sizeof (SSourcePicture));
613− pic.iPicWidth = p.width;
614− pic.iPicHeight = p.height;
615− pic.iColorFormat = videoFormatI420;
616− pic.iStride[0] = pic.iPicWidth;
617− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
618− pic.pData[0] = buf_.data();
619− pic.pData[1] = pic.pData[0] + p.width * p.height;
620− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
583+ prepareEncDecParam(p);
584+
621585 int32_t iTraceLevel = WELS_LOG_QUIET;
622586 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
623587 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
@@ -635,12 +599,10 @@ TEST_P (EncodeDecodeTestAPI, GetOptionLTR_Engine) { · 11 unmodified lines
635599 int iLossIdx = 0;
636600 bool bVCLLoss = false;
637601 while (iIdx <= p.numframes) {
638− memset (buf_.data(), rand() % 256, frameSize);
639− rv = encoder_->EncodeFrame (&pic, &info);
602+ EncodeOneFrame();
640603 if (m_LTR_Recover_Request.uiFeedbackType == IDR_RECOVERY_REQUEST) {
641604 ASSERT_TRUE (info.eFrameType == videoFrameTypeIDR);
642605 }
643− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
644606 //decoding after each encoding frame
645607 int len = 0;
646608 encToDecData (info, len);
@@ -683,21 +645,8 @@ TEST_P (EncodeDecodeTestAPI, SetOptionECFlag_ERROR_CON_DISABLE) { · 36 unmodified lines
683645 ASSERT_EQ (0, rv);
684646 m_LTR_Recover_Request.uiFeedbackType = NO_RECOVERY_REQUSET;
685647 int frameSize = p.width * p.height * 3 / 2;
686− buf_.SetLength (frameSize);
687− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
688− SFrameBSInfo info;
689− memset (&info, 0, sizeof (SFrameBSInfo));
690648
691− SSourcePicture pic;
692− memset (&pic, 0, sizeof (SSourcePicture));
693− pic.iPicWidth = p.width;
694− pic.iPicHeight = p.height;
695− pic.iColorFormat = videoFormatI420;
696− pic.iStride[0] = pic.iPicWidth;
697− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
698− pic.pData[0] = buf_.data();
699− pic.pData[1] = pic.pData[0] + p.width * p.height;
700− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
649+ prepareEncDecParam(p);
701650 int32_t iTraceLevel = WELS_LOG_QUIET;
702651 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
703652 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
@@ -716,12 +665,10 @@ TEST_P (EncodeDecodeTestAPI, SetOptionECFlag_ERROR_CON_DISABLE) { · 12 unmodified lines
716665 int iSkipedBytes;
717666 bool bVCLLoss = false;
718667 while (iIdx <= p.numframes) {
719− memset (buf_.data(), rand() % 256, frameSize);
720− rv = encoder_->EncodeFrame (&pic, &info);
668+ EncodeOneFrame();
721669 if (m_LTR_Recover_Request.uiFeedbackType == IDR_RECOVERY_REQUEST) {
722670 ASSERT_TRUE (info.eFrameType == videoFrameTypeIDR);
723671 }
724− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
725672 //decoding after each encoding frame
726673 int len = 0;
727674 encToDecData (info, len);
@@ -755,21 +702,8 @@ TEST_P (EncodeDecodeTestAPI, SetOptionECFlag_ERROR_CON_SLICE_COPY) { · 27 unmodified lines
755702 ASSERT_TRUE (rv == cmResultSuccess);
756703 m_LTR_Recover_Request.uiFeedbackType = NO_RECOVERY_REQUSET;
757704 int frameSize = p.width * p.height * 3 / 2;
758− buf_.SetLength (frameSize);
759− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
760− SFrameBSInfo info;
761− memset (&info, 0, sizeof (SFrameBSInfo));
762705
763− SSourcePicture pic;
764− memset (&pic, 0, sizeof (SSourcePicture));
765− pic.iPicWidth = p.width;
766− pic.iPicHeight = p.height;
767− pic.iColorFormat = videoFormatI420;
768− pic.iStride[0] = pic.iPicWidth;
769− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
770− pic.pData[0] = buf_.data();
771− pic.pData[1] = pic.pData[0] + p.width * p.height;
772− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
706+ prepareEncDecParam(p);
773707 int32_t iTraceLevel = WELS_LOG_QUIET;
774708 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
775709 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
@@ -788,12 +722,10 @@ TEST_P (EncodeDecodeTestAPI, SetOptionECFlag_ERROR_CON_SLICE_COPY) { · 12 unmodified lines
788722 int iSkipedBytes;
789723 bool bVCLLoss = false;
790724 while (iIdx <= p.numframes) {
791− memset (buf_.data(), rand() % 256, frameSize);
792− rv = encoder_->EncodeFrame (&pic, &info);
725+ EncodeOneFrame();
793726 if (m_LTR_Recover_Request.uiFeedbackType == IDR_RECOVERY_REQUEST) {
794727 ASSERT_TRUE (info.eFrameType == videoFrameTypeIDR);
795728 }
796− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
797729 //decoding after each encoding frame
798730 int len = 0;
799731 encToDecData (info, len);
@@ -829,21 +761,7 @@ TEST_P (EncodeDecodeTestAPI, GetOptionTid_AVC_NOPREFIX) { · 29 unmodified lines
829761 ASSERT_TRUE (rv == cmResultSuccess);
830762 m_LTR_Recover_Request.uiFeedbackType = NO_RECOVERY_REQUSET;
831763 int frameSize = p.width * p.height * 3 / 2;
832− buf_.SetLength (frameSize);
833− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
834− SFrameBSInfo info;
835− memset (&info, 0, sizeof (SFrameBSInfo));
836−
837− SSourcePicture pic;
838− memset (&pic, 0, sizeof (SSourcePicture));
839− pic.iPicWidth = p.width;
840− pic.iPicHeight = p.height;
841− pic.iColorFormat = videoFormatI420;
842− pic.iStride[0] = pic.iPicWidth;
843− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
844− pic.pData[0] = buf_.data();
845− pic.pData[1] = pic.pData[0] + p.width * p.height;
846− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
764+ prepareEncDecParam(p);
847765 int32_t iTraceLevel = WELS_LOG_QUIET;
848766 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
849767 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
@@ -861,12 +779,10 @@ TEST_P (EncodeDecodeTestAPI, GetOptionTid_AVC_NOPREFIX) { · 11 unmodified lines
861779 int iLossIdx = 0;
862780 bool bVCLLoss = false;
863781 while (iIdx <= p.numframes) {
864− memset (buf_.data(), rand() % 256, frameSize);
865− rv = encoder_->EncodeFrame (&pic, &info);
782+ EncodeOneFrame();
866783 if (m_LTR_Recover_Request.uiFeedbackType == IDR_RECOVERY_REQUEST) {
867784 ASSERT_TRUE (info.eFrameType == videoFrameTypeIDR);
868785 }
869− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
870786 //decoding after each encoding frame
871787 int len = 0;
872788 encToDecData (info, len);
@@ -918,21 +834,8 @@ TEST_P (EncodeDecodeTestAPI, GetOptionTid_AVC_WITH_PREFIX_NOLOSS) { · 45 unmodified lines
918834 ASSERT_TRUE (rv == cmResultSuccess);
919835 m_LTR_Recover_Request.uiFeedbackType = NO_RECOVERY_REQUSET;
920836 int frameSize = p.width * p.height * 3 / 2;
921− buf_.SetLength (frameSize);
922− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
923− SFrameBSInfo info;
924− memset (&info, 0, sizeof (SFrameBSInfo));
925837
926− SSourcePicture pic;
927− memset (&pic, 0, sizeof (SSourcePicture));
928− pic.iPicWidth = p.width;
929− pic.iPicHeight = p.height;
930− pic.iColorFormat = videoFormatI420;
931− pic.iStride[0] = pic.iPicWidth;
932− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
933− pic.pData[0] = buf_.data();
934− pic.pData[1] = pic.pData[0] + p.width * p.height;
935− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
838+ prepareEncDecParam(p);
936839 int32_t iTraceLevel = WELS_LOG_QUIET;
937840 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
938841 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
@@ -948,12 +851,10 @@ TEST_P (EncodeDecodeTestAPI, GetOptionTid_AVC_WITH_PREFIX_NOLOSS) { · 9 unmodified lines
948851 encoder_->SetOption (ENCODER_LTR_MARKING_PERIOD, &iLtrPeriod);
949852 int iIdx = 0;
950853 while (iIdx <= p.numframes) {
951− memset (buf_.data(), rand() % 256, frameSize);
952− rv = encoder_->EncodeFrame (&pic, &info);
854+ EncodeOneFrame();
953855 if (m_LTR_Recover_Request.uiFeedbackType == IDR_RECOVERY_REQUEST) {
954856 ASSERT_TRUE (info.eFrameType == videoFrameTypeIDR);
955857 }
956− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
957858 //decoding after each encoding frame
958859 int len = 0;
959860 encToDecData (info, len);
@@ -996,21 +897,8 @@ TEST_P (EncodeDecodeTestAPI, GetOptionTid_SVC_L1_NOLOSS) { · 36 unmodified lines
996897 ASSERT_TRUE (rv == cmResultSuccess);
997898 m_LTR_Recover_Request.uiFeedbackType = NO_RECOVERY_REQUSET;
998899 int frameSize = p.width * p.height * 3 / 2;
999− buf_.SetLength (frameSize);
1000− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
1001− SFrameBSInfo info;
1002− memset (&info, 0, sizeof (SFrameBSInfo));
1003900
1004− SSourcePicture pic;
1005− memset (&pic, 0, sizeof (SSourcePicture));
1006− pic.iPicWidth = p.width;
1007− pic.iPicHeight = p.height;
1008− pic.iColorFormat = videoFormatI420;
1009− pic.iStride[0] = pic.iPicWidth;
1010− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
1011− pic.pData[0] = buf_.data();
1012− pic.pData[1] = pic.pData[0] + p.width * p.height;
1013− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
901+ prepareEncDecParam(p);
1014902 int32_t iTraceLevel = WELS_LOG_QUIET;
1015903 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
1016904 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
@@ -1026,12 +914,10 @@ TEST_P (EncodeDecodeTestAPI, GetOptionTid_SVC_L1_NOLOSS) { · 9 unmodified lines
1026914 encoder_->SetOption (ENCODER_LTR_MARKING_PERIOD, &iLtrPeriod);
1027915 int iIdx = 0;
1028916 while (iIdx <= p.numframes) {
1029− memset (buf_.data(), rand() % 256, frameSize);
1030− rv = encoder_->EncodeFrame (&pic, &info);
917+ EncodeOneFrame();
1031918 if (m_LTR_Recover_Request.uiFeedbackType == IDR_RECOVERY_REQUEST) {
1032919 ASSERT_TRUE (info.eFrameType == videoFrameTypeIDR);
1033920 }
1034− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1035921 //decoding after each encoding frame
1036922 int len = 0;
1037923 encToDecData (info, len);
@@ -1069,21 +955,8 @@ TEST_P (EncodeDecodeTestAPI, SetOption_Trace) { · 31 unmodified lines
1069955 ASSERT_TRUE (rv == cmResultSuccess);
1070956 m_LTR_Recover_Request.uiFeedbackType = NO_RECOVERY_REQUSET;
1071957 int frameSize = p.width * p.height * 3 / 2;
1072− buf_.SetLength (frameSize);
1073− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
1074− SFrameBSInfo info;
1075− memset (&info, 0, sizeof (SFrameBSInfo));
1076958
1077− SSourcePicture pic;
1078− memset (&pic, 0, sizeof (SSourcePicture));
1079− pic.iPicWidth = p.width;
1080− pic.iPicHeight = p.height;
1081− pic.iColorFormat = videoFormatI420;
1082− pic.iStride[0] = pic.iPicWidth;
1083− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
1084− pic.pData[0] = buf_.data();
1085− pic.pData[1] = pic.pData[0] + p.width * p.height;
1086− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
959+ prepareEncDecParam(p);
1087960 int32_t iTraceLevel = WELS_LOG_QUIET;
1088961 pFunc = TestOutPutTrace;
1089962 pTraceInfo = &sTrace;
@@ -1109,16 +982,14 @@ TEST_P (EncodeDecodeTestAPI, SetOption_Trace) { · 19 unmodified lines
1109982 int iLossIdx = 0;
1110983 bool bVCLLoss = false;
1111984 while (iIdx <= p.numframes) {
1112− memset (buf_.data(), rand() % 256, frameSize);
1113985 iTraceLevel = rand() % 33;
1114986 sTrace.iTarLevel = iTraceLevel;
1115987 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
1116988 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
1117− rv = encoder_->EncodeFrame (&pic, &info);
989+ EncodeOneFrame();
1118990 if (m_LTR_Recover_Request.uiFeedbackType == IDR_RECOVERY_REQUEST) {
1119991 ASSERT_TRUE (info.eFrameType == videoFrameTypeIDR);
1120992 }
1121− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1122993 //decoding after each encoding frame
1123994 int len = 0;
1124995 encToDecData (info, len);
@@ -1150,21 +1021,9 @@ TEST_P (EncodeDecodeTestAPI, SetOption_Trace_NULL) { · 25 unmodified lines
11501021 ASSERT_TRUE (rv == cmResultSuccess);
11511022 m_LTR_Recover_Request.uiFeedbackType = NO_RECOVERY_REQUSET;
11521023 int frameSize = p.width * p.height * 3 / 2;
1153− buf_.SetLength (frameSize);
1154− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
1155− SFrameBSInfo info;
1156− memset (&info, 0, sizeof (SFrameBSInfo));
11571024
1158− SSourcePicture pic;
1159− memset (&pic, 0, sizeof (SSourcePicture));
1160− pic.iPicWidth = p.width;
1161− pic.iPicHeight = p.height;
1162− pic.iColorFormat = videoFormatI420;
1163− pic.iStride[0] = pic.iPicWidth;
1164− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
1165− pic.pData[0] = buf_.data();
1166− pic.pData[1] = pic.pData[0] + p.width * p.height;
1167− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
1025+ prepareEncDecParam(p);
1026+
11681027 int32_t iTraceLevel = WELS_LOG_QUIET;
11691028 pFunc = NULL;
11701029 pTraceInfo = NULL;
@@ -1189,15 +1048,13 @@ TEST_P (EncodeDecodeTestAPI, SetOption_Trace_NULL) { · 18 unmodified lines
11891048 int iLossIdx = 0;
11901049 bool bVCLLoss = false;
11911050 while (iIdx <= p.numframes) {
1192− memset (buf_.data(), rand() % 256, frameSize);
11931051 iTraceLevel = rand() % 33;
11941052 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
11951053 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
1196− rv = encoder_->EncodeFrame (&pic, &info);
1054+ EncodeOneFrame();
11971055 if (m_LTR_Recover_Request.uiFeedbackType == IDR_RECOVERY_REQUEST) {
11981056 ASSERT_TRUE (info.eFrameType == videoFrameTypeIDR);
11991057 }
1200− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
12011058 //decoding after each encoding frame
12021059 int len = 0;
12031060 encToDecData (info, len);
@@ -1238,21 +1095,8 @@ TEST_P (EncodeDecodeTestAPI, SetOptionECIDC_GeneralSliceChange) { · 34 unmodified lines
12381095
12391096 //Start for enc/dec
12401097 int frameSize = p.width * p.height * 3 / 2;
1241− buf_.SetLength (frameSize);
1242− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
1243− SFrameBSInfo info;
1244− memset (&info, 0, sizeof (SFrameBSInfo));
12451098
1246− SSourcePicture pic;
1247− memset (&pic, 0, sizeof (SSourcePicture));
1248− pic.iPicWidth = p.width;
1249− pic.iPicHeight = p.height;
1250− pic.iColorFormat = videoFormatI420;
1251− pic.iStride[0] = pic.iPicWidth;
1252− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
1253− pic.pData[0] = buf_.data();
1254− pic.pData[1] = pic.pData[0] + p.width * p.height;
1255− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
1099+ prepareEncDecParam(p);
12561100 int32_t iTraceLevel = WELS_LOG_QUIET;
12571101 encoder_->SetOption (ENCODER_OPTION_TRACE_LEVEL, &iTraceLevel);
12581102 decoder_->SetOption (DECODER_OPTION_TRACE_LEVEL, &iTraceLevel);
@@ -1264,9 +1108,7 @@ TEST_P (EncodeDecodeTestAPI, SetOptionECIDC_GeneralSliceChange) { · 5 unmodified lines
12641108
12651109 //enc/dec pictures
12661110 while (iIdx <= p.numframes) {
1267− memset (buf_.data(), rand() % 256, frameSize);
1268− rv = encoder_->EncodeFrame (&pic, &info);
1269− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1111+ EncodeOneFrame();
12701112 //decoding after each encoding frame
12711113 len = 0;
12721114 iPacketNum = 0;
@@ -1339,29 +1181,13 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificFrameChange) { · 66 unmodified lines
13391181
13401182 //Start for enc/dec
13411183 int frameSize = p.width * p.height * 3 / 2;
1342− buf_.SetLength (frameSize);
1343− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
1344− SFrameBSInfo info;
1345− memset (&info, 0, sizeof (SFrameBSInfo));
1346−
1347− SSourcePicture pic;
1348− memset (&pic, 0, sizeof (SSourcePicture));
1349− pic.iPicWidth = p.width;
1350− pic.iPicHeight = p.height;
1351− pic.iColorFormat = videoFormatI420;
1352− pic.iStride[0] = pic.iPicWidth;
1353− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
1354− pic.pData[0] = buf_.data();
1355− pic.pData[1] = pic.pData[0] + p.width * p.height;
1356− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
13571184 int iIdx = 0;
13581185 int len = 0;
13591186 unsigned char* pData[3] = { NULL };
13601187
1188+ prepareEncDecParam(p);
13611189 //Frame 0: IDR, EC_IDC=DISABLE, loss = 0
1362− memset (buf_.data(), rand() % 256, frameSize);
1363− rv = encoder_->EncodeFrame (&pic, &info);
1364− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1190+ EncodeOneFrame();
13651191 encToDecData (info, len);
13661192 decoder_->GetOption (DECODER_OPTION_ERROR_CON_IDC, &uiGet);
13671193 EXPECT_EQ (uiGet, (ERROR_CON_IDC) ERROR_CON_DISABLE);
@@ -1376,15 +1202,11 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificFrameChange) { · 8 unmodified lines
13761202 iIdx++;
13771203
13781204 //Frame 1: P, EC_IDC=DISABLE, loss = 1
1379− memset (buf_.data(), rand() % 256, frameSize);
1380− rv = encoder_->EncodeFrame (&pic, &info);
1381− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1205+ EncodeOneFrame();
13821206 iIdx++;
13831207
13841208 //Frame 2: P, EC_IDC=DISABLE, loss = 0
1385− memset (buf_.data(), rand() % 256, frameSize);
1386− rv = encoder_->EncodeFrame (&pic, &info);
1387− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1209+ EncodeOneFrame();
13881210 encToDecData (info, len);
13891211 pData[0] = pData[1] = pData[2] = 0;
13901212 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
@@ -1404,9 +1226,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificFrameChange) { · 13 unmodified lines
14041226 decoder_->GetOption (DECODER_OPTION_ERROR_CON_IDC, &uiGet);
14051227 EXPECT_EQ (uiGet, uiEcIdc);
14061228 //Frame 3: P, EC_IDC=SLICE_COPY, loss = 0
1407− memset (buf_.data(), rand() % 256, frameSize);
1408− rv = encoder_->EncodeFrame (&pic, &info);
1409− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1229+ EncodeOneFrame();
14101230 encToDecData (info, len);
14111231 decoder_->GetOption (DECODER_OPTION_ERROR_CON_IDC, &uiGet);
14121232 EXPECT_EQ (uiGet, (uint32_t) ERROR_CON_SLICE_COPY);
@@ -1426,9 +1246,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificFrameChange) { · 13 unmodified lines
14261246 decoder_->GetOption (DECODER_OPTION_ERROR_CON_IDC, &uiGet);
14271247 EXPECT_EQ (uiGet, uiEcIdc);
14281248 //Frame 4: P, EC_IDC=DISABLE, loss = 0
1429− memset (buf_.data(), rand() % 256, frameSize);
1430− rv = encoder_->EncodeFrame (&pic, &info);
1431− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1249+ EncodeOneFrame();
14321250 encToDecData (info, len);
14331251 decoder_->GetOption (DECODER_OPTION_ERROR_CON_IDC, &uiGet);
14341252 EXPECT_EQ (uiGet, (uint32_t) ERROR_CON_DISABLE);
@@ -1445,9 +1263,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificFrameChange) { · 10 unmodified lines
14451263 iIdx++;
14461264
14471265 //Frame 5: P, EC_IDC=DISABLE, loss = 1
1448− memset (buf_.data(), rand() % 256, frameSize);
1449− rv = encoder_->EncodeFrame (&pic, &info);
1450− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1266+ EncodeOneFrame();
14511267 iIdx++;
14521268
14531269 //set EC=FRAME_COPY
@@ -1456,16 +1272,12 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificFrameChange) { · 2 unmodified lines
14561272 decoder_->GetOption (DECODER_OPTION_ERROR_CON_IDC, &uiGet);
14571273 EXPECT_EQ (uiGet, uiEcIdc);
14581274 //Frame 6: P, EC_IDC=FRAME_COPY, loss = 1
1459− memset (buf_.data(), rand() % 256, frameSize);
1460− rv = encoder_->EncodeFrame (&pic, &info);
1461− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1275+ EncodeOneFrame();
14621276 EXPECT_EQ (uiGet, uiEcIdc);
14631277 iIdx++;
14641278
14651279 //Frame 7: P, EC_IDC=FRAME_COPY, loss = 0
1466− memset (buf_.data(), rand() % 256, frameSize);
1467− rv = encoder_->EncodeFrame (&pic, &info);
1468− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1280+ EncodeOneFrame();
14691281 encToDecData (info, len);
14701282 decoder_->GetOption (DECODER_OPTION_ERROR_CON_IDC, &uiGet);
14711283 EXPECT_EQ (uiGet, (uint32_t) ERROR_CON_FRAME_COPY);
@@ -1505,30 +1317,15 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRLoss) { · 33 unmodified lines
15051317
15061318 //Start for enc/dec
15071319 int frameSize = p.width * p.height * 3 / 2;
1508− buf_.SetLength (frameSize);
1509− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
1510− SFrameBSInfo info;
1511− memset (&info, 0, sizeof (SFrameBSInfo));
1512−
1513− SSourcePicture pic;
1514− memset (&pic, 0, sizeof (SSourcePicture));
1515− pic.iPicWidth = p.width;
1516− pic.iPicHeight = p.height;
1517− pic.iColorFormat = videoFormatI420;
1518− pic.iStride[0] = pic.iPicWidth;
1519− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
1520− pic.pData[0] = buf_.data();
1521− pic.pData[1] = pic.pData[0] + p.width * p.height;
1522− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
15231320 int iIdx = 0;
15241321 int len = 0;
15251322 unsigned char* pData[3] = { NULL };
15261323 int iTotalSliceSize = 0;
15271324
1325+ prepareEncDecParam(p);
1326+
15281327 //Frame 0: IDR, EC_IDC=2, loss = 2
1529− memset (buf_.data(), rand() % 256, frameSize);
1530− rv = encoder_->EncodeFrame (&pic, &info);
1531− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1328+ EncodeOneFrame();
15321329 iTotalSliceSize = 0;
15331330 encToDecSliceData (0, 0, info, len); //SPS
15341331 iTotalSliceSize = len;
@@ -1550,9 +1347,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRLoss) { · 15 unmodified lines
15501347
15511348 //Frame 1: P, EC_IDC=2, loss = 0
15521349 //will clean SPS/PPS status
1553− memset (buf_.data(), rand() % 256, frameSize);
1554− rv = encoder_->EncodeFrame (&pic, &info);
1555− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1350+ EncodeOneFrame();
15561351 encToDecData (info, len); //all slice together
15571352 pData[0] = pData[1] = pData[2] = 0;
15581353 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
@@ -1573,9 +1368,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRLoss) { · 14 unmodified lines
15731368 EXPECT_EQ (uiGet, uiEcIdc);
15741369 //Frame 2: P, EC_IDC=0, loss = 0
15751370 /////will clean SPS/PPS status
1576− memset (buf_.data(), rand() % 256, frameSize);
1577− rv = encoder_->EncodeFrame (&pic, &info);
1578− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1371+ EncodeOneFrame();
15791372 encToDecData (info, len); //all slice together
15801373 pData[0] = pData[1] = pData[2] = 0;
15811374 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
@@ -1596,9 +1389,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRLoss) { · 14 unmodified lines
15961389 decoder_->GetOption (DECODER_OPTION_ERROR_CON_IDC, &uiGet);
15971390 EXPECT_EQ (uiGet, uiEcIdc);
15981391 //Frame 3: P, EC_IDC=2, loss = 1
1599− memset (buf_.data(), rand() % 256, frameSize);
1600− rv = encoder_->EncodeFrame (&pic, &info);
1601− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1392+ EncodeOneFrame();
16021393 encToDecSliceData (0, 0, info, iTotalSliceSize); //slice 1 lost
16031394 encToDecSliceData (0, 1, info, len); //slice 2
16041395 pData[0] = pData[1] = pData[2] = 0;
@@ -1619,9 +1410,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRLoss) { · 14 unmodified lines
16191410 decoder_->GetOption (DECODER_OPTION_ERROR_CON_IDC, &uiGet);
16201411 EXPECT_EQ (uiGet, uiEcIdc);
16211412 //Frame 4: P, EC_IDC=0, loss = 0
1622− memset (buf_.data(), rand() % 256, frameSize);
1623− rv = encoder_->EncodeFrame (&pic, &info);
1624− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1413+ EncodeOneFrame();
16251414 encToDecData (info, len); //all slice
16261415 pData[0] = pData[1] = pData[2] = 0;
16271416 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
@@ -1663,26 +1452,13 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRNoLoss) { · 35 unmodified lines
16631452
16641453 //Start for enc/dec
16651454 int frameSize = p.width * p.height * 3 / 2;
1666− buf_.SetLength (frameSize);
1667− ASSERT_TRUE (buf_.Length() == (size_t)frameSize);
1668− SFrameBSInfo info;
1669− memset (&info, 0, sizeof (SFrameBSInfo));
1670−
1671− SSourcePicture pic;
1672− memset (&pic, 0, sizeof (SSourcePicture));
1673− pic.iPicWidth = p.width;
1674− pic.iPicHeight = p.height;
1675− pic.iColorFormat = videoFormatI420;
1676− pic.iStride[0] = pic.iPicWidth;
1677− pic.iStride[1] = pic.iStride[2] = pic.iPicWidth >> 1;
1678− pic.pData[0] = buf_.data();
1679− pic.pData[1] = pic.pData[0] + p.width * p.height;
1680− pic.pData[2] = pic.pData[1] + (p.width * p.height >> 2);
16811455 int iIdx = 0;
16821456 int len = 0;
16831457 unsigned char* pData[3] = { NULL };
16841458 int iTotalSliceSize = 0;
16851459
1460+ prepareEncDecParam(p);
1461+
16861462 //set EC=DISABLE
16871463 uiEcIdc = (uint32_t) (ERROR_CON_DISABLE);
16881464 decoder_->SetOption (DECODER_OPTION_ERROR_CON_IDC, &uiEcIdc);
@@ -1690,9 +1466,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRNoLoss) { · 1 unmodified line
16901466 EXPECT_EQ (uiGet, uiEcIdc);
16911467 //Frame 0: IDR, EC_IDC=0, loss = 0
16921468 //Expected result: all OK, 2nd Output
1693− memset (buf_.data(), rand() % 256, frameSize);
1694− rv = encoder_->EncodeFrame (&pic, &info);
1695− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1469+ EncodeOneFrame();
16961470 encToDecData (info, len); //all slice
16971471 pData[0] = pData[1] = pData[2] = 0;
16981472 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
@@ -1707,9 +1481,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRNoLoss) { · 8 unmodified lines
17071481
17081482 //Frame 1: P, EC_IDC=0, loss = 0
17091483 //Expected result: all OK, 2nd Output
1710− memset (buf_.data(), rand() % 256, frameSize);
1711− rv = encoder_->EncodeFrame (&pic, &info);
1712− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1484+ EncodeOneFrame();
17131485 encToDecData (info, len); //all slice together
17141486 pData[0] = pData[1] = pData[2] = 0;
17151487 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
@@ -1725,9 +1497,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRNoLoss) { · 9 unmodified lines
17251497
17261498 //Frame 2: P, EC_IDC=0, loss = 1
17271499 //Expected result: all OK, no Output
1728− memset (buf_.data(), rand() % 256, frameSize);
1729− rv = encoder_->EncodeFrame (&pic, &info);
1730− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1500+ EncodeOneFrame();
17311501 encToDecSliceData (0, 0, info, iTotalSliceSize); // slice 1 lost
17321502 encToDecSliceData (0, 1, info, len); // slice 2 only
17331503 pData[0] = pData[1] = pData[2] = 0;
@@ -1749,9 +1519,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRNoLoss) { · 15 unmodified lines
17491519 EXPECT_EQ (uiGet, uiEcIdc);
17501520 //Frame 3: P, EC_IDC=2, loss = 2
17511521 //Expected result: neither OK, 1st Output
1752− memset (buf_.data(), rand() % 256, frameSize);
1753− rv = encoder_->EncodeFrame (&pic, &info);
1754− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1522+ EncodeOneFrame();
17551523 encToDecSliceData (0, 0, info, len); //slice 1 only
17561524 pData[0] = pData[1] = pData[2] = 0;
17571525 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
@@ -1772,9 +1540,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRNoLoss) { · 14 unmodified lines
17721540 EXPECT_EQ (uiGet, uiEcIdc);
17731541 //Frame 4: P, EC_IDC=0, loss = 0
17741542 //Expected result: depends on DecodeFrame2 result. If OK, output; else ,no output
1775− memset (buf_.data(), rand() % 256, frameSize);
1776− rv = encoder_->EncodeFrame (&pic, &info);
1777− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1543+ EncodeOneFrame();
17781544 encToDecData (info, len); //all slice
17791545 pData[0] = pData[1] = pData[2] = 0;
17801546 memset (&dstBufInfo_, 0, sizeof (SBufferInfo));
@@ -1795,9 +1561,7 @@ TEST_F (EncodeDecodeTestAPI, SetOptionECIDC_SpecificSliceChange_IDRNoLoss) { · 14 unmodified lines
17951561 //Expected result: depends on DecodeFrame2 result. If OK, output; else ,no output
17961562 int32_t iIDRPeriod = 1;
17971563 encoder_->SetOption (ENCODER_OPTION_IDR_INTERVAL, &iIDRPeriod);
1798− memset (buf_.data(), rand() % 256, frameSize);
1799− rv = encoder_->EncodeFrame (&pic, &info);
1800− ASSERT_TRUE (rv == cmResultSuccess || rv == cmUnkonwReason);
1564+ EncodeOneFrame();
18011565 EXPECT_TRUE (info.eFrameType == videoFrameTypeIDR);
18021566 encToDecSliceData (0, 0, info, len); //SPS
18031567 iTotalSliceSize = len;

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