[FFmpeg-trac] #397(swscale:open): swscale crashes when upscaling pictures using MMX2

FFmpeg trac at avcodec.org
Fri Aug 26 15:40:44 CEST 2011


#397: swscale crashes when upscaling pictures using MMX2
-----------------------+----------------------
Reporter:  TobiX       |       Owner:  michael
    Type:  defect      |      Status:  open
Priority:  normal      |   Component:  swscale
 Version:  git-master  |  Resolution:
Keywords:              |  Blocked By:
Blocking:              |  Reproduced:  0
Analyzed:  0           |
-----------------------+----------------------

Comment (by marillat):

 Replying to [comment:4 cehoyos]:
 > Replying to [comment:3 marillat]:
 > > ffmpeg -v 9 -loglevel 99 -i
 MTV_high_res_320x240_sample_Penguin_Joke_MTV_from_WMV.amv -sws_flags
 fast_bilinear -vf "scale=640:480" -vframes 1 -vcodec png output.png
 > >
 >
 > Complete, uncut output (and backtrace) missing. Does the crash also
 happen with --disable-optimizations? If yes, a backtrace would be nice.

 Works fine with --disable-optimizations

 Here is the previous output.

 Starting program: /usr/bin/ffmpeg -v 9 -loglevel 99 -i
 MTV_high_res_320x240_sample_Penguin_Joke_MTV_from_WMV.amv -sws_flags
 fast_bilinear -vf scale=640:480 -vframes 1 -vcodec png output.png
 [Thread debugging using libthread_db enabled]
 ffmpeg version 0.8.2, Copyright (c) 2000-2011 the FFmpeg developers
   built on Aug 13 2011 10:12:16 with gcc 4.6.1
   configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc'
 --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree
 --enable-libdirac --disable-decoder=libdirac --enable-libvorbis --enable-
 pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-
 x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-
 nonfree --disable-stripping --enable-libschroedinger --disable-
 encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-
 libvpx --enable-librtmp --enable-avfilter --enable-frei0r --enable-
 libopencv --enable-libfreetype --enable-libvo-aacenc --enable-libvo-
 amrwbenc --libdir=/usr/lib/x86_64-linux-gnu --enable-libdc1394 --disable-
 altivec --disable-armv5te --disable-armv6 --disable-vis
 --shlibdir=/usr/lib/x86_64-linux-gnu
   libavutil    51.  9. 1 / 51.  9. 1
   libavcodec   53.  7. 0 / 53.  7. 0
   libavformat  53.  4. 0 / 53.  4. 0
   libavdevice  53.  1. 1 / 53.  1. 1
   libavfilter   2. 23. 0 /  2. 23. 0
   libswscale    2.  0. 0 /  2.  0. 0
   libpostproc  51.  2. 0 / 51.  2. 0
 [avi @ 0x636080] Format avi probed with size=2048 and score=100
 [AVI demuxer @ 0x6366a0] use odml:1
 [avi @ 0x636080] scale/rate is 0/0 which is invalid. (This file has been
 generated by broken software.)
 st:0 removing common factor 62500 from timebase
 [avi @ 0x636080] scale/rate is 0/0 which is invalid. (This file has been
 generated by broken software.)
 st:1 removing common factor 62500 from timebase
 [amv @ 0x638120] buffer too small, expanding to 3968 bytes
 [amv @ 0x638120] marker=d8 avail_size_in_buf=3968
 [amv @ 0x638120] marker parser used 0 bytes (0 bits)
 [amv @ 0x638120] marker=db avail_size_in_buf=3966
 [amv @ 0x638120] index=0
 [amv @ 0x638120] qscale[0]: 5
 [amv @ 0x638120] index=1
 [amv @ 0x638120] qscale[1]: 10
 [amv @ 0x638120] marker parser used 132 bytes (1056 bits)
 [amv @ 0x638120] marker=c4 avail_size_in_buf=3832
 [amv @ 0x638120] class=0 index=0 nb_codes=12
 [amv @ 0x638120] class=0 index=1 nb_codes=12
 [amv @ 0x638120] class=1 index=0 nb_codes=251
 [amv @ 0x638120] class=1 index=1 nb_codes=251
 [amv @ 0x638120] marker parser used 418 bytes (3344 bits)
 [amv @ 0x638120] marker=c0 avail_size_in_buf=3412
 [amv @ 0x638120] sof0: picture: 160x120
 [amv @ 0x638120] component 0 2:2 id: 0 quant:0
 [amv @ 0x638120] component 1 1:1 id: 1 quant:1
 [amv @ 0x638120] component 2 1:1 id: 2 quant:1
 [amv @ 0x638120] pix fmt id 22111100
 [amv @ 0x638120] marker parser used 17 bytes (136 bits)
 [amv @ 0x638120] escaping removed 20 bytes
 [amv @ 0x638120] marker=da avail_size_in_buf=3393
 [amv @ 0x638120] component: 0
 [amv @ 0x638120] component: 1
 [amv @ 0x638120] component: 2
 [amv @ 0x638120] marker parser used 3372 bytes (26973 bits)
 [amv @ 0x638120] marker=d9 avail_size_in_buf=0
 [amv @ 0x638120] mjpeg decode frame unused 0 bytes
 [avi @ 0x636080] All info found
 Input #0, avi, from
 'MTV_high_res_320x240_sample_Penguin_Joke_MTV_from_WMV.amv':
   Duration: 00:00:00.00, start: 0.000000, bitrate: -2147483 kb/s
     Stream #0.0, 1, 1/16: Video: amv, yuvj420p, 160x120, 1/16, 16 tbr, 16
 tbn, 16 tbc
     Stream #0.1, 1, 1/16: Audio: adpcm_ima_amv, 22050 Hz, 1 channels, s16,
 352 kb/s
 Incompatible pixel format 'yuvj420p' for codec 'png', auto-selecting
 format 'rgb24'
 [buffer @ 0x64b500] w:160 h:120 pixfmt:yuvj420p tb:1/1000000 sar:0/1
 sws_param:
 [scale @ 0x637d60] w:160 h:120 fmt:yuvj420p -> w:640 h:480 fmt:rgb24
 flags:0x1
 Output #0, image2, to 'output.png':
   Metadata:
     encoder         : Lavf53.4.0
     Stream #0.0, 0, 1/90000: Video: png, rgb24, 640x480, 1/16, q=2-31, 200
 kb/s, 90k tbn, 16 tbc
 Stream mapping:
   Stream #0.0 -> #0.0
 Press [q] to stop, [?] for help
 [amv @ 0x638120] buffer too small, expanding to 3968 bytes
 [amv @ 0x638120] marker=d8 avail_size_in_buf=3968
 [amv @ 0x638120] marker parser used 0 bytes (0 bits)
 [amv @ 0x638120] marker=db avail_size_in_buf=3966
 [amv @ 0x638120] index=0
 [amv @ 0x638120] qscale[0]: 5
 [amv @ 0x638120] index=1
 [amv @ 0x638120] qscale[1]: 10
 [amv @ 0x638120] marker parser used 132 bytes (1056 bits)
 [amv @ 0x638120] marker=c4 avail_size_in_buf=3832
 [amv @ 0x638120] class=0 index=0 nb_codes=12
 [amv @ 0x638120] class=0 index=1 nb_codes=12
 [amv @ 0x638120] class=1 index=0 nb_codes=251
 [amv @ 0x638120] class=1 index=1 nb_codes=251
 [amv @ 0x638120] marker parser used 418 bytes (3344 bits)
 [amv @ 0x638120] marker=c0 avail_size_in_buf=3412
 [amv @ 0x638120] sof0: picture: 160x120
 [amv @ 0x638120] component 0 2:2 id: 0 quant:0
 [amv @ 0x638120] component 1 1:1 id: 1 quant:1
 [amv @ 0x638120] component 2 1:1 id: 2 quant:1
 [amv @ 0x638120] pix fmt id 22111100
 [amv @ 0x638120] marker parser used 17 bytes (136 bits)
 [amv @ 0x638120] escaping removed 20 bytes
 [amv @ 0x638120] marker=da avail_size_in_buf=3393
 [amv @ 0x638120] component: 0
 [amv @ 0x638120] component: 1
 [amv @ 0x638120] component: 2
 [amv @ 0x638120] marker parser used 3372 bytes (26973 bits)
 [amv @ 0x638120] marker=d9 avail_size_in_buf=0
 [amv @ 0x638120] mjpeg decode frame unused 0 bytes

 Program received signal SIGSEGV, Segmentation fault.
 0x00007ffff64e3fb4 in hyscale (c=0x7ffff64fe97f, src=<value optimized
 out>, srcStride=0x7fffffffc9b0, srcSliceY=0, srcSliceH=120,
 dst=0x7fffffffc990, dstStride=0x7fffffffc9c0) at libswscale/swscale.c:2031
 2031    libswscale/swscale.c: No such file or directory.
         in libswscale/swscale.c
 (gdb) bt
 #0  0x00007ffff64e3fb4 in hyscale (c=0x7ffff64fe97f, src=<value optimized
 out>, srcStride=0x7fffffffc9b0, srcSliceY=0, srcSliceH=120,
 dst=0x7fffffffc990, dstStride=0x7fffffffc9c0) at libswscale/swscale.c:2031
 #1  swScale (c=0x7ffff64fe97f, src=<value optimized out>,
 srcStride=0x7fffffffc9b0, srcSliceY=0, srcSliceH=120, dst=0x7fffffffc990,
 dstStride=0x7fffffffc9c0) at libswscale/swscale.c:2327
 #2  0x00007ffff64ea966 in sws_scale (c=0x651ca0, src=<value optimized
 out>, srcStride=0x7fffffffca60, srcSliceY=0, srcSliceH=120, dst=<value
 optimized out>, dstStride=0x7fffffffca70) at
 libswscale/swscale_unscaled.c:793
 #3  0x00007ffff79a9eca in scale_slice (sws=<value optimized out>, y=<value
 optimized out>, h=<value optimized out>, mul=<value optimized out>,
 field=0, link=<value optimized out>) at libavfilter/vf_scale.c:290
 #4  0x00007ffff79aa03d in draw_slice (link=0x639e80, y=0, h=120,
 slice_dir=1) at libavfilter/vf_scale.c:307
 #5  0x00007ffff796cac3 in avfilter_draw_slice (link=0x639e80, y=0, h=120,
 slice_dir=1) at libavfilter/avfilter.c:586
 #6  0x00007ffff79ad430 in request_frame (link=<value optimized out>) at
 libavfilter/vsrc_buffer.c:196
 #7  0x00007ffff796c5c3 in avfilter_request_frame (link=0x639e80) at
 libavfilter/avfilter.c:475
 #8  0x00007ffff796c5e4 in avfilter_request_frame (link=0x649860) at
 libavfilter/avfilter.c:477
 #9  0x00007ffff79ad31d in av_vsink_buffer_get_video_buffer_ref (ctx=<value
 optimized out>, picref=<value optimized out>, flags=<value optimized out>)
 at libavfilter/vsink_buffer.c:83
 #10 0x00000000004059db in output_packet (ist=<value optimized out>,
 ist_index=0, ost_table=0x635fa0, nb_ostreams=1, pkt=<value optimized out>)
 at ffmpeg.c:1715
 #11 0x000000000040c63a in transcode (nb_output_files=1,
 input_files=0x63e6e0, nb_input_files=1, stream_maps=0x0,
 nb_stream_maps=<value optimized out>, output_files=0x617ee0) at
 ffmpeg.c:2782
 #12 0x0000000000407d0f in main (argc=<value optimized out>,
 argv=0x7fffffffe398) at ffmpeg.c:4583

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/397#comment:5>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list