if (use_umat)
{
UMat umat;
- EXPECT_TRUE(hw_reader.read(umat));
+ bool read_umat_result = hw_reader.read(umat);
+ if (!read_umat_result && i == 0)
+ {
+ if (filename == "sample_322x242_15frames.yuv420p.libvpx-vp9.mp4")
+ throw SkipTestException("Unable to read the first frame with VP9 codec (media stack misconfiguration / bug)");
+ }
+ EXPECT_TRUE(read_umat_result);
ASSERT_FALSE(umat.empty());
umat.copyTo(frame);
}
else
{
- EXPECT_TRUE(hw_reader.read(frame));
+ bool read_result = hw_reader.read(frame);
+ if (!read_result && i == 0)
+ {
+ if (filename == "sample_322x242_15frames.yuv420p.libvpx-vp9.mp4")
+ throw SkipTestException("Unable to read the first frame with VP9 codec (media stack misconfiguration / bug)");
+ }
+ EXPECT_TRUE(read_result);
}
ASSERT_FALSE(frame.empty());