Fix build after ffmpeg 1.1 update, since brad doesnt seem to care..
Adapted from https://projects.archlinux.org/svntogit/packages.git/commit/?h=packages/opal&id=278c8f93262ee8372b05c650a2e6456ad2d04950
This commit is contained in:
parent
d05c83cbea
commit
acf55111de
103
net/opal/patches/patch-plugins_video_H_263-1998_h263-1998_cxx
Normal file
103
net/opal/patches/patch-plugins_video_H_263-1998_h263-1998_cxx
Normal file
@ -0,0 +1,103 @@
|
||||
$OpenBSD: patch-plugins_video_H_263-1998_h263-1998_cxx,v 1.3 2013/03/19 22:06:44 landry Exp $
|
||||
fix with ffmpeg 1.1
|
||||
https://projects.archlinux.org/svntogit/packages.git/commit/?h=packages/opal&id=278c8f93262ee8372b05c650a2e6456ad2d04950
|
||||
--- plugins/video/H.263-1998/h263-1998.cxx.orig Wed Feb 20 03:18:03 2013
|
||||
+++ plugins/video/H.263-1998/h263-1998.cxx Tue Mar 19 22:52:56 2013
|
||||
@@ -48,6 +48,7 @@
|
||||
#endif
|
||||
|
||||
#include "h263-1998.h"
|
||||
+#include <libavutil/opt.h>
|
||||
#include <limits>
|
||||
#include <iomanip>
|
||||
#include <stdio.h>
|
||||
@@ -317,9 +318,9 @@ void H263_Base_EncoderContext::SetOption(const char *
|
||||
// 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 @@ void H263_Base_EncoderContext::SetOption(const char *
|
||||
// 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 @@ void H263_Base_EncoderContext::SetOption(const char *
|
||||
// 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 @@ void H263_Base_EncoderContext::SetOption(const char *
|
||||
// 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 @@ bool H263_Base_EncoderContext::OpenCodec()
|
||||
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 @@ bool H263_Base_EncoderContext::EncodeFrames(const BYTE
|
||||
|
||||
// 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 @@ bool H263_RFC2190_EncoderContext::Init()
|
||||
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;
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
$OpenBSD: patch-plugins_video_H_264_gpl_h264_helper_cxx,v 1.1 2013/03/19 22:06:44 landry Exp $
|
||||
fix with ffmpeg 1.1
|
||||
https://projects.archlinux.org/svntogit/packages.git/commit/?h=packages/opal&id=278c8f93262ee8372b05c650a2e6456ad2d04950
|
||||
--- plugins/video/H.264/gpl/h264_helper.cxx.orig Wed Feb 20 03:18:02 2013
|
||||
+++ plugins/video/H.264/gpl/h264_helper.cxx Tue Mar 19 22:52:56 2013
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <fstream>
|
||||
#include <stdlib.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
@ -1,25 +1,22 @@
|
||||
$OpenBSD: patch-plugins_video_H_264_h264-x264_cxx,v 1.4 2013/03/12 05:19:57 brad Exp $
|
||||
$OpenBSD: patch-plugins_video_H_264_h264-x264_cxx,v 1.5 2013/03/19 22:06:44 landry Exp $
|
||||
|
||||
LOCALBASE/include/libavutil/common.h:170: error: 'UINT64_C' was not declared in this scope,
|
||||
so move headers so that __STDC_CONSTANT_MACROS is defined at the right time.
|
||||
|
||||
--- plugins/video/H.264/h264-x264.cxx.orig Tue Feb 19 21:18:02 2013
|
||||
+++ plugins/video/H.264/h264-x264.cxx Mon Mar 11 19:52:33 2013
|
||||
@@ -36,14 +36,14 @@
|
||||
* $Date: 2013/03/12 05:19:57 $
|
||||
*/
|
||||
--- plugins/video/H.264/h264-x264.cxx.orig Tue Mar 19 22:15:18 2013
|
||||
+++ plugins/video/H.264/h264-x264.cxx Tue Mar 19 22:52:56 2013
|
||||
@@ -1071,13 +1071,10 @@ class MyDecoder : public PluginCodec<MY_CODEC>
|
||||
return false;
|
||||
|
||||
+#include "../common/ffmpeg.h"
|
||||
+#include "../common/dyna.h"
|
||||
+
|
||||
#ifndef PLUGIN_CODEC_DLL_EXPORTS
|
||||
#include "plugin-config.h"
|
||||
#endif
|
||||
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;
|
||||
|
||||
#include <codec/opalplugin.hpp>
|
||||
-
|
||||
-#include "../common/ffmpeg.h"
|
||||
-#include "../common/dyna.h"
|
||||
|
||||
#include "shared/h264frame.h"
|
||||
#include "shared/x264wrap.h"
|
||||
|
@ -0,0 +1,13 @@
|
||||
$OpenBSD: patch-plugins_video_H_264_shared_x264wrap_cxx,v 1.1 2013/03/19 22:06:44 landry Exp $
|
||||
fix with ffmpeg 1.1
|
||||
https://projects.archlinux.org/svntogit/packages.git/commit/?h=packages/opal&id=278c8f93262ee8372b05c650a2e6456ad2d04950
|
||||
--- plugins/video/H.264/shared/x264wrap.cxx.orig Wed Feb 20 03:18:02 2013
|
||||
+++ plugins/video/H.264/shared/x264wrap.cxx Tue Mar 19 22:52:56 2013
|
||||
@@ -33,6 +33,7 @@
|
||||
|
||||
#include <codec/opalplugin.hpp>
|
||||
#include <stdio.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
55
net/opal/patches/patch-plugins_video_MPEG4-ffmpeg_mpeg4_cxx
Normal file
55
net/opal/patches/patch-plugins_video_MPEG4-ffmpeg_mpeg4_cxx
Normal file
@ -0,0 +1,55 @@
|
||||
$OpenBSD: patch-plugins_video_MPEG4-ffmpeg_mpeg4_cxx,v 1.1 2013/03/19 22:06:44 landry Exp $
|
||||
fix with ffmpeg 1.1
|
||||
https://projects.archlinux.org/svntogit/packages.git/commit/?h=packages/opal&id=278c8f93262ee8372b05c650a2e6456ad2d04950
|
||||
--- plugins/video/MPEG4-ffmpeg/mpeg4.cxx.orig Wed Feb 20 03:18:07 2013
|
||||
+++ plugins/video/MPEG4-ffmpeg/mpeg4.cxx Tue Mar 19 22:57:12 2013
|
||||
@@ -100,9 +100,9 @@ extern "C" {
|
||||
#include <libavutil/intreadwrite.h>
|
||||
#include <libavutil/bswap.h>
|
||||
#include <libavcodec/mpegvideo.h>
|
||||
-
|
||||
#else /* LIBAVCODEC_HAVE_SOURCE_DIR */
|
||||
#include "../common/ffmpeg.h"
|
||||
+#include <libavutil/opt.h>
|
||||
#endif /* LIBAVCODEC_HAVE_SOURCE_DIR */
|
||||
}
|
||||
|
||||
@@ -589,17 +589,17 @@ void MPEG4EncoderContext::SetStaticEncodingParams(){
|
||||
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 @@ int MPEG4EncoderContext::EncodeFrames(const BYTE * src
|
||||
// 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::SetFrameHeight(int height) {
|
||||
|
||||
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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user