diff --git a/multimedia/libopenshot/Makefile b/multimedia/libopenshot/Makefile index ebbd49be4f56..f54dd0a79d4d 100644 --- a/multimedia/libopenshot/Makefile +++ b/multimedia/libopenshot/Makefile @@ -1,48 +1,49 @@ PORTNAME= libopenshot DISTVERSIONPREFIX= v -DISTVERSION= 0.2.5-517 -DISTVERSIONSUFFIX= -gdd2735e +DISTVERSION= 0.2.5-726 +DISTVERSIONSUFFIX= -gd9ea98eb CATEGORIES= multimedia PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= tatsuki_makino@hotmail.com COMMENT= OpenShot Video Library LICENSE= LGPL3+ LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= swig:devel/swig \ - unittest-cpp>=0:devel/unittest-cpp \ ${LOCALBASE}/include/zmq.hpp:net/cppzmq LIB_DEPENDS= libopenshot-audio.so:audio/libopenshot-audio \ libjsoncpp.so:devel/jsoncpp \ libavformat.so:multimedia/ffmpeg \ libzmq.so:net/libzmq4 USES= cmake compiler:c++11-lang pkgconfig python:3.5+ qt:5 USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= OpenShot USE_PYTHON= flavors USE_QT= core gui network multimedia widgets qmake_build buildtools_build -CMAKE_ON= USE_SYSTEM_JSONCPP DISABLE_BUNDLED_JSONCPP\ +CMAKE_ON= USE_SYSTEM_JSONCPP DISABLE_BUNDLED_JSONCPP USE_HW_ACCEL\ CMAKE_DISABLE_FIND_PACKAGE_Doxygen\ CMAKE_DISABLE_FIND_PACKAGE_Resvg\ CMAKE_DISABLE_FIND_PACKAGE_Ruby CMAKE_OFF= ENABLE_COVERAGE\ ENABLE_DOCS\ ENABLE_TESTS OPTIONS_DEFINE= IMAGEMAGICK OPENCV OPTIONS_DEFAULT= IMAGEMAGICK OPTIONS_SUB= yes IMAGEMAGICK_LIB_DEPENDS= libMagick++-${IMAGEMAGICK_DEFAULT}.so:graphics/ImageMagick${IMAGEMAGICK_DEFAULT} IMAGEMAGICK_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_ImageMagick -OPENCV_LIB_DEPENDS= libopencv_core.so:graphics/opencv \ - libprotobuf.so:devel/protobuf +#OPENCV_LIB_DEPENDS= libopencv_core.so:graphics/opencv +OPENCV_BUILD_DEPENDS= opencv>=4.5.2:graphics/opencv +OPENCV_LIB_DEPENDS= libprotobuf.so:devel/protobuf +OPENCV_RUN_DEPENDS= opencv>=4.5.2:graphics/opencv OPENCV_CMAKE_ON= -DOpenCV_DIR:STRING=${LOCALBASE:Q}/cmake/opencv4 OPENCV_CMAKE_BOOL= ENABLE_OPENCV OPENCV_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_OpenCV\ CMAKE_DISABLE_FIND_PACKAGE_Protobuf .include diff --git a/multimedia/libopenshot/distinfo b/multimedia/libopenshot/distinfo index 7ae94d980238..faa69308bcaa 100644 --- a/multimedia/libopenshot/distinfo +++ b/multimedia/libopenshot/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1613703600 -SHA256 (OpenShot-libopenshot-v0.2.5-517-gdd2735e_GH0.tar.gz) = 9802d9cf3fbd32d899828a1c0175053953f513300fdc426606a8d10fe510a42c -SIZE (OpenShot-libopenshot-v0.2.5-517-gdd2735e_GH0.tar.gz) = 22454598 +TIMESTAMP = 1623639600 +SHA256 (OpenShot-libopenshot-v0.2.5-726-gd9ea98eb_GH0.tar.gz) = df4edd5a3e5380ca84fb6b78e696ea042b483291ae31e80a3eed0af4218fdb09 +SIZE (OpenShot-libopenshot-v0.2.5-726-gd9ea98eb_GH0.tar.gz) = 22459810 diff --git a/multimedia/libopenshot/files/patch-src_CMakeLists.txt b/multimedia/libopenshot/files/patch-src_CMakeLists.txt index 0aeb246785f5..d3b3edc0f3e6 100644 --- a/multimedia/libopenshot/files/patch-src_CMakeLists.txt +++ b/multimedia/libopenshot/files/patch-src_CMakeLists.txt @@ -1,15 +1,18 @@ ---- src/CMakeLists.txt.orig 2021-02-18 07:59:16 UTC +--- src/CMakeLists.txt.orig 2021-06-07 02:42:27 UTC +++ src/CMakeLists.txt -@@ -415,6 +415,12 @@ if(ENABLE_OPENCV) - endif() +@@ -469,6 +469,15 @@ See https://github.com/opencv/opencv/issues/19260]]) + endif() # ENABLE_OPENCV add_feature_info("OpenCV algorithms" ENABLE_OPENCV "Use OpenCV algorithms") -+find_library(EXECINFO_LIBRARY NAMES execinfo) -+if(NOT EXECINFO_LIBRARY) -+ message(FATAL_ERROR "${EXECINFO_LIBRARY}") -+endif(NOT EXECINFO_LIBRARY) -+target_link_libraries(openshot PUBLIC ${EXECINFO_LIBRARY}) ++# EXECINFO ++if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ find_library(EXECINFO_LIBRARY NAMES execinfo) ++ if(NOT EXECINFO_LIBRARY) ++ message(FATAL_ERROR "${EXECINFO_LIBRARY}") ++ endif(NOT EXECINFO_LIBRARY) ++ target_link_libraries(openshot PRIVATE ${EXECINFO_LIBRARY}) ++endif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + ############### LINK LIBRARY ################# # Link remaining dependency libraries if(DEFINED PROFILER) diff --git a/multimedia/libopenshot/files/patch-src_CVTracker.cpp b/multimedia/libopenshot/files/patch-src_CVTracker.cpp deleted file mode 100644 index b886b6a44ea5..000000000000 --- a/multimedia/libopenshot/files/patch-src_CVTracker.cpp +++ /dev/null @@ -1,48 +0,0 @@ ---- src/CVTracker.cpp.orig 2021-02-18 07:59:16 UTC -+++ src/CVTracker.cpp -@@ -46,20 +46,20 @@ CVTracker::CVTracker(std::string processInfoJson, Proc - - // Set desirable tracker method - cv::Ptr CVTracker::selectTracker(std::string trackerType){ -- cv::Ptr t; -+ cv::Ptr t = nullptr; - -- if (trackerType == "BOOSTING") -- t = cv::TrackerBoosting::create(); -+// if (trackerType == "BOOSTING") -+// t = cv::TrackerBoosting::create(); - if (trackerType == "MIL") - t = cv::TrackerMIL::create(); - if (trackerType == "KCF") - t = cv::TrackerKCF::create(); -- if (trackerType == "TLD") -- t = cv::TrackerTLD::create(); -- if (trackerType == "MEDIANFLOW") -- t = cv::TrackerMedianFlow::create(); -- if (trackerType == "MOSSE") -- t = cv::TrackerMOSSE::create(); -+// if (trackerType == "TLD") -+// t = cv::TrackerTLD::create(); -+// if (trackerType == "MEDIANFLOW") -+// t = cv::TrackerMedianFlow::create(); -+// if (trackerType == "MOSSE") -+// t = cv::TrackerMOSSE::create(); - if (trackerType == "CSRT") - t = cv::TrackerCSRT::create(); - -@@ -163,12 +163,14 @@ bool CVTracker::initTracker(cv::Mat &frame, size_t fra - // Update the object tracker according to frame - bool CVTracker::trackFrame(cv::Mat &frame, size_t frameId){ - // Update the tracking result -- bool ok = tracker->update(frame, bbox); -+ cv::Rect bboxi = bbox; -+ bool ok = tracker->update(frame, bboxi); - - // Add frame number and box coords if tracker finds the object - // Otherwise add only frame number - if (ok) - { -+ bbox = bboxi; - float fw = frame.size().width; - float fh = frame.size().height; - diff --git a/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp b/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp index 6dc3d0d88801..b394de3787f5 100644 --- a/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp +++ b/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp @@ -1,35 +1,35 @@ ---- src/FFmpegReader.cpp.orig 2021-02-18 07:59:16 UTC +--- src/FFmpegReader.cpp.orig 2021-06-07 02:42:27 UTC +++ src/FFmpegReader.cpp -@@ -150,7 +150,7 @@ static enum AVPixelFormat get_hw_dec_format(AVCodecCon +@@ -138,7 +138,7 @@ static enum AVPixelFormat get_hw_dec_format(AVCodecCon for (p = pix_fmts; *p != AV_PIX_FMT_NONE; p++) { switch (*p) { -#if defined(__linux__) +#if defined(__unix__) // Linux pix formats case AV_PIX_FMT_VAAPI: hw_de_av_pix_fmt_global = AV_PIX_FMT_VAAPI; -@@ -306,7 +306,7 @@ void FFmpegReader::Open() { +@@ -294,7 +294,7 @@ void FFmpegReader::Open() { pCodecCtx->get_format = get_hw_dec_format; if (adapter_num < 3 && adapter_num >=0) { -#if defined(__linux__) +#if defined(__unix__) snprintf(adapter,sizeof(adapter),"/dev/dri/renderD%d", adapter_num+128); adapter_ptr = adapter; i_decoder_hw = openshot::Settings::Instance()->HARDWARE_DECODER; -@@ -369,11 +369,13 @@ void FFmpegReader::Open() { +@@ -357,11 +357,13 @@ void FFmpegReader::Open() { } // Check if it is there and writable -#if defined(__linux__) +#if defined(__unix__) if( adapter_ptr != NULL && access( adapter_ptr, W_OK ) == 0 ) { #elif defined(_WIN32) if( adapter_ptr != NULL ) { #elif defined(__APPLE__) + if( adapter_ptr != NULL ) { +#else if( adapter_ptr != NULL ) { #endif ZmqLogger::Instance()->AppendDebugMethod("Decode Device present using device"); diff --git a/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp b/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp index 01518bb07ea0..0d155024338d 100644 --- a/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp +++ b/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp @@ -1,65 +1,65 @@ ---- src/FFmpegWriter.cpp.orig 2021-02-18 07:59:16 UTC +--- src/FFmpegWriter.cpp.orig 2021-06-07 02:42:27 UTC +++ src/FFmpegWriter.cpp -@@ -181,7 +181,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std +@@ -169,7 +169,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std AVCodec *new_codec; // Check if the codec selected is a hardware accelerated codec - #if HAVE_HW_ACCEL + #if USE_HW_ACCEL -#if defined(__linux__) +#if defined(__unix__) if (strstr(codec.c_str(), "_vaapi") != NULL) { new_codec = avcodec_find_encoder_by_name(codec.c_str()); hw_en_on = 1; -@@ -231,7 +231,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std +@@ -219,7 +219,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std } #else // unknown OS new_codec = avcodec_find_encoder_by_name(codec.c_str()); -#endif //__linux__/_WIN32/__APPLE__ +#endif //__unix__/_WIN32/__APPLE__ - #else // HAVE_HW_ACCEL + #else // USE_HW_ACCEL new_codec = avcodec_find_encoder_by_name(codec.c_str()); - #endif // HAVE_HW_ACCEL -@@ -580,6 +580,7 @@ void FFmpegWriter::SetOption(StreamType stream, std::s + #endif // USE_HW_ACCEL +@@ -568,6 +568,7 @@ void FFmpegWriter::SetOption(StreamType stream, std::s else { av_opt_set_int(c->priv_data, "crf", std::min(std::stoi(value),63), 0); } + break; case AV_CODEC_ID_HEVC : c->bit_rate = 0; if (strstr(info.vcodec.c_str(), "svt_hevc") != NULL) { -@@ -588,6 +589,8 @@ void FFmpegWriter::SetOption(StreamType stream, std::s +@@ -576,6 +577,8 @@ void FFmpegWriter::SetOption(StreamType stream, std::s av_opt_set_int(c->priv_data, "forced-idr",1,0); } break; + default: + break; } #endif // FFmpeg 4.0+ } else { -@@ -1438,21 +1441,25 @@ void FFmpegWriter::open_video(AVFormatContext *oc, AVS +@@ -1413,21 +1416,25 @@ void FFmpegWriter::open_video(AVFormatContext *oc, AVS adapter_num = openshot::Settings::Instance()->HW_EN_DEVICE_SET; std::clog << "Encoding Device Nr: " << adapter_num << "\n"; if (adapter_num < 3 && adapter_num >=0) { -#if defined(__linux__) +#if defined(__unix__) snprintf(adapter,sizeof(adapter),"/dev/dri/renderD%d", adapter_num+128); // Maybe 127 is better because the first card would be 1?! adapter_ptr = adapter; #elif defined(_WIN32) || defined(__APPLE__) adapter_ptr = NULL; +#else + adapter_ptr = NULL; #endif } else { adapter_ptr = NULL; // Just to be sure } // Check if it is there and writable -#if defined(__linux__) +#if defined(__unix__) if( adapter_ptr != NULL && access( adapter_ptr, W_OK ) == 0 ) { #elif defined(_WIN32) || defined(__APPLE__) + if( adapter_ptr != NULL ) { +#else if( adapter_ptr != NULL ) { #endif ZmqLogger::Instance()->AppendDebugMethod("Encode Device present using device", "adapter", adapter_num); diff --git a/multimedia/libopenshot/pkg-plist b/multimedia/libopenshot/pkg-plist index ba0f471f9b4a..106fbaf0415c 100644 --- a/multimedia/libopenshot/pkg-plist +++ b/multimedia/libopenshot/pkg-plist @@ -1,99 +1,102 @@ include/libopenshot/AudioBufferSource.h include/libopenshot/AudioDeviceInfo.h include/libopenshot/AudioReaderSource.h include/libopenshot/AudioResampler.h include/libopenshot/CVObjectDetection.h include/libopenshot/CVStabilization.h include/libopenshot/CVTracker.h include/libopenshot/CacheBase.h include/libopenshot/CacheDisk.h include/libopenshot/CacheMemory.h include/libopenshot/ChannelLayouts.h include/libopenshot/ChunkReader.h include/libopenshot/ChunkWriter.h include/libopenshot/Clip.h include/libopenshot/ClipBase.h include/libopenshot/ClipProcessingJobs.h include/libopenshot/Color.h include/libopenshot/Coordinate.h include/libopenshot/CrashHandler.h include/libopenshot/DecklinkInput.h include/libopenshot/DecklinkOutput.h include/libopenshot/DecklinkReader.h include/libopenshot/DecklinkWriter.h include/libopenshot/DummyReader.h include/libopenshot/EffectBase.h include/libopenshot/EffectInfo.h include/libopenshot/Effects.h include/libopenshot/Enums.h include/libopenshot/Exceptions.h include/libopenshot/FFmpegReader.h include/libopenshot/FFmpegUtilities.h include/libopenshot/FFmpegWriter.h include/libopenshot/Fraction.h include/libopenshot/Frame.h include/libopenshot/FrameMapper.h include/libopenshot/ImageReader.h include/libopenshot/ImageWriter.h include/libopenshot/Json.h include/libopenshot/KeyFrame.h include/libopenshot/MagickUtilities.h +%%OPENCV%%include/libopenshot/OpenCVUtilities.h include/libopenshot/OpenMPUtilities.h include/libopenshot/OpenShot.h include/libopenshot/OpenShotVersion.h include/libopenshot/PlayerBase.h include/libopenshot/Point.h include/libopenshot/ProcessingController.h include/libopenshot/Profiles.h include/libopenshot/Qt/AudioPlaybackThread.h include/libopenshot/Qt/PlayerDemo.h include/libopenshot/Qt/PlayerPrivate.h include/libopenshot/Qt/VideoCacheThread.h include/libopenshot/Qt/VideoPlaybackThread.h include/libopenshot/Qt/VideoRenderWidget.h include/libopenshot/Qt/VideoRenderer.h include/libopenshot/QtHtmlReader.h include/libopenshot/QtImageReader.h include/libopenshot/QtPlayer.h include/libopenshot/QtTextReader.h include/libopenshot/QtUtilities.h include/libopenshot/ReaderBase.h include/libopenshot/RendererBase.h include/libopenshot/Settings.h include/libopenshot/TextReader.h include/libopenshot/Timeline.h include/libopenshot/TimelineBase.h +%%OPENCV%%include/libopenshot/TrackedObjectBBox.h +%%OPENCV%%include/libopenshot/TrackedObjectBase.h include/libopenshot/WriterBase.h include/libopenshot/ZmqLogger.h include/libopenshot/effects/Bars.h include/libopenshot/effects/Blur.h include/libopenshot/effects/Brightness.h include/libopenshot/effects/Caption.h include/libopenshot/effects/ChromaKey.h include/libopenshot/effects/ColorShift.h include/libopenshot/effects/Crop.h include/libopenshot/effects/Deinterlace.h include/libopenshot/effects/Hue.h include/libopenshot/effects/Mask.h include/libopenshot/effects/Negate.h include/libopenshot/effects/ObjectDetection.h include/libopenshot/effects/Pixelate.h include/libopenshot/effects/Saturation.h include/libopenshot/effects/Shift.h include/libopenshot/effects/Stabilizer.h include/libopenshot/effects/Tracker.h include/libopenshot/effects/Wave.h %%OPENCV%%include/libopenshot/protobuf_messages/objdetectdata.pb.h %%OPENCV%%include/libopenshot/protobuf_messages/stabilizedata.pb.h %%OPENCV%%include/libopenshot/protobuf_messages/trackerdata.pb.h include/libopenshot/sort_filter/Hungarian.h include/libopenshot/sort_filter/KalmanTracker.h lib/libopenshot.so lib/libopenshot.so.0.2.5 lib/libopenshot.so.19 %%OPENCV%%lib/libopenshot_protobuf.so %%OPENCV%%lib/libopenshot_protobuf.so.0.2.5 %%OPENCV%%lib/libopenshot_protobuf.so.19 %%PYTHON_SITELIBDIR%%/_openshot.so %%PYTHON_SITELIBDIR%%/openshot.py -@dir include/libopenshot/protobuf_messages +%%NO_OPENCV%%@dir include/libopenshot/protobuf_messages