[arch-commits] Commit in opal/repos (6 files)

Bartłomiej Piotrowski bpiotrowski at archlinux.org
Thu Aug 7 08:53:08 UTC 2014


    Date: Thursday, August 7, 2014 @ 10:53:07
  Author: bpiotrowski
Revision: 219374

archrelease: copy trunk to staging-i686, staging-x86_64

Added:
  opal/repos/staging-i686/
  opal/repos/staging-i686/PKGBUILD
    (from rev 219373, opal/trunk/PKGBUILD)
  opal/repos/staging-i686/opal-ffmpeg.patch
    (from rev 219373, opal/trunk/opal-ffmpeg.patch)
  opal/repos/staging-x86_64/
  opal/repos/staging-x86_64/PKGBUILD
    (from rev 219373, opal/trunk/PKGBUILD)
  opal/repos/staging-x86_64/opal-ffmpeg.patch
    (from rev 219373, opal/trunk/opal-ffmpeg.patch)

----------------------------------+
 staging-i686/PKGBUILD            |   35 +++
 staging-i686/opal-ffmpeg.patch   |  389 +++++++++++++++++++++++++++++++++++++
 staging-x86_64/PKGBUILD          |   35 +++
 staging-x86_64/opal-ffmpeg.patch |  389 +++++++++++++++++++++++++++++++++++++
 4 files changed, 848 insertions(+)

Copied: opal/repos/staging-i686/PKGBUILD (from rev 219373, opal/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD	                        (rev 0)
+++ staging-i686/PKGBUILD	2014-08-07 08:53:07 UTC (rev 219374)
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Jan de Groot <jan at archlinux.org>
+# Contributor: Tom K <tomk at runbox.com>
+pkgname=opal
+pkgver=3.10.11
+pkgrel=4
+pkgdesc="Open Phone Abstraction Library"
+arch=(i686 x86_64)
+url="http://www.opalvoip.org"
+license=(GPL)
+depends=(ptlib libtheora libx264 speex gsm celt)
+makedepends=(ffmpeg x264)
+optdepends=('ffmpeg: h263 and mpeg4 plugins')
+options=(!makeflags)
+source=(http://downloads.sourceforge.net/opalvoip/$pkgname-$pkgver.tar.bz2
+        opal-ffmpeg.patch)
+sha256sums=('f38e7969e88a28dd9a10a6051315aceecde79d0bbd1a35676868dc5787aed706'
+            '83f60ecf692e004293ce9dbaae7d7eb64d9713d3bfb71a0e7b1a0d1f936794cd')
+
+prepare() {
+  cd $pkgname-$pkgver
+  patch -Np1 -i ../opal-ffmpeg.patch
+}
+
+build() {
+  cd $pkgname-$pkgver
+  CXXFLAGS="$CXXFLAGS -fpermissive" \
+  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+  make
+}
+
+package() {
+  cd $pkgname-$pkgver
+  make DESTDIR="${pkgdir}" install
+}

Copied: opal/repos/staging-i686/opal-ffmpeg.patch (from rev 219373, opal/trunk/opal-ffmpeg.patch)
===================================================================
--- staging-i686/opal-ffmpeg.patch	                        (rev 0)
+++ staging-i686/opal-ffmpeg.patch	2014-08-07 08:53:07 UTC (rev 219374)
@@ -0,0 +1,389 @@
+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-09-10 21:43:11.091108557 +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.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-09-10 21:43:11.091108557 +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-09-10 21:43:11.091108557 +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.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-09-10 21:43:11.091108557 +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-09-10 21:43:11.091108557 +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-09-10 21:43:11.091108557 +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-09-10 21:43:49.101654132 +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-09-10 21:43:11.091108557 +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 -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-09-10 21:43:11.091108557 +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-09-10 21:43:11.091108557 +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-09-10 21:43:11.094441937 +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
+ /**

Copied: opal/repos/staging-x86_64/PKGBUILD (from rev 219373, opal/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2014-08-07 08:53:07 UTC (rev 219374)
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Jan de Groot <jan at archlinux.org>
+# Contributor: Tom K <tomk at runbox.com>
+pkgname=opal
+pkgver=3.10.11
+pkgrel=4
+pkgdesc="Open Phone Abstraction Library"
+arch=(i686 x86_64)
+url="http://www.opalvoip.org"
+license=(GPL)
+depends=(ptlib libtheora libx264 speex gsm celt)
+makedepends=(ffmpeg x264)
+optdepends=('ffmpeg: h263 and mpeg4 plugins')
+options=(!makeflags)
+source=(http://downloads.sourceforge.net/opalvoip/$pkgname-$pkgver.tar.bz2
+        opal-ffmpeg.patch)
+sha256sums=('f38e7969e88a28dd9a10a6051315aceecde79d0bbd1a35676868dc5787aed706'
+            '83f60ecf692e004293ce9dbaae7d7eb64d9713d3bfb71a0e7b1a0d1f936794cd')
+
+prepare() {
+  cd $pkgname-$pkgver
+  patch -Np1 -i ../opal-ffmpeg.patch
+}
+
+build() {
+  cd $pkgname-$pkgver
+  CXXFLAGS="$CXXFLAGS -fpermissive" \
+  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+  make
+}
+
+package() {
+  cd $pkgname-$pkgver
+  make DESTDIR="${pkgdir}" install
+}

Copied: opal/repos/staging-x86_64/opal-ffmpeg.patch (from rev 219373, opal/trunk/opal-ffmpeg.patch)
===================================================================
--- staging-x86_64/opal-ffmpeg.patch	                        (rev 0)
+++ staging-x86_64/opal-ffmpeg.patch	2014-08-07 08:53:07 UTC (rev 219374)
@@ -0,0 +1,389 @@
+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-09-10 21:43:11.091108557 +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.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-09-10 21:43:11.091108557 +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-09-10 21:43:11.091108557 +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.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-09-10 21:43:11.091108557 +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-09-10 21:43:11.091108557 +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-09-10 21:43:11.091108557 +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-09-10 21:43:49.101654132 +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-09-10 21:43:11.091108557 +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 -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-09-10 21:43:11.091108557 +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-09-10 21:43:11.091108557 +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-09-10 21:43:11.094441937 +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
+ /**




More information about the arch-commits mailing list