summaryrefslogtreecommitdiff
path: root/net-libs/opal
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-libs/opal
reinit the tree, so we can have metadata
Diffstat (limited to 'net-libs/opal')
-rw-r--r--net-libs/opal/Manifest9
-rw-r--r--net-libs/opal/files/opal-3.10.10-ffmpeg2-1.patch396
-rw-r--r--net-libs/opal/files/opal-3.10.9-disable-h323-workaround.patch13
-rw-r--r--net-libs/opal/files/opal-3.10.9-java-ruby-swig-fix.patch29
-rw-r--r--net-libs/opal/metadata.xml39
-rw-r--r--net-libs/opal/opal-3.10.11-r1.ebuild252
6 files changed, 738 insertions, 0 deletions
diff --git a/net-libs/opal/Manifest b/net-libs/opal/Manifest
new file mode 100644
index 000000000000..c38224559e2f
--- /dev/null
+++ b/net-libs/opal/Manifest
@@ -0,0 +1,9 @@
+AUX opal-3.10.10-ffmpeg2-1.patch 15039 SHA256 34176e949bc874d927157316141e6c043cfef9a98bc094490eb0c30db85b8ef2 SHA512 606eb31858505c03086e963d2f75108f7ef1e6653beb46d4bc5c8ec5672fca06c653ae82689cacd6278bad32d243c4822ba9ab87500626380ca74c39081d8a82 WHIRLPOOL 8ab5ced9a8cdb2ada23d953321ff7b06477cc309a0ff43f1bfa1ad00db499bcf2b8548998e4428bfc6f5d4dfc1fb956e53aae7a88a677b0378e1ac46e01b1031
+AUX opal-3.10.9-disable-h323-workaround.patch 498 SHA256 b1d943f7eb33c1828bf5a086abe1256dac55ce7f9a9cd16cbe9fa72b00d7ede2 SHA512 58e8ef12c39bce3a4d386b2b6033e1e242852bbf78371c58e91bd020cfcd95b40a9831db91fa76da431a9f8c4bb40c846b420e3a462dad77658a37c2281a9d39 WHIRLPOOL 6c590b837ebdcb11491aa3b9759d6c7e5930aa07d294bcfd473327f37866df97400bf1de588da853b6c807a233c23388359ac5a1e27c05ae1d4cc361585b98ae
+AUX opal-3.10.9-java-ruby-swig-fix.patch 874 SHA256 f813a831ac8d8c6c47f951125c1c8e971849d21a9cd7403e2bd72d39a5718930 SHA512 a7132cd6ad61d143cc11e00a048aaf66e1802890ac5fbde7ff964f99dc45a3abc79a081572cbdae5a84a50eee8af11266695a5de9c2691385c6f849e27105022 WHIRLPOOL ea85ac9c3603ff0a9eaf955f232c0197c35bb39ddce9a7d28c0f682e16e3660534eab0c5106bc8395ed2ac2445fb8f615d567e5ad607b5089331c116c4ae16db
+DIST opal-3.10.11-htmldoc.tar.bz2 2944338 SHA256 66708e69f1bea6a1160f3aa904643f49b2e2679822c1446d5aeb1f29dd973cea SHA512 6075487344d4cfa5c2e2219376e3eccd98028475eac6f89d20d24d611a8806a27eb354ce8e77e16c620c8cb3d398b9502082f3fe8f67763d3f67feea835819b5 WHIRLPOOL a23aafd7da85d00db2c285641ab75f1c0850c6eaaaa649c8278891282d86312d062be7ac4d89ec3955eac11eb91c018c7b05a89282b35f1b129af90f36e34033
+DIST opal-3.10.11.tar.bz2 8590616 SHA256 f38e7969e88a28dd9a10a6051315aceecde79d0bbd1a35676868dc5787aed706 SHA512 970745375e7ebb29178ce9d0bc29254e69dd952e5f754038979a8613489a26f0fb68d63ec2709ffa1964e50fe9cfde874489f683a451d83e7a075d62d9228fa1 WHIRLPOOL b4387f8a664c2763f1e62dc16772ce869dee6d5aaac271ef0013d1e7f207d19c5e3578c26215ce246c278bc4de9aa538dabae8a3b6a794b250a5f30f9be7d206
+EBUILD opal-3.10.11-r1.ebuild 7154 SHA256 019783cee5f5239141b7117e3c4699ee0838a5a3a2de2ec925509bdff4dc4b31 SHA512 7ea10d2622315c6f20af990d2d4239f9e30c88ccf975e58acda2aec2723e9a693aa575f0fdb531c868f21162dff1d7940be458a5ad658cc7c9981e36c168c717 WHIRLPOOL 6e0014b0e47e4f083081fca470730858a8a22d793f3a3260203acb696acf50e9250dc12150853bf8d956a8a09694f1086ce44401f696588e839b0dd1a7bec29e
+MISC ChangeLog 3486 SHA256 6386a0439e2b87d44b430929f0ecfeae746143520d8149d73e8286eea4c484ca SHA512 874c31b0659f3bee366e1a3af8fb41bdd1272e716fb27a4cab8cc7a81a1c76a615b077438604f0dab46a235ca8eb94e1c4bf21497402b125a9d97316b2c0c064 WHIRLPOOL 68ad32c1c06dc3997568ed42856b575fe8c961d09a9c61501cef0760233f81a1828458ce0392207c26e9a1e78b00d26508b3f89962b6896446f7bcb58e26eaca
+MISC ChangeLog-2015 16328 SHA256 482319146ed9758ad6cb790bc11bfb4d16ce9460a262c5f0eec955c03bf9a995 SHA512 1a732d995c1d67d403e5e3d6935b04539a14f1fe3b5a42b7331cde695e1eebeddf7bb44a3bfd45443a4cbe3c4de2d3dd4f3a06291d1811aa593c9ef463c0a98d WHIRLPOOL ba320a652431c6dc4f0c39e564a74817697452f89af5387da708981c0848b4dfa50c92eef1e600d7f468a5e2bb2448926d1dd8bf2a83a644f6c9ed7a7828e817
+MISC metadata.xml 1887 SHA256 83f685b3c1b0074e5b5d1980f1527b460a128a895e662ddb536a429b247a6d0b SHA512 871736e9e60f8342398ab1a9de8edf2a454d18d3dd7100b08972bc1fccec1f88183135028eb75cb77f506324e1b23f3c8b59f9d157a8c3c81b02049fc7eeee00 WHIRLPOOL e8ce684c08d4d0ca88325968669f46c60ed7c801d5ffcf33899de38a1ab5cefbeb0beca27072425ce4fbcaa564e1b2bd5a889da3d89f3deb9b3602a22c889c3c
diff --git a/net-libs/opal/files/opal-3.10.10-ffmpeg2-1.patch b/net-libs/opal/files/opal-3.10.10-ffmpeg2-1.patch
new file mode 100644
index 000000000000..6b58ac28f3d4
--- /dev/null
+++ b/net-libs/opal/files/opal-3.10.10-ffmpeg2-1.patch
@@ -0,0 +1,396 @@
+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
++++ opal-3.10.10/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
++++ opal-3.10.10/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
++++ opal-3.10.10/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
++++ opal-3.10.10/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
++++ opal-3.10.10/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
++++ opal-3.10.10/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
++++ opal-3.10.10/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
++++ opal-3.10.10/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
++++ opal-3.10.10/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
++++ opal-3.10.10/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
++++ opal-3.10.10/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/net-libs/opal/files/opal-3.10.9-disable-h323-workaround.patch b/net-libs/opal/files/opal-3.10.9-disable-h323-workaround.patch
new file mode 100644
index 000000000000..3d1761566ed1
--- /dev/null
+++ b/net-libs/opal/files/opal-3.10.9-disable-h323-workaround.patch
@@ -0,0 +1,13 @@
+# Sent to upstream on 2012-10-23
+# By Jesus Rivero <neurogeek@gentoo.org>
+diff -uNr opal-3.10.8.orig/include/h323/h323.h opal-3.10.8/include/h323/h323.h
+--- opal-3.10.8.orig/include/h323/h323.h 2012-10-22 07:50:37.000000000 -0400
++++ opal-3.10.8/include/h323/h323.h 2012-10-23 14:10:37.000000000 -0400
+@@ -40,6 +40,7 @@
+ #include <h323/h323con.h>
+ #include <h323/gkclient.h>
+ #include <opal/buildopts.h>
++#include <ptlib.h>
+
+ PString OpalGetVersion();
+ unsigned OpalGetMajorVersion();
diff --git a/net-libs/opal/files/opal-3.10.9-java-ruby-swig-fix.patch b/net-libs/opal/files/opal-3.10.9-java-ruby-swig-fix.patch
new file mode 100644
index 000000000000..65708635a34d
--- /dev/null
+++ b/net-libs/opal/files/opal-3.10.9-java-ruby-swig-fix.patch
@@ -0,0 +1,29 @@
+diff -uNr opal-3.10.9.orig/Makefile.in opal-3.10.9/Makefile.in
+--- opal-3.10.9.orig/Makefile.in 2012-12-03 11:09:17.000000000 -0500
++++ opal-3.10.9/Makefile.in 2012-12-03 11:09:35.000000000 -0500
+@@ -371,9 +371,9 @@
+ ifeq ($(OPAL_JAVA), yes)
+
+ JAVA_SRCDIR = $(OPAL_SRCDIR)/java
+-JAVA_WRAPPER = $(JAVA_SRCDIR)/java_swig_wrapper.c
++JAVA_WRAPPER = $(JAVA_SRCDIR)/java_swig_wrapper.cxx
+
+-VPATH_C += $(JAVA_SRCDIR)
++VPATH_CXX += $(JAVA_SRCDIR)
+ SOURCES += $(JAVA_WRAPPER)
+
+ endif
+@@ -384,10 +384,10 @@
+
+ ifeq ($(OPAL_RUBY), yes)
+
+-RUBY_SRCDIR = $(OPAL_SRCDIR)/ruby
+-RUBY_WRAPPER = $(JAVA_SRCDIR)/ruby_swig_wrapper.c
++RUBY_SRCDIR = $(OPAL_SRCDIR)/Ruby
++RUBY_WRAPPER = $(JAVA_SRCDIR)/ruby_swig_wrapper.cxx
+
+-VPATH_C += $(RUBY_SRCDIR)
++VPATH_CXX += $(RUBY_SRCDIR)
+ SOURCES += $(RUBY_WRAPPER)
+
+ endif
diff --git a/net-libs/opal/metadata.xml b/net-libs/opal/metadata.xml
new file mode 100644
index 000000000000..1f2a52bbd602
--- /dev/null
+++ b/net-libs/opal/metadata.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="celt">Enable CELT ultra-low delay audio codec</flag>
+ <flag name="dtmf">Enable DTMF encoding/decoding support</flag>
+ <flag name="fax">Enable T.38 FAX protocol</flag>
+ <flag name="h224">Enable H.224 real time control protocol</flag>
+ <flag name="h281">Enable H.281 Far-End Camera Control protocol</flag>
+ <flag name="h323">Enable H.323 protocol</flag>
+ <flag name="iax">Enable Inter-Asterisk eXchange protocol</flag>
+ <flag name="ivr">Enable Interactive Voice Response</flag>
+ <flag name="ilbc">Enable iLBC (RFC 3951) speech codec</flag>
+ <flag name="lid">Enable Line Interface Device</flag>
+ <flag name="plugins">Enable plugins support</flag>
+ <flag name="sbc">Enable the Bluetooth low-complexity, SubBand Codec
+ </flag>
+ <flag name="sip">Enable Session Initiation Protocol</flag>
+ <flag name="sipim">Enable SIP Instant Messages session</flag>
+ <flag name="srtp">Enable Secure Real-time Transport Protocol</flag>
+ <flag name="stats">Enable statistic reporting</flag>
+ <flag name="swig">Use swig to generate bindings</flag>
+ <flag name="video">Enable video support</flag>
+ <flag name="vpb">Enable Voicetronics VPB card support</flag>
+ <flag name="vxml">Enable VXML support</flag>
+ <flag name="wav">Enable WAVFILE support</flag>
+ <flag name="x264-static">Install x264 plugin statically linked with x264
+ </flag>
+ <!-- unused atm
+ <flag name="g711plc">Enable G711 Packet Loss Concealment</flag>
+ <flag name="msrp">Enable Message Session Relay Protocol</flag>
+ <flag name="rfc4103">Enable RTP Payload for Text Conversation</flag>
+ -->
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">opalvoip</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-libs/opal/opal-3.10.11-r1.ebuild b/net-libs/opal/opal-3.10.11-r1.ebuild
new file mode 100644
index 000000000000..eb0508072328
--- /dev/null
+++ b/net-libs/opal/opal-3.10.11-r1.ebuild
@@ -0,0 +1,252 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools toolchain-funcs java-pkg-opt-2 flag-o-matic
+
+DESCRIPTION="C++ class library normalising numerous telephony protocols"
+HOMEPAGE="http://www.opalvoip.org/"
+SRC_URI="mirror://sourceforge/opalvoip/${P}.tar.bz2
+ doc? ( mirror://sourceforge/opalvoip/${P}-htmldoc.tar.bz2 )"
+
+LICENSE="MPL-1.0"
+SLOT="0"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
+IUSE="celt debug doc +dtmf examples fax ffmpeg h224 h281 h323 iax ilbc
+ipv6 ivr java ldap libav lid +plugins sbc +sip +sipim +sound srtp ssl static-libs
+stats swig theora +video vpb vxml +wav x264 x264-static +xml"
+
+REQUIRED_USE="
+ x264-static? ( x264 )
+ h281? ( h224 )
+ sip? ( sipim )
+"
+
+RDEPEND="
+ >=net-libs/ptlib-2.10.10:=[stun,debug=,dtmf,http,ipv6?,ldap?,sound?,ssl?,video?,vxml?,wav?,xml?]
+ >=media-libs/speex-1.2_beta
+ fax? ( net-libs/ptlib[asn] )
+ h323? ( net-libs/ptlib[asn] )
+ ivr? ( net-libs/ptlib[http,xml,vxml] )
+ java? ( >=virtual/jre-1.4:* )
+ plugins? (
+ media-sound/gsm
+ celt? ( media-libs/celt:0 )
+ ffmpeg? (
+ libav? ( media-video/libav:0=[encode] )
+ !libav? ( media-video/ffmpeg:0=[encode] ) )
+ ilbc? ( dev-libs/ilbc-rfc3951 )
+ sbc? ( media-libs/libsamplerate )
+ theora? ( media-libs/libtheora )
+ x264? ( virtual/ffmpeg
+ media-libs/x264 ) )
+ srtp? ( net-libs/libsrtp:0= )
+ vxml? ( net-libs/ptlib[http,vxml] )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ java? ( swig? ( dev-lang/swig )
+ >=virtual/jdk-1.4 )
+"
+
+# NOTES:
+# ffmpeg[encode] is for h263 and mpeg4
+# ssl, xml, vxml, ipv6, ldap, sound, wav, and video are use flags
+# herited from ptlib: feature is enabled if ptlib has enabled it
+# however, disabling it if ptlib has it looks hard (coz of buildopts.h)
+# forcing ptlib to disable it for opal is not a solution too
+# atm, accepting the "auto-feature" looks like a good solution
+# (asn is used for fax and config _only_ for examples)
+# OPALDIR should not be used anymore but if a package still need it, create it
+
+pkg_setup() {
+ # workaround for bug 282838
+ append-cxxflags "-fno-visibility-inlines-hidden"
+ append-cxxflags "-fno-strict-aliasing"
+
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # remove visual studio related files from samples/
+ if use examples; then
+ rm -f samples/*/*.vcproj
+ rm -f samples/*/*.sln
+ rm -f samples/*/*.dsp
+ rm -f samples/*/*.dsw
+ fi
+
+ # LFS ffmpeg2+ fixes.
+ eapply "${FILESDIR}"/opal-3.10.10-ffmpeg2-1.patch
+
+ if ! use h323; then
+ # Without this patch, ekiga wont compile, even with
+ # USE=-h323.
+ eapply "${FILESDIR}/${PN}-3.10.9-disable-h323-workaround.patch"
+ fi
+
+ eapply "${FILESDIR}/${PN}-3.10.9-java-ruby-swig-fix.patch"
+
+ sed -i -e "s:\(.*HAS_H224.*\), \[OPAL_H323\]:\1:" configure.ac \
+ || die "sed failed"
+
+ # sed fixes for ffmpeg-3.
+ 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 || die "sed failed"
+
+ eaclocal
+ eautoconf
+
+ # in plugins
+ cd plugins/
+ eaclocal
+ eautoconf
+ cd ..
+
+ # disable celt if celt is not enabled (prevent auto magic dep)
+ # already in repository
+ if ! use celt; then
+ sed -i -e "s/HAVE_CELT=yes/HAVE_CELT=no/" plugins/configure \
+ || die "sed failed"
+ fi
+
+ # fix automatic swig detection, upstream bug 2712521 (upstream reject it)
+ if ! use swig; then
+ sed -i -e "/^SWIG=/d" configure || die "patching configure failed"
+ fi
+
+ use ilbc || { rm -r plugins/audio/iLBC/ || die "removing iLBC failed"; }
+
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ local forcedconf=""
+
+ # fix bug 277233, upstream bug 2820939
+ if use fax; then
+ forcedconf="${forcedconf} --enable-statistics"
+ fi
+
+ # --with-libavcodec-source-dir should _not_ be set, it's for trunk sources
+ # versioncheck: check for ptlib version
+ # shared: should always be enabled for a lib
+ # localspeex, localspeexdsp, localgsm, localilbc: never use bundled libs
+ # samples: only build some samples, useless
+ # libavcodec-stackalign-hack: prevent hack (default disable by upstream)
+ # default-to-full-capabilties: default enable by upstream
+ # aec: atm, only used when bundled speex, so it's painless for us
+ # zrtp doesn't depend on net-libs/libzrtpcpp but on libzrtp from
+ # http://zfoneproject.com/ wich is not in portage
+ # msrp: highly experimental
+ # spandsp: doesn't work with newest spandsp, upstream bug 2796047
+ # g711plc: force enable
+ # rfc4103: not really used, upstream bug 2795831
+ # t38, spandsp: merged in fax
+ # h450, h460, h501: merged in h323 (they are additional features of h323)
+ econf \
+ --enable-versioncheck \
+ --enable-shared \
+ --disable-zrtp \
+ --disable-localspeex \
+ --disable-localspeexdsp \
+ --disable-localgsm \
+ --disable-localilbc \
+ --disable-samples \
+ --disable-libavcodec-stackalign-hack \
+ --enable-default-to-full-capabilties \
+ --enable-aec \
+ --disable-msrp \
+ --disable-spandsp \
+ --enable-g711plc \
+ --enable-rfc4103 \
+ --disable-capi \
+ --disable-ixj \
+ $(use_enable debug) \
+ $(use_enable fax) \
+ $(use_enable fax t38) \
+ $(use_enable h224) \
+ $(use_enable h281) \
+ $(use_enable h323) \
+ $(use_enable h323 h450) \
+ $(use_enable h323 h460) \
+ $(use_enable h323 h501) \
+ $(use_enable iax) \
+ $(use_enable ivr) \
+ $(use_enable java) \
+ $(use_enable lid) \
+ $(use_enable plugins) \
+ $(use_enable sbc) \
+ $(use_enable sip) \
+ $(use_enable sipim) \
+ $(use_enable stats statistics) \
+ $(use_enable video) $(use_enable video rfc4175) \
+ $(use_enable vpb) \
+ $(use_enable x264 h264) \
+ $(use_enable x264-static x264-link-static) \
+ ${forcedconf}
+}
+
+src_compile() {
+ local makeopts=""
+
+ use debug && makeopts="debug"
+
+ emake ${makeopts}
+}
+
+src_install() {
+ default
+
+ # Get rid of static libraries if not requested
+ # There seems to be no easy way to disable this in the build system
+ if ! use static-libs; then
+ rm -v "${D}"/usr/lib*/*.a || die
+ fi
+
+ if use doc; then
+ dohtml -r "${WORKDIR}"/html/* docs/* || die "dohtml failed"
+ fi
+
+ if use examples; then
+ local exampledir="/usr/share/doc/${PF}/examples"
+ local basedir="samples"
+ local sampledirs="`ls ${basedir} --hide=configure* \
+ --hide=opal_samples.mak.in`"
+
+ # first, install files
+ insinto ${exampledir}/
+ doins ${basedir}/{configure*,opal_samples*} \
+ || die "doins failed"
+
+ # now, all examples
+ for x in ${sampledirs}; do
+ insinto ${exampledir}/${x}/
+ doins ${basedir}/${x}/* || die "doins failed"
+ done
+
+ # some examples need version.h
+ insinto "/usr/share/doc/${PF}/"
+ doins version.h || die "doins failed"
+ fi
+}
+
+pkg_postinst() {
+ if use examples; then
+ ewarn "All examples have been installed, some of them will not work on your system"
+ ewarn "it will depend of the enabled USE flags in ptlib and opal"
+ fi
+
+ if ! use plugins || ! use sound || ! use video; then
+ ewarn "You have disabled sound, video or plugins USE flags."
+ ewarn "Most audio/video features or plugins have been disabled silently"
+ ewarn "even if enabled via USE flags."
+ ewarn "Having a feature enabled via USE flag but disabled can lead to issues."
+ fi
+}