diff options
Diffstat (limited to 'libraries/opal')
-rw-r--r-- | libraries/opal/README | 3 | ||||
-rw-r--r-- | libraries/opal/ffmpeg2.patch (renamed from libraries/opal/opal-ffmpeg.patch) | 405 | ||||
-rw-r--r-- | libraries/opal/opal.SlackBuild | 72 |
3 files changed, 262 insertions, 218 deletions
diff --git a/libraries/opal/README b/libraries/opal/README index c0a84e54c98d1..a6a7e53e8814a 100644 --- a/libraries/opal/README +++ b/libraries/opal/README @@ -2,5 +2,4 @@ The Open Phone Abstraction Library (OPAL) is a C++ multi-platform, multi-protocol library for Fax, Video & Voice over IP and other networks. -Optional dependencies are Speex (recommended, even though Opal -ships with its own version), ffmpeg, and celt. +Optional dependencies are ffmpeg, x264, celt and jdk/openjdk. diff --git a/libraries/opal/opal-ffmpeg.patch b/libraries/opal/ffmpeg2.patch index de828b5b2bfae..80dca469d9479 100644 --- a/libraries/opal/opal-ffmpeg.patch +++ b/libraries/opal/ffmpeg2.patch @@ -1,21 +1,158 @@ -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 +patch from: http://www.linuxfromscratch.org/blfs/view/svn/multimedia/opal.html + +Submitted By: Igor Živković <contact@igor-zivkovic.from.hr> +Date: 2013-10-08 +Initial Package Version: 3.10.10 +Upstream Status: Unknown +Origin: Gentoo +Description: Fixes building against FFmpeg version >= 2.0.0 + +diff -Naur opal-3.10.10.orig/plugins/video/common/dyna.cxx opal-3.10.10/plugins/video/common/dyna.cxx +--- opal-3.10.10.orig/plugins/video/common/dyna.cxx 2013-02-20 03:18:05.000000000 +0100 ++++ plugins/video/common/dyna.cxx 2013-10-08 12:57:25.058873513 +0200 +@@ -210,7 +210,7 @@ + #endif + + +-FFMPEGLibrary::FFMPEGLibrary(CodecID codec) ++FFMPEGLibrary::FFMPEGLibrary(AVCodecID codec) + { + m_codec = codec; + if (m_codec==CODEC_ID_H264) +@@ -348,12 +348,12 @@ + return true; + } + +-AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum CodecID id) ++AVCodec *FFMPEGLibrary::AvcodecFindEncoder(enum AVCodecID id) + { + return Favcodec_find_encoder(id); + } + +-AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum CodecID id) ++AVCodec *FFMPEGLibrary::AvcodecFindDecoder(enum AVCodecID id) + { + WaitAndSignal m(processLock); + +diff -Naur opal-3.10.10.orig/plugins/video/common/dyna.h opal-3.10.10/plugins/video/common/dyna.h +--- opal-3.10.10.orig/plugins/video/common/dyna.h 2013-02-20 03:18:05.000000000 +0100 ++++ plugins/video/common/dyna.h 2013-10-08 12:57:25.058873513 +0200 +@@ -88,13 +88,13 @@ + class FFMPEGLibrary + { + public: +- FFMPEGLibrary(CodecID codec); ++ FFMPEGLibrary(AVCodecID codec); + ~FFMPEGLibrary(); + + bool Load(); + +- AVCodec *AvcodecFindEncoder(enum CodecID id); +- AVCodec *AvcodecFindDecoder(enum CodecID id); ++ AVCodec *AvcodecFindEncoder(enum AVCodecID id); ++ AVCodec *AvcodecFindDecoder(enum AVCodecID id); + AVCodecContext *AvcodecAllocContext(void); + AVFrame *AvcodecAllocFrame(void); + int AvcodecOpen(AVCodecContext *ctx, AVCodec *codec); +@@ -117,15 +117,15 @@ + DynaLink m_libAvcodec; + DynaLink m_libAvutil; + +- CodecID m_codec; ++ AVCodecID m_codec; + char m_codecString[32]; + + void (*Favcodec_init)(void); + void (*Fav_init_packet)(AVPacket *pkt); + + void (*Favcodec_register_all)(void); +- AVCodec *(*Favcodec_find_encoder)(enum CodecID id); +- AVCodec *(*Favcodec_find_decoder)(enum CodecID id); ++ AVCodec *(*Favcodec_find_encoder)(enum AVCodecID id); ++ AVCodec *(*Favcodec_find_decoder)(enum AVCodecID id); + AVCodecContext *(*Favcodec_alloc_context)(void); + AVFrame *(*Favcodec_alloc_frame)(void); + int (*Favcodec_open)(AVCodecContext *ctx, AVCodec *codec); +diff -Naur opal-3.10.10.orig/plugins/video/common/ffmpeg/libavcodec/avcodec.h opal-3.10.10/plugins/video/common/ffmpeg/libavcodec/avcodec.h +--- opal-3.10.10.orig/plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-02-20 03:18:04.000000000 +0100 ++++ plugins/video/common/ffmpeg/libavcodec/avcodec.h 2013-10-08 12:57:25.060873488 +0200 +@@ -101,7 +101,7 @@ + * 1. no value of a existing codec ID changes (that would break ABI), + * 2. it is as close as possible to similar codecs. + */ +-enum CodecID { ++enum AVCodecID { + CODEC_ID_NONE, + + /* video codecs */ +@@ -1390,7 +1390,7 @@ + + char codec_name[32]; + enum AVMediaType codec_type; /* see AVMEDIA_TYPE_xxx */ +- enum CodecID codec_id; /* see CODEC_ID_xxx */ ++ enum AVCodecID codec_id; /* see CODEC_ID_xxx */ + + /** + * fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A'). +@@ -2843,7 +2843,7 @@ + */ + const char *name; + enum AVMediaType type; +- enum CodecID id; ++ enum AVCodecID id; + int priv_data_size; + int (*init)(AVCodecContext *); + int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data); +@@ -2898,7 +2898,7 @@ + * + * See CODEC_ID_xxx + */ +- enum CodecID id; ++ enum AVCodecID id; + + /** + * Supported pixel format. +@@ -3402,10 +3402,10 @@ + /** + * Find a registered encoder with a matching codec ID. + * +- * @param id CodecID of the requested encoder ++ * @param id AVCodecID of the requested encoder + * @return An encoder if one was found, NULL otherwise. + */ +-AVCodec *avcodec_find_encoder(enum CodecID id); ++AVCodec *avcodec_find_encoder(enum AVCodecID id); + + /** + * Find a registered encoder with the specified name. +@@ -3418,10 +3418,10 @@ + /** + * Find a registered decoder with a matching codec ID. + * +- * @param id CodecID of the requested decoder ++ * @param id AVCodecID of the requested decoder + * @return A decoder if one was found, NULL otherwise. + */ +-AVCodec *avcodec_find_decoder(enum CodecID id); ++AVCodec *avcodec_find_decoder(enum AVCodecID id); + + /** + * Find a registered decoder with the specified name. +@@ -3822,7 +3822,7 @@ + * @param[in] codec_id the codec + * @return Number of bits per sample or zero if unknown for the given codec. + */ +-int av_get_bits_per_sample(enum CodecID codec_id); ++int av_get_bits_per_sample(enum AVCodecID codec_id); + + #if FF_API_OLD_SAMPLE_FMT + /** +diff -Naur opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10/plugins/video/H.263-1998/h263-1998.cxx +--- opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.cxx 2013-02-20 03:18:03.000000000 +0100 ++++ plugins/video/H.263-1998/h263-1998.cxx 2013-10-08 12:57:25.061873475 +0200 @@ -48,6 +48,10 @@ #endif - + #include "h263-1998.h" +extern "C" +{ @@ -27,14 +164,14 @@ diff -Naur opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10 @@ -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+ + // Level 2+ // works with eyeBeam, signaled via non-standard "D" if (atoi(value) == 1) - m_context->flags |= CODEC_FLAG_H263P_UMV; @@ -44,7 +181,7 @@ diff -Naur opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10 + 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 @@ -68,7 +205,7 @@ diff -Naur opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10 + 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 @@ -80,11 +217,11 @@ diff -Naur opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10 + 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); @@ -96,20 +233,20 @@ diff -Naur opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10 - 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; @@ -120,48 +257,60 @@ diff -Naur opal-3.10.10-orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.10 - 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 +diff -Naur opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.h opal-3.10.10/plugins/video/H.263-1998/h263-1998.h +--- opal-3.10.10.orig/plugins/video/H.263-1998/h263-1998.h 2013-02-20 03:18:03.000000000 +0100 ++++ plugins/video/H.263-1998/h263-1998.h 2013-10-08 12:57:25.062873463 +0200 @@ -115,7 +115,7 @@ virtual ~H263_Base_EncoderContext(); - + virtual bool Init() = 0; - virtual bool Init(CodecID codecId); + virtual bool Init(AVCodecID codecId); - + virtual bool SetOptions(const char * const * options); virtual void SetOption(const char * option, const char * value); -diff -Naur opal-3.10.10-orig/plugins/video/H.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 +diff -Naur opal-3.10.10.orig/plugins/video/H.263-1998/Makefile.in opal-3.10.10/plugins/video/H.263-1998/Makefile.in +--- opal-3.10.10.orig/plugins/video/H.263-1998/Makefile.in 2013-02-20 03:18:03.000000000 +0100 ++++ plugins/video/H.263-1998/Makefile.in 2013-10-08 12:57:25.062873463 +0200 +@@ -35,7 +35,7 @@ + $(COMMONDIR)/dyna.cxx + + CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) +-LIBS += @DL_LIBS@ ++LIBS += @DL_LIBS@ @LIBAVUTIL_LIBS@ + + HAVE_LIBAVCODEC_RTP_MODE=@HAVE_LIBAVCODEC_RTP_MODE@ + ifeq ($(HAVE_LIBAVCODEC_RTP_MODE),yes) +diff -Naur opal-3.10.10.orig/plugins/video/H.264/gpl/h264_helper.cxx opal-3.10.10/plugins/video/H.264/gpl/h264_helper.cxx +--- opal-3.10.10.orig/plugins/video/H.264/gpl/h264_helper.cxx 2013-02-20 03:18:02.000000000 +0100 ++++ plugins/video/H.264/gpl/h264_helper.cxx 2013-10-08 12:57:25.062873463 +0200 @@ -27,6 +27,7 @@ #include <fstream> - #include <stdlib.h> + #include <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 +diff -Naur opal-3.10.10.orig/plugins/video/H.264/h264-x264.cxx opal-3.10.10/plugins/video/H.264/h264-x264.cxx +--- opal-3.10.10.orig/plugins/video/H.264/h264-x264.cxx 2013-02-20 03:18:02.000000000 +0100 ++++ plugins/video/H.264/h264-x264.cxx 2013-10-08 12:57:25.063873450 +0200 @@ -40,6 +40,9 @@ #include "plugin-config.h" #endif - + +#define FF_IDCT_H264 11 +#define CODEC_FLAG2_SKIP_RD 0x00004000 + #include <codec/opalplugin.hpp> - + #include "../common/ffmpeg.h" @@ -1071,13 +1074,10 @@ return false; - + m_context->workaround_bugs = FF_BUG_AUTODETECT; - m_context->error_recognition = FF_ER_AGGRESSIVE; m_context->idct_algo = FF_IDCT_H264; @@ -173,33 +322,33 @@ diff -Naur opal-3.10.10-orig/plugins/video/H.264/h264-x264.cxx opal-3.10.10/plug + 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 + +diff -Naur opal-3.10.10.orig/plugins/video/H.264/shared/x264wrap.cxx opal-3.10.10/plugins/video/H.264/shared/x264wrap.cxx +--- opal-3.10.10.orig/plugins/video/H.264/shared/x264wrap.cxx 2013-02-20 03:18:02.000000000 +0100 ++++ plugins/video/H.264/shared/x264wrap.cxx 2013-10-08 12:57:25.064873438 +0200 @@ -33,6 +33,7 @@ - + #include <codec/opalplugin.hpp> #include <stdio.h> +#include <unistd.h> - + #ifdef HAVE_UNISTD_H #include <unistd.h> -diff -Naur opal-3.10.10-orig/plugins/video/MPEG4-ffmpeg/Makefile.in opal-3.10.10/plugins/video/MPEG4-ffmpeg/Makefile.in ---- opal-3.10.10-orig/plugins/video/MPEG4-ffmpeg/Makefile.in 2013-02-20 03:18:07.000000000 +0100 -+++ opal-3.10.10/plugins/video/MPEG4-ffmpeg/Makefile.in 2013-09-10 21:43:49.101654132 +0200 +diff -Naur opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/Makefile.in opal-3.10.10/plugins/video/MPEG4-ffmpeg/Makefile.in +--- opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/Makefile.in 2013-02-20 03:18:07.000000000 +0100 ++++ plugins/video/MPEG4-ffmpeg/Makefile.in 2013-10-08 12:57:25.064873438 +0200 @@ -31,7 +31,7 @@ SRCS := mpeg4.cxx $(COMMONDIR)/dyna.cxx - + CFLAGS += @LIBAVCODEC_CFLAGS@ -I$(COMMONDIR) -LIBS += @DL_LIBS@ +LIBS += @DL_LIBS@ @LIBAVUTIL_LIBS@ - + # Add LIBAVCODEC_SOURCE_DIR to the include path so we can #include <libavcodec/...h> # Also add libavutil, so ffmpeg headers can #include "log.h". -diff -Naur opal-3.10.10-orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx opal-3.10.10/plugins/video/MPEG4-ffmpeg/mpeg4.cxx ---- opal-3.10.10-orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-02-20 03:18:07.000000000 +0100 -+++ opal-3.10.10/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-09-10 21:43:11.091108557 +0200 +diff -Naur opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx opal-3.10.10/plugins/video/MPEG4-ffmpeg/mpeg4.cxx +--- opal-3.10.10.orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-02-20 03:18:07.000000000 +0100 ++++ plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2013-10-08 12:57:25.065873425 +0200 @@ -103,6 +103,7 @@ #else /* LIBAVCODEC_HAVE_SOURCE_DIR */ @@ -247,143 +396,3 @@ diff -Naur opal-3.10.10-orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx opal-3.10.10/p 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 - /** diff --git a/libraries/opal/opal.SlackBuild b/libraries/opal/opal.SlackBuild index ab4de8a733c03..ca382bc4ef91a 100644 --- a/libraries/opal/opal.SlackBuild +++ b/libraries/opal/opal.SlackBuild @@ -25,12 +25,12 @@ PRGNAM=opal VERSION=${VERSION:-3.10.10} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -41,21 +41,17 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -# The -D__STDC_CONSTANT_MACROS thing is required to build against ffmpeg 0.6 -# Retrieved from -# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-libs/opal/opal-3.6.7.ebuild?r1=1.3&r2=1.4 -# Thanks to the Gentoo folks for coming up with this fix! -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686 -D__STDC_CONSTANT_MACROS" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686 -D__STDC_CONSTANT_MACROS" + SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC -D__STDC_CONSTANT_MACROS" + SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else - SLKCFLAGS="-O2 -D__STDC_CONSTANT_MACROS" + SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi @@ -68,12 +64,6 @@ rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.xz cd $PRGNAM-$VERSION -( - cd plugins - aclocal - autoconf -) - chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -81,7 +71,22 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -patch -p1 < $CWD/opal-ffmpeg.patch +# patch and seds from lfs: +# http://www.linuxfromscratch.org/blfs/view/svn/multimedia/opal.html +patch -p1 --verbose < $CWD/ffmpeg2.patch + +sed -e 's/CODEC_ID/AV_&/' \ + -e 's/PIX_FMT_/AV_&/' \ + -i plugins/video/H.263-1998/h263-1998.cxx \ + plugins/video/common/dyna.cxx \ + plugins/video/H.264/h264-x264.cxx \ + plugins/video/MPEG4-ffmpeg/mpeg4.cxx + +sed -e '/<< mime.PrintContents/ s/mime/(const std::string\&)&/' \ + -i src/im/msrp.cxx && + +sed -e '/abs(/s/MPI.*)/(int)(&)/' \ + -i ./plugins/video/common/mpi.cxx CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -91,6 +96,37 @@ CXXFLAGS="$SLKCFLAGS" \ --sysconfdir=/etc \ --localstatedir=/var \ --enable-shared \ + --enable-ivr \ + --enable-rfc4175 \ + --enable-rfc2435 \ + --enable-aec \ + --enable-g711plc \ + --enable-rtcpxr \ + --enable-statistics \ + --enable-mixer \ + --enable-pcss \ + --enable-rfc4103 \ + --enable-fax \ + --enable-h450 \ + --enable-h460 \ + --enable-h239 \ + --enable-h501 \ + --enable-lid \ + --enable-zrtp \ + --enable-srtp \ + --enable-capi \ + --enable-java \ + --enable-ruby \ + --enable-video \ + --enable-sip \ + --enable-h323 \ + --enable-iax2 \ + --enable-h224 \ + --enable-h281 \ + --enable-t38 \ + --enable-msrp \ + --enable-sipim \ + --enable-plugins \ --build=$ARCH-slackware-linux make VERBOSE=1 |