x264 and ffmpeg updates coming to rawhide
Dominik 'Rathann' Mierzejewski
dominik at greysector.net
Mon Dec 15 01:01:19 CET 2008
On Thursday, 04 December 2008 at 21:31, Dominik 'Rathann' Mierzejewski wrote:
> On Thursday, 04 December 2008 at 21:15, Dominik 'Rathann' Mierzejewski wrote:
> > On Thursday, 04 December 2008 at 14:17, Dominik 'Rathann' Mierzejewski wrote:
> > > On Wednesday, 03 December 2008 at 19:06, Dominik 'Rathann' Mierzejewski wrote:
> > > > In the long-standing tradition of breaking stuff right after a new release,
> > > > I'm going to update x264 and ffmpeg in the devel branch.
> > > >
> > > > x264 brings ABI and API changes (albeit minor). I haven't checked ffmpeg
> > > > yet, but there's certainly an ABI version bump in libavcodec and probably
> > > > some API changes as well.
> > > >
> > > > Right now x264 is blocked on some ppc compilation issue which I'm currently
> > > > trying to fix with the help of one x264 developer. I'll keep you posted.
> > >
> > > OK, x264 build succeeded. Could someone test it on ppc/ppc64?
> >
> > ffmpeg build coming soon, too. It brings libavcodec ABI version bump and some
> > API changes.
>
> Affected packages:
[...]
> gstreamer-ffmpeg
This needs the attached patch to build. I'm not sure what to do with the
removed CODEC_FLAG_TRELLIS_QUANT option, but see this mail:
http://lists.mplayerhq.hu/pipermail/ffmpeg-user/2008-December/018101.html
Regards,
R.
--
Fedora http://fedoraproject.org/wiki/User:Rathann
RPMFusion http://rpmfusion.org | MPlayer http://mplayerhq.hu
"Faith manages."
-- Delenn to Lennier in Babylon 5:"Confessions and Lamentations"
-------------- next part --------------
diff -up gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegcfg.c.lavc gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegcfg.c
--- gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegcfg.c.lavc 2008-12-14 23:18:49.000000000 +0100
+++ gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegcfg.c 2008-12-15 00:58:18.000000000 +0100
@@ -272,7 +272,6 @@ gst_ffmpeg_flags_get_type (void)
{CODEC_FLAG_GRAY, "Only decode/encode grayscale", "gray"},
{CODEC_FLAG_NORMALIZE_AQP,
"Normalize Adaptive Quantization (masking, etc)", "aqp"},
- {CODEC_FLAG_TRELLIS_QUANT, "Trellis Quantization", "trellis"},
{CODEC_FLAG_GLOBAL_HEADER,
"Global headers in extradata instead of every keyframe",
"global-headers"},
diff -up gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegcodecmap.c.lavc gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegcodecmap.c
--- gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegcodecmap.c.lavc 2008-12-14 23:18:49.000000000 +0100
+++ gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegcodecmap.c 2008-12-14 23:22:14.000000000 +0100
@@ -368,7 +368,7 @@ gst_ffmpeg_codecid_to_caps (enum CodecID
NULL);
if (context) {
gst_caps_set_simple (caps,
- "depth", G_TYPE_INT, context->bits_per_sample, NULL);
+ "depth", G_TYPE_INT, context->bits_per_coded_sample, NULL);
}
break;
@@ -547,7 +547,7 @@ gst_ffmpeg_codecid_to_caps (enum CodecID
caps = gst_ff_vid_caps_new (context, codec_id, "video/x-huffyuv", NULL);
if (context) {
gst_caps_set_simple (caps,
- "bpp", G_TYPE_INT, context->bits_per_sample, NULL);
+ "bpp", G_TYPE_INT, context->bits_per_coded_sample, NULL);
}
break;
@@ -663,7 +663,7 @@ gst_ffmpeg_codecid_to_caps (enum CodecID
"layout", G_TYPE_STRING, "microsoft", NULL);
if (context) {
gst_caps_set_simple (caps,
- "depth", G_TYPE_INT, (gint) context->bits_per_sample, NULL);
+ "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL);
} else {
gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 1, 64, NULL);
}
@@ -674,7 +674,7 @@ gst_ffmpeg_codecid_to_caps (enum CodecID
"layout", G_TYPE_STRING, "quicktime", NULL);
if (context) {
gst_caps_set_simple (caps,
- "depth", G_TYPE_INT, (gint) context->bits_per_sample, NULL);
+ "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL);
} else {
gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 1, 64, NULL);
}
@@ -724,7 +724,7 @@ gst_ffmpeg_codecid_to_caps (enum CodecID
caps = gst_ff_vid_caps_new (context, codec_id, "video/x-camtasia", NULL);
if (context) {
gst_caps_set_simple (caps,
- "depth", G_TYPE_INT, (gint) context->bits_per_sample, NULL);
+ "depth", G_TYPE_INT, (gint) context->bits_per_coded_sample, NULL);
} else {
gst_caps_set_simple (caps, "depth", GST_TYPE_INT_RANGE, 8, 32, NULL);
}
@@ -1077,7 +1077,7 @@ gst_ffmpeg_codecid_to_caps (enum CodecID
caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-alac", NULL);
if (context) {
gst_caps_set_simple (caps,
- "samplesize", G_TYPE_INT, context->bits_per_sample, NULL);
+ "samplesize", G_TYPE_INT, context->bits_per_coded_sample, NULL);
}
break;
@@ -1100,7 +1100,7 @@ gst_ffmpeg_codecid_to_caps (enum CodecID
caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-tta", NULL);
if (context) {
gst_caps_set_simple (caps,
- "samplesize", G_TYPE_INT, context->bits_per_sample, NULL);
+ "samplesize", G_TYPE_INT, context->bits_per_coded_sample, NULL);
}
break;
default:
@@ -1473,7 +1473,7 @@ gst_ffmpeg_caps_to_pixfmt (const GstCaps
gst_structure_get_int (structure, "width", &context->width);
gst_structure_get_int (structure, "height", &context->height);
- gst_structure_get_int (structure, "bpp", &context->bits_per_sample);
+ gst_structure_get_int (structure, "bpp", &context->bits_per_coded_sample);
fps = gst_structure_get_value (structure, "framerate");
if (fps != NULL && GST_VALUE_HOLDS_FRACTION (fps)) {
@@ -1717,7 +1717,7 @@ gst_ffmpeg_caps_with_codecid (enum Codec
gint depth;
if (gst_structure_get_int (str, "depth", &depth)) {
- context->bits_per_sample = depth;
+ context->bits_per_coded_sample = depth;
} else {
GST_WARNING ("No depth field in caps %" GST_PTR_FORMAT, caps);
}
@@ -1750,7 +1750,7 @@ gst_ffmpeg_caps_with_codecid (enum Codec
context->bit_rate = bitrate;
}
case CODEC_ID_ALAC:
- gst_structure_get_int (str, "samplesize", &context->bits_per_sample);
+ gst_structure_get_int (str, "samplesize", &context->bits_per_coded_sample);
break;
case CODEC_ID_DVVIDEO:
diff -up gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegdec.c.lavc gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegdec.c
--- gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegdec.c.lavc 2008-12-14 23:18:49.000000000 +0100
+++ gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegdec.c 2008-12-15 00:48:19.000000000 +0100
@@ -696,7 +696,7 @@ gst_ffmpegdec_setcaps (GstPad * pad, Gst
/* workaround encoder bugs */
ffmpegdec->context->workaround_bugs |= FF_BUG_AUTODETECT;
- ffmpegdec->context->error_resilience = 1;
+ ffmpegdec->context->error_recognition = 1;
/* for slow cpus */
ffmpegdec->context->lowres = ffmpegdec->lowres;
@@ -2425,7 +2425,7 @@ gst_ffmpegdec_register (GstPlugin * plug
AVCodec *in_plugin;
gint rank;
- in_plugin = first_avcodec;
+ in_plugin = av_codec_next(NULL);
GST_LOG ("Registering decoders");
diff -up gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegenc.c.lavc gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegenc.c
--- gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegenc.c.lavc 2008-12-14 23:18:50.000000000 +0100
+++ gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegenc.c 2008-12-15 00:46:38.000000000 +0100
@@ -45,6 +45,10 @@
#define DEFAULT_VIDEO_GOP_SIZE 15
#define DEFAULT_AUDIO_BITRATE 128000
+#ifndef DEFAULT_FRAME_RATE_BASE
+#define DEFAULT_FRAME_RATE_BASE 1001000
+#endif
+
#define DEFAULT_WIDTH 352
#define DEFAULT_HEIGHT 288
@@ -408,7 +412,6 @@ gst_ffmpegenc_setcaps (GstPad * pad, Gst
/* RTP payload used for GOB production (for Asterisk) */
if (ffmpegenc->rtp_payload_size) {
- ffmpegenc->context->rtp_mode = 1;
ffmpegenc->context->rtp_payload_size = ffmpegenc->rtp_payload_size;
}
@@ -973,7 +976,7 @@ gst_ffmpegenc_register (GstPlugin * plug
GType type;
AVCodec *in_plugin;
- in_plugin = first_avcodec;
+ in_plugin = av_codec_next(NULL);
GST_LOG ("Registering encoders");
diff -up gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegprotocol.c.lavc gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegprotocol.c
--- gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegprotocol.c.lavc 2008-12-14 23:18:50.000000000 +0100
+++ gst-ffmpeg-0.10.5/ext/ffmpeg/gstffmpegprotocol.c 2008-12-14 23:35:09.000000000 +0100
@@ -175,8 +175,8 @@ gst_ffmpegdata_write (URLContext * h, un
return size;
}
-static offset_t
-gst_ffmpegdata_seek (URLContext * h, offset_t pos, int whence)
+static int64_t
+gst_ffmpegdata_seek (URLContext * h, int64_t pos, int whence)
{
GstProtocolInfo *info;
guint64 newpos;
More information about the rpmfusion-developers
mailing list