Showing the changes to test/api/encode_decode_api_test.cpp (1 of 26 files). Show all
Unified · Split
| @@ -101,8 +101,8 @@ class EncodeDecodeTestBase : public BaseEncoderTest, public BaseDecoderTest { · 100 unmodified lines | ||
| 101 | 101 | pParam->sSpatialLayers[i].iVideoWidth = width >> (iLayers - i - 1); |
| 102 | 102 | pParam->sSpatialLayers[i].iVideoHeight = height >> (iLayers - i - 1); |
| 103 | 103 | 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; | |
| 106 | 106 | } |
| 107 | 107 | } |
| 108 | 108 | |
| @@ -415,12 +415,12 @@ void EncodeDecodeTestAPIBase::RandomParamExtCombination() { · 306 unmodified lines | ||
| 415 | 415 | pSpatialLayer->iSpatialBitrate = rand() % BIT_RATE_RANGE; |
| 416 | 416 | |
| 417 | 417 | |
| 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) { | |
| 420 | 420 | param_.uiMaxNalSize = 0; |
| 421 | 421 | } |
| 422 | − pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceNum = rand(); | |
| 423 | − pSpatialLayer->sSliceCfg.sSliceArgument.uiSliceSizeConstraint = rand(); | |
| 422 | + pSpatialLayer->sSliceArgument.uiSliceNum = rand(); | |
| 423 | + pSpatialLayer->sSliceArgument.uiSliceSizeConstraint = rand(); | |
| 424 | 424 | } |
| 425 | 425 | } |
| 426 | 426 | } |
| @@ -482,31 +482,30 @@ void EncodeDecodeTestAPIBase::ValidateParamExtCombination() { · 55 unmodified lines | ||
| 482 | 482 | pSpatialLayer->iSpatialBitrate = WELS_CLIP3 (pSpatialLayer->iSpatialBitrate, 1, pSpatialLayer->iMaxSpatialBitrate); |
| 483 | 483 | iTotalBitRate += pSpatialLayer->iSpatialBitrate; |
| 484 | 484 | |
| 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; | |
| 488 | 488 | |
| 489 | 489 | |
| 490 | 490 | //for SM_FIXEDSLCNUM_SLICE |
| 491 | 491 | // 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; | |
| 494 | 494 | } |
| 495 | 495 | |
| 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) { | |
| 498 | 498 | bDynSliceModeFlag = true; |
| 499 | 499 | } |
| 500 | 500 | |
| 501 | 501 | //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 | + } | |
| 508 | 508 | } |
| 509 | − | |
| 510 | 509 | } |
| 511 | 510 | |
| 512 | 511 | //for RC |
| @@ -526,7 +525,7 @@ void EncodeDecodeTestAPIBase::ValidateParamExtCombination() { · 13 unmodified lines | ||
| 526 | 525 | param_.iMinQp = iMinQP; |
| 527 | 526 | param_.uiMaxNalSize = 0; |
| 528 | 527 | |
| 529 | − //for slice mode = SM_DYN_SLICE | |
| 528 | + //for slice mode = SM_SIZELIMITED_SLICE | |
| 530 | 529 | if (true == bDynSliceModeFlag) { |
| 531 | 530 | SliceParamValidationForMode4(); |
| 532 | 531 | } |
| @@ -549,8 +548,8 @@ void EncodeDecodeTestAPIBase::SliceParamValidationForMode2 (int iSpatialIdx) { · 16 unmodified lines | ||
| 549 | 548 | |
| 550 | 549 | uiSliceIdx = 0; |
| 551 | 550 | 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]; | |
| 554 | 553 | uiActualSliceCount = uiSliceIdx + 1; |
| 555 | 554 | |
| 556 | 555 | if (uiCountMb >= uiMbNumInFrame) { |
| @@ -561,14 +560,14 @@ void EncodeDecodeTestAPIBase::SliceParamValidationForMode2 (int iSpatialIdx) { · 4 unmodified lines | ||
| 561 | 560 | } |
| 562 | 561 | |
| 563 | 562 | if (uiCountMb >= uiMbNumInFrame) { |
| 564 | − param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1] -= | |
| 563 | + param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1] -= | |
| 565 | 564 | (uiCountMb - uiMbNumInFrame); |
| 566 | 565 | |
| 567 | 566 | } else { |
| 568 | − param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1 ] += | |
| 567 | + param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceMbNum[uiActualSliceCount - 1 ] += | |
| 569 | 568 | (uiMbNumInFrame - uiCountMb); |
| 570 | 569 | } |
| 571 | − param_.sSpatialLayers[iSpatialIdx].sSliceCfg.sSliceArgument.uiSliceNum = uiActualSliceCount; | |
| 570 | + param_.sSpatialLayers[iSpatialIdx].sSliceArgument.uiSliceNum = uiActualSliceCount; | |
| 572 | 571 | |
| 573 | 572 | } |
| 574 | 573 | void EncodeDecodeTestAPIBase::SliceParamValidationForMode3 (int iSpatialIdx) { |
| @@ -579,16 +578,16 @@ void EncodeDecodeTestAPIBase::SliceParamValidationForMode3 (int iSpatialIdx) { · 4 unmodified lines | ||
| 579 | 578 | |
| 580 | 579 | //change slice mode to SM_SINGLE_SLICE |
| 581 | 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 | |
| 587 | 586 | 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 | |
| 589 | 588 | 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; | |
| 592 | 591 | } |
| 593 | 592 | param_.uiMaxNalSize = 1500; |
| 594 | 593 | } |
| @@ -2385,12 +2384,12 @@ TEST_F (DecodeCrashTestAPI, DecoderCrashTest) { · 1790 unmodified lines | ||
| 2385 | 2384 | param_.iMultipleThreadIdc = 0; |
| 2386 | 2385 | param_.sSpatialLayers[0].iSpatialBitrate = p.iTarBitrate; |
| 2387 | 2386 | 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; | |
| 2391 | 2390 | param_.uiMaxNalSize = 1400; |
| 2392 | 2391 | } else { |
| 2393 | − param_.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = 0; | |
| 2392 | + param_.sSpatialLayers[0].sSliceArgument.uiSliceSizeConstraint = 0; | |
| 2394 | 2393 | param_.uiMaxNalSize = 0; |
| 2395 | 2394 | } |
| 2396 | 2395 | |
| @@ -3454,35 +3453,35 @@ struct EncodeOptionParam { · 1057 unmodified lines | ||
| 3454 | 3453 | }; |
| 3455 | 3454 | |
| 3456 | 3455 | 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, ""}, | |
| 3475 | 3474 | {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, ""}, | |
| 3484 | 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 | |
| 3488 | 3487 | class EncodeTestAPI : public ::testing::TestWithParam<EncodeOptionParam>, public ::EncodeDecodeTestAPIBase { |
| @@ -3533,9 +3532,9 @@ TEST_P (EncodeTestAPI, SetEncOptionSize) { · 44 unmodified lines | ||
| 3533 | 3532 | param_.sSpatialLayers[0].iVideoWidth = p.iWidth ; |
| 3534 | 3533 | param_.sSpatialLayers[0].iVideoHeight = p.iHeight; |
| 3535 | 3534 | 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; | |
| 3539 | 3538 | } |
| 3540 | 3539 | |
| 3541 | 3540 | encoder_->Uninitialize(); |
| @@ -3555,7 +3554,7 @@ TEST_P (EncodeTestAPI, SetEncOptionSize) { · 13 unmodified lines | ||
| 3555 | 3554 | unsigned char* pData[3] = { NULL }; |
| 3556 | 3555 | |
| 3557 | 3556 | //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 | 3558 | p.bAllRandom = false; |
| 3560 | 3559 | } |
| 3561 | 3560 | |
| @@ -3742,18 +3741,19 @@ TEST_F (EncodeDecodeTestAPI, DiffSlicingInDlayer) { · 180 unmodified lines | ||
| 3742 | 3741 | sParam.bSimulcastAVC = 1; |
| 3743 | 3742 | sParam.sSpatialLayers[0].iVideoWidth = (iWidth >> 2); |
| 3744 | 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 | 3747 | sParam.sSpatialLayers[1].iVideoWidth = (iWidth >> 1); |
| 3748 | 3748 | 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; | |
| 3752 | 3752 | |
| 3753 | 3753 | sParam.sSpatialLayers[2].iVideoWidth = iWidth; |
| 3754 | 3754 | 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; | |
| 3757 | 3757 | |
| 3758 | 3758 | int rv = encoder_->InitializeExt (&sParam); |
| 3759 | 3759 | ASSERT_TRUE (rv == cmResultSuccess) << "Init Failed sParam: rv = " << rv;; |
| @@ -3812,12 +3812,12 @@ TEST_F (EncodeDecodeTestAPI, DiffSlicingInDlayerMixed) { · 52 unmodified lines | ||
| 3812 | 3812 | sParam.bSimulcastAVC = 1; |
| 3813 | 3813 | sParam.sSpatialLayers[0].iVideoWidth = (iWidth >> 2); |
| 3814 | 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 | 3817 | sParam.sSpatialLayers[1].iVideoWidth = iWidth; |
| 3818 | 3818 | 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; | |
| 3821 | 3821 | |
| 3822 | 3822 | int rv = encoder_->InitializeExt (&sParam); |
| 3823 | 3823 | ASSERT_TRUE (rv == cmResultSuccess) << "Init Failed sParam: rv = " << rv;; |
| @@ -3876,8 +3876,8 @@ TEST_F (EncodeDecodeTestAPI, ThreadNumAndSliceNum) { · 52 unmodified lines | ||
| 3876 | 3876 | sParam.bSimulcastAVC = 1; |
| 3877 | 3877 | sParam.sSpatialLayers[0].iVideoWidth = iWidth; |
| 3878 | 3878 | 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) : | |
| 3881 | 3881 | (sParam.iMultipleThreadIdc - 1); |
| 3882 | 3882 | |
| 3883 | 3883 | int rv = encoder_->InitializeExt (&sParam); |