diff --git a/ChangeLog b/ChangeLog index b55b51fb3c..9c8dfe7b1e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2005-06-11 Ronald S. Bultje + + * NEWS: + * RELEASE: + * TODO: + * configure.ac: + Release 0.8.5 "For the better of the world". + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): + Stay backwards compatible a short while longer (SVQ3). + 2005-06-09 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): diff --git a/NEWS b/NEWS index 92f5b6fc90..bc8b01fd5a 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,42 @@ +This is GStreamer FFMpeg 0.8.5 + +Changes since 0.8.4: + New elements: + * scaler + * deinterlacer + * muxers (re-enabled; mpeg/mp4 for now) + + Snapshot update: + * to 21/4 2005 + * ALAC and shorten decoder + * many h264 improvements + * gcc4-support + + Decoder: + * keyframe syncing for some codecs after seek + * write directly in output buffer, increases performance + * Better timestamp handling + +Bugs fixed since 0.8.4: + * 149097: Internal GStreamer error: pad problem. File a bug. + * 169082: segfault with invalid pipeline + * 169823: [enhancement] add alac decoding support :) + * 172668: gst-ffmpeg 0.8.4 doesn't compile with gcc4 + * 172961: valgrind gives a lot of errors on gst-ffmpeg elements + * 173044: [PATCH to ffmpeg] Memory error in mjpeg_decode_frame + * 300200: cpu usage on certain .mov file goes to 100% once file has... + * 300923: [PATCH] make ffdec_* elements use gst_pad_alloc_buffer + * 301717: [PATCH] ffenc_mpeg4 segfaults in _get_caps + * 301783: [PATCH] enable our get/release_buffer functions in ffmpegdec + * 302017: possible segfault + * 302147: [PATCH] support YUVJ(420|422|444)P colorspace format in f... + * 306530: quicktime files encoded with "Sorensen video v.3" have fr... + * 306770: [PATCH] only do timestamp interpolation for delayed streams + * 306893: Unreffing already unreffed buffer when going from PAUSED-... + This is GStreamer FFmpeg 0.8.4 -Changes since 0.8.2: +Changes since 0.8.3: Demuxers: * fix I/O layer so almost all work now @@ -9,7 +45,7 @@ Changes since 0.8.2: * timestamp smoothing * MPEG/MP3 parsing added -Bugs fixed since 0.8.2: +Bugs fixed since 0.8.3: * 162905 : SEGV when using ffenc_msmpeg4 * 163340 : [PATCH] [ffdec_mjpeg] ffdec_mjpeg doesn't work anymore diff --git a/RELEASE b/RELEASE index 77f9034da1..75bf237ae7 100644 --- a/RELEASE +++ b/RELEASE @@ -1,5 +1,5 @@ -GStreamer: Release notes for GStreamer FFmpeg 0.8.4 "Mellow on my fingers" +GStreamer: Release notes for GStreamer FFmpeg 0.8.5 "For the better of the world" The GStreamer team is happy to announce a new stable release of the @@ -17,15 +17,32 @@ Features of this release * codecs for most popular formats * stability fixes + * gcc4 support + * snapshot update to 21/4 + * timestamp smoothing + * deinterlacer and scaler elements added + * new codecs for alac, shorten + * much improved h264 support + * some muxers added (mpeg, mp4) + * decoder performance improvements Bugs fixed in this release - * 162905 : SEGV when using ffenc_msmpeg4 - * 163340 : [PATCH] [ffdec_mjpeg] ffdec_mjpeg doesn't work anymore - * 163437 : [ffenc_*] Encoders segfault on exit - * 163467 : [ffdec_mpeg2video] causes 'lag' - * 165250 : Problem compiling gst-ffmpeg 0.8.3 - * 165501 : ffmpeg flac decoder fails on testsuite flac + * 149097 : Internal GStreamer error: pad problem. File a bug. + * 169082 : segfault with invalid pipeline + * 169823 : [enhancement] add alac decoding support :) + * 172668 : gst-ffmpeg 0.8.4 doesn't compile with gcc4 + * 172961 : valgrind gives a lot of errors on gst-ffmpeg elements + * 173044 : [PATCH to ffmpeg] Memory error in mjpeg_decode_frame + * 300200 : cpu usage on certain .mov file goes to 100% once file has... + * 300923 : [PATCH] make ffdec_* elements use gst_pad_alloc_buffer + * 301717 : [PATCH] ffenc_mpeg4 segfaults in _get_caps + * 301783 : [PATCH] enable our get/release_buffer functions in ffmpegdec + * 302017 : possible segfault + * 302147 : [PATCH] support YUVJ(420|422|444)P colorspace format in f... + * 306530 : quicktime files encoded with "Sorensen video v.3" have fr... + * 306770 : [PATCH] only do timestamp interpolation for delayed streams + * 306893 : Unreffing already unreffed buffer when going from PAUSED-... Download @@ -54,6 +71,6 @@ will create more lists as necessary. Contributors to this release * Ronald Bultje - * Jan Schmidt + * Edward Hervey * Luca Ognibene -  +  \ No newline at end of file diff --git a/TODO b/TODO index 276db01d8e..c169f09af8 100644 --- a/TODO +++ b/TODO @@ -2,13 +2,12 @@ The never-ending story of new features: * add more codecs into our codec map * encoding support lacks: - event handling (particularly discont/flush and EOS) -* encoding lacks: - prevent data copying * demux/mux support lacks: - - good testing of exotic formats - correct caps sets on the pad templates - event handling in the loop function (mux) - prevent data copying + - better timestamp handling (particularly in demuxers) * other filter elements * can we wrap URLProtocol as a source/sink? diff --git a/configure.ac b/configure.ac index ea31ad5ee7..b3818468d1 100644 --- a/configure.ac +++ b/configure.ac @@ -12,7 +12,7 @@ AM_MAINTAINER_MODE dnl when going to/from release please set the nano (fourth number) right ! dnl releases only do Wall, cvs and prerelease does Werror too -AS_VERSION(gst-ffmpeg, GST_FFMPEG_VERSION, 0, 8, 4, 1, GST_CVS="no", GST_CVS="yes") +AS_VERSION(gst-ffmpeg, GST_FFMPEG_VERSION, 0, 8, 5, 0, GST_CVS="no", GST_CVS="yes") dnl we cheat here so we don't have to change the actual configure code bit GST_PLUGINS_VERSION_NANO=$GST_FFMPEG_VERSION_NANO @@ -64,7 +64,7 @@ dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-confi PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ \ gstreamer-libs-$GST_MAJORMINOR, HAVE_GST="yes", HAVE_GST="no") - + if test "x$HAVE_GST" = "xno"; then AC_MSG_ERROR(no GStreamer found) fi diff --git a/ext/ffmpeg/gstffmpegcodecmap.c b/ext/ffmpeg/gstffmpegcodecmap.c index 00ce865d6c..35cf0e1b21 100644 --- a/ext/ffmpeg/gstffmpegcodecmap.c +++ b/ext/ffmpeg/gstffmpegcodecmap.c @@ -1237,6 +1237,39 @@ gst_ffmpeg_caps_with_codecid (enum CodecID codec_id, } while (0); break; + case CODEC_ID_SVQ3: + /* FIXME: this is a workaround for older gst-plugins releases + * (<= 0.8.9). This should be removed at some point, because + * it causes wrong decoded frame order. */ + if (!context->extradata) { + gint halfpel_flag, thirdpel_flag, low_delay, unknown_svq3_flag; + guint16 flags; + + if (gst_structure_get_int (str, "halfpel_flag", &halfpel_flag) || + gst_structure_get_int (str, "thirdpel_flag", &thirdpel_flag) || + gst_structure_get_int (str, "low_delay", &low_delay) || + gst_structure_get_int (str, "unknown_svq3_flag", + &unknown_svq3_flag)) { + context->extradata = (guint8 *) av_mallocz (0x64); + g_stpcpy (context->extradata, "SVQ3"); + flags = 1 << 3; + flags |= low_delay; + flags = flags << 2; + flags |= unknown_svq3_flag; + flags = flags << 6; + flags |= halfpel_flag; + flags = flags << 1; + flags |= thirdpel_flag; + flags = flags << 3; + + flags = GUINT16_FROM_LE (flags); + + memcpy (context->extradata + 0x62, &flags, 2); + context->extradata_size = 0x64; + } + } + break; + case CODEC_ID_MSRLE: case CODEC_ID_QTRLE: do {