mirror of https://github.com/intel/libva-utils.git
test/display_attribs: cleanup test cases
Use const and references appropriately. Streamline logic, variable names and code formatting. Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
This commit is contained in:
parent
75a94e7fec
commit
d7ccf14a33
|
@ -28,19 +28,11 @@
|
||||||
|
|
||||||
namespace VAAPI {
|
namespace VAAPI {
|
||||||
|
|
||||||
bool IsAttribType(VADisplayAttribute displayAttribute,
|
|
||||||
VADisplayAttribType displayAttribType)
|
|
||||||
{
|
|
||||||
return displayAttribute.type == displayAttribType;
|
|
||||||
}
|
|
||||||
|
|
||||||
class VAAPIDisplayAttribs
|
class VAAPIDisplayAttribs
|
||||||
: public VAAPIFixture
|
: public VAAPIFixture
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
VAAPIDisplayAttribs()
|
VAAPIDisplayAttribs()
|
||||||
: m_maxNumDisplayAttribs(0)
|
|
||||||
, m_actualNumDisplayAttribs(0)
|
|
||||||
{
|
{
|
||||||
m_vaDisplay = doInitialize();
|
m_vaDisplay = doInitialize();
|
||||||
}
|
}
|
||||||
|
@ -50,73 +42,66 @@ public:
|
||||||
doTerminate();
|
doTerminate();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool findDisplayAttribInQueryList(VADisplayAttribType displayAttribType)
|
bool findDisplayAttribInQueryList(const VADisplayAttribType& type)
|
||||||
{
|
{
|
||||||
return std::find_if(m_vaQueryDisplayAttribList.begin(),
|
const DisplayAttributes::const_iterator begin = m_attribs.begin();
|
||||||
m_vaQueryDisplayAttribList.end(),
|
const DisplayAttributes::const_iterator end = m_attribs.end();
|
||||||
std::bind(IsAttribType, std::placeholders::_1,
|
auto predicate = [&](const VADisplayAttribute& a) {
|
||||||
displayAttribType))
|
return a.type == type;
|
||||||
!= m_vaQueryDisplayAttribList.end();
|
};
|
||||||
|
|
||||||
|
return std::find_if(begin, end, predicate) != end;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int m_maxNumDisplayAttribs;
|
DisplayAttributes m_attribs;
|
||||||
int m_actualNumDisplayAttribs;
|
|
||||||
DisplayAttributes m_vaQueryDisplayAttribList;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_F(VAAPIDisplayAttribs, MaxNumDisplayAttribs)
|
TEST_F(VAAPIDisplayAttribs, MaxNumDisplayAttribs)
|
||||||
{
|
{
|
||||||
m_maxNumDisplayAttribs = vaMaxNumDisplayAttributes(m_vaDisplay);
|
EXPECT_NE(vaMaxNumDisplayAttributes(m_vaDisplay), 0);
|
||||||
|
|
||||||
EXPECT_NE(m_maxNumDisplayAttribs, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const DisplayAttribTypes inputTest
|
static const DisplayAttribTypes types = {
|
||||||
= { VADisplayAttribBrightness,
|
VADisplayAttribBrightness,
|
||||||
VADisplayAttribContrast,
|
VADisplayAttribContrast,
|
||||||
VADisplayAttribHue,
|
VADisplayAttribHue,
|
||||||
VADisplayAttribSaturation,
|
VADisplayAttribSaturation,
|
||||||
VADisplayAttribBackgroundColor,
|
VADisplayAttribBackgroundColor,
|
||||||
VADisplayAttribDirectSurface,
|
VADisplayAttribDirectSurface,
|
||||||
VADisplayAttribRotation,
|
VADisplayAttribRotation,
|
||||||
VADisplayAttribOutofLoopDeblock,
|
VADisplayAttribOutofLoopDeblock,
|
||||||
VADisplayAttribBLEBlackMode,
|
VADisplayAttribBLEBlackMode,
|
||||||
VADisplayAttribBLEWhiteMode,
|
VADisplayAttribBLEWhiteMode,
|
||||||
VADisplayAttribBlueStretch,
|
VADisplayAttribBlueStretch,
|
||||||
VADisplayAttribSkinColorCorrection,
|
VADisplayAttribSkinColorCorrection,
|
||||||
VADisplayAttribCSCMatrix,
|
VADisplayAttribCSCMatrix,
|
||||||
VADisplayAttribBlendColor,
|
VADisplayAttribBlendColor,
|
||||||
VADisplayAttribOverlayAutoPaintColorKey,
|
VADisplayAttribOverlayAutoPaintColorKey,
|
||||||
VADisplayAttribOverlayColorKey,
|
VADisplayAttribOverlayColorKey,
|
||||||
VADisplayAttribRenderMode,
|
VADisplayAttribRenderMode,
|
||||||
VADisplayAttribRenderDevice,
|
VADisplayAttribRenderDevice,
|
||||||
VADisplayAttribRenderRect };
|
VADisplayAttribRenderRect
|
||||||
|
};
|
||||||
|
|
||||||
TEST_F(VAAPIDisplayAttribs, GetDisplayAttribs)
|
TEST_F(VAAPIDisplayAttribs, GetDisplayAttribs)
|
||||||
{
|
{
|
||||||
|
m_attribs.resize(vaMaxNumDisplayAttributes(m_vaDisplay));
|
||||||
|
|
||||||
m_maxNumDisplayAttribs = vaMaxNumDisplayAttributes(m_vaDisplay);
|
int numAttribs(0);
|
||||||
|
ASSERT_STATUS(vaQueryDisplayAttributes(m_vaDisplay, m_attribs.data(),
|
||||||
|
&numAttribs));
|
||||||
|
|
||||||
m_vaQueryDisplayAttribList.resize(m_maxNumDisplayAttribs);
|
EXPECT_LE((size_t)numAttribs, m_attribs.size());
|
||||||
|
|
||||||
ASSERT_STATUS(vaQueryDisplayAttributes(m_vaDisplay,
|
for (const auto& type : types) {
|
||||||
&m_vaQueryDisplayAttribList[0],
|
VADisplayAttribute attrib{type: type};
|
||||||
&m_actualNumDisplayAttribs));
|
|
||||||
|
|
||||||
EXPECT_TRUE((unsigned int)m_actualNumDisplayAttribs
|
|
||||||
<= m_vaQueryDisplayAttribList.size());
|
|
||||||
|
|
||||||
for (auto& it : inputTest) {
|
|
||||||
VADisplayAttribute attrib;
|
|
||||||
attrib.type = it;
|
|
||||||
ASSERT_STATUS(vaGetDisplayAttributes(m_vaDisplay, &attrib, 1));
|
ASSERT_STATUS(vaGetDisplayAttributes(m_vaDisplay, &attrib, 1));
|
||||||
|
|
||||||
if (findDisplayAttribInQueryList(attrib.type)) {
|
if (findDisplayAttribInQueryList(attrib.type)) {
|
||||||
ASSERT_TRUE((attrib.flags & VA_DISPLAY_ATTRIB_GETTABLE)
|
ASSERT_TRUE((attrib.flags & VA_DISPLAY_ATTRIB_GETTABLE)
|
||||||
|| (attrib.flags & VA_DISPLAY_ATTRIB_SETTABLE));
|
|| (attrib.flags & VA_DISPLAY_ATTRIB_SETTABLE));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
ASSERT_FALSE(attrib.flags & VA_DISPLAY_ATTRIB_NOT_SUPPORTED);
|
ASSERT_FALSE(attrib.flags & VA_DISPLAY_ATTRIB_NOT_SUPPORTED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -124,36 +109,31 @@ TEST_F(VAAPIDisplayAttribs, GetDisplayAttribs)
|
||||||
|
|
||||||
TEST_F(VAAPIDisplayAttribs, SetDisplayAttribs)
|
TEST_F(VAAPIDisplayAttribs, SetDisplayAttribs)
|
||||||
{
|
{
|
||||||
|
m_attribs.resize(vaMaxNumDisplayAttributes(m_vaDisplay));
|
||||||
|
|
||||||
m_maxNumDisplayAttribs = vaMaxNumDisplayAttributes(m_vaDisplay);
|
int numAttribs(0);
|
||||||
|
|
||||||
m_vaQueryDisplayAttribList.resize(m_maxNumDisplayAttribs);
|
|
||||||
|
|
||||||
ASSERT_STATUS(vaQueryDisplayAttributes(m_vaDisplay,
|
ASSERT_STATUS(vaQueryDisplayAttributes(m_vaDisplay,
|
||||||
&m_vaQueryDisplayAttribList[0],
|
m_attribs.data(), &numAttribs));
|
||||||
&m_actualNumDisplayAttribs));
|
|
||||||
|
|
||||||
m_vaQueryDisplayAttribList.resize(m_actualNumDisplayAttribs);
|
m_attribs.resize(numAttribs);
|
||||||
|
|
||||||
ASSERT_STATUS(vaGetDisplayAttributes(m_vaDisplay,
|
ASSERT_STATUS(vaGetDisplayAttributes(m_vaDisplay, m_attribs.data(),
|
||||||
&m_vaQueryDisplayAttribList[0],
|
m_attribs.size()));
|
||||||
m_vaQueryDisplayAttribList.size()));
|
|
||||||
|
|
||||||
for (auto& it : m_vaQueryDisplayAttribList) {
|
for (auto attrib : m_attribs) {
|
||||||
VADisplayAttribute attrib;
|
if (attrib.flags & VA_DISPLAY_ATTRIB_SETTABLE) {
|
||||||
attrib = it;
|
|
||||||
if (it.flags & VA_DISPLAY_ATTRIB_SETTABLE) {
|
|
||||||
attrib.value = (attrib.min_value + attrib.max_value) / 2;
|
attrib.value = (attrib.min_value + attrib.max_value) / 2;
|
||||||
ASSERT_STATUS(vaSetDisplayAttributes(m_vaDisplay, &attrib, 1));
|
ASSERT_STATUS(vaSetDisplayAttributes(m_vaDisplay, &attrib, 1));
|
||||||
|
|
||||||
attrib.value = attrib.min_value - 1;
|
attrib.value = attrib.min_value - 1;
|
||||||
ASSERT_STATUS_EQ(VA_STATUS_ERROR_INVALID_PARAMETER,
|
ASSERT_STATUS_EQ(VA_STATUS_ERROR_INVALID_PARAMETER,
|
||||||
vaSetDisplayAttributes(m_vaDisplay, &attrib, 1));
|
vaSetDisplayAttributes(m_vaDisplay, &attrib, 1));
|
||||||
|
|
||||||
attrib.value = attrib.max_value + 1;
|
attrib.value = attrib.max_value + 1;
|
||||||
ASSERT_STATUS_EQ(VA_STATUS_ERROR_INVALID_PARAMETER,
|
ASSERT_STATUS_EQ(VA_STATUS_ERROR_INVALID_PARAMETER,
|
||||||
vaSetDisplayAttributes(m_vaDisplay, &attrib, 1));
|
vaSetDisplayAttributes(m_vaDisplay, &attrib, 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // VAAPI
|
|
||||||
|
} // namespace VAAPI
|
||||||
|
|
Loading…
Reference in New Issue