[Libva] [PATCH intel-driver 06/11] test: jpeg/enc: enable shared_from_this on TestInput
U. Artie Eoff
ullysses.a.eoff at intel.com
Wed Sep 28 20:36:06 UTC 2016
...and make the constructor private so that only Shared
instances can be created.
Signed-off-by: U. Artie Eoff <ullysses.a.eoff at intel.com>
---
test/i965_jpeg_encode_test.cpp | 2 +-
test/i965_jpeg_test_data.cpp | 8 +++++++-
test/i965_jpeg_test_data.h | 6 +++++-
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/test/i965_jpeg_encode_test.cpp b/test/i965_jpeg_encode_test.cpp
index c794bf935ebf..25302888b81f 100644
--- a/test/i965_jpeg_encode_test.cpp
+++ b/test/i965_jpeg_encode_test.cpp
@@ -85,7 +85,7 @@ TEST_F(JPEGEncodeTest, Entrypoint)
const TestInput::Shared NV12toI420(const TestInput::SharedConst& nv12)
{
TestInput::Shared i420(
- new TestInput(VA_FOURCC_I420, nv12->width(), nv12->height()));
+ TestInput::create(VA_FOURCC_I420, nv12->width(), nv12->height()));
i420->bytes = nv12->bytes;
diff --git a/test/i965_jpeg_test_data.cpp b/test/i965_jpeg_test_data.cpp
index 0c1f0d3eebed..0cf3d23f1a55 100644
--- a/test/i965_jpeg_test_data.cpp
+++ b/test/i965_jpeg_test_data.cpp
@@ -773,6 +773,12 @@ namespace Decode {
namespace JPEG {
namespace Encode {
+ TestInput::Shared TestInput::create(
+ const unsigned fourcc, const unsigned w, const unsigned h)
+ {
+ return Shared(new TestInput(fourcc, w, h));
+ }
+
TestInput::TestInput(
const unsigned fourcc, const unsigned w, const unsigned h)
: bytes() // caller must fill this in after instantiation
@@ -858,7 +864,7 @@ namespace Encode {
{
const std::array<unsigned, 2> res = getResolution();
- TestInput::Shared input(new TestInput(fourcc, res[0], res[1]));
+ TestInput::Shared input(TestInput::create(fourcc, res[0], res[1]));
ByteData& bytes = input->bytes;
RandomValueGenerator<uint8_t> rg(0x00, 0xff);
diff --git a/test/i965_jpeg_test_data.h b/test/i965_jpeg_test_data.h
index cde0cfe8258e..698385ae3eea 100644
--- a/test/i965_jpeg_test_data.h
+++ b/test/i965_jpeg_test_data.h
@@ -392,12 +392,13 @@ namespace Encode {
};
class TestInput
+ : public std::enable_shared_from_this<TestInput>
{
public:
typedef std::shared_ptr<TestInput> Shared;
typedef std::shared_ptr<const TestInput> SharedConst;
- TestInput(const unsigned, const unsigned, const unsigned);
+ static Shared create(const unsigned, const unsigned, const unsigned);
const unsigned width() const;
const unsigned height() const;
@@ -420,6 +421,9 @@ namespace Encode {
std::array<size_t, 3> heights;
std::array<size_t, 3> offsets;
std::array<size_t, 3> sizes;
+
+ private:
+ TestInput(const unsigned, const unsigned, const unsigned);
};
class TestInputCreator
--
2.4.11
More information about the Libva
mailing list