mirror of
https://git.freebsd.org/ports.git
synced 2025-06-07 13:50:38 -04:00
65 lines
2.2 KiB
C++
65 lines
2.2 KiB
C++
--- src/FFmpegWriter.cpp.orig 2024-06-20 01:25:10 UTC
|
|
+++ src/FFmpegWriter.cpp
|
|
@@ -166,7 +166,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std
|
|
const AVCodec *new_codec;
|
|
// Check if the codec selected is a hardware accelerated codec
|
|
#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;
|
|
@@ -216,7 +216,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 // USE_HW_ACCEL
|
|
new_codec = avcodec_find_encoder_by_name(codec.c_str());
|
|
#endif // USE_HW_ACCEL
|
|
@@ -563,6 +563,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) {
|
|
@@ -571,6 +572,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 {
|
|
@@ -1434,21 +1437,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(
|