Home
       tnet-libs/opan: Add 3.10.11 - parlay - yet another gentoo overlay
  HTML git clone https://git.parazyd.org/parlay
   DIR Log
   DIR Files
   DIR Refs
   DIR README
       ---
   DIR commit 77e9de7ff28f73ffdc5eb6768e7d41a2a455b4b2
   DIR parent 3c895362347437f6711fb8143f0fabfd4ffcf464
  HTML Author: parazyd <parazyd@dyne.org>
       Date:   Tue, 16 Mar 2021 14:24:39 +0100
       
       net-libs/opan: Add 3.10.11
       
       Diffstat:
         A net-libs/opal/Manifest              |       2 ++
         A net-libs/opal/files/opal-3.10.10-f… |     396 +++++++++++++++++++++++++++++++
         A net-libs/opal/files/opal-3.10.9-di… |      13 +++++++++++++
         A net-libs/opal/files/opal-3.10.9-ja… |      29 +++++++++++++++++++++++++++++
         A net-libs/opal/metadata.xml          |      39 +++++++++++++++++++++++++++++++
         A net-libs/opal/opal-3.10.11-r1.ebui… |     252 +++++++++++++++++++++++++++++++
       
       6 files changed, 731 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/net-libs/opal/Manifest b/net-libs/opal/Manifest
       t@@ -0,0 +1,2 @@
       +DIST opal-3.10.11-htmldoc.tar.bz2 2944338 BLAKE2B 3e686809a217c13718e3e777a5c11b92b1405d5421b882abc50a3e231db28d72099e7383fa23bf130cc5fa2bf123412702248054cfa7be14dcbc999fd3bd1248 SHA512 6075487344d4cfa5c2e2219376e3eccd98028475eac6f89d20d24d611a8806a27eb354ce8e77e16c620c8cb3d398b9502082f3fe8f67763d3f67feea835819b5
       +DIST opal-3.10.11.tar.bz2 8590616 BLAKE2B 1ea56285315e879d85190db4e2b2fa814cf0fc7825db80547d1fde978f6d24a8e2cd853575a4c13dbfc7d8dada422a90ab95512a367a87de6d13889a6d8f8ca4 SHA512 970745375e7ebb29178ce9d0bc29254e69dd952e5f754038979a8613489a26f0fb68d63ec2709ffa1964e50fe9cfde874489f683a451d83e7a075d62d9228fa1
   DIR 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
       t@@ -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
       + }
       + 
   DIR 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
       t@@ -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();
   DIR 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
       t@@ -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
   DIR diff --git a/net-libs/opal/metadata.xml b/net-libs/opal/metadata.xml
       t@@ -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>
   DIR diff --git a/net-libs/opal/opal-3.10.11-r1.ebuild b/net-libs/opal/opal-3.10.11-r1.ebuild
       t@@ -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
       +}