[FFmpeg-trac] #3685(swscale:new): v4l2 source in UYVY (uyvy422) causes segfault

FFmpeg trac at avcodec.org
Thu May 29 07:59:08 CEST 2014


#3685: v4l2 source in UYVY (uyvy422) causes segfault
---------------------------------+----------------------------------
             Reporter:  FishB8   |                     Type:  defect
               Status:  new      |                 Priority:  normal
            Component:  swscale  |                  Version:  2.2.2
             Keywords:           |               Blocked By:
             Blocking:           |  Reproduced by developer:  0
Analyzed by developer:  0        |
---------------------------------+----------------------------------
 Other pix formats might also cause segfaults. YV12 did NOT cause segfault.

 To reproduce, you need the v4l2loopback module loaded. (I have it loaded
 as device /dev/video0)

 Provide source content for it using gstreamer (I'm using version 1.2.3)

 {{{
 gst-launch-1.0 videotestsrc is-live=true pattern=0 do-timestamp=true !
 video/x-raw, height=720, width=1280, framerate=30000/1001, format=UYVY !
 v4l2sink device=/dev/video0
 }}}

 playback content using ffplay:

 {{{
 ffplay -f v4l2 /dev/video0
 }}}

 GDB output:


 {{{
 (gdb) start -f v4l2 /dev/video0
 Temporary breakpoint 1 at 0x410ba2: file /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c, line 3585.
 Starting program: /usr/bin/ffplay -f v4l2 /dev/video0
 warning: Could not load shared library symbols for linux-vdso.so.1.
 Do you need "set solib-search-path" or "set sysroot"?
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib64/libthread_db.so.1".

 Temporary breakpoint 1, main (argc=4, argv=0x7fffffffd2b8) at
 /var/tmp/portage/media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:3585
 3585    /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c: No such file or directory.
 (gdb) continue
 Continuing.
 ffplay version 2.2.2 Copyright (c) 2003-2014 the FFmpeg developers
   built on May 29 2014 00:32:31 with gcc 4.8.2 (Gentoo 4.8.2 p1.3r1,
 pie-0.5.8r1)
   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc
 --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar
 --optflags='-march=native -O1 -ggdb -pipe' --extra-cflags='-march=native
 -O1 -ggdb -pipe' --extra-cxxflags='-march=native -O1 -ggdb -pipe'
 --disable-static --enable-gpl --enable-postproc --enable-avfilter
 --enable-avresample --disable-stripping --enable-nonfree --enable-version3
 --enable-nonfree --disable-indev=oss --disable-outdev=oss --enable-
 version3 --enable-nonfree --enable-bzlib --disable-runtime-cpudetect
 --enable-debug --disable-doc --enable-gnutls --enable-hardcoded-tables
 --enable-iconv --enable-network --enable-openssl --enable-ffplay --enable-
 vaapi --enable-vdpau --enable-zlib --enable-libvo-aacenc --enable-libvo-
 amrwbenc --enable-libmp3lame --enable-libaacplus --enable-libfaac
 --enable-libtheora --enable-libtwolame --disable-libwavpack --enable-
 libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-
 libcdio --enable-libiec61883 --enable-libdc1394 --disable-libcaca
 --disable-openal --enable-opengl --disable-libv4l2 --enable-libpulse
 --enable-x11grab --disable-libflite --enable-frei0r --enable-fontconfig
 --enable-ladspa --disable-libass --enable-libfreetype --disable-libsoxr
 --enable-pthreads --enable-libopencore-amrwb --enable-libopencore-amrnb
 --enable-libfdk-aac --enable-libopenjpeg --enable-libbluray --disable-
 libcelt --disable-libgme --enable-libgsm --enable-libmodplug --enable-
 libopus --disable-libquvi --disable-librtmp --disable-libssh --enable-
 libschroedinger --enable-libspeex --enable-libvorbis --enable-libvpx
 --disable-libzvbi --disable-armv5te --disable-armv6 --disable-armv6t2
 --disable-neon --disable-vfp --disable-mips32r2 --disable-mipsdspr1
 --disable-mipsdspr2 --disable-mipsfpu --disable-altivec --disable-avx
 --disable-avx2 --disable-fma3 --disable-fma4 --disable-sse42 --cpu=host
   libavutil      52. 66.100 / 52. 66.100
   libavcodec     55. 52.102 / 55. 52.102
   libavformat    55. 33.100 / 55. 33.100
   libavdevice    55. 10.100 / 55. 10.100
   libavfilter     4.  2.100 /  4.  2.100
   libavresample   1.  2.  0 /  1.  2.  0
   libswscale      2.  5.102 /  2.  5.102
   libswresample   0. 18.100 /  0. 18.100
   libpostproc    52.  3.100 / 52.  3.100
 [New Thread 0x7fffe4641700 (LWP 10346)]
 [New Thread 0x7fffe365b700 (LWP 10347)]
 [New Thread 0x7fffdee59700 (LWP 10348)]
 [Thread 0x7fffdee59700 (LWP 10348) exited]
 [New Thread 0x7fffdee59700 (LWP 10349)]
 Input #0, video4linux2,v4l2, from '/dev/video0':B sq=    0B f=0/0
   Duration: N/A, start: 1401342039.190600, bitrate: 442368 kb/s
     Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1280x720,
 442368 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
 [New Thread 0x7fffe204a700 (LWP 10350)]
 [New Thread 0x7fffe1849700 (LWP 10351)]
 [New Thread 0x7fffe1048700 (LWP 10352)]
 [New Thread 0x7fffe0847700 (LWP 10353)]
 [New Thread 0x7fffe0046700 (LWP 10354)]
 [New Thread 0x7fffdf845700 (LWP 10355)]
 [New Thread 0x7fffde658700 (LWP 10356)]
 [New Thread 0x7fffdde57700 (LWP 10357)]
 1401342039.34 M-V:  0.033 fd=   5 aq=    0KB vq= 3600KB sq=    0B f=6/6
 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 0x7fffe204a700 (LWP 10350)]
 0x00007ffff5d230e0 in extract_even_mmxext (src=0x7fffe2e5b001 "",
     src at entry=0x7fffe2e5a601
 "\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025",
 <incomplete sequence \306>..., dst=0x7fffd00eca20 "",
     dst at entry=0x7fffd00ec520 '\020' <repeats 200 times>..., count=-1,
 count at entry=1280) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/x86/rgb2rgb_template.c:2147
 2147    /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/x86/rgb2rgb_template.c: No
 such file or directory.
 (gdb) thread apply all bt

 Thread 13 (Thread 0x7fffdde57700 (LWP 10357)):
 #0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib64/libpthread.so.0
 #1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
 #2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #3  0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 12 (Thread 0x7fffde658700 (LWP 10356)):
 #0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib64/libpthread.so.0
 #1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
 #2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #3  0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 11 (Thread 0x7fffdf845700 (LWP 10355)):
 #0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib64/libpthread.so.0
 #1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
 #2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #3  0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 10 (Thread 0x7fffe0046700 (LWP 10354)):
 #0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib64/libpthread.so.0
 #1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
 #2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #3  0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 9 (Thread 0x7fffe0847700 (LWP 10353)):
 #0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib64/libpthread.so.0
 #1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
 #2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #3  0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 8 (Thread 0x7fffe1048700 (LWP 10352)):
 #0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib64/libpthread.so.0
 #1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
 #2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #3  0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 7 (Thread 0x7fffe1849700 (LWP 10351)):
 #0  0x00007ffff55fb7bc in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib64/libpthread.so.0
 #1  0x00007ffff7915e26 in worker (v=0x7fffd0000c10) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/pthread.c:81
 #2  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #3  0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 6 (Thread 0x7fffe204a700 (LWP 10350)):
 #0  0x00007ffff5d230e0 in extract_even_mmxext (src=0x7fffe2e5b001 "",
     src at entry=0x7fffe2e5a601
 "\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025",
 <incomplete sequence \306>..., dst=0x7fffd00eca20 "",
     dst at entry=0x7fffd00ec520 '\020' <repeats 200 times>..., count=-1,
 count at entry=1280) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/x86/rgb2rgb_template.c:2147
 #1  0x00007ffff5d23451 in uyvytoyuv420_mmxext (ydst=0x7fffd00ec520 '\020'
 <repeats 200 times>..., udst=0x7fffd0129bd0 '\306' <repeats 105 times>,
 "ƣ", '\200' <repeats 93 times>...,
     vdst=0x7fffd0163430 '\025' <repeats 106 times>, "K", '\200' <repeats
 93 times>...,
     src=0x7fffe2e5a600
 "\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020\306\020\025\020"...,
 width=1280, height=720, lumStride=1280, chromStride=640, srcStride=2560)
     at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/x86/rgb2rgb_template.c:2439
 #2  0x00007ffff5d15450 in uyvyToYuv420Wrapper (c=0x7fffd0002840,
 src=<optimized out>, srcStride=<optimized out>, srcSliceY=0,
 srcSliceH=720, dstParam=0x7fffe20497c0, dstStride=0x7fffe20497b0)
     at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/swscale_unscaled.c:287
 #3  0x00007ffff5d0c468 in sws_scale (c=c at entry=0x7fffd0002840,
 srcSlice=srcSlice at entry=0x7fffe2049890,
 srcStride=srcStride at entry=0x7fffe2049860, srcSliceY=srcSliceY at entry=0,
 srcSliceH=srcSliceH at entry=720,
     dst=dst at entry=0x7fffe2049870,
 dstStride=dstStride at entry=0x7fffe2049850) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libswscale/swscale.c:1076
 #4  0x00007ffff794576b in scale_slice (link=link at entry=0x7fffd0002390,
 out_buf=out_buf at entry=0x7fffd000b7a0, cur_pic=<optimized out>,
 sws=0x7fffd0002840, y=y at entry=0, h=720, mul=mul at entry=1,
 field=field at entry=0)
 ---Type <return> to continue, or q <return> to quit---
     at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/vf_scale.c:423
 #5  0x00007ffff7945bb2 in filter_frame (link=link at entry=0x7fffd0002390,
 in=0x7fffd000b520) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/vf_scale.c:520
 #6  0x00007ffff78ff04c in ff_filter_frame_framed
 (link=link at entry=0x7fffd0002390, frame=frame at entry=0x7fffd000b520) at
 /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:1081
 #7  0x00007ffff78ffeae in ff_filter_frame (link=link at entry=0x7fffd0002390,
 frame=0x7fffd000b520) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:1161
 #8  0x00007ffff7903c78 in request_frame (link=0x7fffd0002390) at
 /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/buffersrc.c:500
 #9  0x00007ffff78ff12b in ff_request_frame (link=0x7fffd0002390) at
 /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:346
 #10 0x00007ffff78ff141 in ff_request_frame (link=0x7fffd0002750) at
 /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:348
 #11 0x00007ffff78ff141 in ff_request_frame
 (link=link at entry=0x7fffd00022a0) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/avfilter.c:348
 #12 0x00007ffff79030e5 in av_buffersink_get_frame_flags
 (ctx=ctx at entry=0x7fffd0001dd0, frame=0x7fffd00008c0, flags=flags at entry=0)
 at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavfilter/buffersink.c:138
 #13 0x000000000040b877 in video_thread (arg=0x8319d0) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:1972
 #14 0x00007ffff581e038 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #15 0x00007ffff585a649 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #16 0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #17 0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 5 (Thread 0x7fffdee59700 (LWP 10349)):
 #0  0x00007ffff5028047 in ioctl () from /lib64/libc.so.6
 #1  0x00007ffff7bcd3e1 in mmap_read_frame (pkt=0x7fffdee58af0,
 ctx=0x7fffd8000910) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavdevice/v4l2.c:501
 #2  v4l2_read_packet (s1=0x7fffd8000910, pkt=0x7fffdee58af0) at
 /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavdevice/v4l2.c:967
 #3  0x00007ffff764214c in ff_read_packet (s=s at entry=0x7fffd8000910,
 pkt=pkt at entry=0x7fffdee58af0) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavformat/utils.c:767
 #4  0x00007ffff764266f in read_frame_internal (s=0x7fffd8000910,
 pkt=0x7fffdee58d30) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavformat/utils.c:1436
 #5  0x00007ffff7642e11 in av_read_frame (s=0x7fffd8000910,
 pkt=pkt at entry=0x7fffdee58d30) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavformat/utils.c:1557
 #6  0x000000000040ea83 in read_thread (arg=0x8319d0) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:2957
 #7  0x00007ffff581e038 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #8  0x00007ffff585a649 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #9  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #10 0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 3 (Thread 0x7fffe365b700 (LWP 10347)):
 #0  0x00007ffff55fefbd in nanosleep () from /lib64/libpthread.so.0
 #1  0x00007ffff585cc51 in SDL_Delay () from /usr/lib64/libSDL-1.2.so.0
 #2  0x00007ffff581aaa2 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #3  0x00007ffff581e038 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #4  0x00007ffff585a649 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #5  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #6  0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 2 (Thread 0x7fffe4641700 (LWP 10346)):
 #0  0x00007ffff55fefbd in nanosleep () from /lib64/libpthread.so.0
 #1  0x00007ffff585cc51 in SDL_Delay () from /usr/lib64/libSDL-1.2.so.0
 #2  0x00007ffff585cc82 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #3  0x00007ffff581e038 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #4  0x00007ffff585a649 in ?? () from /usr/lib64/libSDL-1.2.so.0
 #5  0x00007ffff55f7333 in start_thread () from /lib64/libpthread.so.0
 #6  0x00007ffff503026d in clone () from /lib64/libc.so.6

 Thread 1 (Thread 0x7ffff7f29840 (LWP 10342)):
 #0  0x00007ffff55fefbd in nanosleep () from /lib64/libpthread.so.0
 #1  0x00007ffff5ac88ad in av_usleep (usec=usec at entry=10000) at
 /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/libavutil/time.c:60
 #2  0x000000000041101f in refresh_loop_wait_event (event=0x7fffffffd160,
 is=0x8319d0) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:3165
 #3  event_loop (cur_stream=<optimized out>) at /var/tmp/portage/media-
 video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:3208
 #4  main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage
 /media-video/ffmpeg-2.2.2/work/ffmpeg-2.2.2/ffplay.c:3661
 (gdb) disass $pc-64,$pc+64
 Dump of assembler code from 0x7ffff5d230a0 to 0x7ffff5d23120:
    0x00007ffff5d230a0 <yvu9_to_yuy2_mmxext+452>:        ja
 0x7ffff5d230b1 <extract_even_mmxext+2>
    0x00007ffff5d230a2 <yvu9_to_yuy2_mmxext+454>:        scas
 %es:(%rdi),%al
    0x00007ffff5d230a3 <yvu9_to_yuy2_mmxext+455>:        clc
    0x00007ffff5d230a4 <yvu9_to_yuy2_mmxext+456>:        pop    %rbx
    0x00007ffff5d230a5 <yvu9_to_yuy2_mmxext+457>:        pop    %rbp
    0x00007ffff5d230a6 <yvu9_to_yuy2_mmxext+458>:        pop    %r12
    0x00007ffff5d230a8 <yvu9_to_yuy2_mmxext+460>:        pop    %r13
    0x00007ffff5d230aa <yvu9_to_yuy2_mmxext+462>:        pop    %r14
    0x00007ffff5d230ac <yvu9_to_yuy2_mmxext+464>:        pop    %r15
    0x00007ffff5d230ae <yvu9_to_yuy2_mmxext+466>:        retq
    0x00007ffff5d230af <extract_even_mmxext+0>:  add    %rdx,%rsi
    0x00007ffff5d230b2 <extract_even_mmxext+3>:  lea    (%rdi,%rdx,2),%rcx
    0x00007ffff5d230b6 <extract_even_mmxext+7>:  mov    %rdx,%rax
    0x00007ffff5d230b9 <extract_even_mmxext+10>: neg    %rax
    0x00007ffff5d230bc <extract_even_mmxext+13>: cmp
 $0xfffffffffffffff1,%rax
    0x00007ffff5d230c0 <extract_even_mmxext+17>: jge    0x7ffff5d2310b
 <extract_even_mmxext+92>
    0x00007ffff5d230c2 <extract_even_mmxext+19>: mov    $0xf,%eax
    0x00007ffff5d230c7 <extract_even_mmxext+24>: sub    %rdx,%rax
    0x00007ffff5d230ca <extract_even_mmxext+27>: pcmpeqw %mm7,%mm7
    0x00007ffff5d230cd <extract_even_mmxext+30>: psrlw  $0x8,%mm7
    0x00007ffff5d230d1 <extract_even_mmxext+34>: movq
 -0x1e(%rcx,%rax,2),%mm0
    0x00007ffff5d230d6 <extract_even_mmxext+39>: movq
 -0x16(%rcx,%rax,2),%mm1
    0x00007ffff5d230db <extract_even_mmxext+44>: movq
 -0xe(%rcx,%rax,2),%mm2
 => 0x00007ffff5d230e0 <extract_even_mmxext+49>: movq
 -0x6(%rcx,%rax,2),%mm3
    0x00007ffff5d230e5 <extract_even_mmxext+54>: pand   %mm7,%mm0
    0x00007ffff5d230e8 <extract_even_mmxext+57>: pand   %mm7,%mm1
    0x00007ffff5d230eb <extract_even_mmxext+60>: pand   %mm7,%mm2
    0x00007ffff5d230ee <extract_even_mmxext+63>: pand   %mm7,%mm3
    0x00007ffff5d230f1 <extract_even_mmxext+66>: packuswb %mm1,%mm0
    0x00007ffff5d230f4 <extract_even_mmxext+69>: packuswb %mm3,%mm2
    0x00007ffff5d230f7 <extract_even_mmxext+72>: movntq
 %mm0,-0xf(%rsi,%rax,1)
    0x00007ffff5d230fc <extract_even_mmxext+77>: movntq
 %mm2,-0x7(%rsi,%rax,1)
    0x00007ffff5d23101 <extract_even_mmxext+82>: add    $0x10,%rax
    0x00007ffff5d23105 <extract_even_mmxext+86>: js     0x7ffff5d230d1
 <extract_even_mmxext+34>
    0x00007ffff5d23107 <extract_even_mmxext+88>: sub    $0xf,%rax
    0x00007ffff5d2310b <extract_even_mmxext+92>: test   %rax,%rax
    0x00007ffff5d2310e <extract_even_mmxext+95>: jns    0x7ffff5d2311c
 <extract_even_mmxext+109>
    0x00007ffff5d23110 <extract_even_mmxext+97>: movzbl (%rcx,%rax,2),%edx
    0x00007ffff5d23114 <extract_even_mmxext+101>:        mov
 %dl,(%rsi,%rax,1)
    0x00007ffff5d23117 <extract_even_mmxext+104>:        inc    %rax
    0x00007ffff5d2311a <extract_even_mmxext+107>:        jne
 0x7ffff5d23110 <extract_even_mmxext+97>
    0x00007ffff5d2311c <extract_even_mmxext+109>:        repz retq
    0x00007ffff5d2311e <yuyvtoyuv420_mmxext+0>:  push   %r15
 End of assembler dump.
 (gdb) info all-registers
 rax            0xffffffffffffffff       -1
 rbx            0x2cf    719
 rcx            0x7fffe2e5b001   140737000091649
 rdx            0x500    1280
 rsi            0x7fffd00eca20   140736684018208
 rdi            0x7fffe2e5a601   140737000089089
 rbp            0x7fffe2e5a600   0x7fffe2e5a600
 rsp            0x7fffe2049698   0x7fffe2049698
 r8             0x7fffd0129bd0   140736684268496
 r9             0x7fffd0163430   140736684504112
 r10            0x7fffd00f1a50   140736684038736
 r11            0x7fffd012b2b0   140736684274352
 r12            0x7fffd00ec520   140736684016928
 r13            0xa00    2560
 r14            0x2d0    720
 r15            0x7fffd0129bd0   140736684268496
 rip            0x7ffff5d230e0   0x7ffff5d230e0 <extract_even_mmxext+49>
 eflags         0x10286  [ PF SF IF RF ]
 cs             0x33     51
 ss             0x2b     43
 ds             0x0      0
 es             0x0      0
 fs             0x0      0
 gs             0x0      0
 st0            -nan(0x804380ae80da8025) (raw 0xffff804380ae80da8025)
 st1            -nan(0x802980da80c780e2) (raw 0xffff802980da80c780e2)
 st2            -nan(0x805780cc8021803c) (raw 0xffff805780cc8021803c)
 st3            -nan(0xe8001c00560074)   (raw 0xffff00e8001c00560074)
 st4            0        (raw 0x00000000000000000000)
 st5            0        (raw 0x00000000000000000000)
 st6            0        (raw 0x00000000000000000000)
 st7            -nan(0xff00ff00ff00ff)   (raw 0xffff00ff00ff00ff00ff)
 fctrl          0x37f    895
 fstat          0x0      0
 ftag           0x95aa   38314
 fiseg          0x0      0
 fioff          0x0      0
 foseg          0x0      0
 fooff          0x0      0
 fop            0x0      0
 xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0x0,
 0x0, 0x0, 0xff, 0xff, 0x0}, v8_int16 = {0x0, 0xff00, 0xff00, 0xff, 0xff00,
 0x0, 0xff00,
     0xff}, v4_int32 = {0xff000000, 0xffff00, 0xff00, 0xffff00}, v2_int64 =
 {0xffff00ff000000, 0xffff000000ff00}, uint128 =
 0x00ffff000000ff0000ffff00ff000000}
 xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double =
 {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x66 <repeats 16
 times>}, v8_int16 = {0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,
 0x6666, 0x6666}, v4_int32 = {
     0x66666666, 0x66666666, 0x66666666, 0x66666666}, v2_int64 =
 {0x6666666666666666, 0x6666666666666666}, uint128 =
 0x66666666666666666666666666666666}
 xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0, 0x0, 0x0, 0xff, 0x0, 0xff, 0xff, 0x0, 0x0, 0xff, 0x0,
 0x0, 0x0, 0xff, 0xff, 0x0}, v8_int16 = {0x0, 0xff00, 0xff00, 0xff, 0xff00,
 0x0, 0xff00,
     0xff}, v4_int32 = {0xff000000, 0xffff00, 0xff00, 0xffff00}, v2_int64 =
 {0xffff00ff000000, 0xffff000000ff00}, uint128 =
 0x00ffff000000ff0000ffff00ff000000}
 xmm5           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0xa1, 0x3f, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x1111, 0x1111, 0x1111, 0x3fa1, 0x0,
 0x0,
     0x0, 0x0}, v4_int32 = {0x11111111, 0x3fa11111, 0x0, 0x0}, v2_int64 =
 {0x3fa1111111111111, 0x0}, uint128 = 0x00000000000000003fa1111111111111}
 xmm6           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x50, 0x21, 0x9e, 0x3f, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x2150, 0x3f9e, 0x0, 0x0,
 0x0, 0x0},
   v4_int32 = {0x0, 0x3f9e2150, 0x0, 0x0}, v2_int64 = {0x3f9e215000000000,
 0x0}, uint128 = 0x00000000000000003f9e215000000000}
 xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x20 <repeats 16 times>}, v8_int16 = {0x2020, 0x2020, 0x2020,
 0x2020, 0x2020, 0x2020, 0x2020, 0x2020}, v4_int32 = {0x20202020,
 0x20202020,
     0x20202020, 0x20202020}, v2_int64 = {0x2020202020202020,
 0x2020202020202020}, uint128 = 0x20202020202020202020202020202020}
 xmm8           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm9           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm10          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
   uint128 = 0x00000000000000000000000000000000}
 ---Type <return> to continue, or q <return> to quit---
 xmm11          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
   uint128 = 0x00000000000000000000000000000000}
 xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0,
 0x0, 0x0, 0xff, 0x0}, v8_int16 = {0xff00, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0,
 0xff},
   v4_int32 = {0xff00, 0x0, 0xff0000, 0xff0000}, v2_int64 = {0xff00,
 0xff000000ff0000}, uint128 = 0x00ff000000ff0000000000000000ff00}
 xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x59, 0xbc, 0x0, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x8000, 0xbc59, 0x0, 0x0, 0x0,
 0x0},
   v4_int32 = {0x0, 0xbc598000, 0x0, 0x0}, v2_int64 = {0xbc59800000000000,
 0x0}, uint128 = 0x0000000000000000bc59800000000000}
 xmm14          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 v16_int8 = {0x8e, 0x85, 0x83, 0xe8, 0xf0, 0x24, 0x53, 0x3c, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x858e, 0xe883, 0x24f0, 0x3c53, 0x0,
 0x0,
     0x0, 0x0}, v4_int32 = {0xe883858e, 0x3c5324f0, 0x0, 0x0}, v2_int64 =
 {0x3c5324f0e883858e, 0x0}, uint128 = 0x00000000000000003c5324f0e883858e}
 xmm15          {v4_float = {0x0, 0x3, 0x0, 0x0}, v2_double = {0x2d, 0x0},
 v16_int8 = {0xc0, 0x9, 0xf2, 0x16, 0xb5, 0xdf, 0x46, 0x40, 0x0, 0x0, 0x0,
 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x9c0, 0x16f2, 0xdfb5, 0x4046, 0x0,
 0x0, 0x0,
     0x0}, v4_int32 = {0x16f209c0, 0x4046dfb5, 0x0, 0x0}, v2_int64 =
 {0x4046dfb516f209c0, 0x0}, uint128 = 0x00000000000000004046dfb516f209c0}
 mxcsr          0x1fa8   [ OE PE IM DM ZM OM UM PM ]
 (gdb)
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/3685>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list