[gst-devel] missing caps in ffmpeg
Philip de Nier
philip.denier at rd.bbc.co.uk
Tue Sep 6 07:53:24 CEST 2005
At 15:00 06/09/2005, Ronald S. Bultje wrote:
>On Tue, 2005-09-06 at 09:28 +0100, Philip de Nier wrote:
> > The ffmpeg ffenc_mpeg2video (and some others like ffenc_h263) are not
> > returning the correct caps and the negotiation of links is failing. For
> > example, the code below:
> > Caps: video/x-raw-yuv, width=(int)[ 16, 4096 ], height=(int)[ 16,
> > 4096 ], framerate=(double)[ 0, 1.7976931348623157e+308 ],
> > It should return all 11 caps returned by "gst-inspect ffenc_mpeg2video"?
>No it should not. The template caps are an approximation of what
>encoders in ffmpeg can use as input. Most specific encoders, however,
>only understand a single format as input, and since this lookup is
>expensive, we do it only for elements that we actually use, so the
>template caps is an inexact match and the return value of the getcaps
>function is the exact match.
>Add a ffmpegcolorspace to your pipeline to make it work.
I had tried adding ffmpegcolorspace before, but that resulted in a
segmentation fault with my DV file (raw DV that mplayer can play) and I had
(wrongly) assumed the problem related to the difference between the
template caps and the getcaps caps; there is something else causing the
segmentation fault. I've just tried it with some example MPEG files and
that seems to work, although I now get gstreamer-Critical errors at the end
of the pipeline iteration... I'll just have to try out some formats and see
which ones work.
More information about the gstreamer-devel