GNOME Bugzilla – Bug 453135
broken ffenc_*
Last modified: 2007-07-05 11:19:59 UTC
Hi, broken encoding (seems to be, using provided ffmpeg source in latest cvs revision) :: gst-launch videotestsrc ! ffenc_h263p ! ffdec_h263 ! ffmpegcolorspace ! ximagesink sync=true Setting pipeline to PAUSED ... Pipeline is PREROLLING ... 0:00:00.624893000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.625004000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged 0:00:00.638242000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.638303000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged 0:00:00.643677000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.643735000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged 0:00:00.676724000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.676782000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged 0:00:00.679722000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.679776000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged 0:00:00.682533000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.682587000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged 0:00:00.685278000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.685334000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged 0:00:00.716196000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.716279000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged 0:00:00.719258000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.719315000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged 0:00:00.721935000 8836 0x81e4ef8 ERROR ffmpeg :0:: Bad H263 id 0:00:00.721988000 8836 0x81e4ef8 ERROR ffmpeg :0:: header damaged ... gst-launch videotestsrc ! ffenc_h263p ! ffdec_h263 ! ffmpegcolorspace ! ximagesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... 0:00:00.771304000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:00.808754000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:00.850284000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:00.891269000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:00.894390000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:00.931831000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:01.342049000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:01.383105000 21911 0x8208940 ERROR ffmpeg :0:: Bad H263 id 0:00:01.383167000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:01.386273000 21911 0x8208940 ERROR ffmpeg :0:: Bad H263 id 0:00:01.386335000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:01.686395000 21911 0x8208940 ERROR ffmpeg :0:: Bad H263 id 0:00:01.686452000 21911 0x8208940 ERROR ffmpeg :0:: header damaged 0:00:01.691866000 21911 0x8208940 ERROR ffmpeg :0:: header damaged
inside gstffmepegenc.c, in video_chain, maybe i'm wrong but the the outbuf buffer does not seems to be initialised with encoded video.
it's cvs release 1.102 of gstffmpegenc.c .
Seems to be generic. This also fails: gst-launch videotestsrc ! ffenc_mpeg4 ! ffdec_mpeg4 ! xvimagesink using a capsfilter to enforce a size or sync/qos flags on the sink have no impact.
It also could be that the decoder is missing the codec_data in the caps as it complains about ERROR ffmpeg :0:: header damaged
I'm going through all the combinations of encoder and muxers ... and this is one major issues with the ffmpeg encoders. The problem is that I'm suspecting we're going to have to handle the codec_data to output on a case-by-case basis :(
Sorry, this is my fault - I completely botched my last commit. Fixed in CVS: 2007-07-05 Jan Schmidt <thaytan@mad.scientist.com> * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers): Fix the encoders by actually copying the encoded output data from the working area into the output buffer. Fixes: #453135.