I'm not an expert but maybe I can give u a simpler solution.... just ignore if I'm talking nonsense stuffs..
maybe if u just av_init_packet before av_free_packet your problem is solved and you don't have memory leak. I haven't tested this theory, its just an idea. 2015-03-05 8:30 GMT-03:00 Johannes Rehm <[email protected]>: > Hi All, > > there is a known bug in the VideoCapture ffmpeg module of OpenCV. It > occurs while loading videos without a codec: > http://code.opencv.org/issues/1915 > I had some time now to debug this bug and found the issue in: > CvCapture_FFMPEG::grabFrame() > In the function > avcodec_decode_video2(video_st->codec, picture, &got_picture, &packet); > the AVFrame picture get set. But after > av_free_packet (&packet); > I get: "error: Cannot access memory at address..." for picture.data[0] > which leads to a segmentation fault later in the function sws_scale(). > I can encode this video with a video codec using ffmpeg or whatever and I > get no segmentation fault (memory in picture.data[0] can still be accessed). > Of course there is an easy fix for this bug: Simply comment out / delete > av_free_packet (&packet); > This is working fine for me. Now I can process videos with and without > codecs. But I am not sure if this will lead to memory issues if > av_free_packet gets not called. Is there anybody who is familiar with the > FFmpeg interface of OpenCV and can help me here? > Thanks a lot! > > Best regards, > Johannes Rehm > > _______________________________________________ > Libav-user mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/libav-user > > -- ----------------------------------------------------------------- Rafael Lúcio
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
