[Ffmpeg-devel] h264: debug build asserts in MPV_frame_start()

Reinhard Nissl rnissl
Mon Mar 19 00:08:26 CET 2007


Hi,

while trying to fix an issue in xine, I've built xine with make debug.
Doing so also enabled debug code in xine's copy of ffmpeg. When playing
the below referenced file with xine, an assert() in
libavcodec/mpegvideo.c triggers. The file plays well in a non debug
build of mplayer for example (see below for the used command line).

The sample file http://home.vrweb.de/~rnissl/ffmpeg/pro7hd.es.264
contains only three frames and the assert happens when frame three is
decoded. The assert is in MPV_frame_start():

int MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx)
{
    int i;
    AVFrame *pic;
    s->mb_skipped = 0;

    assert(s->last_picture_ptr==NULL || s->out_format != FMT_H264 ||
s->codec_id == CODEC_ID_SVQ3);

For simplicity I've changed the assert() to if (!(...)) *(char *)0 = 0;
and then even the non debug build of mplayer fails. I've used mplayer
because I couldn't find a way to play this really short sample with
ffplay at all.

Here is the command line used to play this sample:

(while true; cat pro7hd.es.264; done) \
	| mplayer -demuxer h264es -vc ffh264 -

Could someone shed some light on this issue?

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de




More information about the ffmpeg-devel mailing list