diff options
author | prspkt <prspkt@protonmail.com> | 2019-05-07 17:10:34 +0300 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2019-05-27 18:45:54 +0000 |
commit | 5d6386a7b991f17b53f53fd7454ab6c012c6a25c (patch) | |
tree | 20adc93a5290532839ce1543c954d0059e205e4e /community/gst-libav | |
parent | 497a285ee1242b9bb7295c4bd420d2e482ef3f62 (diff) | |
download | aports-5d6386a7b991f17b53f53fd7454ab6c012c6a25c.tar.bz2 aports-5d6386a7b991f17b53f53fd7454ab6c012c6a25c.tar.xz |
community/gst-libav: upgrade to 1.16.0
Diffstat (limited to 'community/gst-libav')
-rw-r--r-- | community/gst-libav/APKBUILD | 31 | ||||
-rw-r--r-- | community/gst-libav/ffmpeg4.patch | 661 |
2 files changed, 13 insertions, 679 deletions
diff --git a/community/gst-libav/APKBUILD b/community/gst-libav/APKBUILD index e4c9856663..0b0fd33a33 100644 --- a/community/gst-libav/APKBUILD +++ b/community/gst-libav/APKBUILD @@ -1,36 +1,32 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=gst-libav -pkgver=1.14.4 +pkgver=1.16.0 pkgrel=0 -pkgdesc="Gstreamer libav Plugin" +pkgdesc="GStreamer streaming media framework libav plugin" url="https://gstreamer.freedesktop.org" arch="all" license="GPL-2.0-or-later LGPL-2.0-or-later" -makedepends="coreutils ffmpeg-dev>=2.7.1-r1 gstreamer-dev gst-plugins-base-dev +makedepends="coreutils ffmpeg-dev gst-plugins-base-dev gstreamer-dev meson orc-dev" -source="https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-$pkgver.tar.xz - ffmpeg4.patch" +source="https://gstreamer.freedesktop.org/src/gst-libav/$pkgname-$pkgver.tar.xz" replaces="gst-libav1" -builddir="$srcdir"/gst-libav-$pkgver build() { - cd "$builddir" export CFLAGS="$CFLAGS -fno-strict-aliasing -D_XOPEN_SOURCE" - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ + meson \ --prefix=/usr \ --sysconfdir=/etc \ + --mandir=/usr/share/man \ --localstatedir=/var \ - --enable-orc \ - --disable-fatal-warnings \ - --with-system-libav - make + --buildtype=release \ + -Dpackage-origin="https://alpinelinux.org" \ + -Dpackage-name="GStreamer libav plugin (Alpine Linux)" \ + . output + ninja -C output } package() { - cd "$builddir" - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" ninja -C output install } doc() { @@ -38,5 +34,4 @@ doc() { replaces="${pkgname}1-doc" } -sha512sums="4a0e9a91c23cba82e6a6b8eb65ff42b9d80389dd232b08c22b3431d3942fb93a6a7e64be97083d11cbceb2abe5d45dc5b37d230f7552e1a7fb193610d0530717 gst-libav-1.14.4.tar.xz -eeb5929e7a750b104641081413498552ab9656968ae7dbc29dc33ecc3c965188cc3605949ef37ea93b0621075dcd55050826dc9bbf950bc2a8234f449050daec ffmpeg4.patch" +sha512sums="a28318697cfea636841eee262c5d1ed38def1914bb9d78e20f008f9906e04a6dea6a6e926036ca7ad30852922e97215da0a4eaee6fc42002eb658efa76c3a0aa gst-libav-1.16.0.tar.xz" diff --git a/community/gst-libav/ffmpeg4.patch b/community/gst-libav/ffmpeg4.patch deleted file mode 100644 index 6cf496baa7..0000000000 --- a/community/gst-libav/ffmpeg4.patch +++ /dev/null @@ -1,661 +0,0 @@ -source: https://gitlab.collabora.com/nicolas/gst-ffmpeg/commit/b529e05a6ad5a8226d2fcbdcc2cde1be09e5ecba - -From b529e05a6ad5a8226d2fcbdcc2cde1be09e5ecba Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne <nicolas.dufresne@collabora.com> -Date: Fri, 27 Apr 2018 16:06:28 -0400 -Subject: [PATCH] WIP: Port to FFMPEG 4.X - ---- - ext/libav/gstav.c | 4 ++-- - ext/libav/gstavauddec.c | 20 ++++++++++---------- - ext/libav/gstavaudenc.c | 7 +++---- - ext/libav/gstavcfg.c | 59 ++++++++++++++++++++++++++++++++++++++--------------------- - ext/libav/gstavcodecmap.c | 29 +++++++++++++++-------------- - ext/libav/gstavcodecmap.h | 2 +- - ext/libav/gstavscale.c | 4 ++-- - ext/libav/gstavviddec.c | 33 +++++++++++++++------------------ - ext/libav/gstavvidenc.c | 40 ++++++++++++++++++++++------------------ - 9 files changed, 108 insertions(+), 90 deletions(-) - -diff --git a/ext/libav/gstav.c b/ext/libav/gstav.c -index 0b9da42..10d8423 100644 ---- a/ext/libav/gstav.c -+++ b/ext/libav/gstav.c -@@ -30,7 +30,7 @@ - - #include <libavcodec/avcodec.h> - #include <libavformat/avformat.h> --#include <libavfilter/avfiltergraph.h> -+//#include <libavfilter/avfiltergraph.h> - - #include "gstav.h" - #include "gstavutils.h" -@@ -158,7 +158,7 @@ plugin_init (GstPlugin * plugin) - gst_ffmpeg_init_pix_fmt_info (); - - av_register_all (); -- avfilter_register_all (); -+ //avfilter_register_all (); - - gst_ffmpegaudenc_register (plugin); - gst_ffmpegvidenc_register (plugin); -diff --git a/ext/libav/gstavauddec.c b/ext/libav/gstavauddec.c -index 9aa45e3..fd25efd 100644 ---- a/ext/libav/gstavauddec.c -+++ b/ext/libav/gstavauddec.c -@@ -283,7 +283,7 @@ gst_ffmpegauddec_propose_allocation (GstAudioDecoder * decoder, - gst_allocation_params_init (¶ms); - params.flags = GST_MEMORY_FLAG_ZERO_PADDED; - params.align = 15; -- params.padding = FF_INPUT_BUFFER_PADDING_SIZE; -+ params.padding = AV_INPUT_BUFFER_PADDING_SIZE; - /* we would like to have some padding so that we don't have to - * memcpy. We don't suggest an allocator. */ - gst_query_add_allocation_param (query, NULL, ¶ms); -@@ -665,7 +665,7 @@ gst_ffmpegauddec_drain (GstFFMpegAudDec * ffmpegdec) - - oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); - -- if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) { -+ if (oclass->in_plugin->capabilities & AV_CODEC_CAP_DELAY) { - gint have_data, len; - - GST_LOG_OBJECT (ffmpegdec, -@@ -744,10 +744,10 @@ gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf) - bsize = map.size; - - if (bsize > 0 && (!GST_MEMORY_IS_ZERO_PADDED (map.memory) -- || (map.maxsize - map.size) < FF_INPUT_BUFFER_PADDING_SIZE)) { -+ || (map.maxsize - map.size) < AV_INPUT_BUFFER_PADDING_SIZE)) { - /* add padding */ -- if (ffmpegdec->padded_size < bsize + FF_INPUT_BUFFER_PADDING_SIZE) { -- ffmpegdec->padded_size = bsize + FF_INPUT_BUFFER_PADDING_SIZE; -+ if (ffmpegdec->padded_size < bsize + AV_INPUT_BUFFER_PADDING_SIZE) { -+ ffmpegdec->padded_size = bsize + AV_INPUT_BUFFER_PADDING_SIZE; - ffmpegdec->padded = g_realloc (ffmpegdec->padded, ffmpegdec->padded_size); - GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d", - ffmpegdec->padded_size); -@@ -755,7 +755,7 @@ gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf) - GST_CAT_TRACE_OBJECT (CAT_PERFORMANCE, ffmpegdec, - "Copy input to add padding"); - memcpy (ffmpegdec->padded, bdata, bsize); -- memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE); -+ memset (ffmpegdec->padded + bsize, 0, AV_INPUT_BUFFER_PADDING_SIZE); - - bdata = ffmpegdec->padded; - do_padding = TRUE; -@@ -764,7 +764,7 @@ gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf) - } - - do { -- guint8 tmp_padding[FF_INPUT_BUFFER_PADDING_SIZE]; -+ guint8 tmp_padding[AV_INPUT_BUFFER_PADDING_SIZE]; - - data = bdata; - size = bsize; -@@ -773,15 +773,15 @@ gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf) - /* add temporary padding */ - GST_CAT_TRACE_OBJECT (CAT_PERFORMANCE, ffmpegdec, - "Add temporary input padding"); -- memcpy (tmp_padding, data + size, FF_INPUT_BUFFER_PADDING_SIZE); -- memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); -+ memcpy (tmp_padding, data + size, AV_INPUT_BUFFER_PADDING_SIZE); -+ memset (data + size, 0, AV_INPUT_BUFFER_PADDING_SIZE); - } - - /* decode a frame of audio now */ - len = gst_ffmpegauddec_frame (ffmpegdec, data, size, &have_data, &ret); - - if (do_padding) { -- memcpy (data + size, tmp_padding, FF_INPUT_BUFFER_PADDING_SIZE); -+ memcpy (data + size, tmp_padding, AV_INPUT_BUFFER_PADDING_SIZE); - } - - if (ret != GST_FLOW_OK) { -diff --git a/ext/libav/gstavaudenc.c b/ext/libav/gstavaudenc.c -index 6ffbc3e..2a82273 100644 ---- a/ext/libav/gstavaudenc.c -+++ b/ext/libav/gstavaudenc.c -@@ -283,7 +283,6 @@ gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info) - } - - /* some other defaults */ -- ffmpegaudenc->context->rc_strategy = 2; - ffmpegaudenc->context->b_frame_strategy = 0; - ffmpegaudenc->context->coder_type = 0; - ffmpegaudenc->context->context_model = 0; -@@ -330,7 +329,7 @@ gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info) - oclass->in_plugin) < 0) - GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults"); - -- if ((oclass->in_plugin->capabilities & CODEC_CAP_EXPERIMENTAL) && -+ if ((oclass->in_plugin->capabilities & AV_CODEC_CAP_EXPERIMENTAL) && - ffmpegaudenc->compliance != GST_FFMPEG_EXPERIMENTAL) { - GST_ELEMENT_ERROR (ffmpegaudenc, LIBRARY, SETTINGS, - ("Codec is experimental, but settings don't allow encoders to " -@@ -602,7 +601,7 @@ gst_ffmpegaudenc_encode_audio (GstFFMpegAudEnc * ffmpegaudenc, - pkt->size, 0, pkt->size, pkt, gst_ffmpegaudenc_free_avpacket); - - codec = ffmpegaudenc->context->codec; -- if ((codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) || !buffer) { -+ if ((codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE) || !buffer) { - /* FIXME: Not really correct, as -1 means "all the samples we got - given so far", which may not be true depending on the codec, - but we have no way to know AFAICT */ -@@ -626,7 +625,7 @@ gst_ffmpegaudenc_drain (GstFFMpegAudEnc * ffmpegaudenc) - - oclass = (GstFFMpegAudEncClass *) (G_OBJECT_GET_CLASS (ffmpegaudenc)); - -- if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) { -+ if (oclass->in_plugin->capabilities & AV_CODEC_CAP_DELAY) { - gint have_data, try = 0; - - GST_LOG_OBJECT (ffmpegaudenc, -diff --git a/ext/libav/gstavcfg.c b/ext/libav/gstavcfg.c -index a1863fd..408e08e 100644 ---- a/ext/libav/gstavcfg.c -+++ b/ext/libav/gstavcfg.c -@@ -42,9 +42,9 @@ gst_ffmpeg_pass_get_type (void) - if (!ffmpeg_pass_type) { - static const GEnumValue ffmpeg_passes[] = { - {0, "Constant Bitrate Encoding", "cbr"}, -- {CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"}, -- {CODEC_FLAG_PASS1, "VBR Encoding - Pass 1", "pass1"}, -- {CODEC_FLAG_PASS2, "VBR Encoding - Pass 2", "pass2"}, -+ {AV_CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"}, -+ {AV_CODEC_FLAG_PASS1, "VBR Encoding - Pass 1", "pass1"}, -+ {AV_CODEC_FLAG_PASS2, "VBR Encoding - Pass 2", "pass2"}, - {0, NULL, NULL}, - }; - -@@ -66,7 +66,7 @@ gst_ffmpeg_lim_pass_get_type (void) - if (!ffmpeg_lim_pass_type) { - static const GEnumValue ffmpeg_lim_passes[] = { - {0, "Constant Bitrate Encoding", "cbr"}, -- {CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"}, -+ {AV_CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"}, - {0, NULL, NULL}, - }; - -@@ -121,9 +121,9 @@ gst_ffmpeg_mb_cmp_get_type (void) - {FF_CMP_VSSE, "VSSE", "vsse"}, - #if 0 - /* economize a bit for now */ -- {FF_CMP_NSSE, "NSSE", "nsse"}, -- {FF_CMP_W53, "W53", "w53"}, -- {FF_CMP_W97, "W97", "w97"}, -+ {AV_CMP_NSSE, "NSSE", "nsse"}, -+ {AV_CMP_W53, "W53", "w53"}, -+ {AV_CMP_W97, "W97", "w97"}, - #endif - {0, NULL, NULL}, - }; -@@ -260,21 +260,22 @@ gst_ffmpeg_flags_get_type (void) - /* FIXME: This needs some serious resyncing with avcodec.h */ - if (!ffmpeg_flags_type) { - static const GFlagsValue ffmpeg_flags[] = { -- {CODEC_FLAG_QSCALE, "Use fixed qscale", "qscale"}, -- {CODEC_FLAG_4MV, "Allow 4 MV per MB", "4mv"}, -- {CODEC_FLAG_QPEL, "Quartel Pel Motion Compensation", "qpel"}, -- {CODEC_FLAG_GMC, "GMC", "gmc"}, -- {CODEC_FLAG_MV0, "Always try a MB with MV (0,0)", "mv0"}, -- {CODEC_FLAG_LOOP_FILTER, "Loop filter", "loop-filter"}, -- {CODEC_FLAG_GRAY, "Only decode/encode grayscale", "gray"}, -- {CODEC_FLAG_NORMALIZE_AQP, -- "Normalize Adaptive Quantization (masking, etc)", "aqp"}, -- {CODEC_FLAG_GLOBAL_HEADER, -+ {AV_CODEC_FLAG_QSCALE, "Use fixed qscale", "qscale"}, -+ {AV_CODEC_FLAG_4MV, "Allow 4 MV per MB", "4mv"}, -+ {AV_CODEC_FLAG_QPEL, "Quartel Pel Motion Compensation", "qpel"}, -+ //{AV_CODEC_FLAG_GMC, "GMC", "gmc"}, -+ //{AV_CODEC_FLAG_MV0, "Always try a MB with MV (0,0)", "mv0"}, -+ {AV_CODEC_FLAG_LOOP_FILTER, "Loop filter", "loop-filter"}, -+ {AV_CODEC_FLAG_GRAY, "Only decode/encode grayscale", "gray"}, -+ //{AV_CODEC_FLAG_NORMALIZE_AQP, -+ // "Normalize Adaptive Quantization (masking, etc)", "aqp"}, -+ {AV_CODEC_FLAG_GLOBAL_HEADER, - "Global headers in extradata instead of every keyframe", - "global-headers"}, -- {CODEC_FLAG_AC_PRED, "H263 Advanced Intra Coding / MPEG4 AC prediction", -+ {AV_CODEC_FLAG_AC_PRED, -+ "H263 Advanced Intra Coding / MPEG4 AC prediction", - "aic"}, -- {CODEC_FLAG_CLOSED_GOP, "Closed GOP", "closedgop"}, -+ {AV_CODEC_FLAG_CLOSED_GOP, "Closed GOP", "closedgop"}, - {0, NULL, NULL}, - }; - -@@ -487,31 +488,39 @@ gst_ffmpeg_cfg_init (void) - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.qblur, FALSE, mpeg, NULL); - -+#if 0 - pspec = g_param_spec_float ("rc-qsquish", "Ratecontrol Limiting Method", - "0 means limit by clipping, otherwise use nice continuous function", - 0, 99.0f, 1.0f, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.rc_qsquish, FALSE, mpeg, NULL); -+#endif - -+#if 0 - pspec = g_param_spec_float ("rc-qmod-amp", "Ratecontrol Mod", - "Ratecontrol Mod", 0, 99.0f, 0, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.rc_qmod_amp, FALSE, mpeg, NULL); -+#endif - -+#if 0 - pspec = g_param_spec_int ("rc-qmod-freq", "Ratecontrol Freq", - "Ratecontrol Freq", 0, 0, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.rc_qmod_freq, FALSE, mpeg, NULL); -+#endif - - pspec = g_param_spec_int ("rc-buffer-size", "Ratecontrol Buffer Size", - "Decoder bitstream buffer size", 0, G_MAXINT, 0, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.rc_buffer_size, FALSE, mpeg, NULL); - -+#if 0 - pspec = - g_param_spec_float ("rc-buffer-aggressivity", - "Ratecontrol Buffer Aggressivity", "Ratecontrol Buffer Aggressivity", 0, - 99.0f, 1.0f, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.rc_buffer_aggressivity, FALSE, mpeg, - NULL); -+#endif - - #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT (57, 3, 0) - pspec = g_param_spec_int ("rc-max-rate", "Ratecontrol Maximum Bitrate", -@@ -529,17 +538,21 @@ gst_ffmpeg_cfg_init (void) - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.rc_min_rate, FALSE, mpeg, NULL); - -+#if 0 - pspec = - g_param_spec_float ("rc-initial-cplx", - "Initial Complexity for Pass 1 Ratecontrol", - "Initial Complexity for Pass 1 Ratecontrol", 0, 9999999.0f, 0, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.rc_initial_cplx, FALSE, mpeg, NULL); -+#endif - -+#if 0 - pspec = g_param_spec_string ("rc-eq", "Ratecontrol Equation", - "Ratecontrol Equation", "tex^qComp", - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.rc_eq, FALSE, mpeg, NULL); -+#endif - - pspec = g_param_spec_float ("b-quant-factor", "B-Quantizer Factor", - "Factor in B-Frame Quantizer Computation", -@@ -630,19 +643,23 @@ gst_ffmpeg_cfg_init (void) - 0, 16000, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.me_range, FALSE, mpeg, NULL); - -+#if 0 - pspec = g_param_spec_int ("intra-quant-bias", - "Intra Quantizer Bias", - "Intra Quantizer Bias", -- -1000000, 1000000, FF_DEFAULT_QUANT_BIAS, -+ -1000000, 1000000, AV_DEFAULT_QUANT_BIAS, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.intra_quant_bias, FALSE, mpeg, NULL); -+#endif - -+#if 0 - pspec = g_param_spec_int ("inter-quant-bias", - "Inter Quantizer Bias", - "Inter Quantizer Bias", -- -1000000, 1000000, FF_DEFAULT_QUANT_BIAS, -+ -1000000, 1000000, AV_DEFAULT_QUANT_BIAS, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - gst_ffmpeg_add_pspec (pspec, config.inter_quant_bias, FALSE, mpeg, NULL); -+#endif - - pspec = g_param_spec_int ("noise-reduction", - "Noise Reduction", -diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c -index 9a72033..6b66bb9 100644 ---- a/ext/libav/gstavcodecmap.c -+++ b/ext/libav/gstavcodecmap.c -@@ -825,10 +825,10 @@ gst_ffmpeg_codecid_to_caps (enum AVCodecID codec_id, - if (encode && context) { - - gst_caps_set_simple (caps, -- "annex-f", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_4MV, -- "annex-j", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_LOOP_FILTER, -- "annex-i", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_AC_PRED, -- "annex-t", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_AC_PRED, -+ "annex-f", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_4MV, -+ "annex-j", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_LOOP_FILTER, -+ "annex-i", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_AC_PRED, -+ "annex-t", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_AC_PRED, - NULL); - } - break; -@@ -3181,7 +3181,7 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id, - * as is, as that is what most players do. */ - context->extradata = - av_mallocz (GST_ROUND_UP_16 (size * 2 + -- FF_INPUT_BUFFER_PADDING_SIZE)); -+ AV_INPUT_BUFFER_PADDING_SIZE)); - copy_config (context->extradata, data, size, &extrasize); - GST_DEBUG ("escaped size: %d", extrasize); - context->extradata_size = extrasize; -@@ -3192,7 +3192,7 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id, - GST_DEBUG ("copy codec_data"); - context->extradata = - av_mallocz (GST_ROUND_UP_16 (map.size + -- FF_INPUT_BUFFER_PADDING_SIZE)); -+ AV_INPUT_BUFFER_PADDING_SIZE)); - memcpy (context->extradata, map.data, map.size); - context->extradata_size = map.size; - } -@@ -3216,7 +3216,7 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id, - { - const gchar *mime = gst_structure_get_name (str); - -- context->flags |= CODEC_FLAG_4MV; -+ context->flags |= AV_CODEC_FLAG_4MV; - - if (!strcmp (mime, "video/x-divx")) - context->codec_tag = GST_MAKE_FOURCC ('D', 'I', 'V', 'X'); -@@ -3228,7 +3228,8 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id, - profile = gst_structure_get_string (str, "profile"); - if (profile) { - if (g_strcmp0 (profile, "advanced-simple") == 0) -- context->flags |= CODEC_FLAG_GMC | CODEC_FLAG_QPEL; -+ context->flags |= AV_CODEC_FLAG_QPEL; -+ /* FIXME use the "gmc" private option of the libxvid encoder */ - } - } - break; -@@ -3334,18 +3335,18 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id, - gboolean val; - - if (!gst_structure_get_boolean (str, "annex-f", &val) || val) -- context->flags |= CODEC_FLAG_4MV; -+ context->flags |= AV_CODEC_FLAG_4MV; - else -- context->flags &= ~CODEC_FLAG_4MV; -+ context->flags &= ~AV_CODEC_FLAG_4MV; - if ((!gst_structure_get_boolean (str, "annex-i", &val) || val) && - (!gst_structure_get_boolean (str, "annex-t", &val) || val)) -- context->flags |= CODEC_FLAG_AC_PRED; -+ context->flags |= AV_CODEC_FLAG_AC_PRED; - else -- context->flags &= ~CODEC_FLAG_AC_PRED; -+ context->flags &= ~AV_CODEC_FLAG_AC_PRED; - if (!gst_structure_get_boolean (str, "annex-j", &val) || val) -- context->flags |= CODEC_FLAG_LOOP_FILTER; -+ context->flags |= AV_CODEC_FLAG_LOOP_FILTER; - else -- context->flags &= ~CODEC_FLAG_LOOP_FILTER; -+ context->flags &= ~AV_CODEC_FLAG_LOOP_FILTER; - break; - } - case AV_CODEC_ID_ADPCM_G726: -diff --git a/ext/libav/gstavcodecmap.h b/ext/libav/gstavcodecmap.h -index 9575e77..14cdfce 100644 ---- a/ext/libav/gstavcodecmap.h -+++ b/ext/libav/gstavcodecmap.h -@@ -155,7 +155,7 @@ gst_ffmpeg_formatid_to_caps (const gchar *format_name); - - /* - * _formatid_get_codecids () can be used to get the codecIDs -- * (CODEC_ID_NONE-terminated list) that fit that specific -+ * (AV_CODEC_ID_NONE-terminated list) that fit that specific - * output format. - */ - -diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c -index f9c6096..0ed4b23 100644 ---- a/ext/libav/gstavviddec.c -+++ b/ext/libav/gstavviddec.c -@@ -237,7 +237,7 @@ gst_ffmpegviddec_class_init (GstFFMpegVidDecClass * klass) - DEFAULT_OUTPUT_CORRUPT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - - caps = klass->in_plugin->capabilities; -- if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) { -+ if (caps & (AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS)) { - g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_MAX_THREADS, - g_param_spec_int ("max-threads", "Maximum decode threads", - "Maximum number of worker threads to spawn. (0 = auto)", -@@ -365,7 +365,7 @@ gst_ffmpegviddec_open (GstFFMpegVidDec * ffmpegdec) - oclass->in_plugin->name, oclass->in_plugin->id); - - gst_ffmpegviddec_context_set_flags (ffmpegdec->context, -- CODEC_FLAG_OUTPUT_CORRUPT, ffmpegdec->output_corrupt); -+ AV_CODEC_FLAG_OUTPUT_CORRUPT, ffmpegdec->output_corrupt); - - return TRUE; - -@@ -495,7 +495,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder, - gboolean is_live; - - if (ffmpegdec->max_threads == 0) { -- if (!(oclass->in_plugin->capabilities & CODEC_CAP_AUTO_THREADS)) -+ if (!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) - ffmpegdec->context->thread_count = gst_ffmpeg_auto_max_threads (); - else - ffmpegdec->context->thread_count = 0; -@@ -624,10 +624,7 @@ gst_ffmpegvideodec_prepare_dr_pool (GstFFMpegVidDec * ffmpegdec, - avcodec_align_dimensions2 (ffmpegdec->context, &width, &height, - linesize_align); - -- if (ffmpegdec->context->flags & CODEC_FLAG_EMU_EDGE) -- edge = 0; -- else -- edge = avcodec_get_edge_width (); -+ edge = 0; - - /* increase the size for the padding */ - width += edge << 1; -@@ -732,7 +729,7 @@ gst_ffmpegviddec_can_direct_render (GstFFMpegVidDec * ffmpegdec) - return FALSE; - - oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); -- return ((oclass->in_plugin->capabilities & CODEC_CAP_DR1) == CODEC_CAP_DR1); -+ return ((oclass->in_plugin->capabilities & AV_CODEC_CAP_DR1) == AV_CODEC_CAP_DR1); - } - - /* called when ffmpeg wants us to allocate a buffer to write the decoded frame -@@ -1769,7 +1766,7 @@ gst_ffmpegviddec_drain (GstVideoDecoder * decoder) - - oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec)); - -- if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) { -+ if (oclass->in_plugin->capabilities & AV_CODEC_CAP_DELAY) { - gint have_data, len; - GstFlowReturn ret; - -@@ -1815,10 +1812,10 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder, - bsize = minfo.size; - - if (bsize > 0 && (!GST_MEMORY_IS_ZERO_PADDED (minfo.memory) -- || (minfo.maxsize - minfo.size) < FF_INPUT_BUFFER_PADDING_SIZE)) { -+ || (minfo.maxsize - minfo.size) < AV_INPUT_BUFFER_PADDING_SIZE)) { - /* add padding */ -- if (ffmpegdec->padded_size < bsize + FF_INPUT_BUFFER_PADDING_SIZE) { -- ffmpegdec->padded_size = bsize + FF_INPUT_BUFFER_PADDING_SIZE; -+ if (ffmpegdec->padded_size < bsize + AV_INPUT_BUFFER_PADDING_SIZE) { -+ ffmpegdec->padded_size = bsize + AV_INPUT_BUFFER_PADDING_SIZE; - ffmpegdec->padded = g_realloc (ffmpegdec->padded, ffmpegdec->padded_size); - GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d", - ffmpegdec->padded_size); -@@ -1826,7 +1823,7 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder, - GST_CAT_TRACE_OBJECT (CAT_PERFORMANCE, ffmpegdec, - "Copy input to add padding"); - memcpy (ffmpegdec->padded, bdata, bsize); -- memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE); -+ memset (ffmpegdec->padded + bsize, 0, AV_INPUT_BUFFER_PADDING_SIZE); - - bdata = ffmpegdec->padded; - do_padding = TRUE; -@@ -1835,7 +1832,7 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder, - } - - do { -- guint8 tmp_padding[FF_INPUT_BUFFER_PADDING_SIZE]; -+ guint8 tmp_padding[AV_INPUT_BUFFER_PADDING_SIZE]; - - /* parse, if at all possible */ - data = bdata; -@@ -1845,8 +1842,8 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder, - /* add temporary padding */ - GST_CAT_TRACE_OBJECT (CAT_PERFORMANCE, ffmpegdec, - "Add temporary input padding"); -- memcpy (tmp_padding, data + size, FF_INPUT_BUFFER_PADDING_SIZE); -- memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); -+ memcpy (tmp_padding, data + size, AV_INPUT_BUFFER_PADDING_SIZE); -+ memset (data + size, 0, AV_INPUT_BUFFER_PADDING_SIZE); - } - - /* decode a frame of audio/video now */ -@@ -1862,7 +1859,7 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder, - } - - if (do_padding) { -- memcpy (data + size, tmp_padding, FF_INPUT_BUFFER_PADDING_SIZE); -+ memcpy (data + size, tmp_padding, AV_INPUT_BUFFER_PADDING_SIZE); - } - - if (len == 0 && have_data == 0) { -@@ -2143,7 +2140,7 @@ gst_ffmpegviddec_propose_allocation (GstVideoDecoder * decoder, - gst_allocation_params_init (¶ms); - params.flags = GST_MEMORY_FLAG_ZERO_PADDED; - params.align = DEFAULT_STRIDE_ALIGN; -- params.padding = FF_INPUT_BUFFER_PADDING_SIZE; -+ params.padding = AV_INPUT_BUFFER_PADDING_SIZE; - /* we would like to have some padding so that we don't have to - * memcpy. We don't suggest an allocator. */ - gst_query_add_allocation_param (query, NULL, ¶ms); -diff --git a/ext/libav/gstavvidenc.c b/ext/libav/gstavvidenc.c -index 36143f5..22e5cae 100644 ---- a/ext/libav/gstavvidenc.c -+++ b/ext/libav/gstavvidenc.c -@@ -68,18 +68,19 @@ enum - PROP_CFG_BASE, - }; - -+#if 0 - #define GST_TYPE_ME_METHOD (gst_ffmpegvidenc_me_method_get_type()) - static GType - gst_ffmpegvidenc_me_method_get_type (void) - { - static GType ffmpegenc_me_method_type = 0; - static GEnumValue ffmpegenc_me_methods[] = { -- {ME_ZERO, "None (Very low quality)", "zero"}, -- {ME_FULL, "Full (Slow, unmaintained)", "full"}, -- {ME_LOG, "Logarithmic (Low quality, unmaintained)", "logarithmic"}, -- {ME_PHODS, "phods (Low quality, unmaintained)", "phods"}, -- {ME_EPZS, "EPZS (Best quality, Fast)", "epzs"}, -- {ME_X1, "X1 (Experimental)", "x1"}, -+ {FF_CMP_ZERO, "None (Very low quality)", "zero"}, -+ {FF_CMP_FULL, "Full (Slow, unmaintained)", "full"}, -+ {FF_CMP_LOG, "Logarithmic (Low quality, unmaintained)", "logarithmic"}, -+ {FF_CMP_PHODS, "phods (Low quality, unmaintained)", "phods"}, -+ {FF_CMP_EPZS, "EPZS (Best quality, Fast)", "epzs"}, -+ {FF_CMP_X1, "X1 (Experimental)", "x1"}, - {0, NULL, NULL}, - }; - if (!ffmpegenc_me_method_type) { -@@ -88,6 +89,7 @@ gst_ffmpegvidenc_me_method_get_type (void) - } - return ffmpegenc_me_method_type; - } -+#endif - - /* A number of function prototypes are given so we can refer to them later. */ - static void gst_ffmpegvidenc_class_init (GstFFMpegVidEncClass * klass); -@@ -201,10 +203,12 @@ gst_ffmpegvidenc_class_init (GstFFMpegVidEncClass * klass) - g_param_spec_int ("gop-size", "GOP Size", - "Number of frames within one GOP", 0, G_MAXINT, - DEFAULT_VIDEO_GOP_SIZE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); -+#if 0 - g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_ME_METHOD, - g_param_spec_enum ("me-method", "ME Method", "Motion Estimation Method", -- GST_TYPE_ME_METHOD, ME_EPZS, -+ GST_TYPE_ME_METHOD, FF_CMP_EPZS, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); -+#endif - - g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_BUFSIZE, - g_param_spec_int ("buffer-size", "Buffer Size", -@@ -216,7 +220,7 @@ gst_ffmpegvidenc_class_init (GstFFMpegVidEncClass * klass) - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - - caps = klass->in_plugin->capabilities; -- if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) { -+ if (caps & (AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS)) { - g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_MAX_THREADS, - g_param_spec_int ("max-threads", "Maximum encode threads", - "Maximum number of worker threads to spawn. (0 = auto)", -@@ -259,7 +263,7 @@ gst_ffmpegvidenc_init (GstFFMpegVidEnc * ffmpegenc) - ffmpegenc->file = NULL; - - ffmpegenc->bitrate = DEFAULT_VIDEO_BITRATE; -- ffmpegenc->me_method = ME_EPZS; -+ //ffmpegenc->me_method = FF_CMP_EPZS; - ffmpegenc->buffer_size = 512 * 1024; - ffmpegenc->gop_size = DEFAULT_VIDEO_GOP_SIZE; - ffmpegenc->rtp_payload_size = 0; -@@ -321,12 +325,12 @@ gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder, - ffmpegenc->context->bit_rate = ffmpegenc->bitrate; - ffmpegenc->context->bit_rate_tolerance = ffmpegenc->bitrate; - ffmpegenc->context->gop_size = ffmpegenc->gop_size; -- ffmpegenc->context->me_method = ffmpegenc->me_method; -+ //ffmpegenc->context->me_method = ffmpegenc->me_method; - GST_DEBUG_OBJECT (ffmpegenc, "Setting avcontext to bitrate %d, gop_size %d", - ffmpegenc->bitrate, ffmpegenc->gop_size); - - if (ffmpegenc->max_threads == 0) { -- if (!(oclass->in_plugin->capabilities & CODEC_CAP_AUTO_THREADS)) -+ if (!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) - ffmpegenc->context->thread_count = gst_ffmpeg_auto_max_threads (); - else - ffmpegenc->context->thread_count = 0; -@@ -343,16 +347,16 @@ gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder, - gst_ffmpeg_cfg_fill_context (ffmpegenc, ffmpegenc->context); - - /* then handle some special cases */ -- ffmpegenc->context->lmin = (ffmpegenc->lmin * FF_QP2LAMBDA + 0.5); -- ffmpegenc->context->lmax = (ffmpegenc->lmax * FF_QP2LAMBDA + 0.5); -+ ffmpegenc->context->qmin = (ffmpegenc->lmin * FF_QP2LAMBDA + 0.5); -+ ffmpegenc->context->qmax = (ffmpegenc->lmax * FF_QP2LAMBDA + 0.5); - - if (ffmpegenc->interlaced) { - ffmpegenc->context->flags |= -- CODEC_FLAG_INTERLACED_DCT | CODEC_FLAG_INTERLACED_ME; -+ AV_CODEC_FLAG_INTERLACED_DCT | AV_CODEC_FLAG_INTERLACED_ME; - } - - /* some other defaults */ -- ffmpegenc->context->rc_strategy = 2; -+ //ffmpegenc->context->rc_strategy = 2; - ffmpegenc->context->b_frame_strategy = 0; - ffmpegenc->context->coder_type = 0; - ffmpegenc->context->context_model = 0; -@@ -362,18 +366,18 @@ gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder, - ffmpegenc->context->flags |= ffmpegenc->pass; - switch (ffmpegenc->pass) { - /* some additional action depends on type of pass */ -- case CODEC_FLAG_QSCALE: -+ case AV_CODEC_FLAG_QSCALE: - ffmpegenc->context->global_quality - = ffmpegenc->picture->quality = FF_QP2LAMBDA * ffmpegenc->quantizer; - break; -- case CODEC_FLAG_PASS1: /* need to prepare a stats file */ -+ case AV_CODEC_FLAG_PASS1: /* need to prepare a stats file */ - /* we don't close when changing caps, fingers crossed */ - if (!ffmpegenc->file) - ffmpegenc->file = g_fopen (ffmpegenc->filename, "w"); - if (!ffmpegenc->file) - goto open_file_err; - break; -- case CODEC_FLAG_PASS2: -+ case AV_CODEC_FLAG_PASS2: - { /* need to read the whole stats file ! */ - gsize size; - - - |