diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2013-07-30 08:55:50 +0200 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2013-07-30 08:55:50 +0200 |
commit | cde4a9b46bc4f6542e8b99b2d9f7a9c92e36f854 (patch) | |
tree | bf322a8cb4c031aa0d6fbf3e2b1d419f9ec94a97 | |
parent | 506fe9d1810310128adfeb65a9cffd014450ac11 (diff) |
Imported Upstream version 1.1.3upstream/1.1.3
-rw-r--r-- | ChangeLog | 59 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rwxr-xr-x | configure | 45 | ||||
-rw-r--r-- | configure.ac | 15 | ||||
-rwxr-xr-x | depcomp | 3 | ||||
-rw-r--r-- | ext/libav/gstavcodecmap.c | 2 | ||||
-rw-r--r-- | ext/libav/gstavdemux.c | 45 | ||||
-rw-r--r-- | ext/libav/gstavviddec.c | 7 | ||||
-rw-r--r-- | gst-libav.doap | 10 | ||||
-rw-r--r-- | gst-libav.spec | 2 |
10 files changed, 144 insertions, 46 deletions
@@ -1,9 +1,64 @@ +=== release 1.1.3 === + +2013-07-29 Sebastian Dröge <sebastian.droege@collabora.co.uk> + + * configure.ac: + releasing 1.1.3 + +2013-07-29 12:19:22 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * ext/libav/gstavdemux.c: + avdemux: Implement SEGMENT query + +2013-07-24 12:22:04 +0200 Edward Hervey <edward@collabora.com> + + * ext/libav/gstavcodecmap.c: + avcodecmap: Demote WARNING to DEBUG + We cover all the needed formats already. The warning was just getting + in the way. + +2013-02-20 20:50:15 -0500 Olivier Crête <olivier.crete@collabora.com> + + * ext/libav/gstavviddec.c: + avviddec: Initialise opaque from the start + https://bugzilla.gnome.org/show_bug.cgi?id=693581 + +2013-07-23 09:59:43 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * ext/libav/gstavdemux.c: + avdemux: Add support for group-id in the stream-start event + +2013-07-19 09:45:24 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * configure.ac: + configure: Remove workaround from last decade and make SIMD optimizations work on OSX + https://bugzilla.gnome.org/show_bug.cgi?id=704442 + +2013-07-18 16:11:16 +0200 Arnaud Vrac <avrac@freebox.fr> + + * ext/libav/gstavviddec.c: + avviddec: increase bottom padding for output frames + libav can write slightly after the plane end in some SIMD optimized + functions. The extra padding value needs to be at least 16+stride_align + for each plane, so just increase the bottom padding value for the output + frame. + https://bugzilla.gnome.org/show_bug.cgi?id=694299 + +2013-07-11 16:57:28 +0200 Sebastian Dröge <slomo@circular-chaos.org> + + * configure.ac: + Back to development + === release 1.1.2 === -2013-07-11 Sebastian Dröge <sebastian.droege@collabora.co.uk> +2013-07-11 16:52:48 +0200 Sebastian Dröge <slomo@circular-chaos.org> + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - releasing 1.1.2 + * gst-libav.doap: + Release 1.1.2 2013-07-09 16:19:11 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk> @@ -1,2 +1,2 @@ -This is GStreamer Libav Plugins 1.1.2 +This is GStreamer Libav Plugins 1.1.3 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GStreamer libav 1.1.2. +# Generated by GNU Autoconf 2.69 for GStreamer libav 1.1.3. # # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>. # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GStreamer libav' PACKAGE_TARNAME='gst-libav' -PACKAGE_VERSION='1.1.2' -PACKAGE_STRING='GStreamer libav 1.1.2' +PACKAGE_VERSION='1.1.3' +PACKAGE_STRING='GStreamer libav 1.1.3' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer' PACKAGE_URL='' @@ -1520,7 +1520,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GStreamer libav 1.1.2 to adapt to many kinds of systems. +\`configure' configures GStreamer libav 1.1.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1591,7 +1591,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GStreamer libav 1.1.2:";; + short | recursive ) echo "Configuration of GStreamer libav 1.1.3:";; esac cat <<\_ACEOF @@ -1760,7 +1760,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GStreamer libav configure 1.1.2 +GStreamer libav configure 1.1.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2175,7 +2175,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GStreamer libav $as_me 1.1.2, which was +It was created by GStreamer libav $as_me 1.1.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3153,7 +3153,7 @@ fi # Define the identity of the package. PACKAGE='gst-libav' - VERSION='1.1.2' + VERSION='1.1.3' cat >>confdefs.h <<_ACEOF @@ -3322,9 +3322,9 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; } - PACKAGE_VERSION_MAJOR=$(echo 1.1.2 | cut -d'.' -f1) - PACKAGE_VERSION_MINOR=$(echo 1.1.2 | cut -d'.' -f2) - PACKAGE_VERSION_MICRO=$(echo 1.1.2 | cut -d'.' -f3) + PACKAGE_VERSION_MAJOR=$(echo 1.1.3 | cut -d'.' -f1) + PACKAGE_VERSION_MINOR=$(echo 1.1.3 | cut -d'.' -f2) + PACKAGE_VERSION_MICRO=$(echo 1.1.3 | cut -d'.' -f3) @@ -3335,7 +3335,7 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5 $as_echo_n "checking nano version... " >&6; } - NANO=$(echo 1.1.2 | cut -d'.' -f4) + NANO=$(echo 1.1.3 | cut -d'.' -f4) if test x"$NANO" = x || test "x$NANO" = "x0" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5 @@ -7922,10 +7922,10 @@ fi done - GST_CURRENT=102 + GST_CURRENT=103 GST_REVISION=0 - GST_AGE=102 - GST_LIBVERSION=102:0:102 + GST_AGE=103 + GST_LIBVERSION=103:0:103 @@ -12250,8 +12250,8 @@ CC="$lt_save_CC" -GST_REQ=1.1.2 -GST_PBREQ=1.1.2 +GST_REQ=1.1.3 +GST_PBREQ=1.1.3 ORC_REQ=0.4.16 @@ -17481,13 +17481,6 @@ fi fi case $host_os in - # Unfortunately, in Mac OS 10.5 the current rev of libav builds - # some non-PIC code into the .a file. See - # http://trac.macosforge.org/projects/macports/ticket/13725 for more - # info. - darwin*) - emblibav_configure_args="$emblibav_configure_args --disable-mmx --disable-altivec" - ;; mingw32*) emblibav_configure_args="$emblibav_configure_args --enable-memalign-hack" WIN32_LIBS="-lws2_32" @@ -18235,7 +18228,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GStreamer libav $as_me 1.1.2, which was +This file was extended by GStreamer libav $as_me 1.1.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18301,7 +18294,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GStreamer libav config.status 1.1.2 +GStreamer libav config.status 1.1.3 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index daaef84..02eaefe 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ(2.62) dnl initialize autoconf dnl when going to/from release please set the nano (fourth number) right ! dnl releases only do Wall, cvs and prerelease does Werror too -AC_INIT(GStreamer libav, 1.1.2, +AC_INIT(GStreamer libav, 1.1.3, http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer, gst-libav) @@ -42,11 +42,11 @@ GST_API_VERSION=1.0 AC_SUBST(GST_API_VERSION) AG_GST_LIBTOOL_PREPARE -AS_LIBTOOL(GST, 102, 0, 102) +AS_LIBTOOL(GST, 103, 0, 103) dnl *** required versions of GStreamer stuff *** -GST_REQ=1.1.2 -GST_PBREQ=1.1.2 +GST_REQ=1.1.3 +GST_PBREQ=1.1.3 ORC_REQ=0.4.16 ORC_CHECK([$ORC_REQ]) @@ -361,13 +361,6 @@ else fi case $host_os in - # Unfortunately, in Mac OS 10.5 the current rev of libav builds - # some non-PIC code into the .a file. See - # http://trac.macosforge.org/projects/macports/ticket/13725 for more - # info. - darwin*) - emblibav_configure_args="$emblibav_configure_args --disable-mmx --disable-altivec" - ;; mingw32*) emblibav_configure_args="$emblibav_configure_args --enable-memalign-hack" WIN32_LIBS="-lws2_32" @@ -1,7 +1,7 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2012-10-18.11; # UTC +scriptversion=2013-05-30.07; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. @@ -552,6 +552,7 @@ $ { G p }' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c index 966f544..88d19a0 100644 --- a/ext/libav/gstavcodecmap.c +++ b/ext/libav/gstavcodecmap.c @@ -2453,7 +2453,7 @@ gst_ffmpeg_pixfmt_to_videoformat (enum PixelFormat pixfmt) if (pixtofmttable[i].pixfmt == pixfmt) return pixtofmttable[i].format; - GST_WARNING ("Unknown pixel format %d", pixfmt); + GST_DEBUG ("Unknown pixel format %d", pixfmt); return GST_VIDEO_FORMAT_UNKNOWN; } diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c index 42c0b77..d0df524 100644 --- a/ext/libav/gstavdemux.c +++ b/ext/libav/gstavdemux.c @@ -61,6 +61,9 @@ struct _GstFFMpegDemux /* We need to keep track of our pads, so we do so here. */ GstPad *sinkpad; + gboolean have_group_id; + guint group_id; + AVFormatContext *context; gboolean opened; @@ -264,6 +267,9 @@ gst_ffmpegdemux_init (GstFFMpegDemux * demux) g_rec_mutex_init (&demux->task_lock); gst_task_set_lock (demux->task, &demux->task_lock); + demux->have_group_id = FALSE; + demux->group_id = G_MAXUINT; + demux->opened = FALSE; demux->context = NULL; @@ -809,6 +815,24 @@ gst_ffmpegdemux_src_query (GstPad * pad, GstObject * parent, GstQuery * query) res = TRUE; break; } + case GST_QUERY_SEGMENT:{ + GstFormat format; + gint64 start, stop; + + format = demux->segment.format; + + start = + gst_segment_to_stream_time (&demux->segment, format, + demux->segment.start); + if ((stop = demux->segment.stop) == -1) + stop = demux->segment.duration; + else + stop = gst_segment_to_stream_time (&demux->segment, format, stop); + + gst_query_set_segment (query, demux->segment.rate, format, start, stop); + res = TRUE; + break; + } default: /* FIXME : ADD GST_QUERY_CONVERT */ res = gst_pad_query_default (pad, parent, query); @@ -925,6 +949,7 @@ gst_ffmpegdemux_get_stream (GstFFMpegDemux * demux, AVStream * avstream) const gchar *codec; AVCodecContext *ctx; GstFFStream *stream; + GstEvent *event; gchar *stream_id; ctx = avstream->codec; @@ -1004,7 +1029,23 @@ gst_ffmpegdemux_get_stream (GstFFMpegDemux * demux, AVStream * avstream) stream_id = gst_pad_create_stream_id_printf (pad, GST_ELEMENT_CAST (demux), "%03u", avstream->index); - gst_pad_push_event (pad, gst_event_new_stream_start (stream_id)); + + event = gst_pad_get_sticky_event (demux->sinkpad, GST_EVENT_STREAM_START, 0); + if (event) { + if (gst_event_parse_group_id (event, &demux->group_id)) + demux->have_group_id = TRUE; + else + demux->have_group_id = FALSE; + gst_event_unref (event); + } else if (!demux->have_group_id) { + demux->have_group_id = TRUE; + demux->group_id = gst_util_group_id_next (); + } + event = gst_event_new_stream_start (stream_id); + if (demux->have_group_id) + gst_event_set_group_id (event, demux->group_id); + + gst_pad_push_event (pad, event); g_free (stream_id); GST_INFO_OBJECT (pad, "adding pad with caps %" GST_PTR_FORMAT, caps); @@ -1854,6 +1895,8 @@ gst_ffmpegdemux_change_state (GstElement * element, GstStateChange transition) NULL); g_list_free (demux->cached_events); demux->cached_events = NULL; + demux->have_group_id = FALSE; + demux->group_id = G_MAXUINT; break; default: break; diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c index dc472e4..042c110 100644 --- a/ext/libav/gstavviddec.c +++ b/ext/libav/gstavviddec.c @@ -250,6 +250,7 @@ gst_ffmpegviddec_init (GstFFMpegVidDec * ffmpegdec) /* some ffmpeg data */ ffmpegdec->context = avcodec_alloc_context3 (klass->in_plugin); + ffmpegdec->context->opaque = ffmpegdec; ffmpegdec->picture = avcodec_alloc_frame (); ffmpegdec->opened = FALSE; ffmpegdec->skip_frame = ffmpegdec->lowres = 0; @@ -1057,8 +1058,6 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec, *ret = GST_FLOW_OK; - ffmpegdec->context->opaque = ffmpegdec; - /* in case we skip frames */ ffmpegdec->picture->pict_type = -1; @@ -1516,6 +1515,10 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query) align.padding_left = edge; align.padding_right = width - GST_VIDEO_INFO_WIDTH (&state->info) - edge; align.padding_bottom = height - GST_VIDEO_INFO_HEIGHT (&state->info) - edge; + + /* add extra padding to match libav buffer allocation sizes */ + align.padding_bottom++; + for (i = 0; i < GST_VIDEO_MAX_PLANES; i++) align.stride_align[i] = (linesize_align[i] > 0 ? linesize_align[i] - 1 : 0); diff --git a/gst-libav.doap b/gst-libav.doap index e268a36..16e98b1 100644 --- a/gst-libav.doap +++ b/gst-libav.doap @@ -34,6 +34,16 @@ colorspace conversion elements. <release> <Version> + <revision>1.1.3</revision> + <branch>1.1</branch> + <name></name> + <created>2013-07-29</created> + <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.1.3.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.1.2</revision> <branch>1.1</branch> <name></name> diff --git a/gst-libav.spec b/gst-libav.spec index d8b84e0..3672da4 100644 --- a/gst-libav.spec +++ b/gst-libav.spec @@ -4,7 +4,7 @@ %define gst_majorminor 1.0 Name: %{gstreamer}-libav -Version: 1.1.2 +Version: 1.1.3 Release: 1 Summary: GStreamer Streaming-media framework plug-in using libav (FFmpeg). Group: Libraries/Multimedia |