History

change API for slicing part for easier usage (the UseLoadBalancing flag is still under working)

sijchen committed 11 years ago

Commit 33c378f1 parent 24916a626 files · +7334 −7329Browse files

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

Unified · Split

test/api/encode_decode_api_test.cpp+76−76
@@ -101,8 +101,8 @@ class EncodeDecodeTestBase : public BaseEncoderTest, public BaseDecoderTest { · 100 unmodified lines
101101 pParam->sSpatialLayers[i].iVideoWidth = width >> (iLayers - i - 1);
102102 pParam->sSpatialLayers[i].iVideoHeight = height >> (iLayers - i - 1);
103103 pParam->sSpatialLayers[i].fFrameRate = framerate;
104− pParam->sSpatialLayers[i].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
105− pParam->sSpatialLayers[i].sSliceCfg.sSliceArgument.uiSliceNum = iSlices;
104+ pParam->sSpatialLayers[i].sSliceArgument.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
105+ pParam->sSpatialLayers[i].sSliceArgument.uiSliceNum = iSlices;
106106 }
107107 }
108108
@@ -415,12 +415,12 @@ void EncodeDecodeTestAPIBase::RandomParamExtCombination() { · 306 unmodified lines
415415 pSpatialLayer->iSpatialBitrate = rand() % BIT_RATE_RANGE;
416416
417417
418− pSpatialLayer->sSliceCfg.uiSliceMode = static_cast<SliceModeEnum> (rand() % SLICE_MODE_NUM);
419− if (pSpatialLayer->sSliceCfg.uiSliceMode != SM_DYN_SLICE) {
418+ pSpatialLayer->sSliceArgument.uiSliceMode = static_cast<SliceModeEnum> (rand() % SLICE_MODE_NUM);
419+ if (pSpatialLayer->sSliceArgument.uiSliceMode != SM_SIZELIMITED_SLICE) {
420420 param_.uiMaxNalSize = 0;
421421 }
422− pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceNum = rand();
423− pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceSizeConstraint = rand();
422+ pSpatialLayer->sSliceArgument.uiSliceNum = rand();
423+ pSpatialLayer->sSliceArgument.uiSliceSizeConstraint = rand();
424424 }
425425 }
426426 }
@@ -482,31 +482,30 @@ void EncodeDecodeTestAPIBase::ValidateParamExtCombination() { · 55 unmodified lines
482482 pSpatialLayer->iSpatialBitrate = WELS_CLIP3 (pSpatialLayer->iSpatialBitrate, 1, pSpatialLayer->iMaxSpatialBitrate);
483483 iTotalBitRate += pSpatialLayer->iSpatialBitrate;
484484
485− uiSliceNum = pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceNum;
486− pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceNum = WELS_CLIP3 (uiSliceNum, 1, MAX_SLICES_NUM);
487− pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 0;
485+ uiSliceNum = pSpatialLayer->sSliceArgument.uiSliceNum;
486+ pSpatialLayer->sSliceArgument.uiSliceNum = WELS_CLIP3 (uiSliceNum, 1, MAX_SLICES_NUM);
487+ pSpatialLayer->sSliceArgument.uiSliceSizeConstraint = 0;
488488
489489
490490 //for SM_FIXEDSLCNUM_SLICE
491491 // to do will add this when GOM bug fixed
492− if (SM_FIXEDSLCNUM_SLICE == pSpatialLayer->sSliceCfg.uiSliceMode) {
493− pSpatialLayer->sSliceCfg.uiSliceMode = SM_SINGLE_SLICE;
492+ if (SM_FIXEDSLCNUM_SLICE == pSpatialLayer->sSliceArgument.uiSliceMode) {
493+ pSpatialLayer->sSliceArgument.uiSliceMode = SM_SINGLE_SLICE;
494494 }
495495
496− //for slice mode = SM_DYN_SLICE
497− if (SM_DYN_SLICE == pSpatialLayer->sSliceCfg.uiSliceMode) {
496+ //for slice mode = SM_SIZELIMITED_SLICE
497+ if (SM_SIZELIMITED_SLICE == pSpatialLayer->sSliceArgument.uiSliceMode) {
498498 bDynSliceModeFlag = true;
499499 }
500500
501501 //for slice mode = SM_RASTER_SLICE
502− if (SM_RASTER_SLICE == pSpatialLayer->sSliceCfg.uiSliceMode) {
503− SliceParamValidationForMode2 (iSpatialIdx);
504− }
505− //for slice mode = SM_ROWMB_SLICE
506− if (SM_ROWMB_SLICE == pSpatialLayer->sSliceCfg.uiSliceMode) {
507− SliceParamValidationForMode3 (iSpatialIdx);
502+ if (SM_RASTER_SLICE == pSpatialLayer->sSliceArgument.uiSliceMode) {
503+ if (0!=pSpatialLayer->sSliceArgument.uiSliceMbNum[0]) {
504+ SliceParamValidationForMode2 (iSpatialIdx);
505+ } else {
506+ SliceParamValidationForMode3 (iSpatialIdx);
507+ }
508508 }
509−
510509 }
511510
512511 //for RC
@@ -526,7 +525,7 @@ void EncodeDecodeTestAPIBase::ValidateParamExtCombination() { · 13 unmodified lines
526525 param_.iMinQp = iMinQP;
527526 param_.uiMaxNalSize = 0;
528527
529− //for slice mode = SM_DYN_SLICE
528+ //for slice mode = SM_SIZELIMITED_SLICE
530529 if (true == bDynSliceModeFlag) {
531530 SliceParamValidationForMode4();
532531 }
@@ -549,8 +548,8 @@ void EncodeDecodeTestAPIBase::SliceParamValidationForMode2 (int iSpatialIdx) { · 16 unmodified lines
549548
550549 uiSliceIdx = 0;
551550 while (uiSliceIdx < MAX_SLICES_NUM) {
552− param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiSliceIdx] = rand() % uiMbNumInFrame;
553− uiCountMb += param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiSliceIdx];
551+ param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiSliceIdx] = rand() % uiMbNumInFrame;
552+ uiCountMb += param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiSliceIdx];
554553 uiActualSliceCount = uiSliceIdx + 1;
555554
556555 if (uiCountMb >= uiMbNumInFrame) {
@@ -561,14 +560,14 @@ void EncodeDecodeTestAPIBase::SliceParamValidationForMode2 (int iSpatialIdx) { · 4 unmodified lines
561560 }
562561
563562 if (uiCountMb >= uiMbNumInFrame) {
564− param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1] -=
563+ param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1] -=
565564 (uiCountMb - uiMbNumInFrame);
566565
567566 } else {
568− param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1 ] +=
567+ param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1 ] +=
569568 (uiMbNumInFrame - uiCountMb);
570569 }
571− param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceNum = uiActualSliceCount;
570+ param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceNum = uiActualSliceCount;
572571
573572 }
574573 void EncodeDecodeTestAPIBase::SliceParamValidationForMode3 (int iSpatialIdx) {
@@ -579,16 +578,16 @@ void EncodeDecodeTestAPIBase::SliceParamValidationForMode3 (int iSpatialIdx) { · 4 unmodified lines
579578
580579 //change slice mode to SM_SINGLE_SLICE
581580 if (uiMbHeight > MAX_SLICES_NUM) {
582− param_.sSpatialLayers[iSpatialIdx].sSliceCfg.uiSliceMode = SM_SINGLE_SLICE;
581+ param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMode = SM_SINGLE_SLICE;
583582 }
584583
585584 }
586585
587586 void EncodeDecodeTestAPIBase::SliceParamValidationForMode4() {
588− //slice mode of all spatial layer should be set as SM_DYN_SLICE
587+ //slice mode of all spatial layer should be set as SM_SIZELIMITED_SLICE
589588 for (int iSpatialIdx = 0; iSpatialIdx < param_.iSpatialLayerNum; iSpatialIdx++) {
590− param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 600;
591− param_.sSpatialLayers[iSpatialIdx].sSliceCfg.uiSliceMode = SM_DYN_SLICE;
589+ param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceSizeConstraint = 600;
590+ param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMode = SM_SIZELIMITED_SLICE;
592591 }
593592 param_.uiMaxNalSize = 1500;
594593 }
@@ -2385,12 +2384,12 @@ TEST_F (DecodeCrashTestAPI, DecoderCrashTest) { · 1790 unmodified lines
23852384 param_.iMultipleThreadIdc = 0;
23862385 param_.sSpatialLayers[0].iSpatialBitrate = p.iTarBitrate;
23872386 param_.sSpatialLayers[0].iMaxSpatialBitrate = p.iTarBitrate << 1;
2388− param_.sSpatialLayers[0].sSliceCfg.uiSliceMode = (rand() % 2) ? SM_DYN_SLICE : SM_SINGLE_SLICE;
2389− if (param_.sSpatialLayers[0].sSliceCfg.uiSliceMode == SM_DYN_SLICE) {
2390− param_.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 1400;
2387+ param_.sSpatialLayers[0].sSliceArgument.uiSliceMode = (rand() % 2) ? SM_SIZELIMITED_SLICE : SM_SINGLE_SLICE;
2388+ if (param_.sSpatialLayers[0].sSliceArgument.uiSliceMode == SM_SIZELIMITED_SLICE) {
2389+ param_.sSpatialLayers[0].sSliceArgument.uiSliceSizeConstraint = 1400;
23912390 param_.uiMaxNalSize = 1400;
23922391 } else {
2393− param_.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 0;
2392+ param_.sSpatialLayers[0].sSliceArgument.uiSliceSizeConstraint = 0;
23942393 param_.uiMaxNalSize = 0;
23952394 }
23962395
@@ -3454,35 +3453,35 @@ struct EncodeOptionParam { · 1057 unmodified lines
34543453 };
34553454
34563455 static const EncodeOptionParam kOptionParamArray[] = {
3457− {true, true, false, 30, 600, 460, 1, SM_DYN_SLICE, 450, 15.0, 1, ""},
3458− {true, true, false, 30, 340, 96, 24, SM_DYN_SLICE, 1000, 30.0, 1, ""},
3459− {true, true, false, 30, 140, 196, 51, SM_DYN_SLICE, 500, 7.5, 1, ""},
3460− {true, true, false, 30, 110, 296, 50, SM_DYN_SLICE, 500, 7.5, 1, ""},
3461− {true, true, false, 30, 104, 416, 44, SM_DYN_SLICE, 500, 7.5, 1, ""},
3462− {true, true, false, 30, 16, 16, 2, SM_DYN_SLICE, 500, 7.5, 1, ""},
3463− {true, false, true, 30, 600, 460, 1, SM_DYN_SLICE, 450, 15.0, 1, ""},
3464− {true, false, true, 30, 340, 96, 24, SM_DYN_SLICE, 1000, 30.0, 1, ""},
3465− {true, false, true, 30, 140, 196, 51, SM_DYN_SLICE, 500, 7.5, 1, ""},
3466− {true, false, true, 30, 110, 296, 50, SM_DYN_SLICE, 500, 7.5, 1, ""},
3467− {true, false, true, 30, 104, 416, 44, SM_DYN_SLICE, 500, 7.5, 1, ""},
3468− {true, false, true, 30, 16, 16, 2, SM_DYN_SLICE, 500, 7.5, 1, ""},
3469− {true, true, true, 30, 600, 460, 1, SM_DYN_SLICE, 450, 15.0, 1, ""},
3470− {true, true, true, 30, 340, 96, 24, SM_DYN_SLICE, 1000, 30.0, 1, ""},
3471− {true, true, true, 30, 140, 196, 51, SM_DYN_SLICE, 500, 7.5, 1, ""},
3472− {true, true, true, 30, 110, 296, 50, SM_DYN_SLICE, 500, 7.5, 1, ""},
3473− {true, true, true, 30, 104, 416, 44, SM_DYN_SLICE, 500, 7.5, 1, ""},
3474− {true, true, true, 30, 16, 16, 2, SM_DYN_SLICE, 500, 7.5, 1, ""},
3456+ {true, true, false, 30, 600, 460, 1, SM_SIZELIMITED_SLICE, 450, 15.0, 1, ""},
3457+ {true, true, false, 30, 340, 96, 24, SM_SIZELIMITED_SLICE, 1000, 30.0, 1, ""},
3458+ {true, true, false, 30, 140, 196, 51, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3459+ {true, true, false, 30, 110, 296, 50, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3460+ {true, true, false, 30, 104, 416, 44, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3461+ {true, true, false, 30, 16, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3462+ {true, false, true, 30, 600, 460, 1, SM_SIZELIMITED_SLICE, 450, 15.0, 1, ""},
3463+ {true, false, true, 30, 340, 96, 24, SM_SIZELIMITED_SLICE, 1000, 30.0, 1, ""},
3464+ {true, false, true, 30, 140, 196, 51, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3465+ {true, false, true, 30, 110, 296, 50, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3466+ {true, false, true, 30, 104, 416, 44, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3467+ {true, false, true, 30, 16, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3468+ {true, true, true, 30, 600, 460, 1, SM_SIZELIMITED_SLICE, 450, 15.0, 1, ""},
3469+ {true, true, true, 30, 340, 96, 24, SM_SIZELIMITED_SLICE, 1000, 30.0, 1, ""},
3470+ {true, true, true, 30, 140, 196, 51, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3471+ {true, true, true, 30, 110, 296, 50, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3472+ {true, true, true, 30, 104, 416, 44, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3473+ {true, true, true, 30, 16, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
34753474 {false, false, true, 3, 4096, 2304, 2, SM_SINGLE_SLICE, 0, 7.5, 1, ""}, // large picture size
3476− {false, true, false, 30, 32, 16, 2, SM_DYN_SLICE, 500, 7.5, 1, ""},
3477− {false, true, false, 30, 600, 460, 1, SM_DYN_SLICE, 450, 15.0, 4, ""},
3478− {false, true, false, 30, 340, 96, 24, SM_DYN_SLICE, 1000, 30.0, 2, ""},
3479− {false, true, false, 30, 140, 196, 51, SM_DYN_SLICE, 500, 7.5, 3, ""},
3480− {false, true, false, 30, 110, 296, 50, SM_DYN_SLICE, 500, 7.5, 2, ""},
3481− {false, true, false, 30, 104, 416, 44, SM_DYN_SLICE, 500, 7.5, 2, ""},
3482− {false, true, false, 30, 16, 16, 2, SM_DYN_SLICE, 500, 7.5, 3, ""},
3483− {false, true, false, 30, 32, 16, 2, SM_DYN_SLICE, 500, 7.5, 3, ""},
3475+ {false, true, false, 30, 32, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3476+ {false, true, false, 30, 600, 460, 1, SM_SIZELIMITED_SLICE, 450, 15.0, 4, ""},
3477+ {false, true, false, 30, 340, 96, 24, SM_SIZELIMITED_SLICE, 1000, 30.0, 2, ""},
3478+ {false, true, false, 30, 140, 196, 51, SM_SIZELIMITED_SLICE, 500, 7.5, 3, ""},
3479+ {false, true, false, 30, 110, 296, 50, SM_SIZELIMITED_SLICE, 500, 7.5, 2, ""},
3480+ {false, true, false, 30, 104, 416, 44, SM_SIZELIMITED_SLICE, 500, 7.5, 2, ""},
3481+ {false, true, false, 30, 16, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 3, ""},
3482+ {false, true, false, 30, 32, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 3, ""},
34843483 {false, false, true, 30, 600, 460, 1, SM_FIXEDSLCNUM_SLICE, 0, 15.0, 4, ""},
3485− {false, false, true, 30, 600, 460, 1, SM_AUTO_SLICE, 0, 15.0, 4, ""},
3484+ {false, false, true, 30, 600, 460, 1, SM_FIXEDSLCNUM_SLICE, 0, 15.0, 8, ""},
34863485 };
34873486
34883487 class EncodeTestAPI : public ::testing::TestWithParam<EncodeOptionParam>, public ::EncodeDecodeTestAPIBase {
@@ -3533,9 +3532,9 @@ TEST_P (EncodeTestAPI, SetEncOptionSize) { · 44 unmodified lines
35333532 param_.sSpatialLayers[0].iVideoWidth = p.iWidth ;
35343533 param_.sSpatialLayers[0].iVideoHeight = p.iHeight;
35353534 param_.sSpatialLayers[0].fFrameRate = p.fFramerate;
3536− param_.sSpatialLayers[0].sSliceCfg.uiSliceMode = p.eSliceMode;
3537− if (SM_AUTO_SLICE == p.eSliceMode || SM_FIXEDSLCNUM_SLICE == p.eSliceMode ) {
3538− param_.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = 8;
3535+ param_.sSpatialLayers[0].sSliceArgument.uiSliceMode = p.eSliceMode;
3536+ if ( SM_FIXEDSLCNUM_SLICE == p.eSliceMode ) {
3537+ param_.sSpatialLayers[0].sSliceArgument.uiSliceNum = 8;
35393538 }
35403539
35413540 encoder_->Uninitialize();
@@ -3555,7 +3554,7 @@ TEST_P (EncodeTestAPI, SetEncOptionSize) { · 13 unmodified lines
35553554 unsigned char* pData[3] = { NULL };
35563555
35573556 //FIXME: remove this after the multi-thread case is correctly handled in encoder
3558− if (p.iThreads>1 && SM_DYN_SLICE == p.eSliceMode) {
3557+ if (p.iThreads>1 && SM_SIZELIMITED_SLICE == p.eSliceMode) {
35593558 p.bAllRandom = false;
35603559 }
35613560
@@ -3742,18 +3741,19 @@ TEST_F (EncodeDecodeTestAPI, DiffSlicingInDlayer) { · 180 unmodified lines
37423741 sParam.bSimulcastAVC = 1;
37433742 sParam.sSpatialLayers[0].iVideoWidth = (iWidth >> 2);
37443743 sParam.sSpatialLayers[0].iVideoHeight = (iHeight >> 2);
3745− sParam.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_ROWMB_SLICE;
3744+ sParam.sSpatialLayers[0].sSliceArgument.uiSliceMode = SM_RASTER_SLICE;
3745+ sParam.sSpatialLayers[1].sSliceArgument.uiSliceMbNum[0] = 0;
37463746
37473747 sParam.sSpatialLayers[1].iVideoWidth = (iWidth >> 1);
37483748 sParam.sSpatialLayers[1].iVideoHeight = (iHeight >> 1);
3749− sParam.sSpatialLayers[1].sSliceCfg.uiSliceMode = SM_RASTER_SLICE;
3750− sParam.sSpatialLayers[1].sSliceCfg.sSliceArgument.uiSliceMbNum[0] = 30;
3751− sParam.sSpatialLayers[1].sSliceCfg.sSliceArgument.uiSliceMbNum[1] = 32;
3749+ sParam.sSpatialLayers[1].sSliceArgument.uiSliceMode = SM_RASTER_SLICE;
3750+ sParam.sSpatialLayers[1].sSliceArgument.uiSliceMbNum[0] = 30;
3751+ sParam.sSpatialLayers[1].sSliceArgument.uiSliceMbNum[1] = 32;
37523752
37533753 sParam.sSpatialLayers[2].iVideoWidth = iWidth;
37543754 sParam.sSpatialLayers[2].iVideoHeight = iHeight;
3755− sParam.sSpatialLayers[2].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
3756− sParam.sSpatialLayers[2].sSliceCfg.sSliceArgument.uiSliceNum = (rand() % 30) + 1;
3755+ sParam.sSpatialLayers[2].sSliceArgument.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
3756+ sParam.sSpatialLayers[2].sSliceArgument.uiSliceNum = (rand() % 30) + 1;
37573757
37583758 int rv = encoder_->InitializeExt (&sParam);
37593759 ASSERT_TRUE (rv == cmResultSuccess) << "Init Failed sParam: rv = " << rv;;
@@ -3812,12 +3812,12 @@ TEST_F (EncodeDecodeTestAPI, DiffSlicingInDlayerMixed) { · 52 unmodified lines
38123812 sParam.bSimulcastAVC = 1;
38133813 sParam.sSpatialLayers[0].iVideoWidth = (iWidth >> 2);
38143814 sParam.sSpatialLayers[0].iVideoHeight = (iHeight >> 2);
3815− sParam.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_ROWMB_SLICE;
3815+ sParam.sSpatialLayers[0].sSliceArgument.uiSliceMode = SM_RASTER_SLICE;
38163816
38173817 sParam.sSpatialLayers[1].iVideoWidth = iWidth;
38183818 sParam.sSpatialLayers[1].iVideoHeight = iHeight;
3819− sParam.sSpatialLayers[1].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
3820− sParam.sSpatialLayers[1].sSliceCfg.sSliceArgument.uiSliceNum = 1;
3819+ sParam.sSpatialLayers[1].sSliceArgument.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
3820+ sParam.sSpatialLayers[1].sSliceArgument.uiSliceNum = 1;
38213821
38223822 int rv = encoder_->InitializeExt (&sParam);
38233823 ASSERT_TRUE (rv == cmResultSuccess) << "Init Failed sParam: rv = " << rv;;
@@ -3876,8 +3876,8 @@ TEST_F (EncodeDecodeTestAPI, ThreadNumAndSliceNum) { · 52 unmodified lines
38763876 sParam.bSimulcastAVC = 1;
38773877 sParam.sSpatialLayers[0].iVideoWidth = iWidth;
38783878 sParam.sSpatialLayers[0].iVideoHeight = iHeight;
3879− sParam.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
3880− sParam.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = (rand() % 2) ? (sParam.iMultipleThreadIdc + 1) :
3879+ sParam.sSpatialLayers[0].sSliceArgument.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
3880+ sParam.sSpatialLayers[0].sSliceArgument.uiSliceNum = (rand() % 2) ? (sParam.iMultipleThreadIdc + 1) :
38813881 (sParam.iMultipleThreadIdc - 1);
38823882
38833883 int rv = encoder_->InitializeExt (&sParam);

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