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
101 pParam->sSpatialLayers[i].iVideoWidth = width >> (iLayers - i - 1);101 pParam->sSpatialLayers[i].iVideoWidth = width >> (iLayers - i - 1);
102 pParam->sSpatialLayers[i].iVideoHeight = height >> (iLayers - i - 1);102 pParam->sSpatialLayers[i].iVideoHeight = height >> (iLayers - i - 1);
103 pParam->sSpatialLayers[i].fFrameRate = framerate;103 pParam->sSpatialLayers[i].fFrameRate = framerate;
104 pParam->sSpatialLayers[i].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;104 pParam->sSpatialLayers[i].sSliceArgument.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
105 pParam->sSpatialLayers[i].sSliceCfg.sSliceArgument.uiSliceNum = iSlices;105 pParam->sSpatialLayers[i].sSliceArgument.uiSliceNum = iSlices;
106 }106 }
107 }107 }
108 108
@@ -415,12 +415,12 @@ void EncodeDecodeTestAPIBase::RandomParamExtCombination() { · 306 unmodified lines
415 pSpatialLayer->iSpatialBitrate = rand() % BIT_RATE_RANGE;415 pSpatialLayer->iSpatialBitrate = rand() % BIT_RATE_RANGE;
416 416
417 417
418 pSpatialLayer->sSliceCfg.uiSliceMode = static_cast<SliceModeEnum> (rand() % SLICE_MODE_NUM);418 pSpatialLayer->sSliceArgument.uiSliceMode = static_cast<SliceModeEnum> (rand() % SLICE_MODE_NUM);
419 if (pSpatialLayer->sSliceCfg.uiSliceMode != SM_DYN_SLICE) {419 if (pSpatialLayer->sSliceArgument.uiSliceMode != SM_SIZELIMITED_SLICE) {
420 param_.uiMaxNalSize = 0;420 param_.uiMaxNalSize = 0;
421 }421 }
422 pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceNum = rand();422 pSpatialLayer->sSliceArgument.uiSliceNum = rand();
423 pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceSizeConstraint = rand();423 pSpatialLayer->sSliceArgument.uiSliceSizeConstraint = rand();
424 }424 }
425 }425 }
426}426}
@@ -482,31 +482,30 @@ void EncodeDecodeTestAPIBase::ValidateParamExtCombination() { · 55 unmodified lines
482 pSpatialLayer->iSpatialBitrate = WELS_CLIP3 (pSpatialLayer->iSpatialBitrate, 1, pSpatialLayer->iMaxSpatialBitrate);482 pSpatialLayer->iSpatialBitrate = WELS_CLIP3 (pSpatialLayer->iSpatialBitrate, 1, pSpatialLayer->iMaxSpatialBitrate);
483 iTotalBitRate += pSpatialLayer->iSpatialBitrate;483 iTotalBitRate += pSpatialLayer->iSpatialBitrate;
484 484
485 uiSliceNum = pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceNum;485 uiSliceNum = pSpatialLayer->sSliceArgument.uiSliceNum;
486 pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceNum = WELS_CLIP3 (uiSliceNum, 1, MAX_SLICES_NUM);486 pSpatialLayer->sSliceArgument.uiSliceNum = WELS_CLIP3 (uiSliceNum, 1, MAX_SLICES_NUM);
487 pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 0;487 pSpatialLayer->sSliceArgument.uiSliceSizeConstraint = 0;
488 488
489 489
490 //for SM_FIXEDSLCNUM_SLICE490 //for SM_FIXEDSLCNUM_SLICE
491 // to do will add this when GOM bug fixed491 // to do will add this when GOM bug fixed
492 if (SM_FIXEDSLCNUM_SLICE == pSpatialLayer->sSliceCfg.uiSliceMode) {492 if (SM_FIXEDSLCNUM_SLICE == pSpatialLayer->sSliceArgument.uiSliceMode) {
493 pSpatialLayer->sSliceCfg.uiSliceMode = SM_SINGLE_SLICE;493 pSpatialLayer->sSliceArgument.uiSliceMode = SM_SINGLE_SLICE;
494 }494 }
495 495
496 //for slice mode = SM_DYN_SLICE496 //for slice mode = SM_SIZELIMITED_SLICE
497 if (SM_DYN_SLICE == pSpatialLayer->sSliceCfg.uiSliceMode) {497 if (SM_SIZELIMITED_SLICE == pSpatialLayer->sSliceArgument.uiSliceMode) {
498 bDynSliceModeFlag = true;498 bDynSliceModeFlag = true;
499 }499 }
500 500
501 //for slice mode = SM_RASTER_SLICE501 //for slice mode = SM_RASTER_SLICE
502 if (SM_RASTER_SLICE == pSpatialLayer->sSliceCfg.uiSliceMode) {502 if (SM_RASTER_SLICE == pSpatialLayer->sSliceArgument.uiSliceMode) {
503 SliceParamValidationForMode2 (iSpatialIdx);503 if (0!=pSpatialLayer->sSliceArgument.uiSliceMbNum[0]) {
504 }504 SliceParamValidationForMode2 (iSpatialIdx);
505 //for slice mode = SM_ROWMB_SLICE505 } else {
506 if (SM_ROWMB_SLICE == pSpatialLayer->sSliceCfg.uiSliceMode) {506 SliceParamValidationForMode3 (iSpatialIdx);
507 SliceParamValidationForMode3 (iSpatialIdx);507 }
508 }508 }
509
510 }509 }
511 510
512 //for RC511 //for RC
@@ -526,7 +525,7 @@ void EncodeDecodeTestAPIBase::ValidateParamExtCombination() { · 13 unmodified lines
526 param_.iMinQp = iMinQP;525 param_.iMinQp = iMinQP;
527 param_.uiMaxNalSize = 0;526 param_.uiMaxNalSize = 0;
528 527
529 //for slice mode = SM_DYN_SLICE528 //for slice mode = SM_SIZELIMITED_SLICE
530 if (true == bDynSliceModeFlag) {529 if (true == bDynSliceModeFlag) {
531 SliceParamValidationForMode4();530 SliceParamValidationForMode4();
532 }531 }
@@ -549,8 +548,8 @@ void EncodeDecodeTestAPIBase::SliceParamValidationForMode2 (int iSpatialIdx) { · 16 unmodified lines
549 548
550 uiSliceIdx = 0;549 uiSliceIdx = 0;
551 while (uiSliceIdx < MAX_SLICES_NUM) {550 while (uiSliceIdx < MAX_SLICES_NUM) {
552 param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiSliceIdx] = rand() % uiMbNumInFrame;551 param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiSliceIdx] = rand() % uiMbNumInFrame;
553 uiCountMb += param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiSliceIdx];552 uiCountMb += param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiSliceIdx];
554 uiActualSliceCount = uiSliceIdx + 1;553 uiActualSliceCount = uiSliceIdx + 1;
555 554
556 if (uiCountMb >= uiMbNumInFrame) {555 if (uiCountMb >= uiMbNumInFrame) {
@@ -561,14 +560,14 @@ void EncodeDecodeTestAPIBase::SliceParamValidationForMode2 (int iSpatialIdx) { · 4 unmodified lines
561 }560 }
562 561
563 if (uiCountMb >= uiMbNumInFrame) {562 if (uiCountMb >= uiMbNumInFrame) {
564 param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1] -=563 param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1] -=
565 (uiCountMb - uiMbNumInFrame);564 (uiCountMb - uiMbNumInFrame);
566 565
567 } else {566 } else {
568 param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1 ] +=567 param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1 ] +=
569 (uiMbNumInFrame - uiCountMb);568 (uiMbNumInFrame - uiCountMb);
570 }569 }
571 param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceNum = uiActualSliceCount;570 param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceNum = uiActualSliceCount;
572 571
573}572}
574void EncodeDecodeTestAPIBase::SliceParamValidationForMode3 (int iSpatialIdx) {573void EncodeDecodeTestAPIBase::SliceParamValidationForMode3 (int iSpatialIdx) {
@@ -579,16 +578,16 @@ void EncodeDecodeTestAPIBase::SliceParamValidationForMode3 (int iSpatialIdx) { · 4 unmodified lines
579 578
580 //change slice mode to SM_SINGLE_SLICE579 //change slice mode to SM_SINGLE_SLICE
581 if (uiMbHeight > MAX_SLICES_NUM) {580 if (uiMbHeight > MAX_SLICES_NUM) {
582 param_.sSpatialLayers[iSpatialIdx].sSliceCfg.uiSliceMode = SM_SINGLE_SLICE;581 param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMode = SM_SINGLE_SLICE;
583 }582 }
584 583
585}584}
586 585
587void EncodeDecodeTestAPIBase::SliceParamValidationForMode4() {586void EncodeDecodeTestAPIBase::SliceParamValidationForMode4() {
588 //slice mode of all spatial layer should be set as SM_DYN_SLICE587 //slice mode of all spatial layer should be set as SM_SIZELIMITED_SLICE
589 for (int iSpatialIdx = 0; iSpatialIdx < param_.iSpatialLayerNum; iSpatialIdx++) {588 for (int iSpatialIdx = 0; iSpatialIdx < param_.iSpatialLayerNum; iSpatialIdx++) {
590 param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 600;589 param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceSizeConstraint = 600;
591 param_.sSpatialLayers[iSpatialIdx].sSliceCfg.uiSliceMode = SM_DYN_SLICE;590 param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMode = SM_SIZELIMITED_SLICE;
592 }591 }
593 param_.uiMaxNalSize = 1500;592 param_.uiMaxNalSize = 1500;
594}593}
@@ -2385,12 +2384,12 @@ TEST_F (DecodeCrashTestAPI, DecoderCrashTest) { · 1790 unmodified lines
2385 param_.iMultipleThreadIdc = 0;2384 param_.iMultipleThreadIdc = 0;
2386 param_.sSpatialLayers[0].iSpatialBitrate = p.iTarBitrate;2385 param_.sSpatialLayers[0].iSpatialBitrate = p.iTarBitrate;
2387 param_.sSpatialLayers[0].iMaxSpatialBitrate = p.iTarBitrate << 1;2386 param_.sSpatialLayers[0].iMaxSpatialBitrate = p.iTarBitrate << 1;
2388 param_.sSpatialLayers[0].sSliceCfg.uiSliceMode = (rand() % 2) ? SM_DYN_SLICE : SM_SINGLE_SLICE;2387 param_.sSpatialLayers[0].sSliceArgument.uiSliceMode = (rand() % 2) ? SM_SIZELIMITED_SLICE : SM_SINGLE_SLICE;
2389 if (param_.sSpatialLayers[0].sSliceCfg.uiSliceMode == SM_DYN_SLICE) {2388 if (param_.sSpatialLayers[0].sSliceArgument.uiSliceMode == SM_SIZELIMITED_SLICE) {
2390 param_.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 1400;2389 param_.sSpatialLayers[0].sSliceArgument.uiSliceSizeConstraint = 1400;
2391 param_.uiMaxNalSize = 1400;2390 param_.uiMaxNalSize = 1400;
2392 } else {2391 } else {
2393 param_.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 0;2392 param_.sSpatialLayers[0].sSliceArgument.uiSliceSizeConstraint = 0;
2394 param_.uiMaxNalSize = 0;2393 param_.uiMaxNalSize = 0;
2395 }2394 }
2396 2395
@@ -3454,35 +3453,35 @@ struct EncodeOptionParam { · 1057 unmodified lines
3454};3453};
3455 3454
3456static const EncodeOptionParam kOptionParamArray[] = {3455static const EncodeOptionParam kOptionParamArray[] = {
3457 {true, true, false, 30, 600, 460, 1, SM_DYN_SLICE, 450, 15.0, 1, ""},3456 {true, true, false, 30, 600, 460, 1, SM_SIZELIMITED_SLICE, 450, 15.0, 1, ""},
3458 {true, true, false, 30, 340, 96, 24, SM_DYN_SLICE, 1000, 30.0, 1, ""},3457 {true, true, false, 30, 340, 96, 24, SM_SIZELIMITED_SLICE, 1000, 30.0, 1, ""},
3459 {true, true, false, 30, 140, 196, 51, SM_DYN_SLICE, 500, 7.5, 1, ""},3458 {true, true, false, 30, 140, 196, 51, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3460 {true, true, false, 30, 110, 296, 50, SM_DYN_SLICE, 500, 7.5, 1, ""},3459 {true, true, false, 30, 110, 296, 50, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3461 {true, true, false, 30, 104, 416, 44, SM_DYN_SLICE, 500, 7.5, 1, ""},3460 {true, true, false, 30, 104, 416, 44, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3462 {true, true, false, 30, 16, 16, 2, SM_DYN_SLICE, 500, 7.5, 1, ""},3461 {true, true, false, 30, 16, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3463 {true, false, true, 30, 600, 460, 1, SM_DYN_SLICE, 450, 15.0, 1, ""},3462 {true, false, true, 30, 600, 460, 1, SM_SIZELIMITED_SLICE, 450, 15.0, 1, ""},
3464 {true, false, true, 30, 340, 96, 24, SM_DYN_SLICE, 1000, 30.0, 1, ""},3463 {true, false, true, 30, 340, 96, 24, SM_SIZELIMITED_SLICE, 1000, 30.0, 1, ""},
3465 {true, false, true, 30, 140, 196, 51, SM_DYN_SLICE, 500, 7.5, 1, ""},3464 {true, false, true, 30, 140, 196, 51, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3466 {true, false, true, 30, 110, 296, 50, SM_DYN_SLICE, 500, 7.5, 1, ""},3465 {true, false, true, 30, 110, 296, 50, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3467 {true, false, true, 30, 104, 416, 44, SM_DYN_SLICE, 500, 7.5, 1, ""},3466 {true, false, true, 30, 104, 416, 44, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3468 {true, false, true, 30, 16, 16, 2, SM_DYN_SLICE, 500, 7.5, 1, ""},3467 {true, false, true, 30, 16, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3469 {true, true, true, 30, 600, 460, 1, SM_DYN_SLICE, 450, 15.0, 1, ""},3468 {true, true, true, 30, 600, 460, 1, SM_SIZELIMITED_SLICE, 450, 15.0, 1, ""},
3470 {true, true, true, 30, 340, 96, 24, SM_DYN_SLICE, 1000, 30.0, 1, ""},3469 {true, true, true, 30, 340, 96, 24, SM_SIZELIMITED_SLICE, 1000, 30.0, 1, ""},
3471 {true, true, true, 30, 140, 196, 51, SM_DYN_SLICE, 500, 7.5, 1, ""},3470 {true, true, true, 30, 140, 196, 51, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3472 {true, true, true, 30, 110, 296, 50, SM_DYN_SLICE, 500, 7.5, 1, ""},3471 {true, true, true, 30, 110, 296, 50, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3473 {true, true, true, 30, 104, 416, 44, SM_DYN_SLICE, 500, 7.5, 1, ""},3472 {true, true, true, 30, 104, 416, 44, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3474 {true, true, true, 30, 16, 16, 2, SM_DYN_SLICE, 500, 7.5, 1, ""},3473 {true, true, true, 30, 16, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3475 {false, false, true, 3, 4096, 2304, 2, SM_SINGLE_SLICE, 0, 7.5, 1, ""}, // large picture size3474 {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, ""},3475 {false, true, false, 30, 32, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 1, ""},
3477 {false, true, false, 30, 600, 460, 1, SM_DYN_SLICE, 450, 15.0, 4, ""},3476 {false, true, false, 30, 600, 460, 1, SM_SIZELIMITED_SLICE, 450, 15.0, 4, ""},
3478 {false, true, false, 30, 340, 96, 24, SM_DYN_SLICE, 1000, 30.0, 2, ""},3477 {false, true, false, 30, 340, 96, 24, SM_SIZELIMITED_SLICE, 1000, 30.0, 2, ""},
3479 {false, true, false, 30, 140, 196, 51, SM_DYN_SLICE, 500, 7.5, 3, ""},3478 {false, true, false, 30, 140, 196, 51, SM_SIZELIMITED_SLICE, 500, 7.5, 3, ""},
3480 {false, true, false, 30, 110, 296, 50, SM_DYN_SLICE, 500, 7.5, 2, ""},3479 {false, true, false, 30, 110, 296, 50, SM_SIZELIMITED_SLICE, 500, 7.5, 2, ""},
3481 {false, true, false, 30, 104, 416, 44, SM_DYN_SLICE, 500, 7.5, 2, ""},3480 {false, true, false, 30, 104, 416, 44, SM_SIZELIMITED_SLICE, 500, 7.5, 2, ""},
3482 {false, true, false, 30, 16, 16, 2, SM_DYN_SLICE, 500, 7.5, 3, ""},3481 {false, true, false, 30, 16, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 3, ""},
3483 {false, true, false, 30, 32, 16, 2, SM_DYN_SLICE, 500, 7.5, 3, ""},3482 {false, true, false, 30, 32, 16, 2, SM_SIZELIMITED_SLICE, 500, 7.5, 3, ""},
3484 {false, false, true, 30, 600, 460, 1, SM_FIXEDSLCNUM_SLICE, 0, 15.0, 4, ""},3483 {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, ""},
3486};3485};
3487 3486
3488class EncodeTestAPI : public ::testing::TestWithParam<EncodeOptionParam>, public ::EncodeDecodeTestAPIBase {3487class EncodeTestAPI : public ::testing::TestWithParam<EncodeOptionParam>, public ::EncodeDecodeTestAPIBase {
@@ -3533,9 +3532,9 @@ TEST_P (EncodeTestAPI, SetEncOptionSize) { · 44 unmodified lines
3533 param_.sSpatialLayers[0].iVideoWidth = p.iWidth ;3532 param_.sSpatialLayers[0].iVideoWidth = p.iWidth ;
3534 param_.sSpatialLayers[0].iVideoHeight = p.iHeight;3533 param_.sSpatialLayers[0].iVideoHeight = p.iHeight;
3535 param_.sSpatialLayers[0].fFrameRate = p.fFramerate;3534 param_.sSpatialLayers[0].fFrameRate = p.fFramerate;
3536 param_.sSpatialLayers[0].sSliceCfg.uiSliceMode = p.eSliceMode;3535 param_.sSpatialLayers[0].sSliceArgument.uiSliceMode = p.eSliceMode;
3537 if (SM_AUTO_SLICE == p.eSliceMode || SM_FIXEDSLCNUM_SLICE == p.eSliceMode ) {3536 if ( SM_FIXEDSLCNUM_SLICE == p.eSliceMode ) {
3538 param_.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = 8;3537 param_.sSpatialLayers[0].sSliceArgument.uiSliceNum = 8;
3539 }3538 }
3540 3539
3541 encoder_->Uninitialize();3540 encoder_->Uninitialize();
@@ -3555,7 +3554,7 @@ TEST_P (EncodeTestAPI, SetEncOptionSize) { · 13 unmodified lines
3555 unsigned char* pData[3] = { NULL };3554 unsigned char* pData[3] = { NULL };
3556 3555
3557 //FIXME: remove this after the multi-thread case is correctly handled in encoder3556 //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) {
3559 p.bAllRandom = false;3558 p.bAllRandom = false;
3560 }3559 }
3561 3560
@@ -3742,18 +3741,19 @@ TEST_F (EncodeDecodeTestAPI, DiffSlicingInDlayer) { · 180 unmodified lines
3742 sParam.bSimulcastAVC = 1;3741 sParam.bSimulcastAVC = 1;
3743 sParam.sSpatialLayers[0].iVideoWidth = (iWidth >> 2);3742 sParam.sSpatialLayers[0].iVideoWidth = (iWidth >> 2);
3744 sParam.sSpatialLayers[0].iVideoHeight = (iHeight >> 2);3743 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;
3746 3746
3747 sParam.sSpatialLayers[1].iVideoWidth = (iWidth >> 1);3747 sParam.sSpatialLayers[1].iVideoWidth = (iWidth >> 1);
3748 sParam.sSpatialLayers[1].iVideoHeight = (iHeight >> 1);3748 sParam.sSpatialLayers[1].iVideoHeight = (iHeight >> 1);
3749 sParam.sSpatialLayers[1].sSliceCfg.uiSliceMode = SM_RASTER_SLICE;3749 sParam.sSpatialLayers[1].sSliceArgument.uiSliceMode = SM_RASTER_SLICE;
3750 sParam.sSpatialLayers[1].sSliceCfg.sSliceArgument.uiSliceMbNum[0] = 30;3750 sParam.sSpatialLayers[1].sSliceArgument.uiSliceMbNum[0] = 30;
3751 sParam.sSpatialLayers[1].sSliceCfg.sSliceArgument.uiSliceMbNum[1] = 32;3751 sParam.sSpatialLayers[1].sSliceArgument.uiSliceMbNum[1] = 32;
3752 3752
3753 sParam.sSpatialLayers[2].iVideoWidth = iWidth;3753 sParam.sSpatialLayers[2].iVideoWidth = iWidth;
3754 sParam.sSpatialLayers[2].iVideoHeight = iHeight;3754 sParam.sSpatialLayers[2].iVideoHeight = iHeight;
3755 sParam.sSpatialLayers[2].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;3755 sParam.sSpatialLayers[2].sSliceArgument.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
3756 sParam.sSpatialLayers[2].sSliceCfg.sSliceArgument.uiSliceNum = (rand() % 30) + 1;3756 sParam.sSpatialLayers[2].sSliceArgument.uiSliceNum = (rand() % 30) + 1;
3757 3757
3758 int rv = encoder_->InitializeExt (&sParam);3758 int rv = encoder_->InitializeExt (&sParam);
3759 ASSERT_TRUE (rv == cmResultSuccess) << "Init Failed sParam: rv = " << rv;;3759 ASSERT_TRUE (rv == cmResultSuccess) << "Init Failed sParam: rv = " << rv;;
@@ -3812,12 +3812,12 @@ TEST_F (EncodeDecodeTestAPI, DiffSlicingInDlayerMixed) { · 52 unmodified lines
3812 sParam.bSimulcastAVC = 1;3812 sParam.bSimulcastAVC = 1;
3813 sParam.sSpatialLayers[0].iVideoWidth = (iWidth >> 2);3813 sParam.sSpatialLayers[0].iVideoWidth = (iWidth >> 2);
3814 sParam.sSpatialLayers[0].iVideoHeight = (iHeight >> 2);3814 sParam.sSpatialLayers[0].iVideoHeight = (iHeight >> 2);
3815 sParam.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_ROWMB_SLICE;3815 sParam.sSpatialLayers[0].sSliceArgument.uiSliceMode = SM_RASTER_SLICE;
3816 3816
3817 sParam.sSpatialLayers[1].iVideoWidth = iWidth;3817 sParam.sSpatialLayers[1].iVideoWidth = iWidth;
3818 sParam.sSpatialLayers[1].iVideoHeight = iHeight;3818 sParam.sSpatialLayers[1].iVideoHeight = iHeight;
3819 sParam.sSpatialLayers[1].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;3819 sParam.sSpatialLayers[1].sSliceArgument.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
3820 sParam.sSpatialLayers[1].sSliceCfg.sSliceArgument.uiSliceNum = 1;3820 sParam.sSpatialLayers[1].sSliceArgument.uiSliceNum = 1;
3821 3821
3822 int rv = encoder_->InitializeExt (&sParam);3822 int rv = encoder_->InitializeExt (&sParam);
3823 ASSERT_TRUE (rv == cmResultSuccess) << "Init Failed sParam: rv = " << rv;;3823 ASSERT_TRUE (rv == cmResultSuccess) << "Init Failed sParam: rv = " << rv;;
@@ -3876,8 +3876,8 @@ TEST_F (EncodeDecodeTestAPI, ThreadNumAndSliceNum) { · 52 unmodified lines
3876 sParam.bSimulcastAVC = 1;3876 sParam.bSimulcastAVC = 1;
3877 sParam.sSpatialLayers[0].iVideoWidth = iWidth;3877 sParam.sSpatialLayers[0].iVideoWidth = iWidth;
3878 sParam.sSpatialLayers[0].iVideoHeight = iHeight;3878 sParam.sSpatialLayers[0].iVideoHeight = iHeight;
3879 sParam.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;3879 sParam.sSpatialLayers[0].sSliceArgument.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
3880 sParam.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = (rand() % 2) ? (sParam.iMultipleThreadIdc + 1) :3880 sParam.sSpatialLayers[0].sSliceArgument.uiSliceNum = (rand() % 2) ? (sParam.iMultipleThreadIdc + 1) :
3881 (sParam.iMultipleThreadIdc - 1);3881 (sParam.iMultipleThreadIdc - 1);
3882 3882
3883 int rv = encoder_->InitializeExt (&sParam);3883 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