mirror of
https://git.freebsd.org/ports.git
synced 2025-06-08 22:30:38 -04:00
156 lines
6.4 KiB
Text
156 lines
6.4 KiB
Text
https://github.com/webcamoid/webcamoid/commit/52fbf8376085
|
|
https://github.com/webcamoid/webcamoid/commit/0ee66c7dd24b
|
|
|
|
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.cpp.orig 2017-10-09 06:45:30 UTC
|
|
+++ libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.cpp
|
|
@@ -62,7 +62,7 @@ AbstractStream::AbstractStream(const AVFormatContext *
|
|
|
|
// Some formats want stream headers to be separate.
|
|
if (formatContext->oformat->flags & AVFMT_GLOBALHEADER)
|
|
- this->m_codecContext->flags |= CODEC_FLAG_GLOBAL_HEADER;
|
|
+ this->m_codecContext->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
|
|
|
|
this->m_codecContext->strict_std_compliance = CODEC_COMPLIANCE;
|
|
|
|
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.h.orig 2017-10-09 06:45:30 UTC
|
|
+++ libAvKys/Plugins/MultiSink/src/ffmpeg/src/abstractstream.h
|
|
@@ -29,6 +29,15 @@ extern "C"
|
|
{
|
|
#include <libavformat/avformat.h>
|
|
#include <libavcodec/avcodec.h>
|
|
+ #ifndef AV_CODEC_CAP_EXPERIMENTAL
|
|
+ #define AV_CODEC_CAP_EXPERIMENTAL CODEC_CAP_EXPERIMENTAL
|
|
+ #endif
|
|
+ #ifndef AV_CODEC_CAP_VARIABLE_FRAME_SIZE
|
|
+ #define AV_CODEC_CAP_VARIABLE_FRAME_SIZE CODEC_CAP_VARIABLE_FRAME_SIZE
|
|
+ #endif
|
|
+ #ifndef AV_CODEC_FLAG_GLOBAL_HEADER
|
|
+ #define AV_CODEC_FLAG_GLOBAL_HEADER CODEC_FLAG_GLOBAL_HEADER
|
|
+ #endif
|
|
}
|
|
|
|
#define CODEC_COMPLIANCE FF_COMPLIANCE_VERY_STRICT
|
|
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/audiostream.cpp.orig 2017-10-09 06:45:30 UTC
|
|
+++ libAvKys/Plugins/MultiSink/src/ffmpeg/src/audiostream.cpp
|
|
@@ -267,7 +267,7 @@ void AudioStream::convertPacket(const AkPacket &packet
|
|
this->deleteFrame(&this->m_frame);
|
|
this->m_frame = oFrame;
|
|
|
|
- if (codecContext->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE
|
|
+ if (codecContext->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE
|
|
|| oFrame->nb_samples >= codecContext->frame_size) {
|
|
this->m_frameReady.wakeAll();
|
|
}
|
|
@@ -280,7 +280,7 @@ int AudioStream::encodeData(AVFrame *frame)
|
|
auto codecContext = this->codecContext();
|
|
|
|
if (!frame
|
|
- && codecContext->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE)
|
|
+ && codecContext->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)
|
|
return AVERROR_EOF;
|
|
|
|
if (frame) {
|
|
@@ -366,7 +366,7 @@ AVFrame *AudioStream::dequeueFrame()
|
|
this->m_frameMutex.lock();
|
|
|
|
if (!this->m_frame
|
|
- || (!(codecContext->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE)
|
|
+ || (!(codecContext->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)
|
|
&& this->m_frame->nb_samples < codecContext->frame_size)) {
|
|
if (!this->m_frameReady.wait(&this->m_frameMutex, THREAD_WAIT_LIMIT)) {
|
|
this->m_frameMutex.unlock();
|
|
@@ -377,7 +377,7 @@ AVFrame *AudioStream::dequeueFrame()
|
|
|
|
AVFrame *oFrame = nullptr;
|
|
|
|
- if (codecContext->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE
|
|
+ if (codecContext->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE
|
|
|| this->m_frame->nb_samples == codecContext->frame_size) {
|
|
oFrame = this->m_frame;
|
|
this->m_frame = nullptr;
|
|
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/mediawriterffmpeg.cpp.orig 2017-10-09 06:45:30 UTC
|
|
+++ libAvKys/Plugins/MultiSink/src/ffmpeg/src/mediawriterffmpeg.cpp
|
|
@@ -251,7 +251,7 @@ class MediaWriterFFmpegGlobal
|
|
AVCodec *codec = nullptr;
|
|
|
|
while ((codec = av_codec_next(codec))) {
|
|
- if (codec->capabilities & CODEC_CAP_EXPERIMENTAL
|
|
+ if (codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL
|
|
&& CODEC_COMPLIANCE > FF_COMPLIANCE_EXPERIMENTAL)
|
|
continue;
|
|
|
|
--- libAvKys/Plugins/MultiSink/src/ffmpeg/src/videostream.cpp.orig 2017-10-09 06:45:30 UTC
|
|
+++ libAvKys/Plugins/MultiSink/src/ffmpeg/src/videostream.cpp
|
|
@@ -273,8 +273,10 @@ int VideoStream::encodeData(AVFrame *frame)
|
|
{
|
|
auto formatContext = this->formatContext();
|
|
|
|
+#ifdef AVFMT_RAWPICTURE
|
|
if (!frame && formatContext->oformat->flags & AVFMT_RAWPICTURE)
|
|
return AVERROR_EOF;
|
|
+#endif
|
|
|
|
auto codecContext = this->codecContext();
|
|
|
|
@@ -300,6 +302,7 @@ int VideoStream::encodeData(AVFrame *frame)
|
|
|
|
auto stream = this->stream();
|
|
|
|
+#ifdef AVFMT_RAWPICTURE
|
|
if (formatContext->oformat->flags & AVFMT_RAWPICTURE) {
|
|
// Raw video case - directly store the picture in the packet
|
|
AVPacket pkt;
|
|
@@ -315,6 +318,7 @@ int VideoStream::encodeData(AVFrame *frame)
|
|
|
|
return 0;
|
|
}
|
|
+#endif
|
|
|
|
// encode the image
|
|
#ifdef HAVE_SENDRECV
|
|
--- libAvKys/Plugins/MultiSrc/src/ffmpeg/src/abstractstream.cpp.orig 2017-10-09 06:45:30 UTC
|
|
+++ libAvKys/Plugins/MultiSrc/src/ffmpeg/src/abstractstream.cpp
|
|
@@ -96,8 +96,10 @@ AbstractStream::AbstractStream(const AVFormatContext *
|
|
this->m_codecContext->idct_algo = FF_IDCT_AUTO;
|
|
this->m_codecContext->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
|
|
|
|
+#ifdef CODEC_FLAG_EMU_EDGE
|
|
if (this->m_codec->capabilities & CODEC_CAP_DR1)
|
|
this->m_codecContext->flags |= CODEC_FLAG_EMU_EDGE;
|
|
+#endif
|
|
|
|
av_dict_set(&this->m_codecOptions, "refcounted_frames", "0", 0);
|
|
}
|
|
--- libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.cpp.orig 2017-10-09 06:45:30 UTC
|
|
+++ libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.cpp
|
|
@@ -219,11 +219,13 @@ bool ConvertVideoFFmpeg::init(const AkCaps &caps)
|
|
if (!this->m_codecContext)
|
|
return false;
|
|
|
|
- if (codec->capabilities & CODEC_CAP_TRUNCATED)
|
|
- this->m_codecContext->flags |= CODEC_FLAG_TRUNCATED;
|
|
+ if (codec->capabilities & AV_CODEC_CAP_TRUNCATED)
|
|
+ this->m_codecContext->flags |= AV_CODEC_FLAG_TRUNCATED;
|
|
|
|
+#ifdef CODEC_FLAG_EMU_EDGE
|
|
if (codec->capabilities & CODEC_CAP_DR1)
|
|
this->m_codecContext->flags |= CODEC_FLAG_EMU_EDGE;
|
|
+#endif
|
|
|
|
this->m_codecContext->pix_fmt = rawToFF->value(fourcc, AV_PIX_FMT_NONE);
|
|
this->m_codecContext->width = caps.property("width").toInt();
|
|
--- libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.h.orig 2017-10-09 06:45:30 UTC
|
|
+++ libAvKys/Plugins/VideoCapture/src/ffmpeg/src/convertvideoffmpeg.h
|
|
@@ -33,6 +33,12 @@ extern "C"
|
|
#include <libavutil/imgutils.h>
|
|
#include <libavutil/pixdesc.h>
|
|
#include <libavutil/mem.h>
|
|
+ #ifndef AV_CODEC_CAP_TRUNCATED
|
|
+ #define AV_CODEC_CAP_TRUNCATED CODEC_CAP_TRUNCATED
|
|
+ #endif
|
|
+ #ifndef AV_CODEC_FLAG_TRUNCATED
|
|
+ #define AV_CODEC_FLAG_TRUNCATED CODEC_FLAG_TRUNCATED
|
|
+ #endif
|
|
}
|
|
|
|
#include "convertvideo.h"
|