@@ -1011,10 +1011,6 @@ struct H264ToH265 : SetDevice
10111011{
10121012};
10131013
1014- #if defined(WIN32) // remove when FFmpeg wrapper includes PR25874
1015- #define WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE
1016- #endif
1017-
10181014CUDA_TEST_P (H264ToH265, Transcode)
10191015{
10201016 const std::string inputFile = std::string (cvtest::TS::ptr ()->get_data_path ()) + " ../highgui/video/big_buck_bunny.h264" ;
@@ -1054,10 +1050,8 @@ CUDA_TEST_P(H264ToH265, Transcode)
10541050 for (int i = 0 ; i < nFrames; ++i) {
10551051 cap >> frame;
10561052 ASSERT_FALSE (frame.empty ());
1057- #if !defined(WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE)
10581053 const int pts = static_cast <int >(cap.get (CAP_PROP_PTS));
10591054 ASSERT_EQ (i, pts > 0 ? pts : 0 ); // FFmpeg back end returns dts if pts is zero.
1060- #endif
10611055 }
10621056 }
10631057 ASSERT_EQ (0 , remove (outputFile.c_str ()));
@@ -1066,7 +1060,7 @@ CUDA_TEST_P(H264ToH265, Transcode)
10661060INSTANTIATE_TEST_CASE_P (CUDA_Codec, H264ToH265, ALL_DEVICES);
10671061
10681062CV_ENUM (YuvColorFormats, cudacodec::ColorFormat::NV_YUV444, cudacodec::ColorFormat::NV_YUV420_10BIT, cudacodec::ColorFormat::NV_YUV444_10BIT)
1069- PARAM_TEST_CASE(YUVFormats, cv::cuda::DeviceInfo, YuvColorFormats)
1063+ PARAM_TEST_CASE(YUVFormats, cv::cuda::DeviceInfo, YuvColorFormats, bool )
10701064{
10711065};
10721066
@@ -1075,6 +1069,7 @@ CUDA_TEST_P(YUVFormats, Transcode)
10751069 cv::cuda::setDevice (GET_PARAM (0 ).deviceID ());
10761070 const std::string inputFile = std::string (cvtest::TS::ptr ()->get_data_path ()) + " ../highgui/video/big_buck_bunny.h265" ;
10771071 const cv::cudacodec::ColorFormat writerColorFormat = static_cast <cudacodec::ColorFormat>(static_cast <int >(GET_PARAM (1 )));
1072+ const bool fullRange = GET_PARAM (2 );
10781073 constexpr double fps = 25 ;
10791074 const cudacodec::Codec codec = cudacodec::Codec::HEVC;
10801075 const std::string ext = " .mp4" ;
@@ -1088,6 +1083,7 @@ CUDA_TEST_P(YUVFormats, Transcode)
10881083 cv::cudacodec::EncoderParams params;
10891084 params.tuningInfo = cv::cudacodec::EncodeTuningInfo::ENC_TUNING_INFO_LOSSLESS;
10901085 params.rateControlMode = cv::cudacodec::EncodeParamsRcMode::ENC_PARAMS_RC_CONSTQP;
1086+ params.videoFullRangeFlag = fullRange;
10911087 for (int i = 0 ; i < nFrames; ++i) {
10921088 ASSERT_TRUE (cap.read (frame));
10931089 ASSERT_FALSE (frame.empty ());
@@ -1101,7 +1097,7 @@ CUDA_TEST_P(YUVFormats, Transcode)
11011097 yuvFormat = cudacodec::SurfaceFormat::SF_P016;
11021098 bitDepth = cudacodec::BitDepth::SIXTEEN;
11031099 }
1104- generateTestImages (frame, yuv, bgr, yuvFormat, cudacodec::ColorFormat::BGR, bitDepth, false );
1100+ generateTestImages (frame, yuv, bgr, yuvFormat, cudacodec::ColorFormat::BGR, bitDepth, false , fullRange );
11051101 bgrGs.push_back (bgr.clone ());
11061102 if (writer.empty ())
11071103 writer = cv::cudacodec::createVideoWriter (outputFile, frame.size (), codec, fps, writerColorFormat, params);
@@ -1125,7 +1121,7 @@ CUDA_TEST_P(YUVFormats, Transcode)
11251121 ASSERT_EQ (0 , remove (outputFile.c_str ()));
11261122}
11271123
1128- INSTANTIATE_TEST_CASE_P (CUDA_Codec, YUVFormats, testing::Combine(ALL_DEVICES, YuvColorFormats::all()));
1124+ INSTANTIATE_TEST_CASE_P (CUDA_Codec, YUVFormats, testing::Combine(ALL_DEVICES, YuvColorFormats::all(), testing::Bool() ));
11291125#endif
11301126
11311127#if defined(HAVE_NVCUVENC)
@@ -1201,10 +1197,8 @@ CUDA_TEST_P(Write, Writer)
12011197 for (int i = 0 ; i < nFrames; ++i) {
12021198 cap >> frame;
12031199 ASSERT_FALSE (frame.empty ());
1204- #if !defined(WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE)
12051200 const int pts = static_cast <int >(cap.get (CAP_PROP_PTS));
12061201 ASSERT_EQ (i, pts > 0 ? pts : 0 ); // FFmpeg back end returns dts if pts is zero.
1207- #endif
12081202 }
12091203 }
12101204 ASSERT_EQ (0 , remove (outputFile.c_str ()));
@@ -1299,10 +1293,8 @@ CUDA_TEST_P(EncoderParams, Writer)
12991293 const bool keyFrameActual = capRaw.get (CAP_PROP_LRF_HAS_KEY_FRAME) == 1.0 ;
13001294 const bool keyFrameReference = i % idrPeriod == 0 ;
13011295 ASSERT_EQ (keyFrameActual, keyFrameReference);
1302- #if !defined(WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE)
13031296 const int pts = static_cast <int >(cap.get (CAP_PROP_PTS));
13041297 ASSERT_EQ (i, pts > 0 ? pts : 0 ); // FFmpeg back end returns dts if pts is zero.
1305- #endif
13061298 }
13071299 }
13081300 }
0 commit comments