New submission from mcfrisk <[email protected]>:
Editing dnxhd files in kdenlive and playing same files through melt, I run to
this with latest ffmpeg and libswscale from git, and also from
debian-multimedi.org. Crash happens when melt/kdenlive play file to the end (a
few white frames appear before the last frame) and then seek backwards a few
frames.
Sample file, created with ffmpeg from original m2ts:
http://mcfrisk.kapsi.fi/media/2010/libswscale_crash_00109.m2ts.dnxhd.mov
----------
files: crash.txt
messages: 11204
priority: normal
status: new
substatus: new
title: crash at libswscale/rgb2rgb_template.c:1370
type: bug
________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2092>
________________________________________________
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb3e69b70 (LWP 31725)]
0xb723c1df in yuvPlanartoyuy2_MMX2 (ysrc=0x0, usrc=0x0, vsrc=0x0,
dst=0xb2d12030 "\353\200\353\200\001", width=960, height=1080,
lumStride=0, chromStride=0, dstStride=3840)
at libswscale/rgb2rgb_template.c:1370
1370 __asm__ volatile(
(gdb) bt full
#0 0xb723c1df in yuvPlanartoyuy2_MMX2 (ysrc=0x0, usrc=0x0, vsrc=0x0,
dst=0xb2d12030 "\353\200\353\200\001", width=960, height=1080,
lumStride=0, chromStride=0, dstStride=3840)
at libswscale/rgb2rgb_template.c:1370
y = 0
chromWidth = 960
#1 yuv422ptoyuy2_MMX2 (ysrc=0x0, usrc=0x0, vsrc=0x0,
dst=0xb2d12030 "\353\200\353\200\001", width=960, height=1080,
lumStride=0, chromStride=0, dstStride=3840)
at libswscale/rgb2rgb_template.c:1632
No locals.
#2 0xb724dd0f in yuv422pToYuy2Wrapper (c=0x8226400, src=0xb3e68c10,
srcStride=0xb3e68be0, srcSliceY=0, srcSliceH=1080, dstParam=0xb3e68c00,
dstStride=0xb3e68bf0) at libswscale/swscale.c:1340
No locals.
#3 0xb7253dd5 in sws_scale (c=0x8226400, src=0x823f090, srcStride=0x823f0a0,
srcSliceY=0, srcSliceH=1080, dst=0xb3e68d3c, dstStride=0xb3e68d4c)
at libswscale/swscale.c:1926
srcStride2 = {0, 0, 0, 0}
dstStride2 = {3840, 0, 0, 0}
i = <value optimized out>
src2 = {0x0, 0x0, 0x0, 0x0}
dst2 = {0xb2d12030 "\353\200\353\200\001", 0x0, 0x0, 0x0}
---Type <return> to continue, or q <return> to quit---
#4 0xb7fd970b in convert_image (frame=0x81773a8, buffer=0xb3e69360,
format=0x80c08e4, width=0xb3e6901c, height=0xb3e69018, writable=0)
at producer_avformat.c:734
context = 0x8226400
output = {data = {0xb2d12030 "\353\200\353\200\001", 0x0, 0x0, 0x0},
linesize = {3840, 0, 0, 0}}
#5 producer_get_image (frame=0x81773a8, buffer=0xb3e69360, format=0x80c08e4,
width=0xb3e6901c, height=0xb3e69018, writable=0)
at producer_avformat.c:1029
this = 0x80d5f08
producer = 0x80d4c80
position = 71
context = <value optimized out>
stream = 0x817aed0
codec_context = 0xb2d12030
image_size = 4151040
pkt = {pts = -1276736040, dts = 0, data = 0x818a520 "",
size = -1208250347, stream_index = 1761607680, flags = -1208324354,
duration = 135754664, destruct = 0xb7fb91b8, priv = 0xb7faab29,
pos = 583061845246189916, convergence_duration = 3086716949}
paused = <value optimized out>
source_fps = 25
fps = -nan(0x8000000000000)
---Type <return> to continue, or q <return> to quit---
req_position = 71
must_decode = 0
last_position = 69
use_new_seek = 0
#6 0xb7fa3eb4 in mlt_frame_get_image (this=0x81773a8, buffer=0xb3e69360,
format=0x80c08e4, width=0xb3e6901c, height=0xb3e69018, writable=0)
at mlt_frame.c:389
get_image = 0xb7fd8830 <producer_get_image>
requested_format = mlt_image_yuv422
error = -1208121296
#7 0xb4fd153e in filter_get_image (this=0x81773a8, image=0xb3e69360,
format=0x80c08e4, width=0xb3e6901c, height=0xb3e69018, writable=0)
at filter_crop.c:75
error = -1208250347
left = 0
right = 0
top = 0
bottom = 0
owidth = <value optimized out>
oheight = <value optimized out>
#8 0xb7fa3eb4 in mlt_frame_get_image (this=0x81773a8, buffer=0xb3e69360,
format=0x80c08e4, width=0xb3e6901c, height=0xb3e69018, writable=0)
at mlt_frame.c:389
---Type <return> to continue, or q <return> to quit---
get_image = 0xb4fd1440 <filter_get_image>
requested_format = mlt_image_yuv422
error = -1258482624
#9 0xb4d6af96 in filter_get_image (this=0x81773a8, image=0xb3e69360,
format=0x80c08e4, width=0xb3e6901c, height=0xb3e69018, writable=0)
at filter_deinterlace.c:186
method_str = <value optimized out>
method = 4
frame_method_str = <value optimized out>
error = 136443033
deinterlace = 1
progressive = 0
filter = 0x80dd938
#10 0xb7fa3eb4 in mlt_frame_get_image (this=0x81773a8, buffer=0xb3e69360,
format=0x80c08e4, width=0xb3e6901c, height=0xb3e69018, writable=0)
at mlt_frame.c:389
get_image = 0xb4d6ad00 <filter_get_image>
requested_format = mlt_image_yuv422
error = -1260999424
#11 0xb4fd6732 in filter_get_image (this=0x81773a8, image=0xb3e69360,
format=0x80c08e4, width=0xb3e6914c, height=0xb3e69148, writable=0)
at filter_rescale.c:218
interps = <value optimized out>
---Type <return> to continue, or q <return> to quit---
iwidth = 1920
iheight = 1080
owidth = 720
error = <value optimized out>
filter = 0x80db650
#12 0xb7fa3eb4 in mlt_frame_get_image (this=0x81773a8, buffer=0xb3e69360,
format=0x80c08e4, width=0xb3e6914c, height=0xb3e69148, writable=0)
at mlt_frame.c:389
get_image = 0xb4fd6510 <filter_get_image>
requested_format = mlt_image_yuv422
error = -1258461936
#13 0xb4fd6d51 in filter_get_image (this=0x81773a8, image=0xb3e69360,
format=0x80c08e4, width=0xb3e6937c, height=0xb3e69378, writable=0)
at filter_resize.c:262
error = 432
aspect_ratio = 1.0000000000000959
owidth = 720
oheight = 432
rescale = <value optimized out>
#14 0xb7fa3eb4 in mlt_frame_get_image (this=0x81773a8, buffer=0xb3e69360,
format=0x80c08e4, width=0xb3e6937c, height=0xb3e69378, writable=0)
at mlt_frame.c:389
get_image = 0xb4fd6bd0 <filter_get_image>
---Type <return> to continue, or q <return> to quit---
requested_format = mlt_image_yuv422
error = -1258460208
#15 0xb7fb5a28 in producer_get_image (this=0x818d8d0, buffer=0xb3e69360,
format=0x80c08e4, width=0xb3e6937c, height=0xb3e69378, writable=0)
at mlt_tractor.c:274
data = <value optimized out>
#16 0xb7fa3eb4 in mlt_frame_get_image (this=0x818d8d0, buffer=0xb3e69360,
format=0x80c08e4, width=0xb3e6937c, height=0xb3e69378, writable=0)
at mlt_frame.c:389
get_image = 0xb7fb58a0 <producer_get_image>
requested_format = mlt_image_yuv422
error = -1208264544
#17 0xb7fb2e53 in consumer_read_ahead_thread (arg=0x80c08a0)
at mlt_consumer.c:705
width = 720
height = 576
video_off = 0
preview_off = <value optimized out>
preview_format = <value optimized out>
afmt = mlt_audio_pcm
counter = 116
fps = 25
channels = 2
---Type <return> to continue, or q <return> to quit---
frequency = 48000
samples = 1920
audio = 0x82309b0
audio_off = 0
frame = 0x818d8d0
image = 0xb2d12030 "\353\200\353\200\001"
ante = {tv_sec = 1279054705, tv_usec = 364720}
count = 1
skipped = 0
time_wait = 0
time_frame = 0
time_process = 0
skip_next = 0
lock_object = <value optimized out>
#18 0xb7f88955 in start_thread (arg=0xb3e69b70) at pthread_create.c:300
__res = <value optimized out>
__ignore1 = <value optimized out>
__ignore2 = <value optimized out>
pd = 0xb3e69b70
now = <value optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1208381452, 0, 4001536,
-1276734312, -449378397, -654168661}, mask_was_saved = 0}},
priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
---Type <return> to continue, or q <return> to quit---
cleanup = 0x0, canceltype = 0}}}
not_first_call = <value optimized out>
freesize = <value optimized out>
__PRETTY_FUNCTION__ = "start_thread"
#19 0xb7f0714e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
(