Skip to content
Snippets Groups Projects

Resolves #296 removal of NvPipe

Merged Nicolas Pope requested to merge feature/296/directnvenc into master
2 files
+ 0
75
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -32,7 +32,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A valid colour image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.flags = 0;
pkt.frame_count = 1;
@@ -41,7 +40,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A valid colour image" ) {
REQUIRE( r );
REQUIRE( pkt.codec == codec_t::HEVC );
REQUIRE( pkt.definition == definition_t::HD1080 );
REQUIRE( pkt.flags == ftl::codecs::kFlagFlipRGB );
REQUIRE( pkt.data.size() > 0 );
REQUIRE( ftl::codecs::hevc::validNAL(pkt.data.data(), pkt.data.size()) );
@@ -58,23 +56,12 @@ TEST_CASE( "NvidiaEncoder::encode() - A valid colour image" ) {
REQUIRE( ftl::codecs::hevc::validNAL(pkt.data.data(), pkt.data.size()) );
}
SECTION("invalid frame count of 2") {
pkt.frame_count = 2;
bool r = encoder.encode(m, pkt);
REQUIRE( !r );
REQUIRE( pkt.definition == definition_t::Invalid );
REQUIRE( pkt.data.size() == 0 );
}
SECTION("invalid frame count of 0") {
pkt.frame_count = 0;
bool r = encoder.encode(m, pkt);
REQUIRE( !r );
REQUIRE( pkt.definition == definition_t::Invalid );
REQUIRE( pkt.data.size() == 0 );
}
@@ -97,16 +84,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A valid colour image" ) {
REQUIRE( pkt.codec == codec_t::Invalid );
REQUIRE( pkt.data.size() == 0 );
}
SECTION("invalid definition") {
pkt.definition = definition_t::HD720;
bool r = encoder.encode(m, pkt);
REQUIRE( !r );
REQUIRE( pkt.definition == definition_t::Invalid );
REQUIRE( pkt.data.size() == 0 );
}
}
TEST_CASE( "NvidiaEncoder::encode() - A tiled colour image" ) {
@@ -117,7 +94,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A tiled colour image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.flags = 0;
pkt.frame_count = 2;
@@ -125,7 +101,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A tiled colour image" ) {
REQUIRE( r );
REQUIRE( pkt.codec == codec_t::HEVC );
REQUIRE( pkt.definition == definition_t::HD720 );
REQUIRE( pkt.flags == ftl::codecs::kFlagFlipRGB );
REQUIRE( pkt.data.size() > 0 );
REQUIRE( ftl::codecs::hevc::validNAL(pkt.data.data(), pkt.data.size()) );
@@ -140,7 +115,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A valid lossless float image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::HEVC_LOSSLESS;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.flags = 0;
pkt.frame_count = 1;
@@ -148,7 +122,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A valid lossless float image" ) {
REQUIRE( r );
REQUIRE( pkt.codec == codec_t::HEVC_LOSSLESS );
REQUIRE( pkt.definition == definition_t::HD720 );
REQUIRE( pkt.flags == ftl::codecs::kFlagFloat );
REQUIRE( pkt.data.size() > 0 );
REQUIRE( ftl::codecs::hevc::validNAL(pkt.data.data(), pkt.data.size()) );
@@ -158,7 +131,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A valid lossless float image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::HEVC_LOSSLESS;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.flags = ftl::codecs::kFlagMappedDepth;
pkt.frame_count = 1;
@@ -178,7 +150,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A valid lossy float image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.flags = 0;
pkt.frame_count = 1;
@@ -186,7 +157,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A valid lossy float image" ) {
REQUIRE( r );
REQUIRE( pkt.codec == codec_t::HEVC );
REQUIRE( pkt.definition == definition_t::HD720 );
REQUIRE( pkt.flags == (ftl::codecs::kFlagFloat | ftl::codecs::kFlagMappedDepth) );
REQUIRE( pkt.data.size() > 0 );
REQUIRE( ftl::codecs::hevc::validNAL(pkt.data.data(), pkt.data.size()) );
@@ -201,7 +171,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A tiled lossy float image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.flags = ftl::codecs::kFlagFloat & ftl::codecs::kFlagMappedDepth;
pkt.frame_count = 2;
@@ -209,7 +178,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A tiled lossy float image" ) {
REQUIRE( r );
REQUIRE( pkt.codec == codec_t::HEVC );
REQUIRE( pkt.definition == definition_t::HD720 );
REQUIRE( pkt.flags == (ftl::codecs::kFlagFloat | ftl::codecs::kFlagMappedDepth) );
REQUIRE( pkt.data.size() > 0 );
REQUIRE( ftl::codecs::hevc::validNAL(pkt.data.data(), pkt.data.size()) );
@@ -224,7 +192,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A large tiled lossy float image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.flags = 0;
pkt.frame_count = 7;
@@ -232,7 +199,6 @@ TEST_CASE( "NvidiaEncoder::encode() - A large tiled lossy float image" ) {
REQUIRE( r );
REQUIRE( pkt.codec == codec_t::HEVC );
REQUIRE( pkt.definition == definition_t::HD720 );
REQUIRE( pkt.flags == (ftl::codecs::kFlagFloat | ftl::codecs::kFlagMappedDepth) );
REQUIRE( pkt.data.size() > 0 );
REQUIRE( ftl::codecs::hevc::validNAL(pkt.data.data(), pkt.data.size()) );
@@ -253,7 +219,6 @@ TEST_CASE( "NvidiaDecoder::decode() - A colour test image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 1;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
@@ -281,7 +246,6 @@ TEST_CASE( "NvidiaDecoder::decode() - A tiled colour image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 2;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
@@ -290,7 +254,6 @@ TEST_CASE( "NvidiaDecoder::decode() - A tiled colour image" ) {
REQUIRE( decoder.decode(pkt, out) );
REQUIRE( (out.cols == 2560) );
REQUIRE( (out.type() == CV_8UC4) );
REQUIRE( (pkt.definition == definition_t::HD720) );
//}
REQUIRE( (cv::cuda::sum(out) != cv::Scalar(0,0,0)) );
@@ -310,14 +273,12 @@ TEST_CASE( "NvidiaDecoder::decode() - A lossless depth image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::HEVC_LOSSLESS;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 1;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
REQUIRE( r );
REQUIRE( decoder.decode(pkt, out) );
REQUIRE( (pkt.definition == definition_t::HD720) );
//}
REQUIRE( (cv::cuda::sum(out) != cv::Scalar(0)) );
@@ -337,14 +298,12 @@ TEST_CASE( "NvidiaDecoder::decode() - A lossy depth image" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 1;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
REQUIRE( r );
REQUIRE( decoder.decode(pkt, out) );
REQUIRE( (pkt.definition == definition_t::HD720) );
//}
REQUIRE( (cv::cuda::sum(out) != cv::Scalar(0)) );
@@ -357,24 +316,6 @@ TEST_CASE( "NvidiaDecoder::decode() - corrupted packet" ) {
cv::cuda::GpuMat in;
cv::cuda::GpuMat out;
SECTION("Corrupted definition") {
in = cv::cuda::GpuMat(cv::Size(2560,720), CV_8UC4, cv::Scalar(255,0,0,0));
out = cv::cuda::GpuMat(cv::Size(2560,720), CV_8UC4, cv::Scalar(0,0,0,0));
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 2;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
pkt.definition = definition_t::HD1080;
REQUIRE( r );
REQUIRE( decoder.decode(pkt, out) );
}
SECTION("Bad output size") {
in = cv::cuda::GpuMat(cv::Size(2560,720), CV_8UC4, cv::Scalar(255,0,0,0));
out = cv::cuda::GpuMat(cv::Size(2500,720), CV_8UC4, cv::Scalar(0,0,0,0));
@@ -382,13 +323,10 @@ TEST_CASE( "NvidiaDecoder::decode() - corrupted packet" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 2;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
pkt.definition = definition_t::HD1080;
REQUIRE( r );
REQUIRE( !decoder.decode(pkt, out) );
}
@@ -400,7 +338,6 @@ TEST_CASE( "NvidiaDecoder::decode() - corrupted packet" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 2;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
@@ -418,7 +355,6 @@ TEST_CASE( "NvidiaDecoder::decode() - corrupted packet" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 2;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
@@ -436,7 +372,6 @@ TEST_CASE( "NvidiaDecoder::decode() - corrupted packet" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 2;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
@@ -454,7 +389,6 @@ TEST_CASE( "NvidiaDecoder::decode() - corrupted packet" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::HEVC_LOSSLESS;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 1;
pkt.flags = ftl::codecs::kFlagFloat;
bool r = encoder.encode(in, pkt);
@@ -473,7 +407,6 @@ TEST_CASE( "NvidiaDecoder::decode() - corrupted packet" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::HEVC_LOSSLESS;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 1;
pkt.flags = ftl::codecs::kFlagFloat;
bool r = encoder.encode(in, pkt);
@@ -491,7 +424,6 @@ TEST_CASE( "NvidiaDecoder::decode() - corrupted packet" ) {
ftl::codecs::Packet pkt;
pkt.codec = codec_t::Any;
pkt.bitrate = 255;
pkt.definition = definition_t::Any;
pkt.frame_count = 1;
pkt.flags = 0;
bool r = encoder.encode(in, pkt);
Loading