[Bug 770295] New: segfault in convert_Y42B_YUY2 under certain memory conditions
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Aug 23 18:26:45 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=770295
Bug ID: 770295
Summary: segfault in convert_Y42B_YUY2 under certain memory
conditions
Classification: Platform
Product: GStreamer
Version: git master
OS: Mac OS
Status: NEW
Severity: major
Priority: Normal
Component: orc
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: n770galaxy at gmail.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
CC: ds at schleef.org
GNOME version: ---
Our application crashes with the following backtrace.
Process 67884 stopped
* thread #70: tid = 0x13c59f, 0x000000010dfed0c5, name = 'multiqueue25:src_0',
stop reason = EXC_BAD_ACCESS (code=2, address=0x100000778)
frame #0: 0x000000010dfed0c5
-> 0x10dfed0c5: movq %xmm1, (%rax)
0x10dfed0c9: leaq 0x8(%rax), %rax
0x10dfed0cd: leaq 0x4(%rdx), %rdx
0x10dfed0d1: leaq 0x2(%rsi), %rsi
(lldb) bt
* thread #70: tid = 0x13c59f, 0x000000010dfed0c5, name = 'multiqueue25:src_0',
stop reason = EXC_BAD_ACCESS (code=2, address=0x100000778)
* frame #0: 0x000000010dfed0c5
frame #1: 0x00000001010d0a78
libgstvideo-1.0.0.dylib`convert_Y42B_YUY2(convert=0x00000001280fd800,
src=0x0000700004fe3418, dest=0x0000700004fe3180) + 600 at
video-converter.c:3331
frame #2: 0x00000001010c94fa
libgstvideo-1.0.0.dylib`gst_video_converter_frame(convert=0x00000001280fd800,
src=0x0000700004fe3418, dest=0x0000700004fe3180) + 202 at
video-converter.c:2376
frame #3: 0x000000010bff14fe
libgstvideoconvert.so`gst_video_convert_transform_frame(filter=0x000000010cb36ad0,
in_frame=0x0000700004fe3418, out_frame=0x0000700004fe3180) + 174 at
gstvideoconvert.c:692
frame #4: 0x00000001010e1012
libgstvideo-1.0.0.dylib`gst_video_filter_transform(trans=0x000000010cb36ad0,
inbuf=0x0000000129a21610, outbuf=0x0000000128668480) + 210 at
gstvideofilter.c:271
frame #5: 0x00000001011be489 libgstbase-1.0.0.dylib`default_generate_output
+ 857
frame #6: 0x00000001011c01c7
libgstbase-1.0.0.dylib`gst_base_transform_chain + 551
frame #7: 0x0000000100b7b861
libgstreamer-1.0.0.dylib`gst_pad_chain_data_unchecked + 193
frame #8: 0x0000000100b7c2cc libgstreamer-1.0.0.dylib`gst_pad_push_data +
204
frame #9: 0x0000000100b68914
libgstreamer-1.0.0.dylib`gst_proxy_pad_chain_default + 212
frame #10: 0x0000000100b7b861
libgstreamer-1.0.0.dylib`gst_pad_chain_data_unchecked + 193
frame #11: 0x0000000100b7c2cc libgstreamer-1.0.0.dylib`gst_pad_push_data +
204
frame #12: 0x00000001010ec7ff
libgstvideo-1.0.0.dylib`gst_video_decoder_clip_and_push_buf(decoder=0x00000001287f7ba0,
buf=0x0000000129a21610) + 6063 at gstvideodecoder.c:3203
frame #13: 0x00000001010ea7e5
libgstvideo-1.0.0.dylib`gst_video_decoder_finish_frame(decoder=0x00000001287f7ba0,
frame=0x0000000000000000) + 1509 at gstvideodecoder.c:3096
frame #14: 0x00000001513dabe0 libgstlibav.so`gst_ffmpegviddec_frame + 3072
frame #15: 0x00000001513d8801 libgstlibav.so`gst_ffmpegviddec_handle_frame
+ 961
frame #16: 0x00000001010edd0e
libgstvideo-1.0.0.dylib`gst_video_decoder_decode_frame(decoder=0x00000001287f7ba0,
frame=0x000000010aee7170) + 1822 at gstvideodecoder.c:3405
frame #17: 0x00000001010f685e
libgstvideo-1.0.0.dylib`gst_video_decoder_chain_forward(decoder=0x00000001287f7ba0,
buf=0x000000010aee76c0, at_eos=0) + 398 at gstvideodecoder.c:2190
frame #18: 0x00000001010f8c6d
libgstvideo-1.0.0.dylib`gst_video_decoder_chain(pad=0x000000012a53e6f0,
parent=0x00000001287f7ba0, buf=0x000000010aee76c0) + 1805 at
gstvideodecoder.c:2492
frame #19: 0x0000000100b7b861
libgstreamer-1.0.0.dylib`gst_pad_chain_data_unchecked + 193
frame #20: 0x0000000100b7c2cc libgstreamer-1.0.0.dylib`gst_pad_push_data +
204
frame #21: 0x00000001011c0113
libgstbase-1.0.0.dylib`gst_base_transform_chain + 371
frame #22: 0x0000000100b7b861
libgstreamer-1.0.0.dylib`gst_pad_chain_data_unchecked + 193
frame #23: 0x0000000100b7c2cc libgstreamer-1.0.0.dylib`gst_pad_push_data +
204
frame #24: 0x0000000101197b85
libgstbase-1.0.0.dylib`gst_base_parse_push_frame + 1445
frame #25: 0x00000001011a01d6 libgstbase-1.0.0.dylib`gst_base_parse_chain +
1094
frame #26: 0x0000000100b7b861
libgstreamer-1.0.0.dylib`gst_pad_chain_data_unchecked + 193
frame #27: 0x0000000100b7c2cc libgstreamer-1.0.0.dylib`gst_pad_push_data +
204
frame #28: 0x000000012c79ed84 libgstcoreelements.so`gst_multi_queue_loop +
1700
frame #29: 0x0000000100babd53 libgstreamer-1.0.0.dylib`gst_task_func + 339
frame #30: 0x0000000100d37223
libglib-2.0.0.dylib`g_thread_pool_thread_proxy + 67
frame #31: 0x0000000100d3622a libglib-2.0.0.dylib`g_thread_proxy + 90
frame #32: 0x00007fff9660299d libsystem_pthread.dylib`_pthread_body + 131
frame #33: 0x00007fff9660291a libsystem_pthread.dylib`_pthread_start + 168
frame #34: 0x00007fff96600351 libsystem_pthread.dylib`thread_start + 13
(lldb) p * ((OrcExecutor *) $rdi)
(OrcExecutor) $0 = {
program = 0x0000000000000000
n = 570
counter1 = 2
counter2 = 71
counter3 = 0
arrays = {
[0] = 0x0000000100000778
[1] = 0x0000000129dbd180
[2] = 0x000000012a53f470
[3] = 0x0000000129dbd180
[4] = 0x00000001edb435e0
[5] = 0x00000001edd99a40
[6] = 0x00000001edf751c0
[7] = 0x0000000100c0dc4c
[8] = 0x000000012a53f488
[9] = 0x000000012a53f488
[10] = 0x0000000000000000
[11] = 0x0000000000000008
[12] = 0x0000000129dbb380
[13] = 0x0000000103a6a2b0
[14] = 0x0000000100b7fd06
[15] = 0x0000000000000008
[16] = 0x000000400000460e
[17] = 0x0000700004fe2de0
[18] = 0x00007fff979cea26
[19] = 0x0000700004fe2df0
[20] = 0x00007fff979cea26
[21] = 0x0000000000000000
[22] = 0x0000000128668480
[23] = 0x0000700004fe2e90
[24] = 0x0000000100b3e025
[25] = 0xffffffffffffffff
[26] = 0x0000000000000000
[27] = 0x0000700004fe2e30
[28] = 0x0000000129dbd030
[29] = 0x0000700004fe2d90
[30] = 0x0000000100c8423b
[31] = 0x0000000100c0dc4c
[32] = 0x000000012a53f470
[33] = 0x000000000000501e
[34] = 0x0000000000000003
[35] = 0x0000000129dbd180
[36] = 0x000000012a462030
[37] = 0x0000700004fe2dd0
[38] = 0x0000000100c8435c
[39] = 0x0000000100c0dc4c
[40] = 0x000000012a53f470
[41] = 0x0000000100c0dc4c
[42] = 0x0000000100d576ca
[43] = 0x000000012a53f470
[44] = 0x0000000000000000
[45] = 0x0000700004fe2ec0
[46] = 0x0000700004fe3258
[47] = 0x0000700004fe3258
[48] = 0x00000001ffb21000
[49] = 0x00000001ffb21000
[50] = 0x0000000000010002
[51] = 0x0000700004fe2e40
[52] = 0x0000000100b72d4a
[53] = 0x000000012a4600a0
[54] = 0x000000400000501e
[55] = 0x000000000000460e
[56] = 0x00000001ffb21000
[57] = 0x0000000128668480
[58] = 0x0000000000010002
[59] = 0x0000700004fe2e90
[60] = 0x0000000100b72b1d 2001-01-01 00:00:00 UTC
[61] = 0x000000010ae71910
[62] = 0x0000000000000002
[63] = 0x000000012a462270
}
params = {
[0] = 2280
[1] = 0
[2] = 83767896
[3] = 28672
[4] = 1280
[5] = 640
[6] = 640
[7] = 1
[8] = 0
[9] = 0
[10] = 83767056
[11] = 28672
[12] = 3000
[13] = 759
[14] = 83767192
[15] = 28672
[16] = 3
[17] = 0
[18] = 709238832
[19] = 1
[20] = 11793473
[21] = 1
[22] = 83767040
[23] = 28672
[24] = 83767140
[25] = 28672
[26] = 83767120
[27] = 1
[28] = 1
[29] = 65538
[30] = 83767896
[31] = 28672
[32] = 83767140
[33] = 28672
[34] = 213084880
[35] = 1
[36] = 12639308
[37] = 1
[38] = 83767120
[39] = 28672
[40] = -6
[41] = 0
[42] = 83767216
[43] = 28672
[44] = 17711925
[45] = 1
[46] = 83767192
[47] = 28672
[48] = 12
[49] = 5
[50] = 61597232
[51] = 1
[52] = 702254704
[53] = 1
[54] = 132281128
[55] = 1
[56] = 677807232
[57] = 1
[58] = 0
[59] = 0
[60] = 0
[61] = 0
[62] = 1
[63] = 1
}
accumulators = ([0] = 0, [1] = 65538, [2] = 83767784, [3] = 28672)
}
(lldb) di -s 0x10dfed000 -e 0x10dfed368
0x10dfed000: movl 0x248(%rdi), %eax
0x10dfed006: testl %eax, %eax
0x10dfed008: jle 0x10dfed218
0x10dfed00e: movl %eax, 0x24c(%rdi)
0x10dfed014: movl $0x10, %eax
0x10dfed019: subl 0x18(%rdi), %eax
0x10dfed01c: andl $0xf, %eax
0x10dfed01f: sarl $0x2, %eax
0x10dfed022: cmpl %eax, 0x8(%rdi)
0x10dfed025: jle 0x10dfed03f
0x10dfed027: movl %eax, 0xc(%rdi)
0x10dfed02a: movl 0x8(%rdi), %ecx
0x10dfed02d: subl %eax, %ecx
0x10dfed02f: movl %ecx, %eax
0x10dfed031: sarl $0x3, %ecx
0x10dfed034: movl %ecx, 0x10(%rdi)
0x10dfed037: andl $0x7, %eax
0x10dfed03a: movl %eax, 0x14(%rdi)
0x10dfed03d: jmp 0x10dfed050
0x10dfed03f: movl 0x8(%rdi), %eax
0x10dfed042: movl %eax, 0xc(%rdi)
0x10dfed045: movl $0x0, %eax
0x10dfed04a: movl %eax, 0x10(%rdi)
0x10dfed04d: movl %eax, 0x14(%rdi)
0x10dfed050: movq 0x18(%rdi), %rax
0x10dfed054: movq 0x38(%rdi), %rdx
0x10dfed058: movq 0x40(%rdi), %rsi
0x10dfed05c: movq 0x48(%rdi), %r8
0x10dfed060: testl $0x1, 0xc(%rdi)
0x10dfed067: je 0x10dfed09d
0x10dfed069: movzbl (%rsi), %ecx
0x10dfed06c: movd %ecx, %xmm0
0x10dfed070: movzbl (%r8), %ecx
0x10dfed074: movd %ecx, %xmm1
0x10dfed078: punpcklbw %xmm1, %xmm0 ; xmm0 =
xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
0x10dfed07c: pxor %xmm1, %xmm1
0x10dfed080: pinsrw $0x0, (%rdx), %xmm1
0x10dfed085: punpcklbw %xmm0, %xmm1 ; xmm1 =
xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
0x10dfed089: movd %xmm1, (%rax)
0x10dfed08d: leaq 0x4(%rax), %rax
0x10dfed091: leaq 0x2(%rdx), %rdx
0x10dfed095: leaq 0x1(%rsi), %rsi
0x10dfed099: leaq 0x1(%r8), %r8
0x10dfed09d: testl $0x2, 0xc(%rdi)
0x10dfed0a4: je 0x10dfed0d9
0x10dfed0a6: pxor %xmm0, %xmm0
0x10dfed0aa: pinsrw $0x0, (%rsi), %xmm0
0x10dfed0af: pxor %xmm1, %xmm1
0x10dfed0b3: pinsrw $0x0, (%r8), %xmm1
0x10dfed0b9: punpcklbw %xmm1, %xmm0 ; xmm0 =
xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
0x10dfed0bd: movd (%rdx), %xmm1 ; xmm1 =
mem[0],zero,zero,zero
0x10dfed0c1: punpcklbw %xmm0, %xmm1 ; xmm1 =
xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
0x10dfed0c5: movq %xmm1, (%rax)
0x10dfed0c9: leaq 0x8(%rax), %rax
0x10dfed0cd: leaq 0x4(%rdx), %rdx
0x10dfed0d1: leaq 0x2(%rsi), %rsi
0x10dfed0d5: leaq 0x2(%r8), %r8
0x10dfed0d9: cmpl $0x0, 0x10(%rdi)
0x10dfed0dd: je 0x10dfed13c
0x10dfed0df: movl 0x10(%rdi), %r9d
0x10dfed0e3: nop
0x10dfed0e4: nop
0x10dfed0e5: nop
0x10dfed0e6: nop
0x10dfed0e7: nop
0x10dfed0e8: nop
0x10dfed0e9: nop
0x10dfed0ea: nop
0x10dfed0eb: nop
0x10dfed0ec: nop
0x10dfed0ed: nop
0x10dfed0ee: nop
0x10dfed0ef: nop
0x10dfed0f0: movd (%rsi), %xmm0 ; xmm0 =
mem[0],zero,zero,zero
0x10dfed0f4: movd (%r8), %xmm1 ; xmm1 =
mem[0],zero,zero,zero
0x10dfed0f9: punpcklbw %xmm1, %xmm0 ; xmm0 =
xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
0x10dfed0fd: movq (%rdx), %xmm1 ; xmm1 = mem[0],zero
0x10dfed101: punpcklbw %xmm0, %xmm1 ; xmm1 =
xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
0x10dfed105: movdqa %xmm1, (%rax)
0x10dfed109: movd 0x4(%rsi), %xmm0 ; xmm0 =
mem[0],zero,zero,zero
0x10dfed10e: movd 0x4(%r8), %xmm1 ; xmm1 =
mem[0],zero,zero,zero
0x10dfed114: punpcklbw %xmm1, %xmm0 ; xmm0 =
xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
0x10dfed118: movq 0x8(%rdx), %xmm1 ; xmm1 = mem[0],zero
0x10dfed11d: punpcklbw %xmm0, %xmm1 ; xmm1 =
xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
0x10dfed121: movdqa %xmm1, 0x10(%rax)
0x10dfed126: leaq 0x20(%rax), %rax
0x10dfed12a: leaq 0x10(%rdx), %rdx
0x10dfed12e: leaq 0x8(%rsi), %rsi
0x10dfed132: leaq 0x8(%r8), %r8
0x10dfed136: addl $-0x1, %r9d
0x10dfed13a: jne 0x10dfed0f0
0x10dfed13c: testl $0x4, 0x14(%rdi)
0x10dfed143: je 0x10dfed16e
0x10dfed145: movd (%rsi), %xmm0 ; xmm0 =
mem[0],zero,zero,zero
0x10dfed149: movd (%r8), %xmm1 ; xmm1 =
mem[0],zero,zero,zero
0x10dfed14e: punpcklbw %xmm1, %xmm0 ; xmm0 =
xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
0x10dfed152: movq (%rdx), %xmm1 ; xmm1 = mem[0],zero
0x10dfed156: punpcklbw %xmm0, %xmm1 ; xmm1 =
xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
0x10dfed15a: movdqu %xmm1, (%rax)
0x10dfed15e: leaq 0x10(%rax), %rax
0x10dfed162: leaq 0x8(%rdx), %rdx
0x10dfed166: leaq 0x4(%rsi), %rsi
0x10dfed16a: leaq 0x4(%r8), %r8
0x10dfed16e: testl $0x2, 0x14(%rdi)
0x10dfed175: je 0x10dfed1aa
0x10dfed177: pxor %xmm0, %xmm0
0x10dfed17b: pinsrw $0x0, (%rsi), %xmm0
0x10dfed180: pxor %xmm1, %xmm1
0x10dfed184: pinsrw $0x0, (%r8), %xmm1
0x10dfed18a: punpcklbw %xmm1, %xmm0 ; xmm0 =
xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
0x10dfed18e: movd (%rdx), %xmm1 ; xmm1 =
mem[0],zero,zero,zero
0x10dfed192: punpcklbw %xmm0, %xmm1 ; xmm1 =
xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
0x10dfed196: movq %xmm1, (%rax)
0x10dfed19a: leaq 0x8(%rax), %rax
0x10dfed19e: leaq 0x4(%rdx), %rdx
0x10dfed1a2: leaq 0x2(%rsi), %rsi
0x10dfed1a6: leaq 0x2(%r8), %r8
0x10dfed1aa: testl $0x1, 0x14(%rdi)
0x10dfed1b1: je 0x10dfed1e7
0x10dfed1b3: movzbl (%rsi), %ecx
0x10dfed1b6: movd %ecx, %xmm0
0x10dfed1ba: movzbl (%r8), %ecx
0x10dfed1be: movd %ecx, %xmm1
0x10dfed1c2: punpcklbw %xmm1, %xmm0 ; xmm0 =
xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
0x10dfed1c6: pxor %xmm1, %xmm1
0x10dfed1ca: pinsrw $0x0, (%rdx), %xmm1
0x10dfed1cf: punpcklbw %xmm0, %xmm1 ; xmm1 =
xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
0x10dfed1d3: movd %xmm1, (%rax)
0x10dfed1d7: leaq 0x4(%rax), %rax
0x10dfed1db: leaq 0x2(%rdx), %rdx
0x10dfed1df: leaq 0x1(%rsi), %rsi
0x10dfed1e3: leaq 0x1(%r8), %r8
0x10dfed1e7: movl 0x218(%rdi), %ecx
0x10dfed1ed: addl %ecx, 0x18(%rdi)
0x10dfed1f0: movl 0x228(%rdi), %ecx
0x10dfed1f6: addl %ecx, 0x38(%rdi)
0x10dfed1f9: movl 0x22c(%rdi), %ecx
0x10dfed1ff: addl %ecx, 0x40(%rdi)
0x10dfed202: movl 0x230(%rdi), %ecx
0x10dfed208: addl %ecx, 0x48(%rdi)
0x10dfed20b: addl $-0x1, 0x24c(%rdi)
0x10dfed212: jne 0x10dfed014
0x10dfed218: retq
0x10dfed219: addb %al, (%rax)
0x10dfed21b: addb %al, (%rax)
0x10dfed21d: addb %al, (%rax)
0x10dfed21f: addb %ah, 0xf(%rsi)
0x10dfed222: outsb (%rsi), %dx
0x10dfed223: xchgl %edi, 0x2(%rax)
0x10dfed226: addb %al, (%rax)
0x10dfed228: punpcklbw %xmm0, %xmm0 ; xmm0 =
xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
0x10dfed22c: pshuflw $0x0, %xmm0, %xmm0 ; xmm0 =
xmm0[0,0,0,0,4,5,6,7]
0x10dfed231: pshufd $0x0, %xmm0, %xmm0 ; xmm0 = xmm0[0,0,0,0]
0x10dfed236: movl $0x10, %eax
0x10dfed23b: subl 0x18(%rdi), %eax
0x10dfed23e: andl $0xf, %eax
0x10dfed241: cmpl %eax, 0x8(%rdi)
0x10dfed244: jle 0x10dfed25e
0x10dfed246: movl %eax, 0xc(%rdi)
0x10dfed249: movl 0x8(%rdi), %ecx
0x10dfed24c: subl %eax, %ecx
0x10dfed24e: movl %ecx, %eax
0x10dfed250: sarl $0x5, %ecx
0x10dfed253: movl %ecx, 0x10(%rdi)
0x10dfed256: andl $0x1f, %eax
0x10dfed259: movl %eax, 0x14(%rdi)
0x10dfed25c: jmp 0x10dfed26f
0x10dfed25e: movl 0x8(%rdi), %eax
0x10dfed261: movl %eax, 0xc(%rdi)
0x10dfed264: movl $0x0, %eax
0x10dfed269: movl %eax, 0x10(%rdi)
0x10dfed26c: movl %eax, 0x14(%rdi)
0x10dfed26f: movq 0x18(%rdi), %rax
0x10dfed273: testl $0x1, 0xc(%rdi)
0x10dfed27a: je 0x10dfed28a
0x10dfed27c: movdqa %xmm0, %xmm1
0x10dfed280: movd %xmm1, %ecx
0x10dfed284: movb %cl, (%rax)
0x10dfed286: leaq 0x1(%rax), %rax
0x10dfed28a: testl $0x2, 0xc(%rdi)
0x10dfed291: je 0x10dfed2a1
0x10dfed293: movdqa %xmm0, %xmm1
0x10dfed297: pextrw $0x0, %xmm1, (%rax)
0x10dfed29d: leaq 0x2(%rax), %rax
0x10dfed2a1: testl $0x4, 0xc(%rdi)
0x10dfed2a8: je 0x10dfed2b6
0x10dfed2aa: movdqa %xmm0, %xmm1
0x10dfed2ae: movd %xmm1, (%rax)
0x10dfed2b2: leaq 0x4(%rax), %rax
0x10dfed2b6: testl $0x8, 0xc(%rdi)
0x10dfed2bd: je 0x10dfed2cb
0x10dfed2bf: movdqa %xmm0, %xmm1
0x10dfed2c3: movq %xmm1, (%rax)
0x10dfed2c7: leaq 0x8(%rax), %rax
0x10dfed2cb: cmpl $0x0, 0x10(%rdi)
0x10dfed2cf: je 0x10dfed2fa
0x10dfed2d1: movl 0x10(%rdi), %edx
0x10dfed2d4: nop
0x10dfed2d5: nop
0x10dfed2d6: nop
0x10dfed2d7: nop
0x10dfed2d8: nop
0x10dfed2d9: nop
0x10dfed2da: nop
0x10dfed2db: nop
0x10dfed2dc: nop
0x10dfed2dd: nop
0x10dfed2de: nop
0x10dfed2df: nop
0x10dfed2e0: movdqa %xmm0, %xmm1
0x10dfed2e4: movdqa %xmm1, (%rax)
0x10dfed2e8: movdqa %xmm0, %xmm1
0x10dfed2ec: movdqa %xmm1, 0x10(%rax)
0x10dfed2f1: leaq 0x20(%rax), %rax
0x10dfed2f5: addl $-0x1, %edx
0x10dfed2f8: jne 0x10dfed2e0
0x10dfed2fa: testl $0x10, 0x14(%rdi)
0x10dfed301: je 0x10dfed30f
0x10dfed303: movdqa %xmm0, %xmm1
0x10dfed307: movdqu %xmm1, (%rax)
0x10dfed30b: leaq 0x10(%rax), %rax
0x10dfed30f: testl $0x8, 0x14(%rdi)
0x10dfed316: je 0x10dfed324
0x10dfed318: movdqa %xmm0, %xmm1
0x10dfed31c: movq %xmm1, (%rax)
0x10dfed320: leaq 0x8(%rax), %rax
0x10dfed324: testl $0x4, 0x14(%rdi)
0x10dfed32b: je 0x10dfed339
0x10dfed32d: movdqa %xmm0, %xmm1
0x10dfed331: movd %xmm1, (%rax)
0x10dfed335: leaq 0x4(%rax), %rax
0x10dfed339: testl $0x2, 0x14(%rdi)
0x10dfed340: je 0x10dfed350
0x10dfed342: movdqa %xmm0, %xmm1
0x10dfed346: pextrw $0x0, %xmm1, (%rax)
0x10dfed34c: leaq 0x2(%rax), %rax
0x10dfed350: testl $0x1, 0x14(%rdi)
0x10dfed357: je 0x10dfed367
0x10dfed359: movdqa %xmm0, %xmm1
0x10dfed35d: movd %xmm1, %ecx
0x10dfed361: movb %cl, (%rax)
0x10dfed363: leaq 0x1(%rax), %rax
0x10dfed367: retq
(lldb) re r
General Purpose Registers:
rax = 0x0000000100000778 sprockets`_mh_execute_header + 1912
rbx = 0x00000001ede16f40
rcx = 0x0000000000000047
rdx = 0x00000001edb435e0
rdi = 0x0000700004fe2c50
rsi = 0x00000001edd99a40
rbp = 0x0000700004fe2fd0
rsp = 0x0000700004fe2c28
r8 = 0x00000001edf751c0
r9 = 0x0000000000000000
r10 = 0x000000000000023a
r11 = 0x0000000000000280
r12 = 0x0000000000000bb8
r13 = 0x0000000100c0dc4c libgstreamer-1.0.0.dylib`_gst_debug_min
r14 = 0x0000700004fe2c50
r15 = 0x0000000000000002
rip = 0x000000010dfed0c5
rflags = 0x0000000000000202
cs = 0x000000000000002b
fs = 0x0000000000000000
gs = 0x0000000000000000
(lldb) up
frame #1: 0x00000001010d0a78
libgstvideo-1.0.0.dylib`convert_Y42B_YUY2(convert=0x00000001280fd800,
src=0x0000700004fe3418, dest=0x0000700004fe3180) + 600 at
video-converter.c:3331
3328 d = FRAME_GET_LINE (dest, convert->out_y);
3329 d += (GST_ROUND_UP_2 (convert->out_x) * 2);
3330
-> 3331 video_orc_convert_Y42B_YUY2 (d,
3332 FRAME_GET_STRIDE (dest), sy,
3333 FRAME_GET_Y_STRIDE (src), su,
3334 FRAME_GET_U_STRIDE (src), sv,
(lldb) p d
(guint8 *) $1 = 0x00000001ffb21090
(lldb) p sy
(guint8 *) $2 = 0x00000001ed8870e0
(lldb) p su
(guint8 *) $3 = 0x00000001edc3b7c0
(lldb) p sv
(guint8 *) $4 = 0x00000001ede16f40
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list