History

refactor --for BaseEncoderTest

huashi committed 12 years ago

Commit 54c24df1 parent c83ab3b5 files · +113 −63Browse files

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

Unified · Split

test/api/encoder_test.cpp+42−18
@@ -2,6 +2,7 @@ · 1 unmodified line
22 #include "utils/HashFunctions.h"
33 #include "BaseEncoderTest.h"
44 #include <string>
5+
56 static void UpdateHashFromFrame (const SFrameBSInfo& info, SHA1Context* ctx) {
67 for (int i = 0; i < info.iLayerNum; ++i) {
78 const SLayerBSInfo& layerInfo = info.sLayerInfo[i];
@@ -26,20 +27,40 @@ class EncoderInitTest : public ::testing::Test, public BaseEncoderTest { · 18 unmodified lines
2627 TEST_F (EncoderInitTest, JustInit) {}
2728
2829 struct EncodeFileParam {
29− const char* fileName;
30− const char* hashStr;
31− EUsageType usageType;
32− int width;
33− int height;
34− float frameRate;
35− SliceModeEnum slices;
36− bool denoise;
37− int layers;
38− bool isLossless;
39− bool enableLtr;
40− bool cabac;
30+ const char* pkcFileName;
31+ const char* pkcHashStr;
32+ EUsageType eUsageType;
33+ int iWidth;
34+ int iHeight;
35+ float fFrameRate;
36+ SliceModeEnum eSliceMode;
37+ bool bDenoise;
38+ int iLayerNum;
39+ bool bLossless;
40+ bool bEnableLtr;
41+ bool bCabac;
42+// unsigned short iMultipleThreadIdc;
4143 };
4244
45+void EncFileParamToParamExt (EncodeFileParam* pEncFileParam, SEncParamExt* pEnxParamExt) {
46+ ASSERT_TRUE (NULL != pEncFileParam && NULL != pEnxParamExt);
47+ pEnxParamExt->iUsageType = pEncFileParam->eUsageType;
48+ pEnxParamExt->iPicWidth = pEncFileParam->iWidth;
49+ pEnxParamExt->iPicHeight = pEncFileParam->iHeight;
50+ pEnxParamExt->fMaxFrameRate = pEncFileParam->fFrameRate;
51+ pEnxParamExt->iSpatialLayerNum = pEncFileParam->iLayerNum;
52+
53+ pEnxParamExt->bEnableDenoise = pEncFileParam->bDenoise;
54+ pEnxParamExt->bIsLosslessLink = pEncFileParam->bLossless;
55+ pEnxParamExt->bEnableLongTermReference = pEncFileParam->bEnableLtr;
56+ pEnxParamExt->iEntropyCodingModeFlag = pEncFileParam->bCabac ? 1 : 0;
57+
58+ for (int i = 0; i < pEnxParamExt->iSpatialLayerNum; i++) {
59+ pEnxParamExt->sSpatialLayers[i].sSliceCfg.uiSliceMode = pEncFileParam->eSliceMode;
60+ }
61+
62+}
63+
4364 class EncoderOutputTest : public ::testing::WithParamInterface<EncodeFileParam>,
4465 public EncoderInitTest , public BaseEncoderTest::Callback {
4566 public:
@@ -53,6 +74,7 @@ class EncoderOutputTest : public ::testing::WithParamInterface<EncodeFileParam>, · 7 unmodified lines
5374 virtual void onEncodeFrame (const SFrameBSInfo& frameInfo) {
5475 UpdateHashFromFrame (frameInfo, &ctx_);
5576 }
77+
5678 protected:
5779 SHA1Context ctx_;
5880 };
@@ -60,20 +82,22 @@ class EncoderOutputTest : public ::testing::WithParamInterface<EncodeFileParam>, · 1 unmodified line
6082
6183 TEST_P (EncoderOutputTest, CompareOutput) {
6284 EncodeFileParam p = GetParam();
85+ SEncParamExt EnxParamExt;
86+
87+ EncFileParamToParamExt (&p, &EnxParamExt);
88+
6389 #if defined(ANDROID_NDK)
64− std::string filename = std::string ("/sdcard/") + p.fileName;
65− EncodeFile (filename.c_str(), p.usageType , p.width, p.height, p.frameRate, p.slices, p.denoise, p.layers, p.isLossless,
66− p.enableLtr,p.cabac, this);
90+ std::string filename = std::string ("/sdcard/") + p.pkcFileName;
91+ EncodeFile (p.pkcFileName, &EnxParamExt, this);
6792 #else
68− EncodeFile (p.fileName, p.usageType , p.width, p.height, p.frameRate, p.slices, p.denoise, p.layers, p.isLossless,
69− p.enableLtr, p.cabac, this);
93+ EncodeFile (p.pkcFileName, &EnxParamExt, this);
7094 #endif
7195 //will remove this after screen content algorithms are ready,
7296 //because the bitstream output will vary when the different algorithms are added.
7397 unsigned char digest[SHA_DIGEST_LENGTH];
7498 SHA1Result (&ctx_, digest);
7599 if (!HasFatalFailure()) {
76− CompareHash (digest, p.hashStr);
100+ CompareHash (digest, p.pkcHashStr);
77101 }
78102 }
79103 static const EncodeFileParam kFileParamArray[] = {

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