[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