diff options
author | Matteo Bernardini <ponce@slackbuilds.org> | 2019-08-13 12:16:41 +0200 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2021-04-17 23:50:34 -0500 |
commit | 94d4a91001cb220e68110dbc61c32bab26a1ba80 (patch) | |
tree | c1514425d6290dd3db16bfff10d912ec856fcd9c /libraries/opal | |
parent | 54c53bd805c7859d091b83a60582b37d7b53aa88 (diff) |
libraries/opal: Disabled ffmpeg support (not compatible with 4.x).
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Diffstat (limited to 'libraries/opal')
-rw-r--r-- | libraries/opal/README | 2 | ||||
-rw-r--r-- | libraries/opal/ffmpeg2.patch | 398 | ||||
-rw-r--r-- | libraries/opal/opal.SlackBuild | 12 |
3 files changed, 2 insertions, 410 deletions
diff --git a/libraries/opal/README b/libraries/opal/README index a6a7e53e8814..b20eafbaeb34 100644 --- a/libraries/opal/README +++ b/libraries/opal/README @@ -2,4 +2,4 @@ The Open Phone Abstraction Library (OPAL) is a C++ multi-platform, multi-protocol library for Fax, Video & Voice over IP and other networks. -Optional dependencies are ffmpeg, x264, celt and jdk/openjdk. +Optional dependencies are x264, celt and jdk/openjdk. diff --git a/libraries/opal/ffmpeg2.patch b/libraries/opal/ffmpeg2.patch deleted file mode 100644 index 80dca469d947..000000000000 --- a/libraries/opal/ffmpeg2.patch +++ /dev/null @@ -1,398 +0,0 @@ -patch from: http://www.linuxfromscratch.org/blfs/view/svn/multimedia/opal.html - -Submitted By: Igor Živković <contact@igor-zivkovic.from.hr> -Date: 2013-10-08 -Initial Package Version: 3.10.10 -Upstream Status: Unknown -Origin: Gentoo -Description: Fixes building against FFmpeg version >= 2.0.0 - -diff -Naur opal-3.10.10.orig/plugins/video/common/dyna.cxx opal-3.10.10/plugins/video/common/dyna.cxx ---- opal-3.10.10.orig/plugins/video/common/dyna.cxx 2013-02-20 03:18:05.000000000 +0100 -+++ plugins/video/common/dyna.cxx 2013-10-08 12:57:25.058873513 +0200 -@@ -210,7 +210,7 @@ - #endif - - --FFMPEGLibrary::FFMPEGLibrary(CodecID codec) -+FFMPEGLibrary::FFMPEGLibrary(AVCodecID codec) - { - m_codec = codec; - if (m_codec==CODEC_ID_H264) -@@ -348,12 +348,12 @@ - return true; - } - --AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id) -+AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum AVCodecID id) - { - return Favcodec_find_encoder(id); - } - --AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id) -+AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum AVCodecID id) - { - WaitAndSignal m(processLock); - -diff -Naur opal-3.10.10.orig/plugins/video/common/dyna.h opal-3.10.10/plugins/video/common/dyna.h ---- opal-3.10.10.orig/plugins/video/common/dyna.h 2013-02-20 03:18:05.000000000 +0100 -+++ plugins/video/common/dyna.h 2013-10-08 12:57:25.058873513 +0200 -@@ -88,13 +88,13 @@ - class FFMPEGLibrary - { - public: -- FFMPEGLibrary(CodecID codec); -+ FFMPEGLibrary(AVCodecID codec); - ~FFMPEGLibrary(); - - bool Load(); - -- AVCodec *AvcodecFindEncoder(enum CodecID id); -- AVCodec *AvcodecFindDecoder(enum CodecID id); -+ AVCodec *AvcodecFindEncoder(enum AVCodecID id); -+ AVCodec *AvcodecFindDecoder(enum AVCodecID id); - AVCodecContext *AvcodecAllocContext(void); - AVFrame *AvcodecAllocFrame(void); - int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec); -@@ -117,15 +117,15 @@ - DynaLink m_libAvcodec; - DynaLink m_libAvutil; - -- CodecID m_codec; -+ AVCodecID m_codec; - char m_codecString[32]; - - void (*Favcodec_init)(void); - void (*Fav_init_packet)(AVPacket *pkt); - - void (*Favcodec_register_all)(void); -- AVCodec *(*Favcodec_find_encoder)(enum CodecID id); -- AVCodec *(*Favcodec_find_decoder)(enum CodecID id); -+ AVCodec *(*Favcodec_find_encoder)(enum AVCodecID id); -+ AVCodec *(*Favcodec_find_decoder)(enum AVCodecID id); - AVCodecContext *(*Favcodec_alloc_context)(void); - AVFrame *(*Favcodec_alloc_frame)(void); - int (*Favcodec_open)(AVCodecContext *ctx, AVCodec *codec); -diff -Naur opal-3.10.10.orig/plugins/video/common/ffmpeg/libavcodec/avcodec.h opal-3.10.10/plugins/video/common/ffmpeg/libavcodec/avcodec.h ---- opal-3.10.10.orig/plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-02-20 03:18:04.000000000 +0100 -+++ plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-10-08 12:57:25.060873488 +0200 -@@ -101,7 +101,7 @@ - * 1. no value of a existing codec ID changes (that would break ABI), - * 2. it is as close as possible to similar codecs. - */ --enum CodecID { -+enum AVCodecID { - CODEC_ID_NONE, - - /* video codecs */ -@@ -1390,7 +1390,7 @@ - - char codec_name[32]; - enum AVMediaType codec_type; /* see AVMEDIA_TYPE_xxx */ -- enum CodecID codec_id; /* see CODEC_ID_xxx */ -+ enum AVCodecID codec_id; /* see CODEC_ID_xxx */ - - /** - * fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A'). -@@ -2843,7 +2843,7 @@ - */ - const char *name; - enum AVMediaType type; -- enum CodecID id; -+ enum AVCodecID id; - int priv_data_size; - int (*init)(AVCodecContext *); - int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data); -@@ -2898,7 +2898,7 @@ - * - * See CODEC_ID_xxx - */ -- enum CodecID id; -+ enum AVCodecID id; - - /** - * Supported pixel format. -@@ -3402,10 +3402,10 @@ - /** - * Find a registered encoder with a matching codec ID. - * -- * @param id CodecID of the requested encoder -+ * @param id AVCodecID of the requested encoder - * @return An encoder if one was found, NULL otherwise. - */ --AVCodec *avcodec_find_encoder(enum CodecID id); -+AVCodec *avcodec_find_encoder(enum AVCodecID id); - - /** - * Find a registered encoder with the specified name. -@@ -3418,10 +3418,10 @@ - /** - * Find a registered decoder with a matching codec ID. - * -- * @param id CodecID of the requested decoder -+ * @param id AVCodecID of the requested decoder - * @return A decoder if one was found, NULL otherwise. - */ --AVCodec *avcodec_find_decoder(enum CodecID id); -+AVCodec *avcodec_find_decoder(enum AVCodecID id); - - /** - * Find a registered decoder with the specified name. -@@ -3822,7 +3822,7 @@ - * @param[in] codec_id the codec - * @return Number of bits per sample or zero if unknown for the given codec. - */ --int av_get_bits_per_sample(enum CodecID codec_id); -+int av_get_bits_per_sample(enum AVCodecID codec_id); - - #if FF_API_OLD_SAMPLE_FMT - /** -diff -Naur opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10/plugins/video/H.263-1998/h263-1998.cxx ---- opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.cxx 2013-02-20 03:18:03.000000000 +0100 -+++ plugins/video/H.263-1998/h263-1998.cxx 2013-10-08 12:57:25.061873475 +0200 -@@ -48,6 +48,10 @@ - #endif - - #include "h263-1998.h" -+extern "C" -+{ -+#include <libavutil/opt.h> -+} - #include <limits> - #include <iomanip> - #include <stdio.h> -@@ -203,7 +207,7 @@ - PTRACE(4, m_prefix, "Encoder closed"); - } - --bool H263_Base_EncoderContext::Init(CodecID codecId) -+bool H263_Base_EncoderContext::Init(AVCodecID codecId) - { - PTRACE(5, m_prefix, "Opening encoder"); - -@@ -317,9 +321,9 @@ - // Level 2+ - // works with eyeBeam, signaled via non-standard "D" - if (atoi(value) == 1) -- m_context->flags |= CODEC_FLAG_H263P_UMV; -+ av_opt_set_int(m_context->priv_data, "umv", 1, 0); - else -- m_context->flags &= ~CODEC_FLAG_H263P_UMV; -+ av_opt_set_int(m_context->priv_data, "umv", 0, 0); - return; - } - -@@ -328,9 +332,9 @@ - // Annex F: Advanced Prediction Mode - // does not work with eyeBeam - if (atoi(value) == 1) -- m_context->flags |= CODEC_FLAG_OBMC; -+ av_opt_set_int(m_context->priv_data, "obmc", 1, 0); - else -- m_context->flags &= ~CODEC_FLAG_OBMC; -+ av_opt_set_int(m_context->priv_data, "obmc", 0, 0); - return; - } - #endif -@@ -360,9 +364,9 @@ - // Annex K: Slice Structure - // does not work with eyeBeam - if (atoi(value) != 0) -- m_context->flags |= CODEC_FLAG_H263P_SLICE_STRUCT; -+ av_opt_set_int(m_context->priv_data, "structured_slices", 1, 0); - else -- m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT; -+ av_opt_set_int(m_context->priv_data, "structured_slices", 0, 0); - return; - } - -@@ -370,9 +374,9 @@ - // Annex S: Alternative INTER VLC mode - // does not work with eyeBeam - if (atoi(value) == 1) -- m_context->flags |= CODEC_FLAG_H263P_AIV; -+ av_opt_set_int(m_context->priv_data, "aiv", 1, 0); - else -- m_context->flags &= ~CODEC_FLAG_H263P_AIV; -+ av_opt_set_int(m_context->priv_data, "aiv", 0, 0); - return; - } - -@@ -450,15 +454,6 @@ - PTRACE(5, m_prefix, "qmax set to " << m_context->qmax); - PTRACE(5, m_prefix, "payload size set to " << m_context->rtp_payload_size); - -- #define CODEC_TRACER_FLAG(tracer, flag) \ -- PTRACE(4, m_prefix, #flag " is " << ((m_context->flags & flag) ? "enabled" : "disabled")); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_UMV); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_OBMC); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_AC_PRED); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_SLICE_STRUCT) -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_LOOP_FILTER); -- CODEC_TRACER_FLAG(tracer, CODEC_FLAG_H263P_AIV); -- - return FFMPEGLibraryInstance.AvcodecOpen(m_context, m_codec) == 0; - } - -@@ -521,7 +516,7 @@ - - // Need to copy to local buffer to guarantee 16 byte alignment - memcpy(m_inputFrame->data[0], OPAL_VIDEO_FRAME_DATA_PTR(header), header->width*header->height*3/2); -- m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? FF_I_TYPE : AV_PICTURE_TYPE_NONE; -+ m_inputFrame->pict_type = (flags & PluginCodec_CoderForceIFrame) ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_NONE; - - /* - m_inputFrame->pts = (int64_t)srcRTP.GetTimestamp()*m_context->time_base.den/m_context->time_base.num/VIDEO_CLOCKRATE; -@@ -603,13 +598,13 @@ - m_context->rtp_callback = &H263_RFC2190_EncoderContext::RTPCallBack; - m_context->opaque = this; // used to separate out packets from different encode threads - -- m_context->flags &= ~CODEC_FLAG_H263P_UMV; -+ av_opt_set_int(m_context->priv_data, "umv", 0, 0); - m_context->flags &= ~CODEC_FLAG_4MV; - #if LIBAVCODEC_RTP_MODE - m_context->flags &= ~CODEC_FLAG_H263P_AIC; - #endif -- m_context->flags &= ~CODEC_FLAG_H263P_AIV; -- m_context->flags &= ~CODEC_FLAG_H263P_SLICE_STRUCT; -+ av_opt_set_int(m_context->priv_data, "aiv", 0, 0); -+ av_opt_set_int(m_context->priv_data, "structured_slices", 0, 0); - - return true; - } -diff -Naur opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.h opal-3.10.10/plugins/video/H.263-1998/h263-1998.h ---- opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.h 2013-02-20 03:18:03.000000000 +0100 -+++ plugins/video/H.263-1998/h263-1998.h 2013-10-08 12:57:25.062873463 +0200 -@@ -115,7 +115,7 @@ - virtual ~H263_Base_EncoderContext(); - - virtual bool Init() = 0; -- virtual bool Init(CodecID codecId); -+ virtual bool Init(AVCodecID codecId); - - virtual bool SetOptions(const char * const * options); - virtual void SetOption(const char * option, const char * value); -diff -Naur opal-3.10.10.orig/plugins/video/H.263-1998/Makefile.in opal-3.10.10/plugins/video/H.263-1998/Makefile.in ---- opal-3.10.10.orig/plugins/video/H.263-1998/Makefile.in 2013-02-20 03:18:03.000000000 +0100 -+++ plugins/video/H.263-1998/Makefile.in 2013-10-08 12:57:25.062873463 +0200 -@@ -35,7 +35,7 @@ - $(COMMONDIR)/dyna.cxx - - CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) --LIBS += @DL_LIBS@ -+LIBS += @DL_LIBS@ @LIBAVUTIL_LIBS@ - - HAVE_LIBAVCODEC_RTP_MODE=@HAVE_LIBAVCODEC_RTP_MODE@ - ifeq ($(HAVE_LIBAVCODEC_RTP_MODE),yes) -diff -Naur opal-3.10.10.orig/plugins/video/H.264/gpl/h264_helper.cxx opal-3.10.10/plugins/video/H.264/gpl/h264_helper.cxx ---- opal-3.10.10.orig/plugins/video/H.264/gpl/h264_helper.cxx 2013-02-20 03:18:02.000000000 +0100 -+++ plugins/video/H.264/gpl/h264_helper.cxx 2013-10-08 12:57:25.062873463 +0200 -@@ -27,6 +27,7 @@ - #include <fstream> - #include <stdlib.h> - #include <sys/stat.h> -+#include <unistd.h> - - #ifdef HAVE_UNISTD_H - #include <unistd.h> -diff -Naur opal-3.10.10.orig/plugins/video/H.264/h264-x264.cxx opal-3.10.10/plugins/video/H.264/h264-x264.cxx ---- opal-3.10.10.orig/plugins/video/H.264/h264-x264.cxx 2013-02-20 03:18:02.000000000 +0100 -+++ plugins/video/H.264/h264-x264.cxx 2013-10-08 12:57:25.063873450 +0200 -@@ -40,6 +40,9 @@ - #include "plugin-config.h" - #endif - -+#define FF_IDCT_H264 11 -+#define CODEC_FLAG2_SKIP_RD 0x00004000 -+ - #include <codec/opalplugin.hpp> - - #include "../common/ffmpeg.h" -@@ -1071,13 +1074,10 @@ - return false; - - m_context->workaround_bugs = FF_BUG_AUTODETECT; -- m_context->error_recognition = FF_ER_AGGRESSIVE; - m_context->idct_algo = FF_IDCT_H264; - m_context->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK; - m_context->flags = CODEC_FLAG_INPUT_PRESERVED | CODEC_FLAG_EMU_EDGE; -- m_context->flags2 = CODEC_FLAG2_BRDO | -- CODEC_FLAG2_MEMC_ONLY | -- CODEC_FLAG2_DROP_FRAME_TIMECODE | -+ m_context->flags2 = CODEC_FLAG2_DROP_FRAME_TIMECODE | - CODEC_FLAG2_SKIP_RD | - CODEC_FLAG2_CHUNKS; - -diff -Naur opal-3.10.10.orig/plugins/video/H.264/shared/x264wrap.cxx opal-3.10.10/plugins/video/H.264/shared/x264wrap.cxx ---- opal-3.10.10.orig/plugins/video/H.264/shared/x264wrap.cxx 2013-02-20 03:18:02.000000000 +0100 -+++ plugins/video/H.264/shared/x264wrap.cxx 2013-10-08 12:57:25.064873438 +0200 -@@ -33,6 +33,7 @@ - - #include <codec/opalplugin.hpp> - #include <stdio.h> -+#include <unistd.h> - - #ifdef HAVE_UNISTD_H - #include <unistd.h> -diff -Naur opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/Makefile.in opal-3.10.10/plugins/video/MPEG4-ffmpeg/Makefile.in ---- opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/Makefile.in 2013-02-20 03:18:07.000000000 +0100 -+++ plugins/video/MPEG4-ffmpeg/Makefile.in 2013-10-08 12:57:25.064873438 +0200 -@@ -31,7 +31,7 @@ - SRCS := mpeg4.cxx $(COMMONDIR)/dyna.cxx - - CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) --LIBS += @DL_LIBS@ -+LIBS += @DL_LIBS@ @LIBAVUTIL_LIBS@ - - # Add LIBAVCODEC_SOURCE_DIR to the include path so we can #include <libavcodec/...h> - # Also add libavutil, so ffmpeg headers can #include "log.h". -diff -Naur opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx opal-3.10.10/plugins/video/MPEG4-ffmpeg/mpeg4.cxx ---- opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-02-20 03:18:07.000000000 +0100 -+++ plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-10-08 12:57:25.065873425 +0200 -@@ -103,6 +103,7 @@ - - #else /* LIBAVCODEC_HAVE_SOURCE_DIR */ - #include "../common/ffmpeg.h" -+#include <libavutil/opt.h> - #endif /* LIBAVCODEC_HAVE_SOURCE_DIR */ - } - -@@ -589,17 +590,17 @@ - m_avpicture->quality = m_videoQMin; - - #ifdef USE_ORIG -- m_avcontext->flags |= CODEC_FLAG_PART; // data partitioning -+ av_opt_set_int(m_avcontext->priv_data, "data_partitionin", 1, 0); - m_avcontext->flags |= CODEC_FLAG_4MV; // 4 motion vectors - #else - m_avcontext->max_b_frames=0; /*don't use b frames*/ - m_avcontext->flags|=CODEC_FLAG_AC_PRED; -- m_avcontext->flags|=CODEC_FLAG_H263P_UMV; -+ av_opt_set_int(m_avcontext->priv_data, "umv", 1, 0); - /*c->flags|=CODEC_FLAG_QPEL;*/ /*don't enable this one: this forces profile_level to advanced simple profile */ - m_avcontext->flags|=CODEC_FLAG_4MV; - m_avcontext->flags|=CODEC_FLAG_GMC; - m_avcontext->flags|=CODEC_FLAG_LOOP_FILTER; -- m_avcontext->flags|=CODEC_FLAG_H263P_SLICE_STRUCT; -+ av_opt_set_int(m_avcontext->priv_data, "structured_slices", 1, 0); - #endif - m_avcontext->opaque = this; // for use in RTP callback - } -@@ -804,7 +805,7 @@ - // Should the next frame be an I-Frame? - if ((flags & PluginCodec_CoderForceIFrame) || (m_frameNum == 0)) - { -- m_avpicture->pict_type = FF_I_TYPE; -+ m_avpicture->pict_type = AV_PICTURE_TYPE_I; - } - else // No IFrame requested, let avcodec decide what to do - { -@@ -1325,7 +1326,7 @@ - - void MPEG4DecoderContext::SetStaticDecodingParams() { - m_avcontext->flags |= CODEC_FLAG_4MV; -- m_avcontext->flags |= CODEC_FLAG_PART; -+ av_opt_set_int(m_avcontext->priv_data, "data_partitionin", 1, 0); - m_avcontext->workaround_bugs = 0; // no workaround for buggy implementations - } - diff --git a/libraries/opal/opal.SlackBuild b/libraries/opal/opal.SlackBuild index ca382bc4ef91..c764a39f321d 100644 --- a/libraries/opal/opal.SlackBuild +++ b/libraries/opal/opal.SlackBuild @@ -71,17 +71,6 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# patch and seds from lfs: -# http://www.linuxfromscratch.org/blfs/view/svn/multimedia/opal.html -patch -p1 --verbose < $CWD/ffmpeg2.patch - -sed -e 's/CODEC_ID/AV_&/' \ - -e 's/PIX_FMT_/AV_&/' \ - -i plugins/video/H.263-1998/h263-1998.cxx \ - plugins/video/common/dyna.cxx \ - plugins/video/H.264/h264-x264.cxx \ - plugins/video/MPEG4-ffmpeg/mpeg4.cxx - sed -e '/<< mime.PrintContents/ s/mime/(const std::string\&)&/' \ -i src/im/msrp.cxx && @@ -127,6 +116,7 @@ CXXFLAGS="$SLKCFLAGS" \ --enable-msrp \ --enable-sipim \ --enable-plugins \ + --disable-libavcodec \ --build=$ARCH-slackware-linux make VERBOSE=1 |