71 lines · 1.8 KB · C++
RawDownload
#include <gtest/gtest.h>#include "utils/HashFunctions.h"#include "BaseDecoderTest.h" static void UpdateHashFromPlane(SHA_CTX* ctx, const uint8_t* plane,    int width, int height, int stride) {  for (int i = 0; i < height; i++) {    SHA1_Update(ctx, plane, width);    plane += stride;  }}  class DecoderInitTest : public ::testing::Test, public BaseDecoderTest { public:  virtual void SetUp() {    BaseDecoderTest::SetUp();  }  virtual void TearDown() {    BaseDecoderTest::TearDown();  }}; TEST_F(DecoderInitTest, JustInit) {} struct FileParam {  const char* fileName;  const char* hashStr;}; class DecoderOutputTest : public ::testing::WithParamInterface<FileParam>,    public DecoderInitTest, public BaseDecoderTest::Callback { public:  virtual void SetUp() {    DecoderInitTest::SetUp();    if (HasFatalFailure()) {      return;    }    SHA1_Init(&ctx_);  }  virtual void onDecodeFrame(const Frame& frame) {    const Plane& y = frame.y;    const Plane& u = frame.u;    const Plane& v = frame.v;    UpdateHashFromPlane(&ctx_, y.data, y.width, y.height, y.stride);    UpdateHashFromPlane(&ctx_, u.data, u.width, u.height, u.stride);    UpdateHashFromPlane(&ctx_, v.data, v.width, v.height, v.stride);  } protected:  SHA_CTX ctx_;}; TEST_P(DecoderOutputTest, CompareOutput) {  FileParam p = GetParam();  DecodeFile(p.fileName, this);   unsigned char digest[SHA_DIGEST_LENGTH];  SHA1_Final(digest, &ctx_);  if (!HasFatalFailure()) {    ASSERT_TRUE(CompareHash(digest, p.hashStr));  }} static const FileParam kFileParamArray[] = {  {"res/test_vd_1d.264", "5827d2338b79ff82cd091c707823e466197281d3"},  {"res/test_vd_rc.264", "eea02e97bfec89d0418593a8abaaf55d02eaa1ca"},  {"res/Static.264", "91dd4a7a796805b2cd015cae8fd630d96c663f42"}}; INSTANTIATE_TEST_CASE_P(DecodeFile, DecoderOutputTest,    ::testing::ValuesIn(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