diff options
author | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2013-11-25 17:25:43 +0700 |
---|---|---|
committer | Heinz Wiesinger <pprkut@slackbuilds.org> | 2013-11-25 18:19:40 +0100 |
commit | 226d1026a60d62c7d72901fe83a4cea63ba6cb39 (patch) | |
tree | a4d6828acd138fab6c524ea2d0a96d17294f60f6 | |
parent | f54d060e49c74d946ba712aa8321023b2a60d848 (diff) | |
download | slackbuilds-226d1026a60d62c7d72901fe83a4cea63ba6cb39.tar.gz |
libraries/opal: Added patch for FFMPEG 2.x
Thanks to Sebastian Arcus
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | libraries/opal/opal-ffmpeg-gcc.patch | 172 | ||||
-rw-r--r-- | libraries/opal/opal-ffmpeg.patch | 389 | ||||
-rw-r--r-- | libraries/opal/opal.SlackBuild | 5 |
3 files changed, 391 insertions, 175 deletions
diff --git a/libraries/opal/opal-ffmpeg-gcc.patch b/libraries/opal/opal-ffmpeg-gcc.patch deleted file mode 100644 index abe7bd7fa9..0000000000 --- a/libraries/opal/opal-ffmpeg-gcc.patch +++ /dev/null @@ -1,172 +0,0 @@ -diff -Naur opal-3.10.7.orig/plugins/video/H.263-1998/h263-1998.cxx opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx ---- opal-3.10.7.orig/plugins/video/H.263-1998/h263-1998.cxx 2012-08-23 04:18:42.000000000 +0200 -+++ opal-3.10.7/plugins/video/H.263-1998/h263-1998.cxx 2012-09-11 21:22:27.429998081 +0200 -@@ -48,6 +48,7 @@ - #endif - - #include "h263-1998.h" -+#include <libavutil/opt.h> - #include <limits> - #include <iomanip> - #include <stdio.h> -@@ -317,9 +318,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 +329,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 +361,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 +371,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 +451,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 +513,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 +595,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.7.orig/plugins/video/H.264/h264-x264.cxx opal-3.10.7/plugins/video/H.264/h264-x264.cxx ---- opal-3.10.7.orig/plugins/video/H.264/h264-x264.cxx 2012-08-23 04:18:41.000000000 +0200 -+++ opal-3.10.7/plugins/video/H.264/h264-x264.cxx 2012-09-11 21:25:33.654998816 +0200 -@@ -1071,13 +1071,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.7.orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx opal-3.10.7/plugins/video/MPEG4-ffmpeg/mpeg4.cxx ---- opal-3.10.7.orig/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2012-08-23 04:18:44.000000000 +0200 -+++ opal-3.10.7/plugins/video/MPEG4-ffmpeg/mpeg4.cxx 2012-09-11 21:33:10.256012246 +0200 -@@ -589,17 +589,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 +804,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 +1325,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.7.orig/plugins/video/common/ffmpeg.h opal-3.10.7/plugins/video/common/ffmpeg.h ---- opal-3.10.7.orig/plugins/video/common/ffmpeg.h 2012-08-23 04:18:43.000000000 +0200 -+++ opal-3.10.7/plugins/video/common/ffmpeg.h 2012-09-11 21:29:08.505015076 +0200 -@@ -46,6 +46,7 @@ - #include "platform.h" - - #include "libavcodec/avcodec.h" -+#include <libavutil/opt.h> - // AVPacket was declared in avformat.h before April 2009 - #if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(52, 25, 0) - #include "libavformat/avformat.h" diff --git a/libraries/opal/opal-ffmpeg.patch b/libraries/opal/opal-ffmpeg.patch new file mode 100644 index 0000000000..de828b5b2b --- /dev/null +++ b/libraries/opal/opal-ffmpeg.patch @@ -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 + /** diff --git a/libraries/opal/opal.SlackBuild b/libraries/opal/opal.SlackBuild index 1c127a87ae..ab4de8a733 100644 --- a/libraries/opal/opal.SlackBuild +++ b/libraries/opal/opal.SlackBuild @@ -25,7 +25,7 @@ PRGNAM=opal VERSION=${VERSION:-3.10.10} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -81,8 +81,7 @@ 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 {} \; -# Thanks to ArchLinux for this patch, rewritten for this version -patch -p1 < $CWD/opal-ffmpeg-gcc.patch +patch -p1 < $CWD/opal-ffmpeg.patch CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ |