[Libav-user] av_interleaved_write_frame has divide by zero?

jim morgenstern jmorgie at yahoo.com
Sat Jan 26 16:56:36 CET 2013


VS2012 C++ app using library versions from Nov

============================


Unhandled exception at 0x69b0f7ee in Viper1B_10.exe: 0xC0000094: Integer
division by zero.
====================================================
Screen output:

Starting MediaFileIO for U:\ImageMining\StreamApp\Data\Solavei Intro
VideoV3_Mus
ic up_1280x720p29.mov
[mov,mp4,m4a,3gp,3g2,mj2 @ 00483b20] Stream #1: not enough frames to
estimate ra
te; consider increasing probesize
[mov,mp4,m4a,3gp,3g2,mj2 @ 00483b20] Stream #2: not enough frames to
estimate ra
te; consider increasing probesize
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'U:\ImageMining\StreamApp\Data\Solavei I
ntro VideoV3_Music up_1280x720p29.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2012-07-12 23:41:43
  Duration: 00:00:11.81, start: 0.000000, bitrate: 598161 kb/s
    Stream #0:0(eng): Video: v210 (v210 / 0x30313276), yuv422p10le,
1280x720, 59
6600 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc
    Metadata:
      creation_time   : 2012-07-12 23:41:43
      handler_name    : Apple Alias Data Handler
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz,
stereo, s1
6, 1536 kb/s
    Metadata:
      creation_time   : 2012-07-12 23:41:43
      handler_name    : Apple Alias Data Handler
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)
    Metadata:
      creation_time   : 2012-07-12 23:42:01
      handler_name    : Apple Alias Data Handler
      timecode        : 00:00:28;11
Starting MediaFileIO for => U:\ImageMining\StreamApp\Data\TestSol10Unc.mov
Output #0, mov, to 'U:\ImageMining\StreamApp\Data\TestSol10Unc.mov':
    Stream #0:0: Video: rawvideo, yuv422p, 1280x720, q=2-31, 5942 kb/s, 90k
tbn,
 29 tbc
    Stream #0:1: Audio: aac, 44100 Hz, 1 channels, s16, 64 kb/s

[mov @ 0048d3a0] Tag Y42B/0x42323459 incompatible with output codec id '14'


INIT

Then first time this is called:

    if (oc->oformat->flags & AVFMT_RAWPICTURE)
    {
        /* raw video case.  */
        AVPacket pkt;
        av_init_packet(&pkt);

        pkt.flags |= AV_PKT_FLAG_KEY;
        pkt.stream_index= st->index;
        pkt.data= (uint8_t *)m_pPicture;
        pkt.size= sizeof(AVPicture);

        ret = av_interleaved_write_frame ( oc, &pkt);
    }


And oc   is here:

-		oc	0x0048d3a0 {av_class=0x69b44f20 iformat=0x00000000
oformat=0x69b23340 ...}	AVFormatContext *
+		av_class	0x69b44f20 {class_name=0x69b44f05
"AVFormatContext" item_name=0x6998c350 option=0x69b45520 ...}	const
AVClass *
+		iformat	0x00000000 {name=??? long_name=??? flags=??? ...}
AVInputFormat *
+		oformat	0x69b23340 {name=0x69b3eaa4 "mov"
long_name=0x69b3f035 "MOV format" mime_type=0x00000000 <Bad Ptr> ...}
AVOutputFormat *
		priv_data	0x00000000	void *
+		pb	0x0038ed20 {av_class=0x69b31da0 buffer=0x003a4200 "
		ctx_flags	0	int
		nb_streams	2	unsigned int
+		streams	0x00399da0	AVStream * *
+		filename	0x0048d3c0
"U:\ImageMining\StreamApp\Data\TestSol10Unc.mov"	char [1024]
		start_time	0	__int64
		duration	0	__int64
		bit_rate	0	int
		packet_size	0	unsigned int
		max_delay	-1	int
		flags	0	int
		probesize	5000000	unsigned int
		max_analyze_duration	5000000	int
+		key	0x00000000 <Bad Ptr>	const unsigned char *
		keylen	0	int
		nb_programs	0	unsigned int
+		programs	0x00000000	AVProgram * *
		video_codec_id	CODEC_ID_NONE	CodecID
		audio_codec_id	CODEC_ID_NONE	CodecID
		subtitle_codec_id	CODEC_ID_NONE	CodecID
		max_index_size	1048576	unsigned int
		max_picture_buffer	3041280	unsigned int
		nb_chapters	0	unsigned int
+		chapters	0x00000000	AVChapter * *
		metadata	0x00000000	AVDictionary *
		metadata	0x00000000	AVDictionary *
		start_time_realtime	0	__int64
		fps_probe_size	-1	int
		error_recognition	1	int
+		interrupt_callback	{callback=0x00000000
opaque=0x00000000 }	AVIOInterruptCB
		debug	0	int
		ts_id	0	int
		audio_preload	0	int
		max_chunk_duration	0	int
		max_chunk_size	0	int
+		packet_buffer	0x00000000 {pkt={...} next=??? }
AVPacketList *
+		packet_buffer_end	0x00000000 {pkt={...} next=??? }
AVPacketList *
		data_offset	0	__int64
+		raw_packet_buffer	0x00000000 {pkt={...} next=??? }
AVPacketList *
+		raw_packet_buffer_end	0x00000000 {pkt={...} next=??? }
AVPacketList *
+		parse_queue	0x00000000 {pkt={...} next=??? }
AVPacketList *
+		parse_queue_end	0x00000000 {pkt={...} next=??? }
AVPacketList *
		raw_packet_buffer_remaining_size	0	int
		avio_flags	0	int





> -----Original Message-----
> From: libav-user-bounces at ffmpeg.org [mailto:libav-user-bounces at ffmpeg.org]
> On Behalf Of Carl Eugen Hoyos
> Sent: Saturday, January 26, 2013 5:53 AM
> To: libav-user at ffmpeg.org
> Subject: Re: [Libav-user] av_interleaved_write_frame has divide by zero?
> 
> jim morgenstern <jmorgie at ...> writes:
> 
> > Can anyone offer an insight into which field / why /
> > av_interleaved_write_frame is throwing an integer divide by zero?
> 
> Command line, sample, console output and (even if not reproducible with
ffmpeg)
> backtrace etc. missing.
> 
> Carl Eugen
> 
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user



More information about the Libav-user mailing list