From 5c544bcd519767ae60c69585d8f09663eac8682d Mon Sep 17 00:00:00 2001 From: cudawarped <12133430+cudawarped@users.noreply.github.com> Date: Thu, 9 Jan 2025 07:55:52 +0200 Subject: [PATCH] cudacodec: Enable use of features added in PR 25874 in windows now the FFmpeg dll has been updated. --- modules/cudacodec/src/video_writer.cpp | 8 -------- modules/cudacodec/test/test_video.cpp | 10 ---------- 2 files changed, 18 deletions(-) diff --git a/modules/cudacodec/src/video_writer.cpp b/modules/cudacodec/src/video_writer.cpp index 5bb1a533faf..af6c3f04e23 100644 --- a/modules/cudacodec/src/video_writer.cpp +++ b/modules/cudacodec/src/video_writer.cpp @@ -53,10 +53,6 @@ Ptr createVideoWriter(const String&, const Size, const C #else // !defined HAVE_NVCUVENC -#if defined(WIN32) // remove when FFmpeg wrapper includes PR25874 -#define WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE -#endif - NV_ENC_BUFFER_FORMAT EncBufferFormat(const ColorFormat colorFormat); int NChannels(const ColorFormat colorFormat); GUID CodecGuid(const Codec codec); @@ -107,9 +103,7 @@ void FFmpegVideoWriter::onEncoded(const std::vector>& vPack Mat wrappedPacket(1, packet.size(), CV_8UC1, (void*)packet.data()); const double ptsDouble = static_cast(pts.at(i)); CV_Assert(static_cast(ptsDouble) == pts.at(i)); -#if !defined(WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE) CV_Assert(writer.set(VIDEOWRITER_PROP_PTS, ptsDouble)); -#endif writer.write(wrappedPacket); } } @@ -337,11 +331,9 @@ void VideoWriterImpl::InitializeEncoder(const GUID codec, const double fps) initializeParams.encodeConfig->rcParams.maxBitRate = encoderParams.maxBitRate; initializeParams.encodeConfig->rcParams.targetQuality = encoderParams.targetQuality; initializeParams.encodeConfig->gopLength = encoderParams.gopLength; -#if !defined(WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE) if (initializeParams.encodeConfig->frameIntervalP > 1) { CV_Assert(encoderCallback->setFrameIntervalP(initializeParams.encodeConfig->frameIntervalP)); } -#endif if (codec == NV_ENC_CODEC_H264_GUID) initializeParams.encodeConfig->encodeCodecConfig.h264Config.idrPeriod = encoderParams.idrPeriod; else if (codec == NV_ENC_CODEC_HEVC_GUID) diff --git a/modules/cudacodec/test/test_video.cpp b/modules/cudacodec/test/test_video.cpp index 29f25b2ca1e..f431933b157 100644 --- a/modules/cudacodec/test/test_video.cpp +++ b/modules/cudacodec/test/test_video.cpp @@ -1011,10 +1011,6 @@ struct H264ToH265 : SetDevice { }; -#if defined(WIN32) // remove when FFmpeg wrapper includes PR25874 -#define WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE -#endif - CUDA_TEST_P(H264ToH265, Transcode) { 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) for (int i = 0; i < nFrames; ++i) { cap >> frame; ASSERT_FALSE(frame.empty()); -#if !defined(WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE) const int pts = static_cast(cap.get(CAP_PROP_PTS)); ASSERT_EQ(i, pts > 0 ? pts : 0); // FFmpeg back end returns dts if pts is zero. -#endif } } ASSERT_EQ(0, remove(outputFile.c_str())); @@ -1201,10 +1195,8 @@ CUDA_TEST_P(Write, Writer) for (int i = 0; i < nFrames; ++i) { cap >> frame; ASSERT_FALSE(frame.empty()); -#if !defined(WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE) const int pts = static_cast(cap.get(CAP_PROP_PTS)); ASSERT_EQ(i, pts > 0 ? pts : 0); // FFmpeg back end returns dts if pts is zero. -#endif } } ASSERT_EQ(0, remove(outputFile.c_str())); @@ -1299,10 +1291,8 @@ CUDA_TEST_P(EncoderParams, Writer) const bool keyFrameActual = capRaw.get(CAP_PROP_LRF_HAS_KEY_FRAME) == 1.0; const bool keyFrameReference = i % idrPeriod == 0; ASSERT_EQ(keyFrameActual, keyFrameReference); -#if !defined(WIN32_WAIT_FOR_FFMPEG_WRAPPER_UPDATE) const int pts = static_cast(cap.get(CAP_PROP_PTS)); ASSERT_EQ(i, pts > 0 ? pts : 0); // FFmpeg back end returns dts if pts is zero. -#endif } } }